diff --git a/CHANGELOG.md b/CHANGELOG.md index 8b7589057..521d9b1ed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,27 +1,36 @@ # Change Log -## Unreleased +## Version 2.19.0 - 23 August 2021 ### API Changes -- Tilemap object properties `ellipse`, `gid`, `point`, `polygon`, `polyline`, `properties`, `rectangle`, `template`, and `text` have default values (`false` or `null`). -- Tilemap object `properties` is an object, as in the Tiled JSON v1.1 format (#623). -- Tilemap#createFromObjects() returns an array instead of `undefined`. +#### Text + +- Text height is now calculated from [actualBoundingBoxAscent](https://caniuse.com/mdn-api_textmetrics_actualboundingboxascent) and [actualBoundingBoxDescent](https://caniuse.com/mdn-api_textmetrics_actualboundingboxdescent) where available or estimated from character widths otherwise. If you need uniform display across devices, it's best to pass `style.fontProperties` when creating a Text object. +- The default [Text#testString](https://photonstorm.github.io/phaser-ce/Phaser.Text.html#testString) changed to `|MÂÉQfjq_`. + +#### Tilemaps + +- [Tilemap object](https://photonstorm.github.io/phaser-ce/global.html#TilemapObject) properties `ellipse`, `gid`, `point`, `polygon`, `polyline`, `properties`, `rectangle`, `template`, and `text` have default values (`false` or `null`). +- [Tilemap object](https://photonstorm.github.io/phaser-ce/global.html#TilemapObject) `properties` is an object, as in the Tiled JSON v1.1 format (#623). +- [Tilemap#createFromObjects()](https://photonstorm.github.io/phaser-ce/Phaser.Tilemap.html#createFromObjects) returns an array instead of `undefined`. ### New Features -- Tilemap#getObject() gets a tilemap object by `id`, from any object layer. -- Tilemap#getObjects() gets the tilemap objects matching the given property name and value. +- You can pass `style.fontProperties` when creating a [Text](https://photonstorm.github.io/phaser-ce/Phaser.Text.html) game object or in [Text#setStyle()](https://photonstorm.github.io/phaser-ce/Phaser.Text.html#setStyle). +- You can pass `style.testString` when creating a [Text](https://photonstorm.github.io/phaser-ce/Phaser.Text.html) game object or in [Text#setStyle()](https://photonstorm.github.io/phaser-ce/Phaser.Text.html#setStyle). +- [Tilemap#getObject()](https://photonstorm.github.io/phaser-ce/Phaser.Tilemap.html#getObject) gets a tilemap object by `id`, from any object layer. +- [Tilemap#getObjects()](https://photonstorm.github.io/phaser-ce/Phaser.Tilemap.html#getObjects) gets the tilemap objects matching the given property name and value. ### Updates -- When the Tilemap#createFromObjects() `search` argument is an array, e.g. `['type', 'enemy']`, it matches objects with that property name and value. -- When the Tilemap#createFromObjects() `search` argument is `null`, it matches all objects in the layer. -- When the Tilemap#createFromObjects() `group` argument is `null`, it doesn't add the created sprites to a group. +- When the [Tilemap#createFromObjects()](https://photonstorm.github.io/phaser-ce/Phaser.Tilemap.html#createFromObjects) `search` argument is an array, e.g. `['type', 'enemy']`, it matches objects with that property name and value. +- When the [Tilemap#createFromObjects()](https://photonstorm.github.io/phaser-ce/Phaser.Tilemap.html#createFromObjects) `search` argument is `null`, it matches all objects in the layer. +- When the [Tilemap#createFromObjects()](https://photonstorm.github.io/phaser-ce/Phaser.Tilemap.html#createFromObjects) `group` argument is `null`, it doesn't add the created sprites to a group. ### Bug Fixes -- Tilemap#createFromObjects() was adjusting y-coordinates for all tile objects, which was incorrect. Now it adjusts y-coordinates for tile objects only, which have origin (0, 1) in Tiled. +- [Tilemap#createFromObjects()](https://photonstorm.github.io/phaser-ce/Phaser.Tilemap.html#createFromObjects) was adjusting y-coordinates for all tile objects, which was incorrect. Now it adjusts y-coordinates for tile objects only, which have origin (0, 1) in Tiled. ## Version 2.18.0 - 7 May 2021 diff --git a/README.md b/README.md index 5c6e9d297..3f955b4af 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Phaser CE is a fast, free, and fun open source HTML5 game framework. It uses a c Phaser CE is based on Phaser v2.6.2 by [Photon Storm](http://www.photonstorm.com). [Phaser v3](http://phaser.io/phaser3) and [Phaser v4](https://github.com/phaserjs/phaser4) are in active development. -The [current Phaser CE release is 2.18.0](https://github.com/photonstorm/phaser-ce/releases/tag/v2.18.0). +The [current Phaser CE release is 2.19.0](https://github.com/photonstorm/phaser-ce/releases/tag/v2.19.0). - **Visit:** The [Phaser website](http://phaser.io) and follow on [Twitter](https://twitter.com/photonstorm) (#[phaserjs](https://twitter.com/hashtag/phaserjs)) - **Learn:** [API Docs](https://photonstorm.github.io/phaser-ce/), [Support Forum][forum] and [StackOverflow](https://stackoverflow.com/questions/tagged/phaser-framework) @@ -82,19 +82,19 @@ Please see additional steps for [Browserify/CommonJS](#browserify) and [Webpack] [Phaser CE is on jsDelivr](http://www.jsdelivr.com/projects/phaser-ce). Include the following in your html: ```html - + ``` or the minified version: ```html - + ``` -[Custom builds](https://cdn.jsdelivr.net/npm/phaser-ce@2.18.0/build/custom/) are available too, e.g., +[Custom builds](https://cdn.jsdelivr.net/npm/phaser-ce@2.19.0/build/custom/) are available too, e.g., ```html - + ``` @@ -282,10 +282,10 @@ All rights reserved. [![Analytics](https://ga-beacon.appspot.com/UA-44006568-2/phaser/index)](https://github.com/igrigorik/ga-beacon) -[get-js]: https://github.com/photonstorm/phaser-ce/releases/download/v2.18.0/phaser.js -[get-minjs]: https://github.com/photonstorm/phaser-ce/releases/download/v2.18.0/phaser.min.js -[get-zip]: https://github.com/photonstorm/phaser-ce/archive/v2.18.0.zip -[get-tgz]: https://github.com/photonstorm/phaser-ce/archive/v2.18.0.tar.gz +[get-js]: https://github.com/photonstorm/phaser-ce/releases/download/v2.19.0/phaser.js +[get-minjs]: https://github.com/photonstorm/phaser-ce/releases/download/v2.19.0/phaser.min.js +[get-zip]: https://github.com/photonstorm/phaser-ce/archive/v2.19.0.zip +[get-tgz]: https://github.com/photonstorm/phaser-ce/archive/v2.19.0.tar.gz [clone-http]: https://github.com/photonstorm/phaser.git [clone-ssh]: ssh://git@github.com:photonstorm/phaser.git [clone-svn]: https://github.com/photonstorm/phaser diff --git a/build/custom/creature.min.js b/build/custom/creature.min.js index da0fbb5cb..9ebaaac62 100644 --- a/build/custom/creature.min.js +++ b/build/custom/creature.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.18.0 Creature Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.19.0 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,a,r){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(r,null),this.setLocalRestStartPt(e),this.setLocalRestEndPt(a),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,a,r,n,i,s){this.store_indices=t,this.store_rest_pts=e,this.store_uvs=a,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.opacity=100,this.start_pt_index=r,this.end_pt_index=n,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 MeshOpacityCache(t){this.opacity=100,this.key=t}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 MeshOpacityCacheManager(){this.is_ready=!1,this.opacity_cache_table=null,this.opacity_cache_data_ready=null,this.opacity_cache_table=[],this.opacity_cache_data_ready=[]}function CreatureUVSwapPacket(t,e,a,r){this.local_offset=t,this.global_offset=e,this.scale=a,this.tag=r}function Creature(t,e){this.InitDefaultData(),e?this.LoadFromDataFlat(t):this.LoadFromData(t)}function CreatureAnimation(t,e,a){this.initDefaultData(e),a?this.LoadFromDataFlat(e,t.dataAnimation()):this.LoadFromData(e,t)}function CreatureFrameCallback(){this.callback=null,this.name="",this.animClipName="",this.frame=0,this.triggered=!1}function CreatureGameController(t){this.meta_asset=t,this.event_callbacks=[],this.run_time=0}function CreatureMetaData(){this.skin_swaps={},this.anim_events_map={}}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(""),this.do_auto_blending=!1,this.auto_blend_delta=0,this.auto_blend_names=[],this.auto_blend_names.push(""),this.auto_blend_names.push(""),this.active_blend_run_times={}}function isDictEmpty(t){for(var e in t)return!1;return!0}!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var a=e();for(var r in a)("object"==typeof exports?exports:t)[r]=a[r]}}(this,function(){return function(t){function e(r){if(a[r])return a[r].exports;var n=a[r]={exports:{},id:r,loaded:!1};return t[r].call(n.exports,n,n.exports,e),n.loaded=!0,n.exports}var a={};return e.m=t,e.c=a,e.p="",e(0)}([function(t,e,a){e.glMatrix=a(1),e.mat2=a(2),e.mat2d=a(3),e.mat3=a(4),e.mat4=a(5),e.quat=a(6),e.vec2=a(9),e.vec3=a(7),e.vec4=a(8)},function(t,e){var a={};a.EPSILON=1e-6,a.ARRAY_TYPE="undefined"!=typeof Float32Array?Float32Array:Array,a.RANDOM=Math.random,a.ENABLE_SIMD=!1,a.SIMD_AVAILABLE=a.ARRAY_TYPE===this.Float32Array&&"SIMD"in this,a.USE_SIMD=a.ENABLE_SIMD&&a.SIMD_AVAILABLE,a.setMatrixArrayType=function(t){a.ARRAY_TYPE=t};var r=Math.PI/180;a.toRadian=function(t){return t*r},a.equals=function(t,e){return Math.abs(t-e)<=a.EPSILON*Math.max(1,Math.abs(t),Math.abs(e))},t.exports=a},function(t,e,a){var r=a(1),n={};n.create=function(){var t=new r.ARRAY_TYPE(4);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},n.clone=function(t){var e=new r.ARRAY_TYPE(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},n.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},n.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},n.fromValues=function(t,e,a,n){var i=new r.ARRAY_TYPE(4);return i[0]=t,i[1]=e,i[2]=a,i[3]=n,i},n.set=function(t,e,a,r,n){return t[0]=e,t[1]=a,t[2]=r,t[3]=n,t},n.transpose=function(t,e){if(t===e){var a=e[1];t[1]=e[2],t[2]=a}else t[0]=e[0],t[1]=e[2],t[2]=e[1],t[3]=e[3];return t},n.invert=function(t,e){var a=e[0],r=e[1],n=e[2],i=e[3],s=a*i-n*r;return s?(s=1/s,t[0]=i*s,t[1]=-r*s,t[2]=-n*s,t[3]=a*s,t):null},n.adjoint=function(t,e){var a=e[0];return t[0]=e[3],t[1]=-e[1],t[2]=-e[2],t[3]=a,t},n.determinant=function(t){return t[0]*t[3]-t[2]*t[1]},n.multiply=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=a[0],l=a[1],u=a[2],c=a[3];return t[0]=r*o+i*l,t[1]=n*o+s*l,t[2]=r*u+i*c,t[3]=n*u+s*c,t},n.mul=n.multiply,n.rotate=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=Math.sin(a),l=Math.cos(a);return t[0]=r*l+i*o,t[1]=n*l+s*o,t[2]=r*-o+i*l,t[3]=n*-o+s*l,t},n.scale=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=a[0],l=a[1];return t[0]=r*o,t[1]=n*o,t[2]=i*l,t[3]=s*l,t},n.fromRotation=function(t,e){var a=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=a,t[2]=-a,t[3]=r,t},n.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t},n.str=function(t){return"mat2("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},n.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2))},n.LDU=function(t,e,a,r){return t[2]=r[2]/r[0],a[0]=r[0],a[1]=r[1],a[3]=r[3]-t[2]*a[1],[t,e,a]},n.add=function(t,e,a){return t[0]=e[0]+a[0],t[1]=e[1]+a[1],t[2]=e[2]+a[2],t[3]=e[3]+a[3],t},n.subtract=function(t,e,a){return t[0]=e[0]-a[0],t[1]=e[1]-a[1],t[2]=e[2]-a[2],t[3]=e[3]-a[3],t},n.sub=n.subtract,n.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]},n.equals=function(t,e){var a=t[0],n=t[1],i=t[2],s=t[3],o=e[0],l=e[1],u=e[2],c=e[3];return Math.abs(a-o)<=r.EPSILON*Math.max(1,Math.abs(a),Math.abs(o))&&Math.abs(n-l)<=r.EPSILON*Math.max(1,Math.abs(n),Math.abs(l))&&Math.abs(i-u)<=r.EPSILON*Math.max(1,Math.abs(i),Math.abs(u))&&Math.abs(s-c)<=r.EPSILON*Math.max(1,Math.abs(s),Math.abs(c))},n.multiplyScalar=function(t,e,a){return t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t[3]=e[3]*a,t},n.multiplyScalarAndAdd=function(t,e,a,r){return t[0]=e[0]+a[0]*r,t[1]=e[1]+a[1]*r,t[2]=e[2]+a[2]*r,t[3]=e[3]+a[3]*r,t},t.exports=n},function(t,e,a){var r=a(1),n={};n.create=function(){var t=new r.ARRAY_TYPE(6);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},n.clone=function(t){var e=new r.ARRAY_TYPE(6);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e},n.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t},n.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},n.fromValues=function(t,e,a,n,i,s){var o=new r.ARRAY_TYPE(6);return o[0]=t,o[1]=e,o[2]=a,o[3]=n,o[4]=i,o[5]=s,o},n.set=function(t,e,a,r,n,i,s){return t[0]=e,t[1]=a,t[2]=r,t[3]=n,t[4]=i,t[5]=s,t},n.invert=function(t,e){var a=e[0],r=e[1],n=e[2],i=e[3],s=e[4],o=e[5],l=a*i-r*n;return l?(l=1/l,t[0]=i*l,t[1]=-r*l,t[2]=-n*l,t[3]=a*l,t[4]=(n*o-i*s)*l,t[5]=(r*s-a*o)*l,t):null},n.determinant=function(t){return t[0]*t[3]-t[1]*t[2]},n.multiply=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=e[4],l=e[5],u=a[0],c=a[1],h=a[2],_=a[3],d=a[4],p=a[5];return t[0]=r*u+i*c,t[1]=n*u+s*c,t[2]=r*h+i*_,t[3]=n*h+s*_,t[4]=r*d+i*p+o,t[5]=n*d+s*p+l,t},n.mul=n.multiply,n.rotate=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=e[4],l=e[5],u=Math.sin(a),c=Math.cos(a);return t[0]=r*c+i*u,t[1]=n*c+s*u,t[2]=r*-u+i*c,t[3]=n*-u+s*c,t[4]=o,t[5]=l,t},n.scale=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=e[4],l=e[5],u=a[0],c=a[1];return t[0]=r*u,t[1]=n*u,t[2]=i*c,t[3]=s*c,t[4]=o,t[5]=l,t},n.translate=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=e[4],l=e[5],u=a[0],c=a[1];return t[0]=r,t[1]=n,t[2]=i,t[3]=s,t[4]=r*u+i*c+o,t[5]=n*u+s*c+l,t},n.fromRotation=function(t,e){var a=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=a,t[2]=-a,t[3]=r,t[4]=0,t[5]=0,t},n.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t[4]=0,t[5]=0,t},n.fromTranslation=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=e[0],t[5]=e[1],t},n.str=function(t){return"mat2d("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+")"},n.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+1)},n.add=function(t,e,a){return t[0]=e[0]+a[0],t[1]=e[1]+a[1],t[2]=e[2]+a[2],t[3]=e[3]+a[3],t[4]=e[4]+a[4],t[5]=e[5]+a[5],t},n.subtract=function(t,e,a){return t[0]=e[0]-a[0],t[1]=e[1]-a[1],t[2]=e[2]-a[2],t[3]=e[3]-a[3],t[4]=e[4]-a[4],t[5]=e[5]-a[5],t},n.sub=n.subtract,n.multiplyScalar=function(t,e,a){return t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t[3]=e[3]*a,t[4]=e[4]*a,t[5]=e[5]*a,t},n.multiplyScalarAndAdd=function(t,e,a,r){return t[0]=e[0]+a[0]*r,t[1]=e[1]+a[1]*r,t[2]=e[2]+a[2]*r,t[3]=e[3]+a[3]*r,t[4]=e[4]+a[4]*r,t[5]=e[5]+a[5]*r,t},n.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]},n.equals=function(t,e){var a=t[0],n=t[1],i=t[2],s=t[3],o=t[4],l=t[5],u=e[0],c=e[1],h=e[2],_=e[3],d=e[4],p=e[5];return Math.abs(a-u)<=r.EPSILON*Math.max(1,Math.abs(a),Math.abs(u))&&Math.abs(n-c)<=r.EPSILON*Math.max(1,Math.abs(n),Math.abs(c))&&Math.abs(i-h)<=r.EPSILON*Math.max(1,Math.abs(i),Math.abs(h))&&Math.abs(s-_)<=r.EPSILON*Math.max(1,Math.abs(s),Math.abs(_))&&Math.abs(o-d)<=r.EPSILON*Math.max(1,Math.abs(o),Math.abs(d))&&Math.abs(l-p)<=r.EPSILON*Math.max(1,Math.abs(l),Math.abs(p))},t.exports=n},function(t,e,a){var r=a(1),n={};n.create=function(){var t=new r.ARRAY_TYPE(9);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},n.fromMat4=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t},n.clone=function(t){var e=new r.ARRAY_TYPE(9);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e},n.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t},n.fromValues=function(t,e,a,n,i,s,o,l,u){var c=new r.ARRAY_TYPE(9);return c[0]=t,c[1]=e,c[2]=a,c[3]=n,c[4]=i,c[5]=s,c[6]=o,c[7]=l,c[8]=u,c},n.set=function(t,e,a,r,n,i,s,o,l,u){return t[0]=e,t[1]=a,t[2]=r,t[3]=n,t[4]=i,t[5]=s,t[6]=o,t[7]=l,t[8]=u,t},n.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},n.transpose=function(t,e){if(t===e){var a=e[1],r=e[2],n=e[5];t[1]=e[3],t[2]=e[6],t[3]=a,t[5]=e[7],t[6]=r,t[7]=n}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t},n.invert=function(t,e){var a=e[0],r=e[1],n=e[2],i=e[3],s=e[4],o=e[5],l=e[6],u=e[7],c=e[8],h=c*s-o*u,_=-c*i+o*l,d=u*i-s*l,p=a*h+r*_+n*d;return p?(p=1/p,t[0]=h*p,t[1]=(-c*r+n*u)*p,t[2]=(o*r-n*s)*p,t[3]=_*p,t[4]=(c*a-n*l)*p,t[5]=(-o*a+n*i)*p,t[6]=d*p,t[7]=(-u*a+r*l)*p,t[8]=(s*a-r*i)*p,t):null},n.adjoint=function(t,e){var a=e[0],r=e[1],n=e[2],i=e[3],s=e[4],o=e[5],l=e[6],u=e[7],c=e[8];return t[0]=s*c-o*u,t[1]=n*u-r*c,t[2]=r*o-n*s,t[3]=o*l-i*c,t[4]=a*c-n*l,t[5]=n*i-a*o,t[6]=i*u-s*l,t[7]=r*l-a*u,t[8]=a*s-r*i,t},n.determinant=function(t){var e=t[0],a=t[1],r=t[2],n=t[3],i=t[4],s=t[5],o=t[6],l=t[7],u=t[8];return e*(u*i-s*l)+a*(-u*n+s*o)+r*(l*n-i*o)},n.multiply=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=e[4],l=e[5],u=e[6],c=e[7],h=e[8],_=a[0],d=a[1],p=a[2],m=a[3],M=a[4],f=a[5],v=a[6],g=a[7],y=a[8];return t[0]=_*r+d*s+p*u,t[1]=_*n+d*o+p*c,t[2]=_*i+d*l+p*h,t[3]=m*r+M*s+f*u,t[4]=m*n+M*o+f*c,t[5]=m*i+M*l+f*h,t[6]=v*r+g*s+y*u,t[7]=v*n+g*o+y*c,t[8]=v*i+g*l+y*h,t},n.mul=n.multiply,n.translate=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=e[4],l=e[5],u=e[6],c=e[7],h=e[8],_=a[0],d=a[1];return t[0]=r,t[1]=n,t[2]=i,t[3]=s,t[4]=o,t[5]=l,t[6]=_*r+d*s+u,t[7]=_*n+d*o+c,t[8]=_*i+d*l+h,t},n.rotate=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=e[4],l=e[5],u=e[6],c=e[7],h=e[8],_=Math.sin(a),d=Math.cos(a);return t[0]=d*r+_*s,t[1]=d*n+_*o,t[2]=d*i+_*l,t[3]=d*s-_*r,t[4]=d*o-_*n,t[5]=d*l-_*i,t[6]=u,t[7]=c,t[8]=h,t},n.scale=function(t,e,a){var r=a[0],n=a[1];return t[0]=r*e[0],t[1]=r*e[1],t[2]=r*e[2],t[3]=n*e[3],t[4]=n*e[4],t[5]=n*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t},n.fromTranslation=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=e[0],t[7]=e[1],t[8]=1,t},n.fromRotation=function(t,e){var a=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=a,t[2]=0,t[3]=-a,t[4]=r,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},n.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=e[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},n.fromMat2d=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=0,t[3]=e[2],t[4]=e[3],t[5]=0,t[6]=e[4],t[7]=e[5],t[8]=1,t},n.fromQuat=function(t,e){var a=e[0],r=e[1],n=e[2],i=e[3],s=a+a,o=r+r,l=n+n,u=a*s,c=r*s,h=r*o,_=n*s,d=n*o,p=n*l,m=i*s,M=i*o,f=i*l;return t[0]=1-h-p,t[3]=c-f,t[6]=_+M,t[1]=c+f,t[4]=1-u-p,t[7]=d-m,t[2]=_-M,t[5]=d+m,t[8]=1-u-h,t},n.normalFromMat4=function(t,e){var a=e[0],r=e[1],n=e[2],i=e[3],s=e[4],o=e[5],l=e[6],u=e[7],c=e[8],h=e[9],_=e[10],d=e[11],p=e[12],m=e[13],M=e[14],f=e[15],v=a*o-r*s,g=a*l-n*s,y=a*u-i*s,S=r*l-n*o,I=r*u-i*o,D=n*u-i*l,x=c*m-h*p,b=c*M-_*p,F=c*f-d*p,C=h*M-_*m,R=h*f-d*m,w=_*f-d*M,U=v*w-g*R+y*C+S*F-I*b+D*x;return U?(U=1/U,t[0]=(o*w-l*R+u*C)*U,t[1]=(l*F-s*w-u*b)*U,t[2]=(s*R-o*F+u*x)*U,t[3]=(n*R-r*w-i*C)*U,t[4]=(a*w-n*F+i*b)*U,t[5]=(r*F-a*R-i*x)*U,t[6]=(m*D-M*I+f*S)*U,t[7]=(M*y-p*D-f*g)*U,t[8]=(p*I-m*y+f*v)*U,t):null},n.str=function(t){return"mat3("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+")"},n.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2))},n.add=function(t,e,a){return t[0]=e[0]+a[0],t[1]=e[1]+a[1],t[2]=e[2]+a[2],t[3]=e[3]+a[3],t[4]=e[4]+a[4],t[5]=e[5]+a[5],t[6]=e[6]+a[6],t[7]=e[7]+a[7],t[8]=e[8]+a[8],t},n.subtract=function(t,e,a){return t[0]=e[0]-a[0],t[1]=e[1]-a[1],t[2]=e[2]-a[2],t[3]=e[3]-a[3],t[4]=e[4]-a[4],t[5]=e[5]-a[5],t[6]=e[6]-a[6],t[7]=e[7]-a[7],t[8]=e[8]-a[8],t},n.sub=n.subtract,n.multiplyScalar=function(t,e,a){return t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t[3]=e[3]*a,t[4]=e[4]*a,t[5]=e[5]*a,t[6]=e[6]*a,t[7]=e[7]*a,t[8]=e[8]*a,t},n.multiplyScalarAndAdd=function(t,e,a,r){return t[0]=e[0]+a[0]*r,t[1]=e[1]+a[1]*r,t[2]=e[2]+a[2]*r,t[3]=e[3]+a[3]*r,t[4]=e[4]+a[4]*r,t[5]=e[5]+a[5]*r,t[6]=e[6]+a[6]*r,t[7]=e[7]+a[7]*r,t[8]=e[8]+a[8]*r,t},n.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]},n.equals=function(t,e){var a=t[0],n=t[1],i=t[2],s=t[3],o=t[4],l=t[5],u=t[6],c=t[7],h=t[8],_=e[0],d=e[1],p=e[2],m=e[3],M=e[4],f=e[5],v=t[6],g=e[7],y=e[8];return Math.abs(a-_)<=r.EPSILON*Math.max(1,Math.abs(a),Math.abs(_))&&Math.abs(n-d)<=r.EPSILON*Math.max(1,Math.abs(n),Math.abs(d))&&Math.abs(i-p)<=r.EPSILON*Math.max(1,Math.abs(i),Math.abs(p))&&Math.abs(s-m)<=r.EPSILON*Math.max(1,Math.abs(s),Math.abs(m))&&Math.abs(o-M)<=r.EPSILON*Math.max(1,Math.abs(o),Math.abs(M))&&Math.abs(l-f)<=r.EPSILON*Math.max(1,Math.abs(l),Math.abs(f))&&Math.abs(u-v)<=r.EPSILON*Math.max(1,Math.abs(u),Math.abs(v))&&Math.abs(c-g)<=r.EPSILON*Math.max(1,Math.abs(c),Math.abs(g))&&Math.abs(h-y)<=r.EPSILON*Math.max(1,Math.abs(h),Math.abs(y))},t.exports=n},function(t,e,a){var r=a(1),n={scalar:{},SIMD:{}};n.create=function(){var t=new r.ARRAY_TYPE(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},n.clone=function(t){var e=new r.ARRAY_TYPE(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},n.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},n.fromValues=function(t,e,a,n,i,s,o,l,u,c,h,_,d,p,m,M){var f=new r.ARRAY_TYPE(16);return f[0]=t,f[1]=e,f[2]=a,f[3]=n,f[4]=i,f[5]=s,f[6]=o,f[7]=l,f[8]=u,f[9]=c,f[10]=h,f[11]=_,f[12]=d,f[13]=p,f[14]=m,f[15]=M,f},n.set=function(t,e,a,r,n,i,s,o,l,u,c,h,_,d,p,m,M){return t[0]=e,t[1]=a,t[2]=r,t[3]=n,t[4]=i,t[5]=s,t[6]=o,t[7]=l,t[8]=u,t[9]=c,t[10]=h,t[11]=_,t[12]=d,t[13]=p,t[14]=m,t[15]=M,t},n.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},n.scalar.transpose=function(t,e){if(t===e){var a=e[1],r=e[2],n=e[3],i=e[6],s=e[7],o=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=a,t[6]=e[9],t[7]=e[13],t[8]=r,t[9]=i,t[11]=e[14],t[12]=n,t[13]=s,t[14]=o}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t},n.SIMD.transpose=function(t,e){var a,r,n,i,s,o,l,u,c,h;return a=SIMD.Float32x4.load(e,0),r=SIMD.Float32x4.load(e,4),n=SIMD.Float32x4.load(e,8),i=SIMD.Float32x4.load(e,12),s=SIMD.Float32x4.shuffle(a,r,0,1,4,5),o=SIMD.Float32x4.shuffle(n,i,0,1,4,5),l=SIMD.Float32x4.shuffle(s,o,0,2,4,6),u=SIMD.Float32x4.shuffle(s,o,1,3,5,7),SIMD.Float32x4.store(t,0,l),SIMD.Float32x4.store(t,4,u),s=SIMD.Float32x4.shuffle(a,r,2,3,6,7),o=SIMD.Float32x4.shuffle(n,i,2,3,6,7),c=SIMD.Float32x4.shuffle(s,o,0,2,4,6),h=SIMD.Float32x4.shuffle(s,o,1,3,5,7),SIMD.Float32x4.store(t,8,c),SIMD.Float32x4.store(t,12,h),t},n.transpose=r.USE_SIMD?n.SIMD.transpose:n.scalar.transpose,n.scalar.invert=function(t,e){var a=e[0],r=e[1],n=e[2],i=e[3],s=e[4],o=e[5],l=e[6],u=e[7],c=e[8],h=e[9],_=e[10],d=e[11],p=e[12],m=e[13],M=e[14],f=e[15],v=a*o-r*s,g=a*l-n*s,y=a*u-i*s,S=r*l-n*o,I=r*u-i*o,D=n*u-i*l,x=c*m-h*p,b=c*M-_*p,F=c*f-d*p,C=h*M-_*m,R=h*f-d*m,w=_*f-d*M,U=v*w-g*R+y*C+S*F-I*b+D*x;return U?(U=1/U,t[0]=(o*w-l*R+u*C)*U,t[1]=(n*R-r*w-i*C)*U,t[2]=(m*D-M*I+f*S)*U,t[3]=(_*I-h*D-d*S)*U,t[4]=(l*F-s*w-u*b)*U,t[5]=(a*w-n*F+i*b)*U,t[6]=(M*y-p*D-f*g)*U,t[7]=(c*D-_*y+d*g)*U,t[8]=(s*R-o*F+u*x)*U,t[9]=(r*F-a*R-i*x)*U,t[10]=(p*I-m*y+f*v)*U,t[11]=(h*y-c*I-d*v)*U,t[12]=(o*b-s*C-l*x)*U,t[13]=(a*C-r*b+n*x)*U,t[14]=(m*g-p*S-M*v)*U,t[15]=(c*S-h*g+_*v)*U,t):null},n.SIMD.invert=function(t,e){var a,r,n,i,s,o,l,u,c,h,_=SIMD.Float32x4.load(e,0),d=SIMD.Float32x4.load(e,4),p=SIMD.Float32x4.load(e,8),m=SIMD.Float32x4.load(e,12);return s=SIMD.Float32x4.shuffle(_,d,0,1,4,5),r=SIMD.Float32x4.shuffle(p,m,0,1,4,5),a=SIMD.Float32x4.shuffle(s,r,0,2,4,6),r=SIMD.Float32x4.shuffle(r,s,1,3,5,7),s=SIMD.Float32x4.shuffle(_,d,2,3,6,7),i=SIMD.Float32x4.shuffle(p,m,2,3,6,7),n=SIMD.Float32x4.shuffle(s,i,0,2,4,6),i=SIMD.Float32x4.shuffle(i,s,1,3,5,7),s=SIMD.Float32x4.mul(n,i),s=SIMD.Float32x4.swizzle(s,1,0,3,2),o=SIMD.Float32x4.mul(r,s),l=SIMD.Float32x4.mul(a,s),s=SIMD.Float32x4.swizzle(s,2,3,0,1),o=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,s),o),l=SIMD.Float32x4.sub(SIMD.Float32x4.mul(a,s),l),l=SIMD.Float32x4.swizzle(l,2,3,0,1),s=SIMD.Float32x4.mul(r,n),s=SIMD.Float32x4.swizzle(s,1,0,3,2),o=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,s),o),c=SIMD.Float32x4.mul(a,s),s=SIMD.Float32x4.swizzle(s,2,3,0,1),o=SIMD.Float32x4.sub(o,SIMD.Float32x4.mul(i,s)),c=SIMD.Float32x4.sub(SIMD.Float32x4.mul(a,s),c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),s=SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(r,2,3,0,1),i),s=SIMD.Float32x4.swizzle(s,1,0,3,2),n=SIMD.Float32x4.swizzle(n,2,3,0,1),o=SIMD.Float32x4.add(SIMD.Float32x4.mul(n,s),o),u=SIMD.Float32x4.mul(a,s),s=SIMD.Float32x4.swizzle(s,2,3,0,1),o=SIMD.Float32x4.sub(o,SIMD.Float32x4.mul(n,s)),u=SIMD.Float32x4.sub(SIMD.Float32x4.mul(a,s),u),u=SIMD.Float32x4.swizzle(u,2,3,0,1),s=SIMD.Float32x4.mul(a,r),s=SIMD.Float32x4.swizzle(s,1,0,3,2),u=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,s),u),c=SIMD.Float32x4.sub(SIMD.Float32x4.mul(n,s),c),s=SIMD.Float32x4.swizzle(s,2,3,0,1),u=SIMD.Float32x4.sub(SIMD.Float32x4.mul(i,s),u),c=SIMD.Float32x4.sub(c,SIMD.Float32x4.mul(n,s)),s=SIMD.Float32x4.mul(a,i),s=SIMD.Float32x4.swizzle(s,1,0,3,2),l=SIMD.Float32x4.sub(l,SIMD.Float32x4.mul(n,s)),u=SIMD.Float32x4.add(SIMD.Float32x4.mul(r,s),u),s=SIMD.Float32x4.swizzle(s,2,3,0,1),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(n,s),l),u=SIMD.Float32x4.sub(u,SIMD.Float32x4.mul(r,s)),s=SIMD.Float32x4.mul(a,n),s=SIMD.Float32x4.swizzle(s,1,0,3,2),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,s),l),c=SIMD.Float32x4.sub(c,SIMD.Float32x4.mul(r,s)),s=SIMD.Float32x4.swizzle(s,2,3,0,1),l=SIMD.Float32x4.sub(l,SIMD.Float32x4.mul(i,s)),c=SIMD.Float32x4.add(SIMD.Float32x4.mul(r,s),c),h=SIMD.Float32x4.mul(a,o),h=SIMD.Float32x4.add(SIMD.Float32x4.swizzle(h,2,3,0,1),h),h=SIMD.Float32x4.add(SIMD.Float32x4.swizzle(h,1,0,3,2),h),s=SIMD.Float32x4.reciprocalApproximation(h),h=SIMD.Float32x4.sub(SIMD.Float32x4.add(s,s),SIMD.Float32x4.mul(h,SIMD.Float32x4.mul(s,s))),(h=SIMD.Float32x4.swizzle(h,0,0,0,0))?(SIMD.Float32x4.store(t,0,SIMD.Float32x4.mul(h,o)),SIMD.Float32x4.store(t,4,SIMD.Float32x4.mul(h,l)),SIMD.Float32x4.store(t,8,SIMD.Float32x4.mul(h,u)),SIMD.Float32x4.store(t,12,SIMD.Float32x4.mul(h,c)),t):null},n.invert=r.USE_SIMD?n.SIMD.invert:n.scalar.invert,n.scalar.adjoint=function(t,e){var a=e[0],r=e[1],n=e[2],i=e[3],s=e[4],o=e[5],l=e[6],u=e[7],c=e[8],h=e[9],_=e[10],d=e[11],p=e[12],m=e[13],M=e[14],f=e[15];return t[0]=o*(_*f-d*M)-h*(l*f-u*M)+m*(l*d-u*_),t[1]=-(r*(_*f-d*M)-h*(n*f-i*M)+m*(n*d-i*_)),t[2]=r*(l*f-u*M)-o*(n*f-i*M)+m*(n*u-i*l),t[3]=-(r*(l*d-u*_)-o*(n*d-i*_)+h*(n*u-i*l)),t[4]=-(s*(_*f-d*M)-c*(l*f-u*M)+p*(l*d-u*_)),t[5]=a*(_*f-d*M)-c*(n*f-i*M)+p*(n*d-i*_),t[6]=-(a*(l*f-u*M)-s*(n*f-i*M)+p*(n*u-i*l)),t[7]=a*(l*d-u*_)-s*(n*d-i*_)+c*(n*u-i*l),t[8]=s*(h*f-d*m)-c*(o*f-u*m)+p*(o*d-u*h),t[9]=-(a*(h*f-d*m)-c*(r*f-i*m)+p*(r*d-i*h)),t[10]=a*(o*f-u*m)-s*(r*f-i*m)+p*(r*u-i*o),t[11]=-(a*(o*d-u*h)-s*(r*d-i*h)+c*(r*u-i*o)),t[12]=-(s*(h*M-_*m)-c*(o*M-l*m)+p*(o*_-l*h)),t[13]=a*(h*M-_*m)-c*(r*M-n*m)+p*(r*_-n*h),t[14]=-(a*(o*M-l*m)-s*(r*M-n*m)+p*(r*l-n*o)),t[15]=a*(o*_-l*h)-s*(r*_-n*h)+c*(r*l-n*o),t},n.SIMD.adjoint=function(t,e){var a,r,n,i,s,o,l,u,c,h,_,d,p;return a=SIMD.Float32x4.load(e,0),r=SIMD.Float32x4.load(e,4),n=SIMD.Float32x4.load(e,8),i=SIMD.Float32x4.load(e,12),c=SIMD.Float32x4.shuffle(a,r,0,1,4,5),o=SIMD.Float32x4.shuffle(n,i,0,1,4,5),s=SIMD.Float32x4.shuffle(c,o,0,2,4,6),o=SIMD.Float32x4.shuffle(o,c,1,3,5,7),c=SIMD.Float32x4.shuffle(a,r,2,3,6,7),u=SIMD.Float32x4.shuffle(n,i,2,3,6,7),l=SIMD.Float32x4.shuffle(c,u,0,2,4,6),u=SIMD.Float32x4.shuffle(u,c,1,3,5,7),c=SIMD.Float32x4.mul(l,u),c=SIMD.Float32x4.swizzle(c,1,0,3,2),h=SIMD.Float32x4.mul(o,c),_=SIMD.Float32x4.mul(s,c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),h=SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,c),h),_=SIMD.Float32x4.sub(SIMD.Float32x4.mul(s,c),_),_=SIMD.Float32x4.swizzle(_,2,3,0,1),c=SIMD.Float32x4.mul(o,l),c=SIMD.Float32x4.swizzle(c,1,0,3,2),h=SIMD.Float32x4.add(SIMD.Float32x4.mul(u,c),h),p=SIMD.Float32x4.mul(s,c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),h=SIMD.Float32x4.sub(h,SIMD.Float32x4.mul(u,c)),p=SIMD.Float32x4.sub(SIMD.Float32x4.mul(s,c),p),p=SIMD.Float32x4.swizzle(p,2,3,0,1),c=SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(o,2,3,0,1),u),c=SIMD.Float32x4.swizzle(c,1,0,3,2),l=SIMD.Float32x4.swizzle(l,2,3,0,1),h=SIMD.Float32x4.add(SIMD.Float32x4.mul(l,c),h),d=SIMD.Float32x4.mul(s,c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),h=SIMD.Float32x4.sub(h,SIMD.Float32x4.mul(l,c)),d=SIMD.Float32x4.sub(SIMD.Float32x4.mul(s,c),d),d=SIMD.Float32x4.swizzle(d,2,3,0,1),c=SIMD.Float32x4.mul(s,o),c=SIMD.Float32x4.swizzle(c,1,0,3,2),d=SIMD.Float32x4.add(SIMD.Float32x4.mul(u,c),d),p=SIMD.Float32x4.sub(SIMD.Float32x4.mul(l,c),p),c=SIMD.Float32x4.swizzle(c,2,3,0,1),d=SIMD.Float32x4.sub(SIMD.Float32x4.mul(u,c),d),p=SIMD.Float32x4.sub(p,SIMD.Float32x4.mul(l,c)),c=SIMD.Float32x4.mul(s,u),c=SIMD.Float32x4.swizzle(c,1,0,3,2),_=SIMD.Float32x4.sub(_,SIMD.Float32x4.mul(l,c)),d=SIMD.Float32x4.add(SIMD.Float32x4.mul(o,c),d),c=SIMD.Float32x4.swizzle(c,2,3,0,1),_=SIMD.Float32x4.add(SIMD.Float32x4.mul(l,c),_),d=SIMD.Float32x4.sub(d,SIMD.Float32x4.mul(o,c)),c=SIMD.Float32x4.mul(s,l),c=SIMD.Float32x4.swizzle(c,1,0,3,2),_=SIMD.Float32x4.add(SIMD.Float32x4.mul(u,c),_),p=SIMD.Float32x4.sub(p,SIMD.Float32x4.mul(o,c)),c=SIMD.Float32x4.swizzle(c,2,3,0,1),_=SIMD.Float32x4.sub(_,SIMD.Float32x4.mul(u,c)),p=SIMD.Float32x4.add(SIMD.Float32x4.mul(o,c),p),SIMD.Float32x4.store(t,0,h),SIMD.Float32x4.store(t,4,_),SIMD.Float32x4.store(t,8,d),SIMD.Float32x4.store(t,12,p),t},n.adjoint=r.USE_SIMD?n.SIMD.adjoint:n.scalar.adjoint,n.determinant=function(t){var e=t[0],a=t[1],r=t[2],n=t[3],i=t[4],s=t[5],o=t[6],l=t[7],u=t[8],c=t[9],h=t[10],_=t[11],d=t[12],p=t[13],m=t[14],M=t[15];return(e*s-a*i)*(h*M-_*m)-(e*o-r*i)*(c*M-_*p)+(e*l-n*i)*(c*m-h*p)+(a*o-r*s)*(u*M-_*d)-(a*l-n*s)*(u*m-h*d)+(r*l-n*o)*(u*p-c*d)},n.SIMD.multiply=function(t,e,a){var r=SIMD.Float32x4.load(e,0),n=SIMD.Float32x4.load(e,4),i=SIMD.Float32x4.load(e,8),s=SIMD.Float32x4.load(e,12),o=SIMD.Float32x4.load(a,0),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(o,0,0,0,0),r),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(o,1,1,1,1),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(o,2,2,2,2),i),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(o,3,3,3,3),s))));SIMD.Float32x4.store(t,0,l);var u=SIMD.Float32x4.load(a,4),c=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,0,0,0,0),r),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,1,1,1,1),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,2,2,2,2),i),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,3,3,3,3),s))));SIMD.Float32x4.store(t,4,c);var h=SIMD.Float32x4.load(a,8),_=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(h,0,0,0,0),r),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(h,1,1,1,1),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(h,2,2,2,2),i),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(h,3,3,3,3),s))));SIMD.Float32x4.store(t,8,_);var d=SIMD.Float32x4.load(a,12),p=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,0,0,0,0),r),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,1,1,1,1),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,2,2,2,2),i),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,3,3,3,3),s))));return SIMD.Float32x4.store(t,12,p),t},n.scalar.multiply=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=e[4],l=e[5],u=e[6],c=e[7],h=e[8],_=e[9],d=e[10],p=e[11],m=e[12],M=e[13],f=e[14],v=e[15],g=a[0],y=a[1],S=a[2],I=a[3];return t[0]=g*r+y*o+S*h+I*m,t[1]=g*n+y*l+S*_+I*M,t[2]=g*i+y*u+S*d+I*f,t[3]=g*s+y*c+S*p+I*v,g=a[4],y=a[5],S=a[6],I=a[7],t[4]=g*r+y*o+S*h+I*m,t[5]=g*n+y*l+S*_+I*M,t[6]=g*i+y*u+S*d+I*f,t[7]=g*s+y*c+S*p+I*v,g=a[8],y=a[9],S=a[10],I=a[11],t[8]=g*r+y*o+S*h+I*m,t[9]=g*n+y*l+S*_+I*M,t[10]=g*i+y*u+S*d+I*f,t[11]=g*s+y*c+S*p+I*v,g=a[12],y=a[13],S=a[14],I=a[15],t[12]=g*r+y*o+S*h+I*m,t[13]=g*n+y*l+S*_+I*M,t[14]=g*i+y*u+S*d+I*f,t[15]=g*s+y*c+S*p+I*v,t},n.multiply=r.USE_SIMD?n.SIMD.multiply:n.scalar.multiply,n.mul=n.multiply,n.scalar.translate=function(t,e,a){var r,n,i,s,o,l,u,c,h,_,d,p,m=a[0],M=a[1],f=a[2];return e===t?(t[12]=e[0]*m+e[4]*M+e[8]*f+e[12],t[13]=e[1]*m+e[5]*M+e[9]*f+e[13],t[14]=e[2]*m+e[6]*M+e[10]*f+e[14],t[15]=e[3]*m+e[7]*M+e[11]*f+e[15]):(r=e[0],n=e[1],i=e[2],s=e[3],o=e[4],l=e[5],u=e[6],c=e[7],h=e[8],_=e[9],d=e[10],p=e[11],t[0]=r,t[1]=n,t[2]=i,t[3]=s,t[4]=o,t[5]=l,t[6]=u,t[7]=c,t[8]=h,t[9]=_,t[10]=d,t[11]=p,t[12]=r*m+o*M+h*f+e[12],t[13]=n*m+l*M+_*f+e[13],t[14]=i*m+u*M+d*f+e[14],t[15]=s*m+c*M+p*f+e[15]),t},n.SIMD.translate=function(t,e,a){var r=SIMD.Float32x4.load(e,0),n=SIMD.Float32x4.load(e,4),i=SIMD.Float32x4.load(e,8),s=SIMD.Float32x4.load(e,12),o=SIMD.Float32x4(a[0],a[1],a[2],0);e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11]),r=SIMD.Float32x4.mul(r,SIMD.Float32x4.swizzle(o,0,0,0,0)),n=SIMD.Float32x4.mul(n,SIMD.Float32x4.swizzle(o,1,1,1,1)),i=SIMD.Float32x4.mul(i,SIMD.Float32x4.swizzle(o,2,2,2,2));var l=SIMD.Float32x4.add(r,SIMD.Float32x4.add(n,SIMD.Float32x4.add(i,s)));return SIMD.Float32x4.store(t,12,l),t},n.translate=r.USE_SIMD?n.SIMD.translate:n.scalar.translate,n.scalar.scale=function(t,e,a){var r=a[0],n=a[1],i=a[2];return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*n,t[5]=e[5]*n,t[6]=e[6]*n,t[7]=e[7]*n,t[8]=e[8]*i,t[9]=e[9]*i,t[10]=e[10]*i,t[11]=e[11]*i,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},n.SIMD.scale=function(t,e,a){var r,n,i,s=SIMD.Float32x4(a[0],a[1],a[2],0);return r=SIMD.Float32x4.load(e,0),SIMD.Float32x4.store(t,0,SIMD.Float32x4.mul(r,SIMD.Float32x4.swizzle(s,0,0,0,0))),n=SIMD.Float32x4.load(e,4),SIMD.Float32x4.store(t,4,SIMD.Float32x4.mul(n,SIMD.Float32x4.swizzle(s,1,1,1,1))),i=SIMD.Float32x4.load(e,8),SIMD.Float32x4.store(t,8,SIMD.Float32x4.mul(i,SIMD.Float32x4.swizzle(s,2,2,2,2))),t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},n.scale=r.USE_SIMD?n.SIMD.scale:n.scalar.scale,n.rotate=function(t,e,a,n){var i,s,o,l,u,c,h,_,d,p,m,M,f,v,g,y,S,I,D,x,b,F,C,R,w=n[0],U=n[1],P=n[2],A=Math.sqrt(w*w+U*U+P*P);return Math.abs(A)0?(r=2*Math.sqrt(a+1),t[3]=.25*r,t[0]=(e[6]-e[9])/r,t[1]=(e[8]-e[2])/r,t[2]=(e[1]-e[4])/r):e[0]>e[5]&e[0]>e[10]?(r=2*Math.sqrt(1+e[0]-e[5]-e[10]),t[3]=(e[6]-e[9])/r,t[0]=.25*r,t[1]=(e[1]+e[4])/r,t[2]=(e[8]+e[2])/r):e[5]>e[10]?(r=2*Math.sqrt(1+e[5]-e[0]-e[10]),t[3]=(e[8]-e[2])/r,t[0]=(e[1]+e[4])/r,t[1]=.25*r,t[2]=(e[6]+e[9])/r):(r=2*Math.sqrt(1+e[10]-e[0]-e[5]),t[3]=(e[1]-e[4])/r,t[0]=(e[8]+e[2])/r,t[1]=(e[6]+e[9])/r,t[2]=.25*r),t},n.fromRotationTranslationScale=function(t,e,a,r){var n=e[0],i=e[1],s=e[2],o=e[3],l=n+n,u=i+i,c=s+s,h=n*l,_=n*u,d=n*c,p=i*u,m=i*c,M=s*c,f=o*l,v=o*u,g=o*c,y=r[0],S=r[1],I=r[2];return t[0]=(1-(p+M))*y,t[1]=(_+g)*y,t[2]=(d-v)*y,t[3]=0,t[4]=(_-g)*S,t[5]=(1-(h+M))*S,t[6]=(m+f)*S,t[7]=0,t[8]=(d+v)*I,t[9]=(m-f)*I,t[10]=(1-(h+p))*I,t[11]=0,t[12]=a[0],t[13]=a[1],t[14]=a[2],t[15]=1,t},n.fromRotationTranslationScaleOrigin=function(t,e,a,r,n){var i=e[0],s=e[1],o=e[2],l=e[3],u=i+i,c=s+s,h=o+o,_=i*u,d=i*c,p=i*h,m=s*c,M=s*h,f=o*h,v=l*u,g=l*c,y=l*h,S=r[0],I=r[1],D=r[2],x=n[0],b=n[1],F=n[2];return t[0]=(1-(m+f))*S,t[1]=(d+y)*S,t[2]=(p-g)*S,t[3]=0,t[4]=(d-y)*I,t[5]=(1-(_+f))*I,t[6]=(M+v)*I,t[7]=0,t[8]=(p+g)*D,t[9]=(M-v)*D,t[10]=(1-(_+m))*D,t[11]=0,t[12]=a[0]+x-(t[0]*x+t[4]*b+t[8]*F),t[13]=a[1]+b-(t[1]*x+t[5]*b+t[9]*F),t[14]=a[2]+F-(t[2]*x+t[6]*b+t[10]*F),t[15]=1,t},n.fromQuat=function(t,e){var a=e[0],r=e[1],n=e[2],i=e[3],s=a+a,o=r+r,l=n+n,u=a*s,c=r*s,h=r*o,_=n*s,d=n*o,p=n*l,m=i*s,M=i*o,f=i*l;return t[0]=1-h-p,t[1]=c+f,t[2]=_-M,t[3]=0,t[4]=c-f,t[5]=1-u-p,t[6]=d+m,t[7]=0,t[8]=_+M,t[9]=d-m,t[10]=1-u-h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},n.frustum=function(t,e,a,r,n,i,s){var o=1/(a-e),l=1/(n-r),u=1/(i-s);return t[0]=2*i*o,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*i*l,t[6]=0,t[7]=0,t[8]=(a+e)*o,t[9]=(n+r)*l,t[10]=(s+i)*u,t[11]=-1,t[12]=0,t[13]=0,t[14]=s*i*2*u,t[15]=0,t},n.perspective=function(t,e,a,r,n){var i=1/Math.tan(e/2),s=1/(r-n);return t[0]=i/a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=i,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(n+r)*s,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*n*r*s,t[15]=0,t},n.perspectiveFromFieldOfView=function(t,e,a,r){var n=Math.tan(e.upDegrees*Math.PI/180),i=Math.tan(e.downDegrees*Math.PI/180),s=Math.tan(e.leftDegrees*Math.PI/180),o=Math.tan(e.rightDegrees*Math.PI/180),l=2/(s+o),u=2/(n+i);return t[0]=l,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=u,t[6]=0,t[7]=0,t[8]=-(s-o)*l*.5,t[9]=(n-i)*u*.5,t[10]=r/(a-r),t[11]=-1,t[12]=0,t[13]=0,t[14]=r*a/(a-r),t[15]=0,t},n.ortho=function(t,e,a,r,n,i,s){var o=1/(e-a),l=1/(r-n),u=1/(i-s);return t[0]=-2*o,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*u,t[11]=0,t[12]=(e+a)*o,t[13]=(n+r)*l,t[14]=(s+i)*u,t[15]=1,t},n.lookAt=function(t,e,a,i){var s,o,l,u,c,h,_,d,p,m,M=e[0],f=e[1],v=e[2],g=i[0],y=i[1],S=i[2],I=a[0],D=a[1],x=a[2];return Math.abs(M-I).999999?(r[0]=0,r[1]=0,r[2]=0,r[3]=1,r):(i.cross(t,n,s),r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=1+l,o.normalize(r,r))}}(),o.setAxes=function(){var t=n.create();return function(e,a,r,n){return t[0]=r[0],t[3]=r[1],t[6]=r[2],t[1]=n[0],t[4]=n[1],t[7]=n[2],t[2]=-a[0],t[5]=-a[1],t[8]=-a[2],o.normalize(e,o.fromMat3(e,t))}}(),o.clone=s.clone,o.fromValues=s.fromValues,o.copy=s.copy,o.set=s.set,o.identity=function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},o.setAxisAngle=function(t,e,a){a*=.5;var r=Math.sin(a);return t[0]=r*e[0],t[1]=r*e[1],t[2]=r*e[2],t[3]=Math.cos(a),t},o.getAxisAngle=function(t,e){var a=2*Math.acos(e[3]),r=Math.sin(a/2);return 0!=r?(t[0]=e[0]/r,t[1]=e[1]/r,t[2]=e[2]/r):(t[0]=1,t[1]=0,t[2]=0),a},o.add=s.add,o.multiply=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=a[0],l=a[1],u=a[2],c=a[3];return t[0]=r*c+s*o+n*u-i*l,t[1]=n*c+s*l+i*o-r*u,t[2]=i*c+s*u+r*l-n*o,t[3]=s*c-r*o-n*l-i*u,t},o.mul=o.multiply,o.scale=s.scale,o.rotateX=function(t,e,a){a*=.5;var r=e[0],n=e[1],i=e[2],s=e[3],o=Math.sin(a),l=Math.cos(a);return t[0]=r*l+s*o,t[1]=n*l+i*o,t[2]=i*l-n*o,t[3]=s*l-r*o,t},o.rotateY=function(t,e,a){a*=.5;var r=e[0],n=e[1],i=e[2],s=e[3],o=Math.sin(a),l=Math.cos(a);return t[0]=r*l-i*o,t[1]=n*l+s*o,t[2]=i*l+r*o,t[3]=s*l-n*o,t},o.rotateZ=function(t,e,a){a*=.5;var r=e[0],n=e[1],i=e[2],s=e[3],o=Math.sin(a),l=Math.cos(a);return t[0]=r*l+n*o,t[1]=n*l-r*o,t[2]=i*l+s*o,t[3]=s*l-i*o,t},o.calculateW=function(t,e){var a=e[0],r=e[1],n=e[2];return t[0]=a,t[1]=r,t[2]=n,t[3]=Math.sqrt(Math.abs(1-a*a-r*r-n*n)),t},o.dot=s.dot,o.lerp=s.lerp,o.slerp=function(t,e,a,r){var n,i,s,o,l,u=e[0],c=e[1],h=e[2],_=e[3],d=a[0],p=a[1],m=a[2],M=a[3];return(i=u*d+c*p+h*m+_*M)<0&&(i=-i,d=-d,p=-p,m=-m,M=-M),1-i>1e-6?(n=Math.acos(i),s=Math.sin(n),o=Math.sin((1-r)*n)/s,l=Math.sin(r*n)/s):(o=1-r,l=r),t[0]=o*u+l*d,t[1]=o*c+l*p,t[2]=o*h+l*m,t[3]=o*_+l*M,t},o.sqlerp=function(){var t=o.create(),e=o.create();return function(a,r,n,i,s,l){return o.slerp(t,r,s,l),o.slerp(e,n,i,l),o.slerp(a,t,e,2*l*(1-l)),a}}(),o.invert=function(t,e){var a=e[0],r=e[1],n=e[2],i=e[3],s=a*a+r*r+n*n+i*i,o=s?1/s:0;return t[0]=-a*o,t[1]=-r*o,t[2]=-n*o,t[3]=i*o,t},o.conjugate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t},o.length=s.length,o.len=o.length,o.squaredLength=s.squaredLength,o.sqrLen=o.squaredLength,o.normalize=s.normalize,o.fromMat3=function(t,e){var a,r=e[0]+e[4]+e[8];if(r>0)a=Math.sqrt(r+1),t[3]=.5*a,a=.5/a,t[0]=(e[5]-e[7])*a,t[1]=(e[6]-e[2])*a,t[2]=(e[1]-e[3])*a;else{var n=0;e[4]>e[0]&&(n=1),e[8]>e[3*n+n]&&(n=2);var i=(n+1)%3,s=(n+2)%3;a=Math.sqrt(e[3*n+n]-e[3*i+i]-e[3*s+s]+1),t[n]=.5*a,a=.5/a,t[3]=(e[3*i+s]-e[3*s+i])*a,t[i]=(e[3*i+n]+e[3*n+i])*a,t[s]=(e[3*s+n]+e[3*n+s])*a}return t},o.str=function(t){return"quat("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},o.exactEquals=s.exactEquals,o.equals=s.equals,t.exports=o},function(t,e,a){var r=a(1),n={};n.create=function(){var t=new r.ARRAY_TYPE(3);return t[0]=0,t[1]=0,t[2]=0,t},n.clone=function(t){var e=new r.ARRAY_TYPE(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},n.fromValues=function(t,e,a){var n=new r.ARRAY_TYPE(3);return n[0]=t,n[1]=e,n[2]=a,n},n.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},n.set=function(t,e,a,r){return t[0]=e,t[1]=a,t[2]=r,t},n.add=function(t,e,a){return t[0]=e[0]+a[0],t[1]=e[1]+a[1],t[2]=e[2]+a[2],t},n.subtract=function(t,e,a){return t[0]=e[0]-a[0],t[1]=e[1]-a[1],t[2]=e[2]-a[2],t},n.sub=n.subtract,n.multiply=function(t,e,a){return t[0]=e[0]*a[0],t[1]=e[1]*a[1],t[2]=e[2]*a[2],t},n.mul=n.multiply,n.divide=function(t,e,a){return t[0]=e[0]/a[0],t[1]=e[1]/a[1],t[2]=e[2]/a[2],t},n.div=n.divide,n.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t},n.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t},n.min=function(t,e,a){return t[0]=Math.min(e[0],a[0]),t[1]=Math.min(e[1],a[1]),t[2]=Math.min(e[2],a[2]),t},n.max=function(t,e,a){return t[0]=Math.max(e[0],a[0]),t[1]=Math.max(e[1],a[1]),t[2]=Math.max(e[2],a[2]),t},n.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t},n.scale=function(t,e,a){return t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t},n.scaleAndAdd=function(t,e,a,r){return t[0]=e[0]+a[0]*r,t[1]=e[1]+a[1]*r,t[2]=e[2]+a[2]*r,t},n.distance=function(t,e){var a=e[0]-t[0],r=e[1]-t[1],n=e[2]-t[2];return Math.sqrt(a*a+r*r+n*n)},n.dist=n.distance,n.squaredDistance=function(t,e){var a=e[0]-t[0],r=e[1]-t[1],n=e[2]-t[2];return a*a+r*r+n*n},n.sqrDist=n.squaredDistance,n.length=function(t){var e=t[0],a=t[1],r=t[2];return Math.sqrt(e*e+a*a+r*r)},n.len=n.length,n.squaredLength=function(t){var e=t[0],a=t[1],r=t[2];return e*e+a*a+r*r},n.sqrLen=n.squaredLength,n.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t},n.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t},n.normalize=function(t,e){var a=e[0],r=e[1],n=e[2],i=a*a+r*r+n*n;return i>0&&(i=1/Math.sqrt(i),t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i),t},n.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]},n.cross=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=a[0],o=a[1],l=a[2];return t[0]=n*l-i*o,t[1]=i*s-r*l,t[2]=r*o-n*s,t},n.lerp=function(t,e,a,r){var n=e[0],i=e[1],s=e[2];return t[0]=n+r*(a[0]-n),t[1]=i+r*(a[1]-i),t[2]=s+r*(a[2]-s),t},n.hermite=function(t,e,a,r,n,i){var s=i*i,o=s*(2*i-3)+1,l=s*(i-2)+i,u=s*(i-1),c=s*(3-2*i);return t[0]=e[0]*o+a[0]*l+r[0]*u+n[0]*c,t[1]=e[1]*o+a[1]*l+r[1]*u+n[1]*c,t[2]=e[2]*o+a[2]*l+r[2]*u+n[2]*c,t},n.bezier=function(t,e,a,r,n,i){var s=1-i,o=s*s,l=i*i,u=o*s,c=3*i*o,h=3*l*s,_=l*i;return t[0]=e[0]*u+a[0]*c+r[0]*h+n[0]*_,t[1]=e[1]*u+a[1]*c+r[1]*h+n[1]*_,t[2]=e[2]*u+a[2]*c+r[2]*h+n[2]*_,t},n.random=function(t,e){e=e||1;var a=2*r.RANDOM()*Math.PI,n=2*r.RANDOM()-1,i=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(a)*i,t[1]=Math.sin(a)*i,t[2]=n*e,t},n.transformMat4=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=a[3]*r+a[7]*n+a[11]*i+a[15];return s=s||1,t[0]=(a[0]*r+a[4]*n+a[8]*i+a[12])/s,t[1]=(a[1]*r+a[5]*n+a[9]*i+a[13])/s,t[2]=(a[2]*r+a[6]*n+a[10]*i+a[14])/s,t},n.transformMat3=function(t,e,a){var r=e[0],n=e[1],i=e[2];return t[0]=r*a[0]+n*a[3]+i*a[6],t[1]=r*a[1]+n*a[4]+i*a[7],t[2]=r*a[2]+n*a[5]+i*a[8],t},n.transformQuat=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=a[0],o=a[1],l=a[2],u=a[3],c=u*r+o*i-l*n,h=u*n+l*r-s*i,_=u*i+s*n-o*r,d=-s*r-o*n-l*i;return t[0]=c*u+d*-s+h*-l-_*-o,t[1]=h*u+d*-o+_*-s-c*-l,t[2]=_*u+d*-l+c*-o-h*-s,t},n.rotateX=function(t,e,a,r){var n=[],i=[];return n[0]=e[0]-a[0],n[1]=e[1]-a[1],n[2]=e[2]-a[2],i[0]=n[0],i[1]=n[1]*Math.cos(r)-n[2]*Math.sin(r),i[2]=n[1]*Math.sin(r)+n[2]*Math.cos(r),t[0]=i[0]+a[0],t[1]=i[1]+a[1],t[2]=i[2]+a[2],t},n.rotateY=function(t,e,a,r){var n=[],i=[];return n[0]=e[0]-a[0],n[1]=e[1]-a[1],n[2]=e[2]-a[2],i[0]=n[2]*Math.sin(r)+n[0]*Math.cos(r),i[1]=n[1],i[2]=n[2]*Math.cos(r)-n[0]*Math.sin(r),t[0]=i[0]+a[0],t[1]=i[1]+a[1],t[2]=i[2]+a[2],t},n.rotateZ=function(t,e,a,r){var n=[],i=[];return n[0]=e[0]-a[0],n[1]=e[1]-a[1],n[2]=e[2]-a[2],i[0]=n[0]*Math.cos(r)-n[1]*Math.sin(r),i[1]=n[0]*Math.sin(r)+n[1]*Math.cos(r),i[2]=n[2],t[0]=i[0]+a[0],t[1]=i[1]+a[1],t[2]=i[2]+a[2],t},n.forEach=function(){var t=n.create();return function(e,a,r,n,i,s){var o,l;for(a||(a=3),r||(r=0),l=n?Math.min(n*a+r,e.length):e.length,o=r;o1?0:Math.acos(i)},n.str=function(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"},n.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]},n.equals=function(t,e){var a=t[0],n=t[1],i=t[2],s=e[0],o=e[1],l=e[2];return Math.abs(a-s)<=r.EPSILON*Math.max(1,Math.abs(a),Math.abs(s))&&Math.abs(n-o)<=r.EPSILON*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(i-l)<=r.EPSILON*Math.max(1,Math.abs(i),Math.abs(l))},t.exports=n},function(t,e,a){var r=a(1),n={};n.create=function(){var t=new r.ARRAY_TYPE(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t},n.clone=function(t){var e=new r.ARRAY_TYPE(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},n.fromValues=function(t,e,a,n){var i=new r.ARRAY_TYPE(4);return i[0]=t,i[1]=e,i[2]=a,i[3]=n,i},n.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},n.set=function(t,e,a,r,n){return t[0]=e,t[1]=a,t[2]=r,t[3]=n,t},n.add=function(t,e,a){return t[0]=e[0]+a[0],t[1]=e[1]+a[1],t[2]=e[2]+a[2],t[3]=e[3]+a[3],t},n.subtract=function(t,e,a){return t[0]=e[0]-a[0],t[1]=e[1]-a[1],t[2]=e[2]-a[2],t[3]=e[3]-a[3],t},n.sub=n.subtract,n.multiply=function(t,e,a){return t[0]=e[0]*a[0],t[1]=e[1]*a[1],t[2]=e[2]*a[2],t[3]=e[3]*a[3],t},n.mul=n.multiply,n.divide=function(t,e,a){return t[0]=e[0]/a[0],t[1]=e[1]/a[1],t[2]=e[2]/a[2],t[3]=e[3]/a[3],t},n.div=n.divide,n.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t[3]=Math.ceil(e[3]),t},n.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t[3]=Math.floor(e[3]),t},n.min=function(t,e,a){return t[0]=Math.min(e[0],a[0]),t[1]=Math.min(e[1],a[1]),t[2]=Math.min(e[2],a[2]),t[3]=Math.min(e[3],a[3]),t},n.max=function(t,e,a){return t[0]=Math.max(e[0],a[0]),t[1]=Math.max(e[1],a[1]),t[2]=Math.max(e[2],a[2]),t[3]=Math.max(e[3],a[3]),t},n.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t[3]=Math.round(e[3]),t},n.scale=function(t,e,a){return t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t[3]=e[3]*a,t},n.scaleAndAdd=function(t,e,a,r){return t[0]=e[0]+a[0]*r,t[1]=e[1]+a[1]*r,t[2]=e[2]+a[2]*r,t[3]=e[3]+a[3]*r,t},n.distance=function(t,e){var a=e[0]-t[0],r=e[1]-t[1],n=e[2]-t[2],i=e[3]-t[3];return Math.sqrt(a*a+r*r+n*n+i*i)},n.dist=n.distance,n.squaredDistance=function(t,e){var a=e[0]-t[0],r=e[1]-t[1],n=e[2]-t[2],i=e[3]-t[3];return a*a+r*r+n*n+i*i},n.sqrDist=n.squaredDistance,n.length=function(t){var e=t[0],a=t[1],r=t[2],n=t[3];return Math.sqrt(e*e+a*a+r*r+n*n)},n.len=n.length,n.squaredLength=function(t){var e=t[0],a=t[1],r=t[2],n=t[3];return e*e+a*a+r*r+n*n},n.sqrLen=n.squaredLength,n.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t},n.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t},n.normalize=function(t,e){var a=e[0],r=e[1],n=e[2],i=e[3],s=a*a+r*r+n*n+i*i;return s>0&&(s=1/Math.sqrt(s),t[0]=a*s,t[1]=r*s,t[2]=n*s,t[3]=i*s),t},n.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},n.lerp=function(t,e,a,r){var n=e[0],i=e[1],s=e[2],o=e[3];return t[0]=n+r*(a[0]-n),t[1]=i+r*(a[1]-i),t[2]=s+r*(a[2]-s),t[3]=o+r*(a[3]-o),t},n.random=function(t,e){return e=e||1,t[0]=r.RANDOM(),t[1]=r.RANDOM(),t[2]=r.RANDOM(),t[3]=r.RANDOM(),n.normalize(t,t),n.scale(t,t,e),t},n.transformMat4=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3];return t[0]=a[0]*r+a[4]*n+a[8]*i+a[12]*s,t[1]=a[1]*r+a[5]*n+a[9]*i+a[13]*s,t[2]=a[2]*r+a[6]*n+a[10]*i+a[14]*s,t[3]=a[3]*r+a[7]*n+a[11]*i+a[15]*s,t},n.transformQuat=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=a[0],o=a[1],l=a[2],u=a[3],c=u*r+o*i-l*n,h=u*n+l*r-s*i,_=u*i+s*n-o*r,d=-s*r-o*n-l*i;return t[0]=c*u+d*-s+h*-l-_*-o,t[1]=h*u+d*-o+_*-s-c*-l,t[2]=_*u+d*-l+c*-o-h*-s,t[3]=e[3],t},n.forEach=function(){var t=n.create();return function(e,a,r,n,i,s){var o,l;for(a||(a=4),r||(r=0),l=n?Math.min(n*a+r,e.length):e.length,o=r;o0&&(n=1/Math.sqrt(n),t[0]=e[0]*n,t[1]=e[1]*n),t},n.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},n.cross=function(t,e,a){var r=e[0]*a[1]-e[1]*a[0];return t[0]=t[1]=0,t[2]=r,t},n.lerp=function(t,e,a,r){var n=e[0],i=e[1];return t[0]=n+r*(a[0]-n),t[1]=i+r*(a[1]-i),t},n.random=function(t,e){e=e||1;var a=2*r.RANDOM()*Math.PI;return t[0]=Math.cos(a)*e,t[1]=Math.sin(a)*e,t},n.transformMat2=function(t,e,a){var r=e[0],n=e[1];return t[0]=a[0]*r+a[2]*n,t[1]=a[1]*r+a[3]*n,t},n.transformMat2d=function(t,e,a){var r=e[0],n=e[1];return t[0]=a[0]*r+a[2]*n+a[4],t[1]=a[1]*r+a[3]*n+a[5],t},n.transformMat3=function(t,e,a){var r=e[0],n=e[1];return t[0]=a[0]*r+a[3]*n+a[6],t[1]=a[1]*r+a[4]*n+a[7],t},n.transformMat4=function(t,e,a){var r=e[0],n=e[1];return t[0]=a[0]*r+a[4]*n+a[12],t[1]=a[1]*r+a[5]*n+a[13],t},n.forEach=function(){var t=n.create();return function(e,a,r,n,i,s){var o,l;for(a||(a=2),r||(r=0),l=n?Math.min(n*a+r,e.length):e.length,o=r;o0?(e=.5/Math.sqrt(d+1),a[Q_W]=.25/e,a[Q_X]=(h-u)*e,a[Q_Y]=(s-c)*e,a[Q_Z]=(o-i)*e):n>l&&n>_?(e=2*Math.sqrt(1+n-l-_),a[Q_W]=(h-u)/e,a[Q_X]=.25*e,a[Q_Y]=(i+o)/e,a[Q_Z]=(s+c)/e):l>_?(e=2*Math.sqrt(1+l-n-_),a[Q_W]=(s-c)/e,a[Q_X]=(i+o)/e,a[Q_Y]=.25*e,a[Q_Z]=(u+h)/e):(e=2*Math.sqrt(1+_-n-l),a[Q_W]=(o-i)/e,a[Q_X]=(s+c)/e,a[Q_Y]=(u+h)/e,a[Q_Z]=.25*e),a},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 a=Utils.rotateVec_90(e),r=vec3.fromValues(e[Q_X],e[Q_Y],0),n=vec3.fromValues(a[Q_X],a[Q_Y],0),i=vec3.fromValues(0,0,1);mat4.create();return Utils.setAxisMatrix(r,n,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 a=mat4.create(),r=0;r<16;r++)a[r]=t[r]+e[r];return a},Utils.mulMat=function(t,e){for(var a=mat4.create(),r=0;r<16;r++)a[r]=t[r]*e;return a},Utils.clamp=function(t,e,a){return ta?a:t};var newVec1=vec3.create(),newVec2=vec3.create();Utils.vecInterp=function(t,e,a){newVec1=vec3.scale(newVec1,t,1-a),newVec2=vec3.scale(newVec2,e,a);var r=vec3.create();return r=vec3.add(r,newVec1,newVec2)},Utils.vec2Interp=function(t,e,a){var r=vec2.create(),n=vec2.create();r=vec2.scale(r,t,1-a),n=vec2.scale(n,e,a);var i=vec2.create();return i=vec2.add(i,r,n)},Utils.ptsInterp=function(t,e,a){for(var r=[],n=0;n.05&&n.push(i);this.relevant_bones_indices.push(n)}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;er&&(r=o),oa&&(a=i),i1)for(var s=r.getIndexByTime(t),o=1;o1)for(var s=r.getIndexByTime(t),o=1;o0?d.setLocalDisplacements(Utils.ptsInterp(_.getLocalDisplacements(),h.getLocalDisplacements(),l)):d.setPostDisplacements(Utils.ptsInterp(_.getPostDisplacements(),h.getPostDisplacements(),l)),u.push(d)}r.displacement_cache_table[s+o]=u}},CreatureModuleUtils.FillDeformationCache=function(t,e,a,r,n){var i=t[e];n.init(a,r);var s=a;for(var o in i){var l=i[o],u=[];for(var c in l){var h=l[c],_=new MeshDisplacementCache(c),d=CreatureModuleUtils.ReadBoolJSON(h,"use_local_displacements"),p=CreatureModuleUtils.ReadBoolJSON(h,"use_post_displacements");if(1==d){m=CreatureModuleUtils.ReadPointsArray2DJSON(h,"local_displacements");_.setLocalDisplacements(m)}if(1==p){var m=CreatureModuleUtils.ReadPointsArray2DJSON(h,"post_displacements");_.setPostDisplacements(m)}u.push(_)}var M=n.getIndexByTime(o);n.displacement_cache_table[M]=u,CreatureModuleUtils.FillDeformationGapCache(s,o,M,n,u),s=o}n.makeAllReady()},CreatureModuleUtils.FillDeformationCacheFlat=function(t,e,a,r){r.init(e,a);for(var n=e,i=0;i1)for(var s=r.getIndexByTime(t),o=1;o=o&&r<=l){n=!0;break}}n&&t[r]++}this.boundary_indices=[];for(e=0;ei&&(e[0]=i),e[1]>s&&(e[1]=s),a[0]=this.frame&&(this.triggered=!0,!0))},CreatureGameController.prototype.BuildFrameCallbacks=function(t){if(null!=this.meta_asset)for(var e in this.meta_asset.anim_events_map){var a=this.meta_asset.anim_events_map[e];for(var r in a){var n=a[r],i=new CreatureFrameCallback;i.animClipName=e,i.name=n,i.frame=Number(r),i.callback=t(animClipName,name),this.event_callbacks.push(i)}}},CreatureGameController.prototype.AddFrameCallback=function(t,e,a,r){var n=new CreatureFrameCallback;n.animClipName=t,n.name=e,n.frame=a,n.callback=r,this.event_callbacks.push(n)},CreatureGameController.prototype.ResetFrameCallbacks=function(){for(var t in this.event_callbacks)this.event_callbacks[t].resetCallback()},CreatureGameController.prototype.ProcessCallbacks=function(t){var e=t.getActualRuntime();e0)){var r=a.cache_pts;this.UpdateRegionsSwitches(t);for(var n=a.start_time;n<=a.end_time;n++){this.setRunTime(n);for(var i=[],s=0;s<3*this.target_creature.total_num_pts;s++)i[s]=0;this.PoseCreature(t,i,this.getRunTime()),r.push(i)}this.setRunTime(e)}},CreatureManager.prototype.FillSinglePointCacheFrame=function(t,e){var a=this.getRunTime(),r=this.animations[t];this.setRunTime(e);for(var n=[],i=0;i<3*this.target_creature.total_num_pts;i++)n[i]=0;this.PoseCreature(t,n,e),r.fill_cache_pts.push(n),r.verifyFillCache(),this.setRunTime(a)},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.ProcessAutoBlending=function(){this.blending_factor+=this.auto_blend_delta,this.blending_factor>1&&(this.blending_factor=1)},CreatureManager.prototype.IncreAutoBlendRunTimes=function(t){set_animation_name="";for(var e=0;eanim_end_time?this.should_loop?ret_time=anim_start_time:ret_time=anim_end_time:ret_timea?this.should_loop?this.run_time=e:this.run_time=a:this.run_time0?(this.UpdateRegionsSwitches(cur_animation_name),e.poseFromCachePts(cur_animation_run_time,this.blend_render_pts[t],this.target_creature.total_num_pts)):(this.UpdateRegionsSwitches(cur_animation_name),this.PoseCreature(this.active_blend_animation_names[t],this.blend_render_pts[t],cur_animation_run_time))}for(var a=0;a<3*this.target_creature.total_num_pts;a++){var r=a,n=this.blend_render_pts[0][a],i=this.blend_render_pts[1][a];this.target_creature.render_pts[r]=(1-this.blending_factor)*n+this.blending_factor*i}}else(e=this.animations[this.active_animation_name]).cache_pts.length>0?e.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,this.getRunTime());this.RunUVItemSwap()},CreatureManager.prototype.RunUVItemSwap=function(){var t=this.target_creature.render_composition.getRegionsMap(),e=this.target_creature.uv_swap_packets,a=this.target_creature.active_uv_swap_actions;if(!isDictEmpty(e)&&!isDictEmpty(a))for(var r in a)if(r in t)for(var n=a[r],i=e[r],s=0;s=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)) baseline; i--) - { - for (j = 0; j < line; j += 4) - { - if (imagedata[idx + j] !== 255) - { - stop = true; - break; - } - } - - if (!stop) - { - idx -= line; - } - else - { - break; - } - } + var testStringMetrics = context.measureText(this.testString); - properties.descent = i - baseline; + if (testStringMetrics.actualBoundingBoxAscent) + { + var asc = Math.ceil(testStringMetrics.actualBoundingBoxAscent); + var desc = Math.ceil(testStringMetrics.actualBoundingBoxDescent); - // TODO might need a tweak. kind of a temp fix! - properties.descent += 6; - properties.fontSize = properties.ascent + properties.descent; + properties = { + ascent: asc, + descent: desc, + fontSize: asc + desc + }; + } + else + { + var mxWidth = context.measureText('MX').width; + var asc = Math.ceil(0.75 * mxWidth); + var desc = Math.ceil(0.25 * mxWidth); - Phaser.Text.fontPropertiesCache[fontStyle] = properties; + properties = { + ascent: asc, + descent: desc, + fontSize: asc + desc + }; } + Phaser.Text.fontPropertiesCache[fontStyle] = properties; + return properties; }; @@ -45965,7 +45906,7 @@ Object.defineProperty(Phaser.Text.prototype, 'height', { /** * The text used to measure the font's width and height * @name Phaser.Text#testString - * @default '|MÉq' + * @default '|MÂÉQfjq_' */ Object.defineProperty(Phaser.Text.prototype, 'testString', { @@ -80271,10 +80212,15 @@ Phaser.Tilemap = function (game, key, tileWidth, tileHeight, width, height) this.tiles = data.tiles; /** - * @property {array} objects - An array of Tiled Object Layers. + * @property {object} objects - Tiled Object Layers, by layer name. */ this.objects = data.objects; + /** + * @property {object} objectsMap - Tiled objects indexed by `id`. + */ + this.objectsMap = data.objectsMap; + /** * @property {array} collideIndexes - An array of tile indexes that collide. */ @@ -80526,30 +80472,37 @@ Phaser.Tilemap.prototype = { }, /** - * Creates a Sprite for every {@link http://doc.mapeditor.org/reference/tmx-map-format/#object object} matching the `gid` argument. You can optionally specify the group that the Sprite will be created in. If none is - * given it will be created in the World. All properties from the map data objectgroup are copied across to the Sprite, so you can use this as an easy way to - * configure Sprite properties from within the map editor. For example giving an object a property of `alpha: 0.5` in the map editor will duplicate that when the - * Sprite is created. You could also give it a value like: `body.velocity.x: 100` to set it moving automatically. + * Creates a Sprite for every {@link http://doc.mapeditor.org/reference/tmx-map-format/#object object} matching the `search` argument. * - * The `gid` argument is matched against: + * - When `search` is a number, it matches the object's tile ID (`gid`). + * - When `search` is a string, it matches the object's `name`. + * - When `search` is an array like `['type', 'enemy']` it matches that property name and value on the object. + * - When `search` is `null`, it matches every object. * - * 1. For a tile object, the tile identifier (`gid`); or - * 2. The object's unique ID (`id`); or - * 3. The object's `name` (a string) + * You can optionally specify the group that the Sprite will be created in. + * If `undefined` is given it will be created in the World. + * If `null` is given it won't be added to any group. + * + * All properties from the object are copied to the Sprite, so you can use this as an easy way to + * configure Sprite properties from within the map editor. + * For example giving an object a property of `alpha: 0.5` in the map editor will duplicate that when the + * Sprite is created. You could also give it a value like: `body.velocity.x: 100` to set it moving automatically. * * @method Phaser.Tilemap#createFromObjects - * @param {string} name - The name of the Object Group to create Sprites from. - * @param {number|string} gid - The object's tile reference (gid), unique ID (id) or name. + * @param {string} layer - The name of the Object Group (Object Layer) to create Sprites from. + * @param {number|string|array|null} search - The search value (see above). * @param {string} key - The Game.cache key of the image that this Sprite will use. * @param {number|string} [frame] - If the Sprite image contains multiple frames you can specify which one to use here. * @param {boolean} [exists=true] - The default exists state of the Sprite. * @param {boolean} [autoCull=false] - The default autoCull state of the Sprite. Sprites that are autoCulled are culled from the camera if out of its range. - * @param {Phaser.Group} [group=Phaser.World] - Group to add the Sprite to. If not specified it will be added to the World group. + * @param {Phaser.Group|null} [group=this.game.world] - Group to add the Sprite to, or `null` for no group. If `undefined` it will be added to the World group. * @param {object} [CustomClass=Phaser.Sprite] - If you wish to create your own class, rather than Phaser.Sprite, pass the class here. Your class must extend Phaser.Sprite and have the same constructor parameters. * @param {boolean} [adjustY=true] - By default the Tiled map editor uses a bottom-left coordinate system. Phaser uses top-left. So most objects will appear too low down. This parameter moves them up by their height. * @param {boolean} [adjustSize=true] - By default the width and height of the objects are transferred to the sprite. This parameter controls that behavior. + * + * @return {Phaser.Sprite[]} - The created Sprites. */ - createFromObjects: function (name, gid, key, frame, exists, autoCull, group, CustomClass, adjustY, adjustSize) + createFromObjects: function (layer, search, key, frame, exists, autoCull, group, CustomClass, adjustY, adjustSize) { if (exists === undefined) { exists = true; } if (autoCull === undefined) { autoCull = false; } @@ -80558,91 +80511,89 @@ Phaser.Tilemap.prototype = { if (adjustY === undefined) { adjustY = true; } if (adjustSize === undefined) { adjustSize = true; } - if (!this.objects[name]) + var objects = this.objects[layer]; + + if (!objects) { - console.warn('Tilemap.createFromObjects: Invalid objectgroup name given: ' + name); - console.log('Objects: ', this.objects); + console.warn('Tilemap.createFromObjects: Invalid object layer name given: ' + layer); + console.log('Object layers: ', this.objects); return; } - for (var i = 0; i < this.objects[name].length; i++) - { - var found = false; - var obj = this.objects[name][i]; + var foundObjects = []; + var created = []; + var searchType = typeof search; - if (obj.gid !== undefined && typeof gid === 'number' && obj.gid === gid) - { - found = true; - } - else if (obj.id !== undefined && typeof gid === 'number' && obj.id === gid) - { - found = true; - } - else if (obj.name !== undefined && typeof gid === 'string' && obj.name === gid) - { - found = true; - } - - if (found) - { - var sprite = new CustomClass(this.game, parseFloat(obj.x), parseFloat(obj.y), key, frame); - - sprite.name = obj.name; - sprite.autoCull = autoCull; - sprite.exists = exists; - sprite.visible = obj.visible; + if (searchType === 'number') + { + this.getObjects(layer, 'gid', search, foundObjects); + } + else if (searchType === 'string') + { + this.getObjects(layer, 'name', search, foundObjects); + } + else if (Array.isArray(search)) + { + this.getObjects(layer, search[0], search[1], foundObjects); + } + else if (search === null) + { + foundObjects = objects; + } - if (adjustSize) - { - if (obj.width) - { - sprite.width = obj.width; - } + for (var i = 0; i < foundObjects.length; i++) + { + var obj = foundObjects[i]; + var sprite = new CustomClass(this.game, parseFloat(obj.x), parseFloat(obj.y), key, frame); - if (obj.height) - { - sprite.height = obj.height; - } - } + sprite.name = obj.name; + sprite.autoCull = autoCull; + sprite.exists = exists; + sprite.visible = obj.visible; - if (obj.rotation) + if (adjustSize) + { + if (obj.width) { - sprite.angle = obj.rotation; + sprite.width = obj.width; } - if (adjustY) + if (obj.height) { - sprite.y -= sprite.height; + sprite.height = obj.height; } + } - group.add(sprite); + if (obj.rotation) + { + sprite.angle = obj.rotation; + } - // Set properties directly on the sprite + // Tile objects have origin (0, 1), all others (0, 0) - var properties = obj.properties; + if (adjustY && obj.gid) + { + sprite.y -= sprite.height; + } - if (Array.isArray(properties)) - { - // New property format + if (group !== null) + { + group.add(sprite); + } - for (var j = 0; j < properties.length; j++) - { - var propData = properties[j]; + // Set properties directly on the sprite - group.set(sprite, propData.name, propData.value, false, false, 0, true); - } - } - else - { - // Old property format + var properties = obj.properties; - for (var propertyName in properties) - { - group.set(sprite, propertyName, properties[propertyName], false, false, 0, true); - } - } + for (var propertyName in properties) + { + Phaser.Utils.setProperty(sprite, propertyName, properties[propertyName]); } + + created.push(sprite); } + + return created; }, /** @@ -80925,6 +80876,51 @@ Phaser.Tilemap.prototype = { return this.getIndex(this.layers, name); }, + /** + * Gets the object with the given `id`, from any Object Layer. + * + * @param {number} id - The `id` of the object. + * + * @return {?TilemapObject} The object, or null if not found. + */ + getObject: function (id) + { + return this.objectsMap[id] || null; + }, + + /** + * Gets objects matching the given property name and value from an Object Layer. + * + * @param {string} layer - The name of the Object Layer. + * @param {string} propName - The name of the object property to match. + * @param {any} propValue - The property value to match. + * @param {array} [output] - An array to append matching objects to. + * + * @return {TilemapObject[]} - The matching objects. + */ + getObjects: function (layer, propName, propValue, output) + { + var objects = this.objects[layer]; + var len = objects.length; + + if (output === undefined) + { + output = []; + } + + for (var i = 0; i < len; i++) + { + var obj = objects[i]; + + if (obj[propName] === propValue) + { + output.push(obj); + } + } + + return output; + }, + /** * Gets the tileset index based on its name. * @@ -82175,6 +82171,31 @@ Object.defineProperty(Phaser.Tilemap.prototype, 'layer', { }); +/** + * @typedef {object} TilemapObject + * + * See {@link https://doc.mapeditor.org/en/latest/reference/json-map-format/#object} + * + * @property {boolean} ellipse - True for an ellipse + * @property {number} height - The height + * @property {number} id - The object identifier + * @property {string} name - The name + * @property {boolean} point - True for a point + * @property {boolean} rectangle - True for a rectangle + * @property {boolean} rotation - Rotation in degrees + * @property {string} type - The type + * @property {boolean} visible - Visible or hidden + * @property {number} width - The width + * @property {number} x - The x coordinate in global space + * @property {number} y - The y coordinate in global space + * @property {?number} gid - The global tile identifier, for a tile object + * @property {?number[][]} polygon - Vertices for a polygon + * @property {?number[][]} polyline - Vertices for a polyline + * @property {?object} properties - Custom properties + * @property {?string} template - The template path, for a template instance + * @property {?object} text - See {@link https://doc.mapeditor.org/en/latest/reference/json-map-format/#text} + */ + /** * @author Richard Davey * @copyright 2016 Photon Storm Ltd. @@ -83707,21 +83728,60 @@ Phaser.TilemapParser = { }; }, - _slice: function (obj, fields) + getEmptyObject: function () { - var sliced = {}; + return { - for (var k in fields) + // Common properties + + id: undefined, + x: undefined, + y: undefined, + width: undefined, + height: undefined, + rotation: undefined, + visible: undefined, + name: undefined, + type: undefined, + + // Uncommon properties + + ellipse: false, + gid: null, + point: false, + polygon: null, + polyline: null, + properties: null, + rectangle: false, + template: null, + text: null + }; + }, + + createObject: function (source) + { + var obj = Object.assign(this.getEmptyObject(), source); + + obj.rectangle = !obj.ellipse && !obj.gid && !obj.point && !obj.polygon && !obj.polyline && !obj.template && !obj.text; + + var props = obj.properties; + + // New property format + if (props && Array.isArray(props)) { - var key = fields[k]; + var propsMap = {}; - if (typeof obj[key] !== 'undefined') + for (var i = 0, len = props.length; i < len; i++) { - sliced[key] = obj[key]; + var prop = props[i]; + + propsMap[prop.name] = prop.value; } + + obj.properties = propsMap; } - return sliced; + return obj; }, /** @@ -83734,11 +83794,10 @@ Phaser.TilemapParser = { * @param {object} [relativePosition={x: 0, y: 0}] - Coordinates the object group's position is relative to. * @return {object} A object literal containing the objectsCollection and collisionCollection */ - parseObjectGroup: function (objectGroup, objectsCollection, collisionCollection, nameKey, relativePosition) + parseObjectGroup: function (objectGroup, objectsCollection, collisionCollection, nameKey, relativePosition, objectsMap) { var nameKey = nameKey || objectGroup.name; var relativePosition = relativePosition || {x: 0, y: 0}; - var slice = this._slice; if (!nameKey) { @@ -83756,47 +83815,20 @@ Phaser.TilemapParser = { for (var v = 0, len = objectGroup.objects.length; v < len; v++) { var o = objectGroup.objects[v]; + var object = this.createObject(o); - // Object Tiles - if (o.gid) - { - var object = { - gid: o.gid, - name: o.name, - type: o.type || '', - x: o.x + relativePosition.x, - y: o.y + relativePosition.y, - width: o.width, - height: o.height, - visible: o.visible, - properties: o.properties - }; + object.x += relativePosition.x; + object.y += relativePosition.y; - if (o.rotation) - { - object.rotation = o.rotation; - } + objectsCollection[nameKey].push(object); - objectsCollection[nameKey].push(object); - } - else if (o.polyline) + if (object.id) { - var object = { - name: o.name, - type: o.type, - x: o.x + relativePosition.x, - y: o.y + relativePosition.y, - width: o.width, - height: o.height, - visible: o.visible, - properties: o.properties - }; - - if (o.rotation) - { - object.rotation = o.rotation; - } + objectsMap[object.id] = object; + } + if (o.polyline) + { object.polyline = []; // Parse the polyline into an array @@ -83806,17 +83838,9 @@ Phaser.TilemapParser = { } collisionCollection[nameKey].push(object); - objectsCollection[nameKey].push(object); } - - // polygon else if (o.polygon) { - var object = slice(o, [ 'name', 'type', 'x', 'y', 'visible', 'rotation', 'properties' ]); - - object.x += relativePosition.x; - object.y += relativePosition.y; - // Parse the polygon into an array object.polygon = []; @@ -83826,30 +83850,10 @@ Phaser.TilemapParser = { } collisionCollection[nameKey].push(object); - objectsCollection[nameKey].push(object); } - - // ellipse - else if (o.ellipse) + else if (o.ellipse || o.rectangle) { - var object = slice(o, [ 'name', 'type', 'ellipse', 'x', 'y', 'width', 'height', 'visible', 'rotation', 'properties' ]); - object.x += relativePosition.x; - object.y += relativePosition.y; - collisionCollection[nameKey].push(object); - objectsCollection[nameKey].push(object); - } - - // otherwise it's a rectangle - else - { - var object = slice(o, [ 'name', 'type', 'x', 'y', 'width', 'height', 'visible', 'rotation', 'properties' ]); - object.x += relativePosition.x; - object.y += relativePosition.y; - - object.rectangle = true; - collisionCollection[nameKey].push(object); - objectsCollection[nameKey].push(object); } } @@ -83874,11 +83878,6 @@ Phaser.TilemapParser = { return null; } - if (json.version > 1.1) - { - console.warn('Some features in this Tiled JSON map (version %s) may not work in Phaser CE. Enable the json1 plugin and reexport the map in "Tiled 1.1" format. https://github.com/photonstorm/phaser-ce/issues/623', json.version); - } - // Map data will consist of: layers, objects, images, tilesets, sizes var map = { width: json.width, @@ -84206,6 +84205,7 @@ Phaser.TilemapParser = { // Objects & Collision Data (polylines, etc) var objects = {}; var collision = {}; + var objectsMap = {}; for (var i = 0; i < json.layers.length; i++) { @@ -84215,11 +84215,12 @@ Phaser.TilemapParser = { } var objectGroup = json.layers[i]; - this.parseObjectGroup(objectGroup, objects, collision); + this.parseObjectGroup(objectGroup, objects, collision, undefined, undefined, objectsMap); } map.objects = objects; map.collision = collision; + map.objectsMap = objectsMap; map.tiles = []; @@ -84320,7 +84321,9 @@ Phaser.TilemapParser = { { x: tile.worldX + objectGroup.x, y: tile.worldY + objectGroup.y - }); + }, + objectsMap + ); } } } diff --git a/build/custom/phaser-arcade-physics.map b/build/custom/phaser-arcade-physics.map index 5255bb445..b5ecbb981 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","_destroyTintedTexture","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","tintedTexture","CanvasPool","removeByCanvas","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","bringChildToTop","sendChildToBack","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","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","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","config","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","powerPreference","view","canvas","_contextOptions","antialias","failIfMajorPerformanceCaveat","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","postRender","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","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","baseTextureChanged","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","unloadFromGPU","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd","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","AudioBufferSourceNode","noteGrainOn","noteOff","trunc","floor","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","defaults","keys","reverseString","string","split","getProperty","obj","name","parts","_getProperty","setProperties","props","setProperty","_setProperty","val","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","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","centerX","centerY","normx","normy","Line","fromPoints","fromSprite","startSprite","endSprite","useCenter","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","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","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","centroid","points","pointslength","parse","xProp","yProp","parseFloat","isPoint","sortClockwise","center","sort","det","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","FLASH","FADE_OUT","FADE_IN","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","beginFill","drawRect","endFill","fade","fadeEffect","fadeIn","update","updateFX","updateShake","checkBounds","time","delta","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","postUpdate","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","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","previousStateKey","onPostUpdateCallback","_kickstart","getCurrentState","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","paramsArr","bindings","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","PluginManager","plugins","_len","_i","plugin","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","parseConfig","backgroundColor","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","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","getFirst","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","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","wrapAll","between","Game","physicsConfig","multiTexture","isRunning","raf","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","onBoot","_paused","_codePaused","_focusGained","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Debug","noop","isDisabled","showDebugHeader","forceSetTimeOut","RequestAnimationFrame","focusWindow","disableStart","isReady","onReady","PhaserGlobal","hideBanner","v","webAudio","ie","canvasID","canvasStyle","crisp","setImageRenderingCrisp","webGL","contextRestored","webGLRendererError","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","elapsed","deltaMax","slowMotion","fixedStepSize","enableStep","disableStep","step","removeFromDOM","cordova","iOS","focus","stopFocus","muteOnPause","setMute","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","mouseWheel","MouseWheel","pointerLock","PointerLock","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","CONTACT","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","hitTest","localPoint","Creature","TileSprite","graphicsData","fill","shape","processClickTrampolines","handler","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","capture","stopOnGameOut","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","isAndroidStockBrowser","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","mouseMoveCallback","withinGame","resetButtons","updateButtons","element","wheelEventName","wheelEvent","boundOnWheelHandler","onWheelHandler","eventProxy","WheelEventProxy","bindEvent","deltaY","pointerDownCallback","pointerMoveCallback","pointerUpCallback","pointerOutCallback","pointerOverCallback","pointerCancelCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","_onMSPointerCancel","onPointerCancel","isMousePointerEvent","getPointerFromEvent","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","button","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","toLowerCase","down","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","locked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","doubleTap","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","PointerModes","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","dragPoint","pointerData","pointerLocalCoord","globalToLocal","py","prevX","prevY","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","onChange","onError","boundOnChangeHandler","onChangeHandler","boundOnErrorHandler","onErrorHandler","pointerLockElement","pointerlockchange","pointerlockerror","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","request","exit","_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","removeCallbacks","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","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","deltaX","deltaZ","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","prop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","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","animation","useFlatData","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","getBase64","encoderOptions","toDataURL","onLoadCallback","onErrorCallback","onload","onerror","addImage","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","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","polygon","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","getVisualBounds","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_testString","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","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","testString","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_letterSpacing","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","letterSpacing","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","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","textureDebug","tilePattern","frameWidth","frameHeight","autoScroll","stopScroll","generateTilingTexture","needsUpdate","restartBatch","sessionBlendMode","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","android","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chrome","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","standalone","process","require","versions","_checkBrowser","AudioContext","webkitAudioContext","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","devicePixelRatio","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","CanvasRenderingContext2D","getItem","File","FileReader","FileList","Blob","requestFileSystem","WebGLRenderingContext","Worker","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","ALLOW_KEYBOARD_INPUT","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","fakeiOSTouchLock","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","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","isFinite","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","_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","deltaTotal","isTweening","checkIsRunning","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","ms","fps","blob","reversed","elapsedMS","_desiredFps","suggestedFps","desiredFps","advancedTiming","updates","renders","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_timers","timer","autoDestroy","previousDateNow","previousNow","updateAdvancedTiming","updateTimers","interval","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","_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","diff","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","row","column","totalAvailable","lastAvailable","firstFrame","lastFrame","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","layers","tileheight","tilewidth","tiles","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","DATA","_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","addData","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkDataKey","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","getData","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","removeData","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onBeforeLoadComplete","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","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","mediaTypes","avif","bmp","gif","ico","jpg","jpeg","png","svg","tif","tiff","webp","getMediaType","_getSource","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageset","sources","defaultSource","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","truecolor","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","tilemapCSV","tilemapTiledJSON","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","loadPictureTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","picElm","sourceElm","setAttribute","currentSrc","controls","autoplay","playsInline","videoLoadEvent","canplay","Audio","playThroughEvent","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","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","char","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","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_pendingStart","_removeFromSoundManager","_sourceId","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","_removeOnEndedHandler","_disconnectSource","isDecoded","loopFull","forceRestart","_stopSourceAndDisconnect","_createSourceAndConnect","_addOnEndedHandler","_startSource","muted","mute","prevMarker","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","createBufferSource","when","onended","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","baseLatency","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","_onStateChange","disableAudio","disableWebAudio","audioContext","onstatechange","setTouchLock","unlock","setTouchUnlock","webAudioIsSuspended","resumeWebAudio","resumeWebAudioIfSuspended","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactor","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","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","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","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","navigationUI","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","GEOM_AUTO","GEOM_RECTANGLE","GEOM_CIRCLE","GEOM_POINT","GEOM_LINE","GEOM_ELLIPSE","gameInfo","1","2","3","4","soundInfo","sourceId","ended","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","inactiveColor","mx","my","worldX","worldY","_pointerButtonIcon","btn","spriteInputInfo","justDown","justUp","inputInfo","showDetails","_inputHandler","free","inputHandler","_inputHandlerStatusIcon","_inputHandlerCaptureIcon","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","factor","loader","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","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","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","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","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","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","adjustSize","found","propData","propertyName","createFromTiles","replacements","getLayer","customClass","lw","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","bodies","location","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","layerArg","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","getTileRight","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","all","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","_slice","fields","sliced","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","polyline","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","autoScaleFps","scaleData","_s","autoAlpha","autoAlphaFps","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","setSpeed","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","setGravity","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","onTimeout","playWhenUnlocked","timeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","captureVideo","removeVideoElement","getUserMediaTimeout","mediaDevices","then","getUserMediaSuccess","catch","getUserMediaError","mozSrcObject","srcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":";;CAoBA,WAuyMA,SAASA,EAAqBC,EAAIC,EAAOC,EAAQC,GAE7C,IAAIC,EAAUJ,EAAGK,gBAOjB,OANAL,EAAGM,YAAYN,EAAGO,WAAYH,GAC9BJ,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGS,eAAgBT,EAAGU,eACtDV,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGW,eAAgBX,EAAGU,eACtDV,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGY,mBAAoBT,IAAcU,EAAKC,WAAWC,OAASf,EAAGe,OAASf,EAAGgB,SAC7GhB,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGiB,mBAAoBd,IAAcU,EAAKC,WAAWC,OAASf,EAAGe,OAASf,EAAGgB,SAC7GhB,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGP,EAAGmB,KAAMlB,EAAOC,EAAQ,EAAGF,EAAGmB,KAAMnB,EAAGoB,cAAe,MAC/EhB,EAgBX,SAASiB,EAAoBrB,EAAIC,EAAOC,EAAQC,EAAWmB,GAEvD,IAAIC,EAAcvB,EAAGwB,oBACjBC,EAAqBzB,EAAG0B,qBACxBC,EAAc,KACdC,EAAW,EAiBf,OAfA5B,EAAG6B,cAAc7B,EAAG8B,SAAWR,GAC/BtB,EAAG+B,gBAAgB/B,EAAGgC,YAAaT,GACnCvB,EAAGiC,iBAAiBjC,EAAGkC,aAAcT,GACrCzB,EAAGmC,wBAAwBnC,EAAGgC,YAAahC,EAAGoC,yBAA0BpC,EAAGkC,aAAcG,KAAKC,cAC9FX,EAAc5B,EAAoBC,EAAIC,EAAOC,EAAQC,GACrDH,EAAGuC,qBAAqBvC,EAAGgC,YAAahC,EAAGwC,kBAAmBxC,EAAGO,WAAYoB,EAAa,IAC1FC,EAAW5B,EAAGyC,uBAAuBzC,EAAGgC,gBACxBhC,EAAG0C,sBAEfC,QAAQC,MAAM,8BAA+BC,EAAUjB,IAE3DL,EAAYtB,MAAQA,EACpBsB,EAAYrB,OAASA,EACrBqB,EAAYuB,cAAgBnB,EAC5BJ,EAAYe,aAAeb,EACpBF,EAp1MP,IAAIwB,EAAOV,KAUXxB,EAAOA,MAmBXA,EAAKmC,cAAgB,WAWjBX,KAAKY,SAAW,IAAIpC,EAAKqC,MAAM,EAAG,GAYlCb,KAAKc,MAAQ,IAAItC,EAAKqC,MAAM,EAAG,GAQ/Bb,KAAKe,MAAQ,IAAIvC,EAAKqC,MAAM,EAAG,GAY/Bb,KAAKgB,SAAW,EAYhBhB,KAAKiB,MAAQ,EAiBbjB,KAAKkB,SAAU,EASflB,KAAKmB,QAAU,KASfnB,KAAKoB,YAAa,EAYlBpB,KAAKqB,OAAS,KAgBdrB,KAAKsB,WAAa,EAelBtB,KAAKuB,eAAiB,IAAIC,OAAOC,OAejCzB,KAAK0B,cAAgB,IAAIlD,EAAKqC,MAAM,EAAG,GAevCb,KAAK2B,WAAa,IAAInD,EAAKqC,MAAM,EAAG,GAepCb,KAAK4B,cAAgB,EASrB5B,KAAK6B,WAAa,KAMlB7B,KAAK8B,IAAM,EAMX9B,KAAK+B,IAAM,EAMX/B,KAAKgC,QAAU,IAAIxD,EAAKyD,UAAU,EAAG,EAAG,EAAG,GAM3CjC,KAAKkC,eAAiB,KAMtBlC,KAAKmC,MAAQ,KAMbnC,KAAKoC,gBAAiB,EAMtBpC,KAAKqC,eAAgB,GAGzB7D,EAAKmC,cAAc2B,WAEfC,YAAa/D,EAAKmC,cAWlB6B,QAAS,WAEL,GAAIxC,KAAKyC,SACT,CAGI,IAFA,IAAIC,EAAI1C,KAAKyC,SAASE,OAEfD,KAEH1C,KAAKyC,SAASC,GAAGF,UAGrBxC,KAAKyC,YAGTzC,KAAKmB,QAAU,KACfnB,KAAKqB,OAAS,KACdrB,KAAKuB,eAAiB,KACtBvB,KAAK6B,WAAa,KAClB7B,KAAKoB,YAAa,EAElBpB,KAAKgC,QAAU,KACfhC,KAAKkC,eAAiB,KACtBlC,KAAKmC,MAAQ,KAEbnC,KAAK4C,uBACL5C,KAAK6C,yBAsBTC,gBAAiB,SAAUzB,GAEvB,IAAKA,IAAWrB,KAAKqB,SAAWrB,KAAK+C,KAEjC,OAAO/C,KAGX,IAAIgD,EAAIhD,KAAKqB,OAETA,EAEA2B,EAAI3B,EAEErB,KAAKqB,SAEX2B,EAAIhD,KAAK+C,KAAKE,OAIlB,IAIIC,EAAGC,EAAGC,EAAGC,EAAGC,EAAIC,EAJhBC,EAAKR,EAAEzB,eACPkC,EAAKzD,KAAKuB,eAMVvB,KAAKgB,SAAWQ,OAAOkC,KAAKC,KAGxB3D,KAAKgB,WAAahB,KAAK4D,gBAEvB5D,KAAK4D,cAAgB5D,KAAKgB,SAC1BhB,KAAK8B,IAAM4B,KAAKG,IAAI7D,KAAKgB,UACzBhB,KAAK+B,IAAM2B,KAAKI,IAAI9D,KAAKgB,WAI7BkC,EAAIlD,KAAK+B,IAAM/B,KAAKc,MAAMiD,EAC1BZ,EAAInD,KAAK8B,IAAM9B,KAAKc,MAAMiD,EAC1BX,GAAKpD,KAAK8B,IAAM9B,KAAKc,MAAMkD,EAC3BX,EAAIrD,KAAK+B,IAAM/B,KAAKc,MAAMkD,EAC1BV,EAAKtD,KAAKY,SAASmD,EACnBR,EAAKvD,KAAKY,SAASoD,GAGfhE,KAAKe,MAAMgD,GAAK/D,KAAKe,MAAMiD,KAE3BV,GAAMtD,KAAKe,MAAMgD,EAAIb,EAAIlD,KAAKe,MAAMiD,EAAIZ,EACxCG,GAAMvD,KAAKe,MAAMgD,EAAIZ,EAAInD,KAAKe,MAAMiD,EAAIX,GAI5CI,EAAGP,EAAIA,EAAIM,EAAGN,EAAIC,EAAIK,EAAGJ,EACzBK,EAAGN,EAAID,EAAIM,EAAGL,EAAIA,EAAIK,EAAGH,EACzBI,EAAGL,EAAIA,EAAII,EAAGN,EAAIG,EAAIG,EAAGJ,EACzBK,EAAGJ,EAAID,EAAII,EAAGL,EAAIE,EAAIG,EAAGH,EACzBI,EAAGH,GAAKA,EAAKE,EAAGN,EAAIK,EAAKC,EAAGJ,EAAII,EAAGF,GACnCG,EAAGF,GAAKD,EAAKE,EAAGL,EAAII,EAAKC,EAAGH,EAAIG,EAAGD,KAKnCL,EAAIlD,KAAKc,MAAMiD,EACfZ,EAAI,EACJC,EAAI,EACJC,EAAIrD,KAAKc,MAAMkD,EACfV,EAAKtD,KAAKY,SAASmD,EAAI/D,KAAKe,MAAMgD,EAAIb,EACtCK,EAAKvD,KAAKY,SAASoD,EAAIhE,KAAKe,MAAMiD,EAAIX,EAEtCI,EAAGP,EAAIA,EAAIM,EAAGN,EACdO,EAAGN,EAAID,EAAIM,EAAGL,EACdM,EAAGL,EAAIC,EAAIG,EAAGJ,EACdK,EAAGJ,EAAIA,EAAIG,EAAGH,EACdI,EAAGH,GAAKA,EAAKE,EAAGN,EAAIK,EAAKC,EAAGJ,EAAII,EAAGF,GACnCG,EAAGF,GAAKD,EAAKE,EAAGL,EAAII,EAAKC,EAAGH,EAAIG,EAAGD,IAGvCL,EAAIO,EAAGP,EACPC,EAAIM,EAAGN,EACPC,EAAIK,EAAGL,EAGP,IAAIa,EAAUf,GAFdG,EAAII,EAAGJ,GAEiBF,EAAIC,EAE5B,GAAIF,GAAKC,EACT,CACI,IAAIe,EAAIR,KAAKS,KAAMjB,EAAIA,EAAMC,EAAIA,GAEjCnD,KAAK4B,cAAiBuB,EAAI,EAAKO,KAAKU,KAAKlB,EAAIgB,IAAMR,KAAKU,KAAKlB,EAAIgB,GACjElE,KAAK2B,WAAWoC,EAAIG,EACpBlE,KAAK2B,WAAWqC,EAAIC,EAASC,OAE5B,GAAId,GAAKC,EACd,CACI,IAAIgB,EAAIX,KAAKS,KAAMf,EAAIA,EAAMC,EAAIA,GAEjCrD,KAAK4B,cAAgBJ,OAAOkC,KAAKY,SAAYjB,EAAI,EAAKK,KAAKU,MAAMhB,EAAIiB,IAAMX,KAAKU,KAAKhB,EAAIiB,IACzFrE,KAAK2B,WAAWoC,EAAIE,EAASI,EAC7BrE,KAAK2B,WAAWqC,EAAIK,OAIpBrE,KAAK2B,WAAWoC,EAAI,EACpB/D,KAAK2B,WAAWqC,EAAI,EAiBxB,OAbAhE,KAAKsB,WAAatB,KAAKiB,MAAQ+B,EAAE1B,WACjCtB,KAAK0B,cAAcqC,EAAIN,EAAGH,GAC1BtD,KAAK0B,cAAcsC,EAAIP,EAAGF,GAG1BvD,KAAKkC,eAAiB,KAGlBlC,KAAKuE,mBAELvE,KAAKuE,kBAAkBC,KAAKxE,KAAKyE,yBAA0BhB,EAAID,GAG5DxD,MAQX0E,UAAW,aAkBXC,gBAAiB,SAAUC,EAAY9G,EAAW+G,GAE9C,IAAIC,EAAS9E,KAAK+E,iBAEdC,EAAgB,IAAIxD,OAAOyD,cAAcjF,KAAK+C,KAAqB,EAAf+B,EAAOlH,MAA2B,EAAhBkH,EAAOjH,OAAYgH,EAAU/G,EAAW8G,GAOlH,OALApG,EAAKmC,cAAcuE,YAAY5B,IAAMwB,EAAOf,EAC5CvF,EAAKmC,cAAcuE,YAAY3B,IAAMuB,EAAOd,EAE5CgB,EAAcG,OAAOnF,KAAMxB,EAAKmC,cAAcuE,aAEvCF,GASXI,YAAa,WAIT,OAFApF,KAAKqF,wBAEErF,MAUXsF,SAAU,SAAU1E,GAIhB,OAFAZ,KAAK8C,kBAEE9C,KAAKuB,eAAegE,MAAM3E,IAWrC4E,QAAS,SAAU5E,EAAU6E,GASzB,OAPIA,IAEA7E,EAAW6E,EAAKH,SAAS1E,IAG7BZ,KAAK8C,kBAEE9C,KAAKuB,eAAemE,aAAa9E,IAU5C+E,oBAAqB,SAAUC,GAE3B5F,KAAK6F,cAAcvE,WAAatB,KAAKsB,WAEjCsE,EAAcjI,GAEda,EAAKsH,OAAOxD,UAAUyD,aAAavB,KAAKxE,KAAK6F,cAAeD,GAI5DpH,EAAKsH,OAAOxD,UAAU0D,cAAcxB,KAAKxE,KAAK6F,cAAeD,IAUrEP,sBAAuB,WAEnBrF,KAAKoC,gBAAiB,EAEtB,IAAI0C,EAAS9E,KAAK+E,iBAQlB,GALAD,EAAOlH,MAAQ8F,KAAKuC,IAAI,EAAGvC,KAAKwC,KAAKpB,EAAOlH,QAC5CkH,EAAOjH,OAAS6F,KAAKuC,IAAI,EAAGvC,KAAKwC,KAAKpB,EAAOjH,SAE7CmC,KAAK8C,kBAEA9C,KAAK6F,cAaN7F,KAAK6F,cAAc9H,QAAQoI,OAAOrB,EAAOlH,MAAOkH,EAAOjH,YAZ3D,CACI,IAAIoB,EAAc,EACde,KAAKjC,SAAWiC,KAAKjC,QAAQqI,aAAe5H,EAAK6H,4BAEjDpH,EAAce,KAAKjC,QAAQqI,YAAYE,cAE3C,IAAItB,EAAgB,IAAIxD,OAAOyD,cAAcjF,KAAK+C,KAAM+B,EAAOlH,MAAOkH,EAAOjH,YAAQ0I,OAAWA,OAAWA,OAAWA,EAAWtH,GACjIe,KAAK6F,cAAgB,IAAIrH,EAAKsH,OAAOd,GACrChF,KAAK6F,cAActE,eAAiBvB,KAAKuB,eAQ7C,IAAIiF,EAAcxG,KAAKyG,SAEvBzG,KAAKyG,SAAW,KAChBzG,KAAK6F,cAAca,QAAUF,EAE7BhI,EAAKmC,cAAcuE,YAAY5B,IAAMwB,EAAOf,EAC5CvF,EAAKmC,cAAcuE,YAAY3B,IAAMuB,EAAOd,EAC5ChE,KAAK6F,cAAc9H,QAAQoH,OAAOnF,KAAMxB,EAAKmC,cAAcuE,aAAa,GACxElF,KAAK6F,cAAcc,OAAO5C,GAAMe,EAAOf,EAAIe,EAAOlH,MAClDoC,KAAK6F,cAAcc,OAAO3C,GAAMc,EAAOd,EAAIc,EAAOjH,OAElDmC,KAAKyG,SAAWD,EAEhBxG,KAAKoC,gBAAiB,GAS1BQ,qBAAsB,WAEb5C,KAAK6F,gBAKV7F,KAAK6F,cAAc9H,QAAQyE,SAAQ,GAEnCxC,KAAK6F,cAAgB,OAGzBhD,sBAAuB,WAEd7C,KAAK4G,gBAKVpF,OAAOqF,WAAWC,eAAe9G,KAAK4G,eAEtC5G,KAAK4G,cAAgB,QAM7BpI,EAAKmC,cAAc2B,UAAUyE,6BAA+BvI,EAAKmC,cAAc2B,UAAUQ,gBAEzFkE,OAAOC,iBAAiBzI,EAAKmC,cAAc2B,WAQvCyB,GAEImD,IAAK,WAED,OAAOlH,KAAKY,SAASmD,GAGzBoD,IAAK,SAAUC,GAEXpH,KAAKY,SAASmD,EAAIqD,IAW1BpD,GAEIkD,IAAK,WAED,OAAOlH,KAAKY,SAASoD,GAGzBmD,IAAK,SAAUC,GAEXpH,KAAKY,SAASoD,EAAIoD,IAU1BC,cAEIH,IAAK,WAED,GAAKlH,KAAKkB,QAKV,CACI,IAAIoG,EAAOtH,KAAKqB,OAEhB,IAAKiG,EAED,OAAOtH,KAAKkB,QAIZ,EACA,CACI,IAAKoG,EAAKpG,QAEN,OAAO,EAGXoG,EAAOA,EAAKjG,aAETiG,GAGX,OAAO,EAxBP,OAAO,IAuCnBC,MAEIL,IAAK,WAED,OAAOlH,KAAKmC,OAGhBgF,IAAK,SAAUC,GAEPpH,KAAKmC,QAELnC,KAAKmC,MAAMqF,QAAS,GAGxBxH,KAAKmC,MAAQiF,EAETA,IAEApH,KAAKmC,MAAMqF,QAAS,KAmBhCd,SAEIQ,IAAK,WAED,OAAOlH,KAAKyG,UAGhBU,IAAK,SAAUC,GAEX,GAAIK,MAAMC,QAAQN,GAClB,CAII,IAAK,IAFDO,KAEKjF,EAAI,EAAGA,EAAI0E,EAAMzE,OAAQD,IAI9B,IAAK,IAFDkF,EAAeR,EAAM1E,GAAGiF,OAEnBE,EAAI,EAAGA,EAAID,EAAajF,OAAQkF,IAErCF,EAAOG,KAAKF,EAAaC,IAKjC7H,KAAK+H,cAAiBC,OAAQhI,KAAM4H,aAAcD,GAGtD3H,KAAKyG,SAAWW,EAEZpH,KAAKiI,WAAajI,KAAKiI,YAAczJ,EAAK0J,WAAWC,WAErDnI,KAAKiI,UAAYzJ,EAAK0J,WAAWE,UAuB7CC,eAEInB,IAAK,WAED,OAAOlH,KAAKoC,gBAGhB+E,IAAK,SAAUC,GAEPpH,KAAKoC,iBAAmBgF,IAKxBA,EAEApH,KAAKqF,wBAILrF,KAAK4C,uBAGT5C,KAAKoC,eAAiBgF,OAmBlC5I,EAAK8J,uBAAyB,WAE1B9J,EAAKmC,cAAc6D,KAAKxE,MASxBA,KAAKyC,YAWLzC,KAAKuI,kBAAmB,GAG5B/J,EAAK8J,uBAAuBhG,UAAY0E,OAAOwB,OAAOhK,EAAKmC,cAAc2B,WACzE9D,EAAK8J,uBAAuBhG,UAAUC,YAAc/D,EAAK8J,uBASzD9J,EAAK8J,uBAAuBhG,UAAUmG,SAAW,SAAUC,GAEvD,OAAO1I,KAAK2I,WAAWD,EAAO1I,KAAKyC,SAASE,SAWhDnE,EAAK8J,uBAAuBhG,UAAUqG,WAAa,SAAUD,EAAOE,GAEhE,GAAIA,GAAS,GAAKA,GAAS5I,KAAKyC,SAASE,OAWrC,OATI+F,EAAMrH,QAENqH,EAAMrH,OAAOwH,YAAYH,GAG7BA,EAAMrH,OAASrB,KAEfA,KAAKyC,SAASqG,OAAOF,EAAO,EAAGF,GAExBA,EAIP,MAAM,IAAIK,MAAML,EAAQ,yBAA2BE,EAAQ,8BAAgC5I,KAAKyC,SAASE,SAWjHnE,EAAK8J,uBAAuBhG,UAAU0G,aAAe,SAAUN,EAAOO,GAElE,GAAIP,IAAUO,EAAd,CAKA,IAAIC,EAASlJ,KAAKmJ,cAAcT,GAC5BU,EAASpJ,KAAKmJ,cAAcF,GAEhC,GAAIC,EAAS,GAAKE,EAAS,EAEvB,MAAM,IAAIL,MAAM,iFAGpB/I,KAAKyC,SAASyG,GAAUD,EACxBjJ,KAAKyC,SAAS2G,GAAUV,IAU5BlK,EAAK8J,uBAAuBhG,UAAU6G,cAAgB,SAAUT,GAE5D,IAAIE,EAAQ5I,KAAKyC,SAAS4G,QAAQX,GAElC,IAAe,IAAXE,EAEA,MAAM,IAAIG,MAAM,4DAGpB,OAAOH,GAUXpK,EAAK8J,uBAAuBhG,UAAUgH,cAAgB,SAAUZ,EAAOE,GAEnE,GAAIA,EAAQ,GAAKA,GAAS5I,KAAKyC,SAASE,OAEpC,MAAM,IAAIoG,MAAM,uCAGpB,IAAIQ,EAAevJ,KAAKmJ,cAAcT,GAEtC1I,KAAKyC,SAASqG,OAAOS,EAAc,GACnCvJ,KAAKyC,SAASqG,OAAOF,EAAO,EAAGF,IAUnClK,EAAK8J,uBAAuBhG,UAAUkH,WAAa,SAAUZ,GAEzD,GAAIA,EAAQ,GAAKA,GAAS5I,KAAKyC,SAASE,OAEpC,MAAM,IAAIoG,MAAM,8BAAgCH,EAAQ,kGAG5D,OAAO5I,KAAKyC,SAASmG,IAUzBpK,EAAK8J,uBAAuBhG,UAAUuG,YAAc,SAAUH,GAE1D,IAAIE,EAAQ5I,KAAKyC,SAAS4G,QAAQX,GAElC,IAAe,IAAXE,EAKJ,OAAO5I,KAAKyJ,cAAcb,IAU9BpK,EAAK8J,uBAAuBhG,UAAUmH,cAAgB,SAAUb,GAE5D,IAAIF,EAAQ1I,KAAKwJ,WAAWZ,GAS5B,OAPIF,IAEAA,EAAMrH,YAASkF,EAEfvG,KAAKyC,SAASqG,OAAOF,EAAO,IAGzBF,GAGXlK,EAAK8J,uBAAuBhG,UAAUoH,gBAAkB,SAAUhB,GAE9D,GAAIA,EAAMrH,SAAWrB,KAKrB,OAAOA,KAAKsJ,cAAcZ,EAAO1I,KAAKyC,SAASE,OAAS,IAG5DnE,EAAK8J,uBAAuBhG,UAAUqH,gBAAkB,SAAUjB,GAE9D,GAAIA,EAAMrH,SAAWrB,KAKrB,OAAOA,KAAKsJ,cAAcZ,EAAO,IAUrClK,EAAK8J,uBAAuBhG,UAAUsH,eAAiB,SAAUC,EAAYC,QAEtDvD,IAAfsD,IAA4BA,EAAa,QAC5BtD,IAAbuD,IAA0BA,EAAW9J,KAAKyC,SAASE,QAEvD,IAAIoH,EAAQD,EAAWD,EAEvB,GAAIE,EAAQ,GAAKA,GAASD,EAC1B,CAGI,IAAK,IAFDE,EAAUhK,KAAKyC,SAASqG,OAAOe,EAAYE,GAEtCrH,EAAI,EAAGA,EAAIsH,EAAQrH,OAAQD,IAEpBsH,EAAQtH,GACdrB,YAASkF,EAGnB,OAAOyD,EAEN,GAAc,IAAVD,GAAwC,IAAzB/J,KAAKyC,SAASE,OAElC,SAIA,MAAM,IAAIoG,MAAM,iFAUxBvK,EAAK8J,uBAAuBhG,UAAUQ,gBAAkB,WAEpD,GAAK9C,KAAKkB,UAKVlB,KAAK+G,gCAED/G,KAAKoC,gBAKT,IAAK,IAAIM,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGI,mBAKzBtE,EAAK8J,uBAAuBhG,UAAU2H,sCAAwCzL,EAAK8J,uBAAuBhG,UAAUQ,gBASpHtE,EAAK8J,uBAAuBhG,UAAU4H,UAAY,SAAUC,GAExD,IAAIC,EAAwCD,GAAyBA,aAAiC3L,EAAKmC,cACvG0J,GAAsC,EAErCD,EAMDC,EAFKF,aAAiC3L,EAAK8J,wBAEL6B,EAAsBG,SAAStK,MAJrEmK,EAAwBnK,KAW5B,IAAI0C,EAEJ,GAAI0H,EACJ,CACI,IAAIG,EAAcJ,EAAsB5I,eAIxC,IAFA4I,EAAsB5I,eAAiBC,OAAOgJ,eAEzC9H,EAAI,EAAGA,EAAIyH,EAAsB1H,SAASE,OAAQD,IAEnDyH,EAAsB1H,SAASC,GAAGI,kBAI1C,IAMI2H,EACAC,EACAC,EARAC,EAAOC,EAAAA,EACPC,EAAOD,EAAAA,EAEPE,GAAQF,EAAAA,EACRG,GAAQH,EAAAA,EAMRI,GAAe,EAEnB,IAAKvI,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtB1C,KAAKyC,SAASC,GAEfxB,UAKX+J,GAAe,EAIfL,EAAQA,GAFRH,EAAczK,KAAKyC,SAASC,GAAGwH,aAEJnG,EAAK6G,EAAOH,EAAY1G,EACnD+G,EAAQA,EAAOL,EAAYzG,EAAK8G,EAAOL,EAAYzG,EAEnD0G,EAAYD,EAAY7M,MAAQ6M,EAAY1G,EAC5C4G,EAAYF,EAAY5M,OAAS4M,EAAYzG,EAE7C+G,EAAQA,EAAOL,EAAaK,EAAOL,EACnCM,EAAQA,EAAOL,EAAaK,EAAOL,GAGvC,IAAI7F,EAAS9E,KAAKgC,QAElB,IAAKiJ,EACL,CAGI,IAAIC,GAFJpG,EAAS,IAAItG,EAAKyD,WAEF8B,EACZoH,EAAKrG,EAAOlH,MAAQkH,EAAOf,EAE3BqH,EAAKtG,EAAOd,EACZqH,EAAKvG,EAAOjH,OAASiH,EAAOd,EAE5BzC,EAAiBvB,KAAKuB,eAEtB2B,EAAI3B,EAAe2B,EACnBC,EAAI5B,EAAe4B,EACnBC,EAAI7B,EAAe6B,EACnBC,EAAI9B,EAAe8B,EACnBC,EAAK/B,EAAe+B,GACpBC,EAAKhC,EAAegC,GAEpB+H,EAAKpI,EAAIiI,EAAK/H,EAAIiI,EAAK/H,EACvBiI,EAAKlI,EAAIgI,EAAKlI,EAAIgI,EAAK5H,EAEvBiI,EAAKtI,EAAIgI,EAAK9H,EAAIiI,EAAK/H,EACvBmI,EAAKpI,EAAIgI,EAAKlI,EAAI+H,EAAK3H,EAEvBmI,EAAKxI,EAAIgI,EAAK9H,EAAIgI,EAAK9H,EACvBqI,EAAKtI,EAAI+H,EAAKjI,EAAI+H,EAAK3H,EAEvBqI,EAAK1I,EAAIiI,EAAK/H,EAAIgI,EAAK9H,EACvBuI,EAAKxI,EAAI+H,EAAKjI,EAAIgI,EAAK5H,EAE3BwH,EAAOO,EACPN,EAAOO,EAGPT,EAAOS,EAIPX,EAAOgB,GADPhB,EAAOc,GADPd,EAAOY,GAHPZ,EAAOU,GAGYE,EAAKZ,GACLc,EAAKd,GACLgB,EAAKhB,EAIxBE,EAAOe,GADPf,EAAOa,GADPb,EAAOW,EAAKX,EAAOW,EAAKX,GACLa,EAAKb,GACLe,EAAKf,EAIxBC,EAAOa,GADPb,EAAOW,GADPX,EAAOS,EAAKT,EAAOS,EAAKT,GACLW,EAAKX,GACLa,EAAKb,EAIxBC,EAAOa,GADPb,EAAOW,GADPX,EAAOS,EAAKT,EAAOS,EAAKT,GACLW,EAAKX,GACLa,EAAKb,EAQ5B,GALAlG,EAAOf,EAAI6G,EACX9F,EAAOd,EAAI8G,EACXhG,EAAOlH,MAAQmN,EAAOH,EACtB9F,EAAOjH,OAASmN,EAAOF,EAEnBV,EAIA,IAFAD,EAAsB5I,eAAiBgJ,EAElC7H,EAAI,EAAGA,EAAIyH,EAAsB1H,SAASE,OAAQD,IAEnDyH,EAAsB1H,SAASC,GAAGI,kBAI1C,IAAKuH,EACL,CACI,IAAIyB,EAA8B3B,EAAsBD,YAExDpF,EAAOf,GAAK+H,EAA4B/H,EACxCe,EAAOd,GAAK8H,EAA4B9H,EAG5C,OAAOc,GASXtG,EAAK8J,uBAAuBhG,UAAUyC,eAAiB,WAEnD,OAAO/E,KAAKkK,UAAUlK,OAU1BxB,EAAK8J,uBAAuBhG,UAAUgI,SAAW,SAAU5B,GAEvD,QAAKA,IAIIA,IAAU1I,MAMRA,KAAKsK,SAAS5B,EAAMrH,UAWnC7C,EAAK8J,uBAAuBhG,UAAUyD,aAAe,SAAUH,GAE3D,GAAK5F,KAAKkB,WAAWlB,KAAKiB,OAAS,GAKnC,GAAIjB,KAAKoC,eAELpC,KAAK2F,oBAAoBC,OAF7B,CAMA,IAAIlD,EAEJ,GAAI1C,KAAKmC,OAASnC,KAAKyG,SACvB,CAgBI,IAdIzG,KAAKyG,WAELb,EAAcmG,YAAYC,QAC1BpG,EAAcqG,cAAcC,WAAWlM,KAAK+H,eAG5C/H,KAAKmC,QAELyD,EAAcmG,YAAYI,OAC1BvG,EAAcwG,YAAYC,SAASrM,KAAKuH,KAAM3B,GAC9CA,EAAcmG,YAAYO,SAIzB5J,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAElC1C,KAAKyC,SAASC,GAAGqD,aAAaH,GAGlCA,EAAcmG,YAAYI,OAEtBnM,KAAKmC,OAASyD,EAAcwG,YAAYG,QAAQvM,KAAKmC,MAAOyD,GAC5D5F,KAAKyG,UAAYb,EAAcqG,cAAcO,YAEjD5G,EAAcmG,YAAYO,aAK1B,IAAK5J,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAElC1C,KAAKyC,SAASC,GAAGqD,aAAaH,KAY1CpH,EAAK8J,uBAAuBhG,UAAU0D,cAAgB,SAAUJ,GAE5D,IAAqB,IAAjB5F,KAAKkB,SAAoC,IAAflB,KAAKiB,MAKnC,GAAIjB,KAAKoC,eAELpC,KAAK2F,oBAAoBC,OAF7B,CAMI5F,KAAKmC,OAELyD,EAAcwG,YAAYC,SAASrM,KAAKmC,MAAOyD,GAGnD,IAAK,IAAIlD,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGsD,cAAcJ,GAG/B5F,KAAKmC,OAELyD,EAAcwG,YAAYG,QAAQ3G,KAU1CoB,OAAOyF,eAAejO,EAAK8J,uBAAuBhG,UAAW,SAEzD4E,IAAK,WAED,OAAOlH,KAAK+E,iBAAiBnH,MAAQoC,KAAKc,MAAMiD,GAGpDoD,IAAK,SAAUC,GAEX,IAAIxJ,EAAQoC,KAAK+E,iBAAiBnH,MAI9BoC,KAAKc,MAAMiD,EAFD,IAAVnG,EAEewJ,EAAQxJ,EAIR,EAGnBoC,KAAK0M,OAAStF,KAUtBJ,OAAOyF,eAAejO,EAAK8J,uBAAuBhG,UAAW,UAEzD4E,IAAK,WAED,OAAOlH,KAAK+E,iBAAiBlH,OAASmC,KAAKc,MAAMkD,GAGrDmD,IAAK,SAAUC,GAEX,IAAIvJ,EAASmC,KAAK+E,iBAAiBlH,OAI/BmC,KAAKc,MAAMkD,EAFA,IAAXnG,EAEeuJ,EAAQvJ,EAIR,EAGnBmC,KAAK2M,QAAUvF,KAiBvB5I,EAAKsH,OAAS,SAAU/H,GAEpBS,EAAK8J,uBAAuB9D,KAAKxE,MAajCA,KAAK2G,OAAS,IAAInI,EAAKqC,MAAMrC,EAAKsH,OAAO8G,cAAc7I,EAAGvF,EAAKsH,OAAO8G,cAAc5I,GAQpFhE,KAAKjC,QAAUA,GAAWS,EAAKqO,QAAQC,aASvC9M,KAAK0M,OAAS,EASd1M,KAAK2M,QAAU,EASf3M,KAAK+M,KAAO,SAUZ/M,KAAKgN,YAAc,EASnBhN,KAAK4G,cAAgB,KAWrB5G,KAAKiI,UAAYzJ,EAAK0J,WAAWE,OAUjCpI,KAAKiN,OAAS,KASdjN,KAAKkN,QAAS,EAEVlN,KAAKjC,QAAQqI,YAAY+G,WAEzBnN,KAAKoN,kBAGTpN,KAAKoB,YAAa,GAQtB5C,EAAKsH,OAAO8G,eAAiB7I,EAAG,EAAGC,EAAG,GAGtCxF,EAAKsH,OAAOxD,UAAY0E,OAAOwB,OAAOhK,EAAK8J,uBAAuBhG,WAClE9D,EAAKsH,OAAOxD,UAAUC,YAAc/D,EAAKsH,OAQzCkB,OAAOyF,eAAejO,EAAKsH,OAAOxD,UAAW,SAEzC4E,IAAK,WAED,OAAOlH,KAAKc,MAAMiD,EAAI/D,KAAKjC,QAAQsP,MAAMzP,OAG7CuJ,IAAK,SAAUC,GAEXpH,KAAKc,MAAMiD,EAAIqD,EAAQpH,KAAKjC,QAAQsP,MAAMzP,MAC1CoC,KAAK0M,OAAStF,KAWtBJ,OAAOyF,eAAejO,EAAKsH,OAAOxD,UAAW,UAEzC4E,IAAK,WAED,OAAOlH,KAAKc,MAAMkD,EAAIhE,KAAKjC,QAAQsP,MAAMxP,QAG7CsJ,IAAK,SAAUC,GAEXpH,KAAKc,MAAMkD,EAAIoD,EAAQpH,KAAKjC,QAAQsP,MAAMxP,OAC1CmC,KAAK2M,QAAUvF,KAavB5I,EAAKsH,OAAOxD,UAAUgL,WAAa,SAAUvP,EAASwP,GAE9CA,GAEAvN,KAAKjC,QAAQqI,YAAY5D,UAI7BxC,KAAKjC,QAAQqI,YAAYoH,YAAa,EACtCxN,KAAKjC,QAAUA,EACfiC,KAAKjC,QAAQ0P,OAAQ,EACrBzN,KAAKgN,YAAc,GAUvBxO,EAAKsH,OAAOxD,UAAU8K,gBAAkB,WAGhCpN,KAAK0M,SAAU1M,KAAKc,MAAMiD,EAAI/D,KAAK0M,OAAS1M,KAAKjC,QAAQsP,MAAMzP,OAC/DoC,KAAK2M,UAAW3M,KAAKc,MAAMkD,EAAIhE,KAAK2M,QAAU3M,KAAKjC,QAAQsP,MAAMxP,SAiBzEW,EAAKsH,OAAOxD,UAAU4H,UAAY,SAAUwD,GAExC,IAAI9P,EAAQoC,KAAKjC,QAAQsP,MAAMzP,MAC3BC,EAASmC,KAAKjC,QAAQsP,MAAMxP,OAE5BqN,EAAKtN,GAAS,EAAIoC,KAAK2G,OAAO5C,GAC9BoH,EAAKvN,GAASoC,KAAK2G,OAAO5C,EAE1BqH,EAAKvN,GAAU,EAAImC,KAAK2G,OAAO3C,GAC/BqH,EAAKxN,GAAUmC,KAAK2G,OAAO3C,EAE3BzC,EAAiBmM,GAAU1N,KAAKuB,eAEhC2B,EAAI3B,EAAe2B,EACnBC,EAAI5B,EAAe4B,EACnBC,EAAI7B,EAAe6B,EACnBC,EAAI9B,EAAe8B,EACnBC,EAAK/B,EAAe+B,GACpBC,EAAKhC,EAAegC,GAEpBwH,GAAQF,EAAAA,EACRG,GAAQH,EAAAA,EAERD,EAAOC,EAAAA,EACPC,EAAOD,EAAAA,EAEX,GAAU,IAAN1H,GAAiB,IAANC,EACf,CAEI,GAAIF,EAAI,EACR,CACIA,IAAM,EACFyK,EAAOzC,EACXA,GAAMC,EACNA,GAAMwC,EAGV,GAAItK,EAAI,EACR,CACIA,IAAM,EACN,IAAIsK,EAAOvC,EACXA,GAAMC,EACNA,GAAMsC,EAOV/C,EAAO1H,EAAIiI,EAAK7H,EAChByH,EAAO7H,EAAIgI,EAAK5H,EAChBwH,EAAOzH,EAAIgI,EAAK9H,EAChByH,EAAO3H,EAAI+H,EAAK7H,MAGpB,CACI,IAAI+H,EAAKpI,EAAIiI,EAAK/H,EAAIiI,EAAK/H,EACvBiI,EAAKlI,EAAIgI,EAAKlI,EAAIgI,EAAK5H,EAEvBiI,EAAKtI,EAAIgI,EAAK9H,EAAIiI,EAAK/H,EACvBmI,EAAKpI,EAAIgI,EAAKlI,EAAI+H,EAAK3H,EAEvBmI,EAAKxI,EAAIgI,EAAK9H,EAAIgI,EAAK9H,EACvBqI,EAAKtI,EAAI+H,EAAKjI,EAAI+H,EAAK3H,EAEvBqI,EAAK1I,EAAIiI,EAAK/H,EAAIgI,EAAK9H,EACvBuI,EAAKxI,EAAI+H,EAAKjI,EAAIgI,EAAK5H,EAK3BqH,EAAOgB,GADPhB,EAAOc,GADPd,EAAOY,GADPZ,EAAOU,EAAKV,EAAOU,EAAKV,GACLY,EAAKZ,GACLc,EAAKd,GACLgB,EAAKhB,EAKxBE,EAAOe,GADPf,EAAOa,GADPb,EAAOW,GADPX,EAAOS,EAAKT,EAAOS,EAAKT,GACLW,EAAKX,GACLa,EAAKb,GACLe,EAAKf,EAKxBC,EAAOa,GADPb,EAAOW,GADPX,EAAOS,GADPT,EAAOO,EAAKP,EAAOO,EAAKP,GACLS,EAAKT,GACLW,EAAKX,GACLa,EAAKb,EAKxBC,EAAOa,GADPb,EAAOW,GADPX,EAAOS,GADPT,EAAOO,EAAKP,EAAOO,EAAKP,GACLS,EAAKT,GACLW,EAAKX,GACLa,EAAKb,EAG5B,IAAIlG,EAAS9E,KAAKgC,QAWlB,OATA8C,EAAOf,EAAI6G,EACX9F,EAAOlH,MAAQmN,EAAOH,EAEtB9F,EAAOd,EAAI8G,EACXhG,EAAOjH,OAASmN,EAAOF,EAGvB9K,KAAKkC,eAAiB4C,EAEfA,GASXtG,EAAKsH,OAAOxD,UAAUyC,eAAiB,WAEnC,IAAIwF,EAAcvK,KAAKuB,eAEvBvB,KAAKuB,eAAiBC,OAAOgJ,eAE7B,IAAK,IAAI9H,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGI,kBAGrB,IAAIgC,EAAS9E,KAAKkK,YAIlB,IAFAlK,KAAKuB,eAAiBgJ,EAEjB7H,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAElC1C,KAAKyC,SAASC,GAAGI,kBAGrB,OAAOgC,GAWXtG,EAAKsH,OAAOxD,UAAUyD,aAAe,SAAUH,EAAe8H,GAG1D,GAAK1N,KAAKkB,WAAWlB,KAAKiB,OAAS,IAAMjB,KAAKoB,WAA9C,CAGA,IAAIqC,EAAKzD,KAAKuB,eAQd,GANImM,IAEAjK,EAAKiK,GAIL1N,KAAKmC,OAASnC,KAAKyG,SACvB,CACI,IAAIsF,EAAcnG,EAAcmG,YAG5B/L,KAAKyG,WAELsF,EAAYC,QACZpG,EAAcqG,cAAcC,WAAWlM,KAAK+H,eAG5C/H,KAAKmC,QAEL4J,EAAYI,OACZvG,EAAcwG,YAAYC,SAASrM,KAAKuH,KAAM3B,GAC9CmG,EAAYO,SAIhBP,EAAY5G,OAAOnF,MAGnB,IAAS0C,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGqD,aAAaH,GAIlCmG,EAAYI,OAERnM,KAAKmC,OAASyD,EAAcwG,YAAYG,QAAQvM,KAAKmC,MAAOyD,GAC5D5F,KAAKyG,UAAYb,EAAcqG,cAAcO,YAEjDT,EAAYO,YAGhB,CACI1G,EAAcmG,YAAY5G,OAAOnF,MAGjC,IAAK,IAAI0C,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGqD,aAAaH,EAAenC,MAazDjF,EAAKsH,OAAOxD,UAAU0D,cAAgB,SAAUJ,EAAe8H,GAG3D,MAAK1N,KAAKkB,SAA0B,IAAflB,KAAKiB,QAAgBjB,KAAKoB,YAAcpB,KAAKjC,QAAQ6P,KAAKhQ,MAAQ,GAAKoC,KAAKjC,QAAQ6P,KAAK/P,OAAS,GAAvH,CAKA,IAAI4F,EAAKzD,KAAKuB,eAoBd,GAjBImM,IAEAjK,EAAKiK,GAGL1N,KAAKiI,YAAcrC,EAAciI,mBAEjCjI,EAAciI,iBAAmB7N,KAAKiI,UACtCrC,EAAckI,QAAQC,yBAA2BvP,EAAKwP,iBAAiBpI,EAAciI,mBAGrF7N,KAAKmC,OAELyD,EAAcwG,YAAYC,SAASrM,KAAKmC,MAAOyD,GAI9C5F,KAAKjC,QAAQ0P,MAAlB,CAgBA,IAAI7I,EAAa5E,KAAKjC,QAAQqI,YAAYxB,WAAagB,EAAchB,WAErEgB,EAAckI,QAAQG,YAAcjO,KAAKsB,WAGrCsE,EAAcsI,gBAAkBtI,EAAc9H,YAAckC,KAAKjC,QAAQqI,YAAYtI,YAErF8H,EAAc9H,UAAYkC,KAAKjC,QAAQqI,YAAYtI,UACnD8H,EAAckI,QAAQlI,EAAcsI,gBAAmBtI,EAAc9H,YAAcU,EAAKC,WAAWC,QAIvG,IAAIyP,EAAMnO,KAAKjC,QAAY,KAAIiC,KAAKjC,QAAQqQ,KAAKrK,EAAI/D,KAAK2G,OAAO5C,EAAI/D,KAAKjC,QAAQqQ,KAAKxQ,MAAQoC,KAAK2G,OAAO5C,GAAK/D,KAAKjC,QAAQsP,MAAMzP,MAC/HyQ,EAAMrO,KAAKjC,QAAY,KAAIiC,KAAKjC,QAAQqQ,KAAKpK,EAAIhE,KAAK2G,OAAO3C,EAAIhE,KAAKjC,QAAQqQ,KAAKvQ,OAASmC,KAAK2G,OAAO3C,GAAKhE,KAAKjC,QAAQsP,MAAMxP,OAEhIyF,EAAMG,EAAGH,GAAKsC,EAAchB,WAAcgB,EAAc0I,OACxD/K,EAAME,EAAGF,GAAKqC,EAAchB,WAAcgB,EAAc2I,OAExDC,EAAKxO,KAAKjC,QAAQ6P,KAAKhQ,MACvB6Q,EAAKzO,KAAKjC,QAAQ6P,KAAK/P,OAE3B,GAAImC,KAAKjC,QAAQ2Q,QACjB,CACI,IAAIxL,EAAIO,EAAGP,EACPC,EAAIM,EAAGN,EACPC,EAAIK,EAAGL,EACPC,EAAII,EAAGJ,EACPsL,EAAIH,EAGRlL,EAAKG,EAAGL,EAAIqL,EAAKnL,EACjBC,EAAKE,EAAGJ,EAAIoL,EAAKlL,EAMjBE,EAAGP,EAAQ,sBAAJA,EAA6BE,EACpCK,EAAGN,EAAQ,sBAAJA,EAA6BE,EACpCI,EAAGL,EAAIF,EAAQ,sBAAJE,EACXK,EAAGJ,EAAIF,EAAQ,sBAAJE,EAGXmL,EAAKC,EACLA,EAAKE,EAqBT,GAjBI/I,EAAcgJ,aAEdhJ,EAAckI,QAAQe,aAAapL,EAAGP,EAAGO,EAAGN,EAAGM,EAAGL,EAAGK,EAAGJ,EAAQ,EAALC,EAAa,EAALC,GACnE4K,GAAM,EACNE,GAAM,GAINzI,EAAckI,QAAQe,aAAapL,EAAGP,EAAGO,EAAGN,EAAGM,EAAGL,EAAGK,EAAGJ,EAAGC,EAAIC,GAGnE4K,GAAMvJ,EACNyJ,GAAMzJ,EAEN4J,GAAM,EACNC,GAAM,EAEDD,GAAOC,EAAZ,CAKA,GAAkB,WAAdzO,KAAK+M,MAED/M,KAAKjC,QAAQ+Q,gBAAkB9O,KAAKgN,aAAehN,KAAK+M,QAExD/M,KAAK4G,cAAgBpI,EAAKuQ,aAAaC,iBAAiBhP,KAAMA,KAAK+M,MAEnE/M,KAAKgN,WAAahN,KAAK+M,KACvB/M,KAAKjC,QAAQ+Q,gBAAiB,GAGlClJ,EAAckI,QAAQmB,UAAUjP,KAAK4G,cAAe,EAAG,EAAG4H,EAAIC,EAAIN,EAAIE,EAAIG,EAAK5J,EAAY6J,EAAK7J,OAGpG,CACI,IAAIsK,EAAKlP,KAAKjC,QAAQ6P,KAAK7J,EACvBoL,EAAKnP,KAAKjC,QAAQ6P,KAAK5J,EAE3B4B,EAAckI,QAAQmB,UAAUjP,KAAKjC,QAAQqI,YAAYgJ,OAAQF,EAAIC,EAAIX,EAAIC,EAAIN,EAAIE,EAAIG,EAAK5J,EAAY6J,EAAK7J,GAGnH,IAASlC,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGsD,cAAcJ,GAG/B5F,KAAKmC,OAELyD,EAAcwG,YAAYG,QAAQ3G,QAjHtC,CAGI,IAAK,IAAIlD,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGsD,cAAcJ,GAG/B5F,KAAKmC,OAELyD,EAAcwG,YAAYG,QAAQ3G,MAoH9CpH,EAAK6Q,mBAAqB,aAW1B7Q,EAAK8Q,oBAAsB,SAAU3R,EAAI4R,GAErC,OAAO/Q,EAAKgR,eAAe7R,EAAI4R,EAAW5R,EAAG8R,gBAUjDjR,EAAKkR,sBAAwB,SAAU/R,EAAI4R,GAEvC,OAAO/Q,EAAKgR,eAAe7R,EAAI4R,EAAW5R,EAAGgS,kBAYjDnR,EAAKgR,eAAiB,SAAU7R,EAAI4R,EAAWK,GAE3C,IAAIC,EAAMN,EAEN9H,MAAMC,QAAQ6H,KAEdM,EAAMN,EAAUO,KAAK,OAGzB,IAAI7C,EAAStP,EAAGoS,aAAaH,GAI7B,OAHAjS,EAAGqS,aAAa/C,EAAQ4C,GACxBlS,EAAGsS,cAAchD,GAEZtP,EAAGuS,mBAAmBjD,EAAQtP,EAAGwS,gBAM/BlD,GAJHmD,OAAO9P,QAAQ+P,IAAI1S,EAAG2S,iBAAiBrD,IAChC,OAcfzO,EAAK+R,eAAiB,SAAU5S,EAAI6S,EAAWC,GAE3C,IAAIC,EAAiBlS,EAAKkR,sBAAsB/R,EAAI8S,GAChDE,EAAenS,EAAK8Q,oBAAoB3R,EAAI6S,GAE5CI,EAAgBjT,EAAGkT,gBAYvB,OAVAlT,EAAGmT,aAAaF,EAAeD,GAC/BhT,EAAGmT,aAAaF,EAAeF,GAC/B/S,EAAGoT,YAAYH,GAEVjT,EAAGqT,oBAAoBJ,EAAejT,EAAGsT,eAE1Cb,OAAO9P,QAAQ+P,IAAI1S,EAAGuT,kBAAkBN,IACxCR,OAAO9P,QAAQ+P,IAAI,iCAGhBO,GAaXpS,EAAK2S,WAAa,SAAUxT,GAOxBqC,KAAKoR,KAAO5P,OAAO4P,OAMnBpR,KAAKrC,GAAKA,EAOVqC,KAAKqR,QAAU,KAOfrR,KAAKyQ,YAAc,KAOnBzQ,KAAKsR,aAAe,EAQpBtR,KAAKuR,UAAW,EAOhBvR,KAAKwR,OAAQ,EAQbxR,KAAKyR,cAELzR,KAAK0R,QAGTlT,EAAK2S,WAAW7O,UAAUC,YAAc/D,EAAK2S,WAE7C3S,EAAK2S,WAAW7O,UAAUqP,mBAAqB,WAE3C,IAAIhU,EAAKqC,KAAKrC,GACdqC,KAAK4R,aAAejU,EAAGkU,aAAalU,EAAGmU,yBAEvC,IAAK,IADDC,EAAa,8GACRnJ,EAAQ,EAAGA,EAAQ5I,KAAK4R,eAAgBhJ,EAE7CmJ,GAAc,0BACFnJ,EAAQ,+CACRA,EAAQ,wCAExB5I,KAAKyQ,aACD,iCACA,wBACA,+FACA,8BACA,uBACA,+BACA,mCAAqCzQ,KAAK4R,aAAe,KAMzD,8CAMA,6CACA,oBACAG,EACA,0BAA4B/R,KAAK4R,aAAe,qCAChD,4DACA,KAGJ,IAAIP,EAAU7S,EAAK+R,eAAe5S,EAAIqC,KAAKwQ,WAAahS,EAAK2S,WAAWa,iBAAkBhS,KAAKyQ,aAE/F9S,EAAGsU,WAAWZ,GAMdrR,KAAKkS,cAAgBvU,EAAGwU,mBAAmBd,EAAS,oBACpDrR,KAAKoS,iBAAmBzU,EAAGwU,mBAAmBd,EAAS,oBACvDrR,KAAKqS,aAAe1U,EAAGwU,mBAAmBd,EAAS,gBACnDrR,KAAKsS,WAAa3U,EAAGwU,mBAAmBd,EAAS,cAGjDrR,KAAKuS,gBAAkB5U,EAAG6U,kBAAkBnB,EAAS,mBACrDrR,KAAKyS,cAAgB9U,EAAG6U,kBAAkBnB,EAAS,iBACnDrR,KAAK0S,eAAiB/U,EAAG6U,kBAAkBnB,EAAS,UACpDrR,KAAK2S,cAAgBhV,EAAG6U,kBAAkBnB,EAAS,iBAEnD,IAAIuB,KAGAC,EAAclV,EAAGK,gBACrBL,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGM,YAAYN,EAAGO,WAAY2U,GAC9BlV,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGP,EAAGmV,IAAK,EAAG,EAAG,EAAGnV,EAAGmV,IAAKnV,EAAGoB,cAAe,MAC3E,IAAK,IAAI2D,EAAI,EAAGA,EAAI1C,KAAK4R,eAAgBlP,EAErC/E,EAAG6B,cAAc7B,EAAG8B,SAAWiD,GAC/B/E,EAAGM,YAAYN,EAAGO,WAAY2U,GAC9BD,EAAQ9K,KAAKpF,GAEjB/E,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGoV,WAAW/S,KAAKkS,cAAeU,IAUN,IAAzB5S,KAAK0S,iBAEJ1S,KAAK0S,eAAiB,GAG1B1S,KAAKyR,YAAezR,KAAKuS,gBAAiBvS,KAAKyS,cAAezS,KAAK0S,eAAgB1S,KAAK2S,eAKxF,IAAK,IAAIK,KAAOhT,KAAKiT,SAGjBjT,KAAKiT,SAASD,GAAKE,gBAAkBvV,EAAGwU,mBAAmBd,EAAS2B,GAGxEhT,KAAKmT,eAELnT,KAAKqR,QAAUA,GAGnB7S,EAAK2S,WAAW7O,UAAU8Q,kBAAoB,WAEjB,OAArBpT,KAAKyQ,cAELzQ,KAAKyQ,aACD,wBACA,8BACA,uBACA,+BACA,8BACA,oBACA,kEACA,MAIR,IAAI9S,EAAKqC,KAAKrC,GAEV0T,EAAU7S,EAAK+R,eAAe5S,EAAIqC,KAAKwQ,WAAahS,EAAK2S,WAAWa,iBAAkBhS,KAAKyQ,aAE/F9S,EAAGsU,WAAWZ,GAGdrR,KAAKqT,SAAW1V,EAAGwU,mBAAmBd,EAAS,YAC/CrR,KAAKoS,iBAAmBzU,EAAGwU,mBAAmBd,EAAS,oBACvDrR,KAAKqS,aAAe1U,EAAGwU,mBAAmBd,EAAS,gBACnDrR,KAAKsS,WAAa3U,EAAGwU,mBAAmBd,EAAS,cAGjDrR,KAAKuS,gBAAkB5U,EAAG6U,kBAAkBnB,EAAS,mBACrDrR,KAAKyS,cAAgB9U,EAAG6U,kBAAkBnB,EAAS,iBACnDrR,KAAK0S,eAAiB/U,EAAG6U,kBAAkBnB,EAAS,UACpDrR,KAAK2S,cAAgBhV,EAAG6U,kBAAkBnB,EAAS,kBAUvB,IAAzBrR,KAAK0S,iBAEJ1S,KAAK0S,eAAiB,GAG1B1S,KAAKyR,YAAezR,KAAKuS,gBAAiBvS,KAAKyS,cAAezS,KAAK0S,eAAgB1S,KAAK2S,eAKxF,IAAK,IAAIK,KAAOhT,KAAKiT,SAGjBjT,KAAKiT,SAASD,GAAKE,gBAAkBvV,EAAGwU,mBAAmBd,EAAS2B,GAGxEhT,KAAKmT,eAELnT,KAAKqR,QAAUA,GAQnB7S,EAAK2S,WAAW7O,UAAUoP,KAAO,SAAU4B,GAEnC9U,EAAK6H,4BAA8BiN,EAEnCtT,KAAK2R,qBAIL3R,KAAKoT,qBAYb5U,EAAK2S,WAAW7O,UAAU6Q,aAAe,WAErCnT,KAAKsR,aAAe,EACpB,IACIiC,EADA5V,EAAKqC,KAAKrC,GAGd,IAAK,IAAIqV,KAAOhT,KAAKiT,SACrB,CAGI,IAAIO,GAFJD,EAAUvT,KAAKiT,SAASD,IAELQ,KAEN,cAATA,GAEAD,EAAQE,OAAQ,EAEM,OAAlBF,EAAQnM,OAERpH,KAAK0T,cAAcH,IAGT,SAATC,GAA4B,SAATA,GAA4B,SAATA,GAG3CD,EAAQI,UAAW,EACnBJ,EAAQK,cAAgB,EAEX,SAATJ,EAEAD,EAAQM,OAASlW,EAAGmW,iBAEN,SAATN,EAELD,EAAQM,OAASlW,EAAGoW,iBAEN,SAATP,IAELD,EAAQM,OAASlW,EAAGqW,oBAMxBT,EAAQM,OAASlW,EAAG,UAAY6V,GAI5BD,EAAQK,cAFC,OAATJ,GAA0B,OAATA,EAEO,EAEV,OAATA,GAA0B,OAATA,EAEE,EAEV,OAATA,GAA0B,OAATA,EAEE,EAIA,KAWxChV,EAAK2S,WAAW7O,UAAUoR,cAAgB,SAAUH,GAEhD,GAAKA,EAAQnM,OAAUmM,EAAQnM,MAAMhB,aAAgBmN,EAAQnM,MAAMhB,YAAY+G,UAA/E,CAKA,IAAIxP,EAAKqC,KAAKrC,GAOd,GAJAA,EAAG6B,cAAc7B,EAAG8B,SAAWO,KAAKsR,cACpC3T,EAAGM,YAAYN,EAAGO,WAAYqV,EAAQnM,MAAMhB,YAAY6N,YAAYtW,EAAGuW,KAGnEX,EAAQY,YACZ,CACI,IAAIC,EAAOb,EAAQY,YAgBfE,EAAaD,EAAc,UAAIA,EAAKC,UAAY1W,EAAGe,OACnD4V,EAAaF,EAAc,UAAIA,EAAKE,UAAY3W,EAAGe,OACnD6V,EAASH,EAAU,MAAIA,EAAKG,MAAQ5W,EAAGU,cACvCmW,EAASJ,EAAU,MAAIA,EAAKI,MAAQ7W,EAAGU,cACvCoW,EAAUL,EAAc,UAAIzW,EAAG+W,UAAY/W,EAAGmB,KAUlD,GARIsV,EAAKO,SAELJ,EAAQ5W,EAAGiX,OACXJ,EAAQ7W,EAAGiX,QAGfjX,EAAGkX,YAAYlX,EAAGmX,sBAAuBV,EAAKW,OAE1CX,EAAKxW,MACT,CACI,IAAIA,EAASwW,EAAU,MAAIA,EAAKxW,MAAQ,IACpCC,EAAUuW,EAAW,OAAIA,EAAKvW,OAAS,EACvCmX,EAAUZ,EAAW,OAAIA,EAAKY,OAAS,EAG3CrX,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGuW,EAAQ7W,EAAOC,EAAQmX,EAAQP,EAAQ9W,EAAGoB,cAAe,WAKzFpB,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGuW,EAAQ9W,EAAGmB,KAAMnB,EAAGoB,cAAewU,EAAQnM,MAAMhB,YAAYgJ,QAGjGzR,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGY,mBAAoB8V,GACvD1W,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGiB,mBAAoB0V,GACvD3W,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGS,eAAgBmW,GACnD5W,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGW,eAAgBkW,GAGvD7W,EAAGsX,UAAU1B,EAAQL,gBAAiBlT,KAAKsR,cAE3CiC,EAAQE,OAAQ,EAEhBzT,KAAKsR,iBAQT9S,EAAK2S,WAAW7O,UAAU4S,aAAe,WAErClV,KAAKsR,aAAe,EACpB,IAAIiC,EACA5V,EAAKqC,KAAKrC,GAGd,IAAK,IAAIqV,KAAOhT,KAAKiT,SAGa,KAD9BM,EAAUvT,KAAKiT,SAASD,IACZY,eAEiB,IAArBL,EAAQI,SAERJ,EAAQM,OAAOrP,KAAK7G,EAAI4V,EAAQL,gBAAiBK,EAAQ4B,UAAW5B,EAAQnM,OAI5EmM,EAAQM,OAAOrP,KAAK7G,EAAI4V,EAAQL,gBAAiBK,EAAQnM,OAG9B,IAA1BmM,EAAQK,cAEbL,EAAQM,OAAOrP,KAAK7G,EAAI4V,EAAQL,gBAAiBK,EAAQnM,MAAMrD,EAAGwP,EAAQnM,MAAMpD,GAEjD,IAA1BuP,EAAQK,cAEbL,EAAQM,OAAOrP,KAAK7G,EAAI4V,EAAQL,gBAAiBK,EAAQnM,MAAMrD,EAAGwP,EAAQnM,MAAMpD,EAAGuP,EAAQnM,MAAMgO,GAElE,IAA1B7B,EAAQK,cAEbL,EAAQM,OAAOrP,KAAK7G,EAAI4V,EAAQL,gBAAiBK,EAAQnM,MAAMrD,EAAGwP,EAAQnM,MAAMpD,EAAGuP,EAAQnM,MAAMgO,EAAG7B,EAAQnM,MAAMiO,GAE5F,cAAjB9B,EAAQC,OAETD,EAAQE,OAER9V,EAAG6B,cAAc7B,EAAG,UAAYqC,KAAKsR,eAElCiC,EAAQnM,MAAMhB,YAAYkP,OAAO3X,EAAGuW,IAEnC1V,EAAK+W,UAAU5X,EAAGuW,IAAIsB,cAAcjC,EAAQnM,MAAMhB,aAKlDzI,EAAGM,YAAYN,EAAGO,WAAYqV,EAAQnM,MAAMhB,YAAY6N,YAAYtW,EAAGuW,KAI3EvW,EAAGsX,UAAU1B,EAAQL,gBAAiBlT,KAAKsR,cAC3CtR,KAAKsR,gBAILtR,KAAK0T,cAAcH,KAWnC/U,EAAK2S,WAAW7O,UAAUE,QAAU,WAEhCxC,KAAKrC,GAAG8X,cAAczV,KAAKqR,SAC3BrR,KAAKiT,SAAW,KAChBjT,KAAKrC,GAAK,KAEVqC,KAAKyR,WAAa,MAStBjT,EAAK2S,WAAWa,kBACZ,8BACA,kCACA,kCACA,gCACA,yBACA,iCAEA,iCACA,6BAEA,8BACA,uBACA,+BAEA,uCAEA,oBACA,uDACA,qGACA,oCACA,qDACA,oCACA,KAYJxT,EAAKkX,eAAiB,SAAU/X,GAsB5B,GAfAqC,KAAKoR,KAAO5P,OAAO4P,OAMnBpR,KAAKrC,GAAKA,EAOVqC,KAAKqR,QAAU,KAEX7S,EAAK6H,0BACT,CACI,IAAI1I,EAAKqC,KAAKrC,GACdqC,KAAK4R,aAAejU,EAAGkU,aAAalU,EAAGmU,yBAEvC,IAAK,IADDC,EAAa,8GACRnJ,EAAQ,EAAGA,EAAQ5I,KAAK4R,eAAgBhJ,EAE7CmJ,GAAc,0BACFnJ,EAAQ,gDACRA,EAAQ,wCAQxB5I,KAAKyQ,aACD,qCACA,wBACA,+FACA,8BACA,wBACA,+BACA,mCAAqCzQ,KAAK4R,aAAe,KAMzD,8CAMA,6CACA,oBACAG,EACA,0BAA4B/R,KAAK4R,aAAe,qCAChD,2DACA,UAKJ5R,KAAKyQ,aACD,qCACA,wBACA,8BACA,wBACA,+BACA,8BACA,oBACA,iEACA,KASRzQ,KAAKwQ,WACD,mCACA,kCACA,iCACA,yBACA,6BACA,gCACA,0BACA,iCAEA,iCACA,6BACA,wBAEA,8BACA,wBACA,+BAEA,uCAEA,oBACA,aACA,yCACA,8DACA,8DACA,2DACA,uEACA,oCACA,oCAGA,sBACA,KAQJxQ,KAAKsR,aAAe,EAEpBtR,KAAK0R,QAGTlT,EAAKkX,eAAepT,UAAUC,YAAc/D,EAAKkX,eAOjDlX,EAAKkX,eAAepT,UAAUoP,KAAO,WAEjC,IAAI/T,EAAKqC,KAAKrC,GACV0T,EAAU7S,EAAK+R,eAAe5S,EAAIqC,KAAKwQ,UAAWxQ,KAAKyQ,aAS3D,GAPA9S,EAAGsU,WAAWZ,GAGdrR,KAAKqT,SAAW7U,EAAK6H,0BACjB1I,EAAGwU,mBAAmBd,EAAS,oBAC/B1T,EAAGwU,mBAAmBd,EAAS,YAE/B7S,EAAK6H,0BACT,CACI,IAAIuM,KAGAC,EAAclV,EAAGK,gBACrBL,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGM,YAAYN,EAAGO,WAAY2U,GAC9BlV,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGP,EAAGmV,IAAK,EAAG,EAAG,EAAGnV,EAAGmV,IAAKnV,EAAGoB,cAAe,MAC3E,IAAK,IAAI2D,EAAI,EAAGA,EAAI1C,KAAK4R,eAAgBlP,EAErC/E,EAAG6B,cAAc7B,EAAG8B,SAAWiD,GAC/B/E,EAAGM,YAAYN,EAAGO,WAAY2U,GAC9BD,EAAQ9K,KAAKpF,GAEjB/E,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGoV,WAAW/S,KAAKqT,SAAUT,GAGjC5S,KAAKoS,iBAAmBzU,EAAGwU,mBAAmBd,EAAS,oBACvDrR,KAAKqS,aAAe1U,EAAGwU,mBAAmBd,EAAS,gBACnDrR,KAAKsS,WAAa3U,EAAGwU,mBAAmBd,EAAS,cACjDrR,KAAK2V,QAAUhY,EAAGwU,mBAAmBd,EAAS,WAG9CrR,KAAKuS,gBAAkB5U,EAAG6U,kBAAkBnB,EAAS,mBACrDrR,KAAK4V,eAAiBjY,EAAG6U,kBAAkBnB,EAAS,kBAEpDrR,KAAK6V,OAASlY,EAAG6U,kBAAkBnB,EAAS,UAC5CrR,KAAK8V,UAAYnY,EAAG6U,kBAAkBnB,EAAS,aAE/CrR,KAAKyS,cAAgB9U,EAAG6U,kBAAkBnB,EAAS,iBACnDrR,KAAK0S,eAAiB/U,EAAG6U,kBAAkBnB,EAAS,UAEpDrR,KAAK2S,cAAgBhV,EAAG6U,kBAAkBnB,EAAS,kBAUtB,IAAzBrR,KAAK0S,iBAEL1S,KAAK0S,eAAiB,GAG1B1S,KAAKyR,YACDzR,KAAKuS,gBACLvS,KAAK4V,eACL5V,KAAK6V,OACL7V,KAAK8V,UACL9V,KAAKyS,cACLzS,KAAK0S,eACL1S,KAAK2S,eAKT3S,KAAKqR,QAAUA,GAQnB7S,EAAKkX,eAAepT,UAAUE,QAAU,WAEpCxC,KAAKrC,GAAG8X,cAAczV,KAAKqR,SAC3BrR,KAAKiT,SAAW,KAChBjT,KAAKrC,GAAK,KAEVqC,KAAKyR,WAAa,MAYtBjT,EAAKuX,YAAc,SAAUpY,GAsBzB,GAfAqC,KAAKoR,KAAO5P,OAAO4P,OAMnBpR,KAAKrC,GAAKA,EAOVqC,KAAKqR,QAAU,KAEX7S,EAAK6H,0BACT,CACI,IAAI1I,EAAKqC,KAAKrC,GACdqC,KAAK4R,aAAejU,EAAGkU,aAAalU,EAAGmU,yBAEvC,IAAK,IADDC,EAAa,qGACRnJ,EAAQ,EAAGA,EAAQ5I,KAAK4R,eAAgBhJ,EAE7CmJ,GAAc,0BACFnJ,EAAQ,gDACRA,EAAQ,gCAQxB5I,KAAKyQ,aACD,iCACA,2BACA,+FACA,8BACA,+BAGA,uBACA,mCAAqCzQ,KAAK4R,aAAe,KAMzD,8CAMA,6CACA,oBACAG,EACA,0BAA4B/R,KAAK4R,aAAe,qCAChD,2DACA,UAUJ5R,KAAKyQ,aACD,iCACA,2BACA,8BACA,+BAGA,uBACA,8BACA,oBACA,wDACA,KASRzQ,KAAKwQ,WACD,+BACA,kCACA,gCACA,iCACA,kCACA,iCACA,6BAMA,8BACA,+BAIA,oBACA,+DACA,4BACA,qGACA,oCACA,oCAGA,KAGJxQ,KAAK0R,QAGTlT,EAAKuX,YAAYzT,UAAUC,YAAc/D,EAAKuX,YAO9CvX,EAAKuX,YAAYzT,UAAUoP,KAAO,WAE9B,IAAI/T,EAAKqC,KAAKrC,GACV0T,EAAU7S,EAAK+R,eAAe5S,EAAIqC,KAAKwQ,UAAWxQ,KAAKyQ,aAQ3D,GAPA9S,EAAGsU,WAAWZ,GAGdrR,KAAKqT,SAAW7U,EAAK6H,0BACjB1I,EAAGwU,mBAAmBd,EAAS,oBAC/B1T,EAAGwU,mBAAmBd,EAAS,YAE/B7S,EAAK6H,0BACT,CACI,IAAIuM,KAGAC,EAAclV,EAAGK,gBACrBL,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGM,YAAYN,EAAGO,WAAY2U,GAC9BlV,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGP,EAAGmV,IAAK,EAAG,EAAG,EAAGnV,EAAGmV,IAAKnV,EAAGoB,cAAe,MAC3E,IAAK,IAAI2D,EAAI,EAAGA,EAAI1C,KAAK4R,eAAgBlP,EAErC/E,EAAG6B,cAAc7B,EAAG8B,SAAWiD,GAC/B/E,EAAGM,YAAYN,EAAGO,WAAY2U,GAC9BD,EAAQ9K,KAAKpF,GAEjB/E,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGoV,WAAW/S,KAAKqT,SAAUT,GAGjC5S,KAAKoS,iBAAmBzU,EAAGwU,mBAAmBd,EAAS,oBACvDrR,KAAKqS,aAAe1U,EAAGwU,mBAAmBd,EAAS,gBACnDrR,KAAK0S,eAAiB/U,EAAG6U,kBAAkBnB,EAAS,UACpDrR,KAAK2S,cAAgBhV,EAAG6U,kBAAkBnB,EAAS,iBAKnDrR,KAAKuS,gBAAkB5U,EAAG6U,kBAAkBnB,EAAS,mBACrDrR,KAAKyS,cAAgB9U,EAAG6U,kBAAkBnB,EAAS,iBAEnDrR,KAAKyR,YAAezR,KAAKuS,gBAAiBvS,KAAKyS,cAAezS,KAAK2S,eAEnE3S,KAAKgW,kBAAoBrY,EAAGwU,mBAAmBd,EAAS,qBACxDrR,KAAKiB,MAAQtD,EAAGwU,mBAAmBd,EAAS,SAE5CrR,KAAKqR,QAAUA,GAQnB7S,EAAKuX,YAAYzT,UAAUE,QAAU,WAEjCxC,KAAKrC,GAAG8X,cAAczV,KAAKqR,SAC3BrR,KAAKiT,SAAW,KAChBjT,KAAKrC,GAAK,KAEVqC,KAAKiW,UAAY,MAYrBzX,EAAK0X,gBAAkB,SAAUvY,GAO7BqC,KAAKoR,KAAO5P,OAAO4P,OAMnBpR,KAAKrC,GAAKA,EAOVqC,KAAKqR,QAAU,KAOfrR,KAAKyQ,aACD,2BACA,uBAEA,oBACA,4BACA,KAQJzQ,KAAKwQ,WACD,kCACA,yBACA,kCACA,iCACA,6BACA,uBACA,uBACA,qBACA,uBAEA,oBACA,+DACA,4BACA,iHACA,kDACA,KAGJxQ,KAAK0R,QAGTlT,EAAK0X,gBAAgB5T,UAAUC,YAAc/D,EAAK0X,gBAOlD1X,EAAK0X,gBAAgB5T,UAAUoP,KAAO,WAElC,IAAI/T,EAAKqC,KAAKrC,GAEV0T,EAAU7S,EAAK+R,eAAe5S,EAAIqC,KAAKwQ,UAAWxQ,KAAKyQ,aAC3D9S,EAAGsU,WAAWZ,GAGdrR,KAAKoS,iBAAmBzU,EAAGwU,mBAAmBd,EAAS,oBACvDrR,KAAKqS,aAAe1U,EAAGwU,mBAAmBd,EAAS,gBACnDrR,KAAKmW,UAAYxY,EAAGwU,mBAAmBd,EAAS,QAChDrR,KAAK+U,MAAQpX,EAAGwU,mBAAmBd,EAAS,SAG5CrR,KAAKuS,gBAAkB5U,EAAG6U,kBAAkBnB,EAAS,mBACrDrR,KAAK0S,eAAiB/U,EAAG6U,kBAAkBnB,EAAS,UAEpDrR,KAAKyR,YAAezR,KAAKuS,gBAAiBvS,KAAK0S,gBAE/C1S,KAAKgW,kBAAoBrY,EAAGwU,mBAAmBd,EAAS,qBACxDrR,KAAKiB,MAAQtD,EAAGwU,mBAAmBd,EAAS,SAE5CrR,KAAKqR,QAAUA,GAQnB7S,EAAK0X,gBAAgB5T,UAAUE,QAAU,WAErCxC,KAAKrC,GAAG8X,cAAczV,KAAKqR,SAC3BrR,KAAKiT,SAAW,KAChBjT,KAAKrC,GAAK,KAEVqC,KAAKyR,WAAa,MAYtBjT,EAAK4X,uBAAyB,SAAUzY,GAOpCqC,KAAKoR,KAAO5P,OAAO4P,OAMnBpR,KAAKrC,GAAKA,EAOVqC,KAAKqR,QAAU,KAOfrR,KAAKyQ,aAED,2BAEA,uBAEA,oBACA,4BACA,KAQJzQ,KAAKwQ,WACD,kCAGA,kCACA,iCACA,6BAEA,qBACA,uBACA,sBACA,uBACA,uBAEA,oBACA,+DACA,4BACA,iHACA,iDACA,KAGJxQ,KAAK0R,QAGTlT,EAAK4X,uBAAuB9T,UAAUC,YAAc/D,EAAK4X,uBAOzD5X,EAAK4X,uBAAuB9T,UAAUoP,KAAO,WAEzC,IAAI/T,EAAKqC,KAAKrC,GAEV0T,EAAU7S,EAAK+R,eAAe5S,EAAIqC,KAAKwQ,UAAWxQ,KAAKyQ,aAC3D9S,EAAGsU,WAAWZ,GAGdrR,KAAKoS,iBAAmBzU,EAAGwU,mBAAmBd,EAAS,oBACvDrR,KAAKqS,aAAe1U,EAAGwU,mBAAmBd,EAAS,gBACnDrR,KAAKmW,UAAYxY,EAAGwU,mBAAmBd,EAAS,QAChDrR,KAAKqW,MAAQ1Y,EAAGwU,mBAAmBd,EAAS,SAC5CrR,KAAK+U,MAAQpX,EAAGwU,mBAAmBd,EAAS,SAG5CrR,KAAKuS,gBAAkB5U,EAAG6U,kBAAkBnB,EAAS,mBAIrDrR,KAAKyR,YAAezR,KAAKuS,gBAAiBvS,KAAK0S,gBAE/C1S,KAAKgW,kBAAoBrY,EAAGwU,mBAAmBd,EAAS,qBACxDrR,KAAKiB,MAAQtD,EAAGwU,mBAAmBd,EAAS,SAE5CrR,KAAKqR,QAAUA,GAQnB7S,EAAK4X,uBAAuB9T,UAAUE,QAAU,WAE5CxC,KAAKrC,GAAG8X,cAAczV,KAAKqR,SAC3BrR,KAAKiT,SAAW,KAChBjT,KAAKrC,GAAK,KAEVqC,KAAKiW,UAAY,MAOrBzX,EAAK8X,cACL9X,EAAK+W,aACL/W,EAAK6H,2BAA4B,EAYjC7H,EAAK+X,cAAgB,SAAUxT,EAAMyT,GAKjCxW,KAAK+C,KAAOA,EAEPvE,EAAKiY,kBAENjY,EAAKiY,gBAAkBzW,MAG3BA,KAAK0W,cAML1W,KAAKwT,KAAOhS,OAAOmV,MASnB3W,KAAK4E,WAAa7B,EAAK6B,WAQvB5E,KAAK4W,YAAc7T,EAAK6T,YAQxB5W,KAAK6W,YAAa,EAQlB7W,KAAK8W,sBAAwB/T,EAAK+T,sBAYlC9W,KAAK+W,kBAAoBhU,EAAKgU,kBAU9B/W,KAAKgX,gBAAkBjU,EAAKiU,gBAQ5BhX,KAAKpC,MAAQmF,EAAKnF,MAQlBoC,KAAKnC,OAASkF,EAAKlF,OAQnBmC,KAAKiX,KAAOlU,EAAKmU,OAOjBlX,KAAKmX,iBACDlW,MAAOjB,KAAK4W,YACZQ,UAAWrU,EAAKqU,UAChBC,6BAA8Bb,EAAOa,6BACrCC,mBAAoBtX,KAAK4W,aAAoC,kBAArB5W,KAAK4W,YAC7CW,SAAS,EACTT,sBAAuB9W,KAAK8W,sBAC5BE,gBAAiBjU,EAAKiU,iBAO1BhX,KAAKwX,WAAa,IAAIhZ,EAAKqC,MAM3Bb,KAAKyX,OAAS,IAAIjZ,EAAKqC,MASvBb,KAAK0X,cAAgB,IAAIlZ,EAAKmZ,mBAO9B3X,KAAK+L,YAAc,IAAIvN,EAAKoZ,iBAAiB7U,GAO7C/C,KAAKoM,YAAc,IAAI5N,EAAKqZ,iBAO5B7X,KAAKiM,cAAgB,IAAIzN,EAAKsZ,mBAO9B9X,KAAK+X,eAAiB,IAAIvZ,EAAKwZ,oBAO/BhY,KAAKiY,iBAAmB,IAAIzZ,EAAK0Z,sBAMjClY,KAAK4F,iBAML5F,KAAKmY,0BAGLnY,KAAK4F,cAAc7C,KAAO/C,KAAK+C,KAC/B/C,KAAK4F,cAAcjI,GAAKqC,KAAKrC,GAC7BqC,KAAK4F,cAAcwS,UAAY,EAC/BpY,KAAK4F,cAAc8R,cAAgB1X,KAAK0X,cACxC1X,KAAK4F,cAAcwG,YAAcpM,KAAKoM,YACtCpM,KAAK4F,cAAcqG,cAAgBjM,KAAKiM,cACxCjM,KAAK4F,cAAcqS,iBAAmBjY,KAAKiY,iBAC3CjY,KAAK4F,cAAcmG,YAAc/L,KAAK+L,YACtC/L,KAAK4F,cAAcmS,eAAiB/X,KAAK+X,eACzC/X,KAAK4F,cAAcf,SAAW7E,KAC9BA,KAAK4F,cAAchB,WAAa5E,KAAK4E,WACrC5E,KAAK4F,cAAcgJ,YAAc4H,EAAO5H,cAAe,EACvD5O,KAAK4F,cAAcyS,yBAA2B,KAG9CrY,KAAKsY,cAGLtY,KAAKuY,iBAIT/Z,EAAK+X,cAAcjU,UAAUC,YAAc/D,EAAK+X,cAKhD/X,EAAK+X,cAAcjU,UAAUgW,YAAc,WAEvC,IAAI3a,EAAKqC,KAAKiX,KAAKuB,WAAW,QAASxY,KAAKmX,kBAAoBnX,KAAKiX,KAAKuB,WAAW,qBAAsBxY,KAAKmX,iBAIhH,GAFAnX,KAAKrC,GAAKA,GAELA,EAGD,MAAM,IAAIoL,MAAM,sEAGpB/I,KAAKyY,YAAc9a,EAAGkU,aAAalU,EAAGmU,yBACtC9R,KAAK0Y,eAAiB1Y,KAAKrC,GAAGkU,aAAalU,EAAGgb,kBAE9C3Y,KAAK4Y,YAAcjb,EAAGuW,GAAK1V,EAAK+X,cAAcqC,cAE9Cpa,EAAK8X,WAAWtW,KAAK4Y,aAAejb,EAEpCa,EAAK+W,UAAUvV,KAAK4Y,aAAe5Y,KAGnCrC,EAAGkb,QAAQlb,EAAGmb,YACdnb,EAAGkb,QAAQlb,EAAGob,WACdpb,EAAGqb,OAAOrb,EAAGsb,OAGbjZ,KAAK0X,cAAcwB,WAAWvb,GAC9BqC,KAAK+L,YAAYmN,WAAWvb,GAC5BqC,KAAKoM,YAAY8M,WAAWvb,GAC5BqC,KAAKiM,cAAciN,WAAWvb,GAC9BqC,KAAKiY,iBAAiBiB,WAAWvb,GACjCqC,KAAK+X,eAAemB,WAAWvb,GAE/BqC,KAAK4F,cAAcjI,GAAKqC,KAAKrC,GAG7BqC,KAAKmG,OAAOnG,KAAKpC,MAAOoC,KAAKnC,QAG7BmC,KAAK0W,WAAWyC,eAEhB,IAAIC,EAAOzb,EAAG0b,aAAa,kCAAoC1b,EAAG0b,aAAa,wCAC3EC,EAAQ3b,EAAG0b,aAAa,mCAAqC1b,EAAG0b,aAAa,yCAC7EE,EAAO5b,EAAG0b,aAAa,kCAAoC1b,EAAG0b,aAAa,wCAE3ED,IAAQpZ,KAAK0W,WAAWyC,YAAYK,KAAOJ,GAC3CE,IAAStZ,KAAK0W,WAAWyC,YAAYM,MAAQH,GAC7CC,IAAQvZ,KAAK0W,WAAWyC,YAAYO,KAAOH,IA0BnD/a,EAAK+X,cAAcjU,UAAUqX,mBAAqB,SAAUC,GAExD,GAAKpb,EAAK6H,0BAAV,CA0BA,IAAK,IArBDwT,EAAW,SAAUC,GAQrB,QANEA,EACFA,GAAWA,GAAW,EACtBA,GAAWA,GAAW,EACtBA,GAAWA,GAAW,EACtBA,GAAWA,GAAW,EACtBA,GAAWA,GAAW,KACbA,GAETnc,EAAKqC,KAAKrC,GACV8a,EAAc9a,EAAGkU,aAAalU,EAAGmU,yBACjC4G,EAAiB/a,EAAGkU,aAAalU,EAAGgb,kBACpCoB,EAAa/Z,KAAK+C,KAAKiX,MAAMC,OAAOC,MACpCC,EAAY,KAOPzX,EAAI,EAAGA,EAAI1C,KAAKmY,uBAAuBxV,OAAQD,KAEpDyX,EAAYna,KAAKmY,uBAAuBzV,MAErBqX,EAMnBA,EAAWI,GAAWC,KAAK9T,aAAe,EAJtChG,QAAQ+Z,KAAK,iEAAkEF,GAMvF,IAAI9B,EAA2B,EAAmBwB,EAASnW,KAAKuC,IAAIjG,KAAKpC,MAAOoC,KAAKnC,SACrFmC,KAAKmY,uBAAuBxV,OAAS,EAGrC,IAAK,IAAIkF,EAAI,EAAGA,EAAI+R,EAAsBjX,SAAUkF,EAIhD,IAFAsS,EAAYP,EAAsB/R,MAEfkS,EAAnB,CAOA,IAAIK,EAAOL,EAAWI,GAAWC,MACjC/B,GAA4BwB,EAASnW,KAAKuC,IAAImU,EAAKxc,MAAOwc,EAAKvc,WAC/B,GAE5Buc,EAAK9T,aAAe,EACpBhG,QAAQ+Z,KAAK,4GACTF,EAAW9B,IAIf+B,EAAK9T,aAAgB,EAAKuB,GAAK4Q,EAAc,GAEjDzY,KAAKmY,uBAAuBrQ,KAAKqS,QAjB7B7Z,QAAQ+Z,KAAK,iEAAkEF,GAsBvF,OAFAna,KAAK4F,cAAcyS,yBAA2BA,EAEvCrY,KAAKmY,uBApER7X,QAAQ+Z,KAAK,mGA6ErB7b,EAAK+X,cAAcjU,UAAU6C,OAAS,SAAUmV,GAG5C,IAAIta,KAAKua,YAAT,CAKA,IAAI5c,EAAKqC,KAAKrC,GAGdA,EAAG6c,SAAS,EAAG,EAAGxa,KAAKpC,MAAOoC,KAAKnC,QAGnCF,EAAG+B,gBAAgB/B,EAAGgC,YAAa,MAE/BK,KAAK+C,KAAKgU,oBAEVpZ,EAAG8c,WAAWH,EAAMI,SAASxW,EAAGoW,EAAMI,SAASC,EAAGL,EAAMI,SAASvX,EAAGmX,EAAMI,SAASxX,GAEnFvF,EAAGid,MAAMjd,EAAGkd,mBAGhB7a,KAAKyX,OAAO1T,EAAI/D,KAAK+C,KAAK+X,OAAOC,OAAOhX,EACxC/D,KAAKyX,OAAOzT,EAAIhE,KAAK+C,KAAK+X,OAAOC,OAAO/W,EAExChE,KAAKgb,oBAAoBV,EAAOta,KAAKwX,cAGzChZ,EAAK+X,cAAcjU,UAAU2Y,WAAa,WAGtCjb,KAAKrC,GAAGqO,SAWZxN,EAAK+X,cAAcjU,UAAU0Y,oBAAsB,SAAUE,EAAe1D,EAAY2D,EAAQzN,GAE5F1N,KAAK4F,cAAcqS,iBAAiBmD,aAAa5c,EAAK0J,WAAWE,QAGjEpI,KAAK4F,cAAcwS,UAAY,EAG/BpY,KAAK4F,cAAcmP,MAAQoG,GAAU,EAAI,EAGzCnb,KAAK4F,cAAc4R,WAAaA,EAGhCxX,KAAK4F,cAAc6R,OAASzX,KAAKyX,OAGjCzX,KAAK+L,YAAYsP,MAAMrb,KAAK4F,eAG5B5F,KAAKiM,cAAcoP,MAAMrb,KAAK4F,cAAeuV,GAG7CD,EAAcnV,aAAa/F,KAAK4F,cAAe8H,GAG/C1N,KAAK+L,YAAYuP,OAUrB9c,EAAK+X,cAAcjU,UAAU6D,OAAS,SAAUvI,EAAOC,GAEnDmC,KAAKpC,MAAQA,EAAQoC,KAAK4E,WAC1B5E,KAAKnC,OAASA,EAASmC,KAAK4E,WAE5B5E,KAAKiX,KAAKrZ,MAAQoC,KAAKpC,MACvBoC,KAAKiX,KAAKpZ,OAASmC,KAAKnC,OAEpBmC,KAAK6W,aAEL7W,KAAKiX,KAAKsE,MAAM3d,MAAQoC,KAAKpC,MAAQoC,KAAK4E,WAAa,KACvD5E,KAAKiX,KAAKsE,MAAM1d,OAASmC,KAAKnC,OAASmC,KAAK4E,WAAa,MAG7D5E,KAAKrC,GAAG6c,SAAS,EAAG,EAAGxa,KAAKpC,MAAOoC,KAAKnC,QAExCmC,KAAKwX,WAAWzT,EAAI/D,KAAKpC,MAAQ,EAAIoC,KAAK4E,WAC1C5E,KAAKwX,WAAWxT,GAAKhE,KAAKnC,OAAS,EAAImC,KAAK4E,YAUhDpG,EAAK+X,cAAcjU,UAAUkZ,wBAA0B,SAAUzd,GAE7D,IAAKA,EAAQoP,UAET,OAAO,EAEX,IAAIxP,EAAKqC,KAAKrC,GACV8d,EAAkB1d,EAAQqR,OA2C9B,OAzCKrR,EAAQkW,YAAYtW,EAAGuW,MAExBnW,EAAQkW,YAAYtW,EAAGuW,IAAMvW,EAAGK,iBAEpCL,EAAG6B,cAAc7B,EAAG8B,SAAW1B,EAAQuI,cAEvC3I,EAAGM,YAAYN,EAAGO,WAAYH,EAAQkW,YAAYtW,EAAGuW,KAErDvW,EAAG+d,qBACC/d,EAAGO,WACH,EACAud,EAAgBE,kBAChBF,EAAgB7d,MAChB6d,EAAgB5d,OAChB,EACA4d,EAAgBtH,aAGpBxW,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGY,mBAAoBR,EAAQD,YAAcU,EAAKC,WAAWC,OAASf,EAAGe,OAASf,EAAGgB,SAEjHZ,EAAQ6d,QAAUpa,OAAOkC,KAAKmY,aAAa9d,EAAQH,MAAOG,EAAQF,SAElEF,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGiB,mBAAoBb,EAAQD,YAAcU,EAAKC,WAAWC,OAASf,EAAGme,qBAAuBne,EAAGoe,wBACnIpe,EAAGqe,eAAere,EAAGO,aAIrBP,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGiB,mBAAoBb,EAAQD,YAAcU,EAAKC,WAAWC,OAASf,EAAGe,OAASf,EAAGgB,SAGpHZ,EAAQke,WAOTte,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGS,eAAgBT,EAAGiX,QACtDjX,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGW,eAAgBX,EAAGiX,UANtDjX,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGS,eAAgBT,EAAGU,eACtDV,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGW,eAAgBX,EAAGU,gBAO1DN,EAAQuX,OAAO3X,EAAGuW,KAAM,GACjB,GAUX1V,EAAK+X,cAAcjU,UAAUkT,cAAgB,SAAUzX,GAEnD,IAAKA,EAAQoP,YAAcpP,EAAQqR,OAE/B,OAAO,EAEX,GAAIrR,EAAQqR,OAAO8M,qBAEf,OAAOlc,KAAKwb,wBAAwBzd,GAGxC,IAAIJ,EAAKqC,KAAKrC,GAwCd,OAtCKI,EAAQkW,YAAYtW,EAAGuW,MAExBnW,EAAQkW,YAAYtW,EAAGuW,IAAMvW,EAAGK,iBAEpCL,EAAG6B,cAAc7B,EAAG8B,SAAW1B,EAAQuI,cAEvC3I,EAAGM,YAAYN,EAAGO,WAAYH,EAAQkW,YAAYtW,EAAGuW,KAErDvW,EAAGkX,YAAYlX,EAAGwe,+BAAgCpe,EAAQuZ,oBAE1D3Z,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGP,EAAGmB,KAAMnB,EAAGmB,KAAMnB,EAAGoB,cAAehB,EAAQqR,QAE5EzR,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGY,mBAAoBR,EAAQD,YAAcU,EAAKC,WAAWC,OAASf,EAAGe,OAASf,EAAGgB,SAEjHZ,EAAQ6d,QAAUpa,OAAOkC,KAAKmY,aAAa9d,EAAQH,MAAOG,EAAQF,SAElEF,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGiB,mBAAoBb,EAAQD,YAAcU,EAAKC,WAAWC,OAASf,EAAGme,qBAAuBne,EAAGoe,wBACnIpe,EAAGqe,eAAere,EAAGO,aAIrBP,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGiB,mBAAoBb,EAAQD,YAAcU,EAAKC,WAAWC,OAASf,EAAGe,OAASf,EAAGgB,SAGpHZ,EAAQke,WAOTte,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGS,eAAgBT,EAAGiX,QACtDjX,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGW,eAAgBX,EAAGiX,UANtDjX,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGS,eAAgBT,EAAGU,eACtDV,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGW,eAAgBX,EAAGU,gBAQ1DN,EAAQuX,OAAO3X,EAAGuW,KAAM,GAGjB,GAQX1V,EAAK+X,cAAcjU,UAAUE,QAAU,WAEnChE,EAAK8X,WAAWtW,KAAK4Y,aAAe,KAEpC5Y,KAAKwX,WAAa,KAClBxX,KAAKyX,OAAS,KAEdzX,KAAK0X,cAAclV,UACnBxC,KAAK+L,YAAYvJ,UACjBxC,KAAKoM,YAAY5J,UACjBxC,KAAKiM,cAAczJ,UAEnBxC,KAAK0X,cAAgB,KACrB1X,KAAK+L,YAAc,KACnB/L,KAAKoM,YAAc,KACnBpM,KAAKiM,cAAgB,KAErBjM,KAAKrC,GAAK,KACVqC,KAAK4F,cAAgB,KAErBpE,OAAOqF,WAAWuV,OAAOpc,MAEzBxB,EAAK+W,UAAUvV,KAAK4Y,aAAe,KAEnCpa,EAAK+X,cAAcqC,eAQvBpa,EAAK+X,cAAcjU,UAAUiW,cAAgB,WAEzC,IAAI5a,EAAKqC,KAAKrC,GAEd,IAAKa,EAAK6d,gBACV,CACI,IAAIlZ,KACAmZ,EAAQ9d,EAAK0J,WAEjB/E,EAAEmZ,EAAMlU,SAAYzK,EAAG4e,IAAK5e,EAAG6e,qBAC/BrZ,EAAEmZ,EAAMG,MAAS9e,EAAG+e,UAAW/e,EAAGgf,WAClCxZ,EAAEmZ,EAAMnU,WAAcxK,EAAGif,UAAWjf,EAAG6e,qBACvCrZ,EAAEmZ,EAAMO,SAAYlf,EAAG+e,UAAW/e,EAAG4e,KACrCpZ,EAAEmZ,EAAMQ,UAAanf,EAAG4e,IAAK5e,EAAG6e,qBAChCrZ,EAAEmZ,EAAMS,SAAYpf,EAAG4e,IAAK5e,EAAG6e,qBAC/BrZ,EAAEmZ,EAAMU,UAAarf,EAAG4e,IAAK5e,EAAG6e,qBAChCrZ,EAAEmZ,EAAMW,cAAiBtf,EAAG4e,IAAK5e,EAAG6e,qBACpCrZ,EAAEmZ,EAAMY,aAAgBvf,EAAG4e,IAAK5e,EAAG6e,qBACnCrZ,EAAEmZ,EAAMa,aAAgBxf,EAAG4e,IAAK5e,EAAG6e,qBACnCrZ,EAAEmZ,EAAMc,aAAgBzf,EAAG4e,IAAK5e,EAAG6e,qBACnCrZ,EAAEmZ,EAAMe,aAAgB1f,EAAG4e,IAAK5e,EAAG6e,qBACnCrZ,EAAEmZ,EAAMgB,YAAe3f,EAAG4e,IAAK5e,EAAG6e,qBAClCrZ,EAAEmZ,EAAMiB,MAAS5f,EAAG4e,IAAK5e,EAAG6e,qBAC5BrZ,EAAEmZ,EAAMkB,aAAgB7f,EAAG4e,IAAK5e,EAAG6e,qBACnCrZ,EAAEmZ,EAAMmB,QAAW9f,EAAG4e,IAAK5e,EAAG6e,qBAC9BrZ,EAAEmZ,EAAMoB,aAAgB/f,EAAG4e,IAAK5e,EAAG6e,qBAEnChe,EAAK6d,gBAAkBlZ,IAI/B3E,EAAK+X,cAAcjU,UAAUqb,kBAAoB,WAE7C,IAAIhgB,EAAKqC,KAAKrC,GACd,OAAOA,EAAGkU,aAAalU,EAAGmU,0BAG9BtT,EAAKof,mBAAqB,WAEtBpf,EAAK6H,2BAA4B,GAGrC7H,EAAK+X,cAAcqC,YAAc,EACjCpa,EAAK+X,cAAcsH,gBAWnBrf,EAAK0Z,sBAAwB,WAMzBlY,KAAK6N,iBAAmB,OAG5BrP,EAAK0Z,sBAAsB5V,UAAUC,YAAc/D,EAAK0Z,sBAQxD1Z,EAAK0Z,sBAAsB5V,UAAU4W,WAAa,SAAUvb,GAExDqC,KAAKrC,GAAKA,GASda,EAAK0Z,sBAAsB5V,UAAU8Y,aAAe,SAAUnT,GAE1D,GAAGjI,KAAK6N,mBAAqB5F,EAAa,OAAO,EAEjDjI,KAAK6N,iBAAmB5F,EAExB,IAAI6V,EAAiBtf,EAAK6d,gBAAgBrc,KAAK6N,kBAO/C,OALIiQ,GAEA9d,KAAKrC,GAAGogB,UAAUD,EAAe,GAAIA,EAAe,KAGjD,GAQXtf,EAAK0Z,sBAAsB5V,UAAUE,QAAU,WAE3CxC,KAAKrC,GAAK,MAYda,EAAKqZ,iBAAmB,aAIxBrZ,EAAKqZ,iBAAiBvV,UAAUC,YAAc/D,EAAKqZ,iBAQnDrZ,EAAKqZ,iBAAiBvV,UAAU4W,WAAa,SAAUvb,GAEnDqC,KAAKrC,GAAKA,GAUda,EAAKqZ,iBAAiBvV,UAAU+J,SAAW,SAAU2R,EAAUpY,GAE3D,IAAIjI,EAAKiI,EAAcjI,GAEnBqgB,EAASxM,OAEThT,EAAKyf,cAAcC,eAAeF,EAAUrgB,QAGjB4I,IAA3ByX,EAASG,OAAOxgB,EAAGuW,UAAqD3N,IAAhCyX,EAASG,OAAOxgB,EAAGuW,IAAIE,MAA6D,IAAvC4J,EAASG,OAAOxgB,EAAGuW,IAAIE,KAAKzR,QAKrHiD,EAAcmS,eAAeqG,YAAYJ,EAAUA,EAASG,OAAOxgB,EAAGuW,IAAIE,KAAK,GAAIxO,IAUvFpH,EAAKqZ,iBAAiBvV,UAAUiK,QAAU,SAAUyR,EAAUpY,GAE1D,IAAIjI,EAAKqC,KAAKrC,QAEiB4I,IAA3ByX,EAASG,OAAOxgB,EAAGuW,UAAqD3N,IAAhCyX,EAASG,OAAOxgB,EAAGuW,IAAIE,MAA6D,IAAvC4J,EAASG,OAAOxgB,EAAGuW,IAAIE,KAAKzR,QAKrHiD,EAAcmS,eAAesG,WAAWL,EAAUA,EAASG,OAAOxgB,EAAGuW,IAAIE,KAAK,GAAIxO,IAQtFpH,EAAKqZ,iBAAiBvV,UAAUE,QAAU,WAEtCxC,KAAKrC,GAAK,MAYda,EAAKwZ,oBAAsB,WAEvBhY,KAAKse,gBACLte,KAAKue,SAAU,EACfve,KAAKwe,MAAQ,GASjBhgB,EAAKwZ,oBAAoB1V,UAAU4W,WAAa,SAAUvb,GAEtDqC,KAAKrC,GAAKA,GAWda,EAAKwZ,oBAAoB1V,UAAU8b,YAAc,SAAUK,EAAUC,EAAW9Y,GAE5E,IAAIjI,EAAKqC,KAAKrC,GACdqC,KAAK2e,aAAaF,EAAUC,EAAW9Y,GAEP,IAA7B5F,KAAKse,aAAa3b,SAEjBhF,EAAGqb,OAAOrb,EAAGihB,cACbjhB,EAAGid,MAAMjd,EAAGkhB,oBACZ7e,KAAKue,SAAU,EACfve,KAAKwe,MAAQ,GAGjBxe,KAAKse,aAAaxW,KAAK4W,GAEvB,IAAII,EAAQ9e,KAAKwe,MAEjB7gB,EAAGohB,WAAU,GAAO,GAAO,GAAO,GAElCphB,EAAGqhB,YAAYrhB,EAAGshB,OAAO,EAAE,KAC3BthB,EAAGuhB,UAAUvhB,EAAGwhB,KAAKxhB,EAAGwhB,KAAKxhB,EAAGyhB,QAIV,IAAnBV,EAAUW,MAET1hB,EAAG2hB,aAAa3hB,EAAG4hB,aAAcb,EAAU9L,QAAQjQ,OAAS,EAAGhF,EAAG6hB,eAAgB,GAE/Exf,KAAKue,SAEJ5gB,EAAGqhB,YAAYrhB,EAAG8hB,MAAO,IAAOX,EAAO,KACvCnhB,EAAGuhB,UAAUvhB,EAAGwhB,KAAKxhB,EAAGwhB,KAAKxhB,EAAG+hB,QAIhC/hB,EAAGqhB,YAAYrhB,EAAG8hB,MAAMX,EAAO,KAC/BnhB,EAAGuhB,UAAUvhB,EAAGwhB,KAAKxhB,EAAGwhB,KAAKxhB,EAAGgiB,OAIpChiB,EAAG2hB,aAAa3hB,EAAG4hB,aAAc,EAAG5hB,EAAG6hB,eAAiD,GAAhCd,EAAU9L,QAAQjQ,OAAS,IAEhF3C,KAAKue,QAEJ5gB,EAAGqhB,YAAYrhB,EAAG8hB,MAAM,KAAQX,EAAQ,GAAI,KAI5CnhB,EAAGqhB,YAAYrhB,EAAG8hB,MAAMX,EAAQ,EAAG,KAGvC9e,KAAKue,SAAWve,KAAKue,UAIjBve,KAAKue,SAOL5gB,EAAGqhB,YAAYrhB,EAAG8hB,MAAMX,EAAO,KAC/BnhB,EAAGuhB,UAAUvhB,EAAGwhB,KAAKxhB,EAAGwhB,KAAKxhB,EAAGgiB,QANhChiB,EAAGqhB,YAAYrhB,EAAG8hB,MAAO,IAAOX,EAAO,KACvCnhB,EAAGuhB,UAAUvhB,EAAGwhB,KAAKxhB,EAAGwhB,KAAKxhB,EAAG+hB,OAQpC/hB,EAAG2hB,aAAa3hB,EAAGiiB,eAAgBlB,EAAU9L,QAAQjQ,OAAQhF,EAAG6hB,eAAgB,GAE5Exf,KAAKue,QAML5gB,EAAGqhB,YAAYrhB,EAAG8hB,MAAMX,EAAQ,EAAG,KAJnCnhB,EAAGqhB,YAAYrhB,EAAG8hB,MAAM,KAAQX,EAAQ,GAAI,MAQpDnhB,EAAGohB,WAAU,GAAM,GAAM,GAAM,GAC/BphB,EAAGuhB,UAAUvhB,EAAGwhB,KAAKxhB,EAAGwhB,KAAKxhB,EAAGwhB,MAEhCnf,KAAKwe,SAWThgB,EAAKwZ,oBAAoB1V,UAAUqc,aAAe,SAAUF,EAAUC,EAAW9Y,GAG7E5F,KAAK6f,iBAAmBpB,EAExB,IAKIxR,EALAtP,EAAKqC,KAAKrC,GAGV6Z,EAAa5R,EAAc4R,WAC3BC,EAAS7R,EAAc6R,OAGL,IAAnBiH,EAAUW,MAETpS,EAASrH,EAAc8R,cAAcoI,uBAErCla,EAAc8R,cAAcqI,UAAU9S,GAEtCtP,EAAGqiB,UAAU/S,EAAO8H,MAAOnP,EAAcmP,OAEzCpX,EAAGoW,iBAAiB9G,EAAO+I,mBAAmB,EAAOyI,EAASld,eAAe0e,SAAQ,IAErFtiB,EAAGuiB,UAAUjT,EAAOmF,iBAAkBoF,EAAWzT,GAAIyT,EAAWxT,GAChErG,EAAGuiB,UAAUjT,EAAOoF,cAAeoF,EAAO1T,GAAI0T,EAAOzT,GAErDrG,EAAGwiB,WAAWlT,EAAOkJ,UAAW3U,OAAO4e,MAAMC,cAAc5B,EAAS1R,OACpEpP,EAAGwiB,WAAWlT,EAAOoJ,MAAOqI,EAAUrI,OAEtC1Y,EAAGqiB,UAAU/S,EAAOhM,MAAOwd,EAASnd,WAAaod,EAAUzd,OAE3DtD,EAAG2iB,WAAW3iB,EAAG4iB,aAAc7B,EAAUvD,QAEzCxd,EAAG6iB,oBAAoBvT,EAAOsF,gBAAiB,EAAG5U,EAAG8iB,OAAO,EAAO,EAAO,GAM1E9iB,EAAG2iB,WAAW3iB,EAAG+iB,qBAAsBhC,EAAUiC,eAKjD1T,EAASrH,EAAc8R,cAAckJ,gBACrChb,EAAc8R,cAAcqI,UAAU9S,GAEtCtP,EAAGoW,iBAAiB9G,EAAO+I,mBAAmB,EAAOyI,EAASld,eAAe0e,SAAQ,IAErFtiB,EAAGqiB,UAAU/S,EAAO8H,MAAOnP,EAAcmP,OACzCpX,EAAGuiB,UAAUjT,EAAOmF,iBAAkBoF,EAAWzT,GAAIyT,EAAWxT,GAChErG,EAAGuiB,UAAUjT,EAAOoF,cAAeoF,EAAO1T,GAAI0T,EAAOzT,GAErDrG,EAAGwiB,WAAWlT,EAAOkJ,UAAW3U,OAAO4e,MAAMC,cAAc5B,EAAS1R,OAEpEpP,EAAGqiB,UAAU/S,EAAOhM,MAAOwd,EAASnd,YAEpC3D,EAAG2iB,WAAW3iB,EAAG4iB,aAAc7B,EAAUvD,QAEzCxd,EAAG6iB,oBAAoBvT,EAAOsF,gBAAiB,EAAG5U,EAAG8iB,OAAO,EAAO,GAAO,GAC1E9iB,EAAG6iB,oBAAoBvT,EAAOyF,eAAgB,EAAG/U,EAAG8iB,OAAO,EAAM,GAAO,GAGxE9iB,EAAG2iB,WAAW3iB,EAAG+iB,qBAAsBhC,EAAUiC,eAUzDniB,EAAKwZ,oBAAoB1V,UAAU+b,WAAa,SAAUI,EAAUC,EAAW9Y,GAE3E,IAAIjI,EAAKqC,KAAKrC,GAKd,GAJAqC,KAAKse,aAAauC,MAElB7gB,KAAKwe,QAE2B,IAA7Bxe,KAAKse,aAAa3b,OAGjBhF,EAAGkb,QAAQlb,EAAGihB,kBAGlB,CACI,IAAIE,EAAQ9e,KAAKwe,MAEjBxe,KAAK2e,aAAaF,EAAUC,EAAW9Y,GAEvCjI,EAAGohB,WAAU,GAAO,GAAO,GAAO,GAEZ,IAAnBL,EAAUW,MAETrf,KAAKue,SAAWve,KAAKue,QAElBve,KAAKue,SAEJ5gB,EAAGqhB,YAAYrhB,EAAG8hB,MAAO,KAAQX,EAAQ,GAAI,KAC7CnhB,EAAGuhB,UAAUvhB,EAAGwhB,KAAKxhB,EAAGwhB,KAAKxhB,EAAGgiB,QAIhChiB,EAAGqhB,YAAYrhB,EAAG8hB,MAAMX,EAAQ,EAAG,KACnCnhB,EAAGuhB,UAAUvhB,EAAGwhB,KAAKxhB,EAAGwhB,KAAKxhB,EAAG+hB,OAIpC/hB,EAAG2hB,aAAa3hB,EAAG4hB,aAAc,EAAG5hB,EAAG6hB,eAAiD,GAAhCd,EAAU9L,QAAQjQ,OAAS,IAEnFhF,EAAGqhB,YAAYrhB,EAAGshB,OAAO,EAAE,KAC3BthB,EAAGuhB,UAAUvhB,EAAGwhB,KAAKxhB,EAAGwhB,KAAKxhB,EAAGyhB,QAGhCzhB,EAAG2hB,aAAa3hB,EAAG4hB,aAAcb,EAAU9L,QAAQjQ,OAAS,EAAGhF,EAAG6hB,eAAgB,GAE9Exf,KAAKue,QAML5gB,EAAGqhB,YAAYrhB,EAAG8hB,MAAMX,EAAO,KAJ/BnhB,EAAGqhB,YAAYrhB,EAAG8hB,MAAM,IAAO,EAAS,OAUxCzf,KAAKue,SAOL5gB,EAAGqhB,YAAYrhB,EAAG8hB,MAAMX,EAAQ,EAAG,KACnCnhB,EAAGuhB,UAAUvhB,EAAGwhB,KAAKxhB,EAAGwhB,KAAKxhB,EAAG+hB,QANhC/hB,EAAGqhB,YAAYrhB,EAAG8hB,MAAO,KAAQX,EAAQ,GAAI,KAC7CnhB,EAAGuhB,UAAUvhB,EAAGwhB,KAAKxhB,EAAGwhB,KAAKxhB,EAAGgiB,OAQpChiB,EAAG2hB,aAAa3hB,EAAGiiB,eAAgBlB,EAAU9L,QAAQjQ,OAAQhF,EAAG6hB,eAAgB,GAE5Exf,KAAKue,QAML5gB,EAAGqhB,YAAYrhB,EAAG8hB,MAAMX,EAAO,KAJ/BnhB,EAAGqhB,YAAYrhB,EAAG8hB,MAAM,IAAO,EAAS,MAQhD9hB,EAAGohB,WAAU,GAAM,GAAM,GAAM,GAC/BphB,EAAGuhB,UAAUvhB,EAAGwhB,KAAKxhB,EAAGwhB,KAAKxhB,EAAGwhB,QASxC3gB,EAAKwZ,oBAAoB1V,UAAUE,QAAU,WAEzCxC,KAAKse,aAAe,KACpBte,KAAKrC,GAAK,MAYda,EAAKmZ,mBAAqB,WAMtB3X,KAAK8gB,UAAY,GAMjB9gB,KAAK+gB,eAML/gB,KAAKghB,mBAEL,IAAK,IAAIte,EAAI,EAAGA,EAAI1C,KAAK8gB,UAAWpe,IAEhC1C,KAAK+gB,YAAYre,IAAK,EAO1B1C,KAAKihB,UAGTziB,EAAKmZ,mBAAmBrV,UAAUC,YAAc/D,EAAKmZ,mBAQrDnZ,EAAKmZ,mBAAmBrV,UAAU4W,WAAa,SAAUvb,GAErDqC,KAAKrC,GAAKA,EAGVqC,KAAK4gB,gBAAkB,IAAIpiB,EAAK0X,gBAAgBvY,GAGhDqC,KAAK8f,uBAAyB,IAAIthB,EAAK4X,uBAAuBzY,GAG9DqC,KAAKkhB,cAAgB,IAAI1iB,EAAK2S,WAAWxT,GAGzCqC,KAAKmhB,WAAa,IAAI3iB,EAAKkX,eAAe/X,GAG1CqC,KAAKohB,YAAc,IAAI5iB,EAAKuX,YAAYpY,GAGxCqC,KAAKqhB,eAAiB7iB,EAAK8iB,eAAiB,IAAI9iB,EAAK8iB,eAAe3jB,GAAM,KAE1EqC,KAAK+f,UAAU/f,KAAKkhB,gBASxB1iB,EAAKmZ,mBAAmBrV,UAAUif,WAAa,SAAUC,GAGrD,IAAI9e,EAEJ,IAAKA,EAAI,EAAGA,EAAI1C,KAAKghB,gBAAgBre,OAAQD,IAEzC1C,KAAKghB,gBAAgBte,IAAK,EAI9B,IAAKA,EAAI,EAAGA,EAAI8e,EAAQ7e,OAAQD,IAChC,CACI,IAAI+e,EAAWD,EAAQ9e,GACvB1C,KAAKghB,gBAAgBS,IAAY,EAGrC,IAAI9jB,EAAKqC,KAAKrC,GAEd,IAAK+E,EAAI,EAAGA,EAAI1C,KAAK+gB,YAAYpe,OAAQD,IAElC1C,KAAK+gB,YAAYre,KAAO1C,KAAKghB,gBAAgBte,KAE5C1C,KAAK+gB,YAAYre,GAAK1C,KAAKghB,gBAAgBte,GAExC1C,KAAKghB,gBAAgBte,GAEpB/E,EAAG+jB,wBAAwBhf,GAI3B/E,EAAGgkB,yBAAyBjf,KAY5ClE,EAAKmZ,mBAAmBrV,UAAUyd,UAAY,SAAU9S,GAEpD,OAAGjN,KAAK4hB,aAAe3U,EAAOmE,OAE9BpR,KAAK4hB,WAAa3U,EAAOmE,KAEzBpR,KAAK6hB,cAAgB5U,EAErBjN,KAAKrC,GAAGsU,WAAWhF,EAAOoE,SAC1BrR,KAAKuhB,WAAWtU,EAAOwE,aAEhB,IAQXjT,EAAKmZ,mBAAmBrV,UAAUE,QAAU,WAExCxC,KAAK+gB,YAAc,KAEnB/gB,KAAKghB,gBAAkB,KAEvBhhB,KAAK4gB,gBAAgBpe,UAErBxC,KAAK8f,uBAAuBtd,UAE5BxC,KAAKkhB,cAAc1e,UAEnBxC,KAAKmhB,WAAW3e,UAEhBxC,KAAKohB,YAAY5e,UAEbxC,KAAKqhB,gBAELrhB,KAAKqhB,eAAe7e,UAGxBxC,KAAKrC,GAAK,MAoBda,EAAKoZ,iBAAmB,SAAU7U,GAK9B/C,KAAK+C,KAAOA,EAMZ/C,KAAK8hB,SAAW,EAOhB9hB,KAAK+hB,KAAO,IAQZ/hB,KAAKgiB,WAAa,GAClB,IAAIC,EAAWjiB,KAAKgiB,WAAahiB,KAAK+hB,KAAO,EAMzCG,EAAyB,EAAZliB,KAAK+hB,KAQtB/hB,KAAKmiB,SAAW,IAAIC,YAAYH,GAQhCjiB,KAAKqiB,UAAY,IAAIC,aAAatiB,KAAKmiB,UAQvCniB,KAAKuiB,OAAS,IAAIC,YAAYxiB,KAAKmiB,UAQnCniB,KAAK4S,QAAU,IAAI6P,YAAYP,GAM/BliB,KAAK0iB,eAAiB,EAEtB,IAAK,IAAIhgB,EAAI,EAAGmF,EAAI,EAAGnF,EAAIwf,EAAYxf,GAAK,EAAGmF,GAAK,EAEhD7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAC1B7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAC1B7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAC1B7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAC1B7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAC1B7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAO9B7H,KAAK2iB,SAAU,EAMf3iB,KAAK4iB,iBAAmB,EAMxB5iB,KAAK6iB,mBAAqB,KAM1B7iB,KAAKwR,OAAQ,EAMbxR,KAAK8iB,YAML9iB,KAAKkI,cAMLlI,KAAK+iB,WAML/iB,KAAKgjB,WAMLhjB,KAAKkhB,cAAgB,MAOzB1iB,EAAKoZ,iBAAiBtV,UAAU4W,WAAa,SAAUvb,GAInD,GAFAqC,KAAK4R,aAAejU,EAAGkU,aAAalU,EAAGmU,yBACvC9R,KAAKrC,GAAKA,EACNa,EAAK6H,0BACT,CAEI,IAAK,IADD0L,EAAa,6GACRnJ,EAAQ,EAAGA,EAAQ5I,KAAK4R,eAAgBhJ,EAE7CmJ,GAAc,0BACVnJ,EAAQ,+CACRA,EAAQ,wCAEhB5I,KAAKkhB,cAAgB,IAAI1f,OAAOyhB,OAC5BjjB,KAAK+C,UACLwD,GAEI,sCACA,wBACA,8BACA,uBACA,+BACA,mCAAqCvG,KAAK4R,aAAe,KACzD,oBACAG,EACA,wEACA,WAKR/R,KAAKkhB,cAAgB,IAAI1f,OAAOyhB,OAC5BjjB,KAAK+C,UACLwD,GAEI,sCACA,wBACA,8BACA,uBACA,+BACA,8BACA,oBACA,iEACA,MAKZvG,KAAKkjB,aAAevlB,EAAGwlB,eACvBnjB,KAAK2gB,YAAchjB,EAAGwlB,eAKtBxlB,EAAG2iB,WAAW3iB,EAAG+iB,qBAAsB1gB,KAAK2gB,aAC5ChjB,EAAGylB,WAAWzlB,EAAG+iB,qBAAsB1gB,KAAK4S,QAASjV,EAAG0lB,aAExD1lB,EAAG2iB,WAAW3iB,EAAG4iB,aAAcvgB,KAAKkjB,cACpCvlB,EAAGylB,WAAWzlB,EAAG4iB,aAAcvgB,KAAKmiB,SAAUxkB,EAAG2lB,cAEjDtjB,KAAK6N,iBAAmB,MAExB,IAAIZ,EAAS,IAAIzO,EAAK2S,WAAWxT,GAEjCsP,EAAOwD,YAAczQ,KAAKkhB,cAAczQ,YACxCxD,EAAOgG,YACPhG,EAAOyE,OAEP1R,KAAKkhB,cAAc6B,QAAQplB,EAAGuW,IAAMjH,GAOxCzO,EAAKoZ,iBAAiBtV,UAAU+Y,MAAQ,SAAUzV,GAE9C5F,KAAK4F,cAAgBA,EACrB5F,KAAKiN,OAASjN,KAAK4F,cAAc8R,cAAcwJ,cAE/ClhB,KAAKsM,SAMT9N,EAAKoZ,iBAAiBtV,UAAUgZ,IAAM,WAElCtb,KAAKgM,SAQTxN,EAAKoZ,iBAAiBtV,UAAU6C,OAAS,SAAUoe,EAAQ7V,GAEvD,IAAI3P,EAAUwlB,EAAOxlB,QAErB,GAAIS,EAAK6H,0BACT,CACI,IAAID,EAAcrI,EAAQqI,YACtBzI,EAAKqC,KAAKrC,GACVa,EAAK+X,cAAcsH,aAAazX,EAAYE,eAAiBF,IAE7DpG,KAAKgM,QACLrO,EAAG6B,cAAc7B,EAAG8B,SAAW2G,EAAYE,cAC3C3I,EAAGM,YAAYN,EAAGO,WAAYkI,EAAY6N,YAAYtW,EAAGuW,KACzD1V,EAAK+X,cAAcsH,aAAazX,EAAYE,cAAgBF,GAKpE,IAAI3C,EAAK8f,EAAOhiB,eAEZmM,IAEAjK,EAAKiK,GAIL1N,KAAK4iB,kBAAoB5iB,KAAK+hB,OAE9B/hB,KAAKgM,QACLhM,KAAK6iB,mBAAqB9kB,EAAQqI,aAItC,IAAIod,EAAMzlB,EAAQ0lB,KAGlB,GAAKD,EAAL,CAKA,IAGItY,EAAIC,EAAIC,EAAIC,EAHZqY,EAAKH,EAAO5c,OAAO5C,EACnB4f,EAAKJ,EAAO5c,OAAO3C,EAIvB,GAAIjG,EAAQqQ,KACZ,CAEI,IAAIA,EAAOrQ,EAAQqQ,KAGnBlD,GADAC,EAAKiD,EAAKrK,EAAI2f,EAAKtV,EAAKxQ,OACdG,EAAQ6P,KAAKhQ,MAGvBwN,GADAC,EAAK+C,EAAKpK,EAAI2f,EAAKvV,EAAKvQ,QACdE,EAAQ6P,KAAK/P,YAIvBqN,EAAMnN,EAAQsP,MAAW,OAAK,EAAIqW,GAClCvY,EAAMpN,EAAQsP,MAAW,OAAKqW,EAE9BtY,EAAKrN,EAAQsP,MAAMxP,QAAU,EAAI8lB,GACjCtY,EAAKtN,EAAQsP,MAAMxP,QAAU8lB,EAGjC,IAAIjhB,EAAI1C,KAAK4iB,iBAAmB5iB,KAAKgiB,WACjCpd,EAAa7G,EAAQqI,YAAYxB,WACjC0B,EAAevI,EAAQqI,YAAYE,aAEnCpD,EAAIO,EAAGP,EAAI0B,EACXzB,EAAIM,EAAGN,EAAIyB,EACXxB,EAAIK,EAAGL,EAAIwB,EACXvB,EAAII,EAAGJ,EAAIuB,EACXtB,EAAKG,EAAGH,GACRC,EAAKE,EAAGF,GAERkL,EAAK1Q,EAAQ6P,KAAK/P,OAEtB,GAAIE,EAAQ2Q,QACZ,CACI,IAAIkV,EAAKngB,EAAGP,EACR2gB,EAAKpgB,EAAGN,EACR2gB,EAAKrgB,EAAGL,EACR2gB,EAAKtgB,EAAGJ,EACR2gB,EAAM7Y,EACN8Y,EAAM/Y,EAGV5H,EAAKG,EAAGL,EAAIqL,EAAKnL,EACjBC,EAAKE,EAAGJ,EAAIoL,EAAKlL,EAMjBL,EAAS,sBAAL0gB,EAA8BE,EAClC3gB,EAAS,sBAAL0gB,EAA8BE,EAClC3gB,EAAIwgB,EAAU,sBAALE,EACTzgB,EAAIwgB,EAAU,sBAALE,EAGThmB,EAAQmmB,qBAGRhZ,EAAKE,EACLD,EAAKE,EACLD,EAAK6Y,EACL5Y,EAAK2Y,EAGT,IAAIzB,EAASviB,KAAKuiB,OACdF,EAAYriB,KAAKqiB,UACjBtV,EAAOwW,EAAOxW,KACdsJ,GAAStJ,GAAQ,KAAc,MAAPA,KAA0B,IAAPA,IAAgB,KAA2B,IAApBwW,EAAOjiB,YAAoB,IAE7FtB,KAAK4F,cAAcgJ,aAEnByT,EAAU3f,KAAOQ,EAAIiI,EAAK/H,EAAIiI,EAAK/H,EAAK,EACxC+e,EAAU3f,KAAOW,EAAIgI,EAAKlI,EAAIgI,EAAK5H,EAAK,EACxC8e,EAAU3f,KAAO8gB,EAAIW,GACrB9B,EAAU3f,KAAO8gB,EAAIY,GACrB7B,EAAO7f,KAAO2T,EACdgM,EAAU3f,KAAO4D,EAEjB+b,EAAU3f,KAAOQ,EAAIgI,EAAK9H,EAAIiI,EAAK/H,EAAK,EACxC+e,EAAU3f,KAAOW,EAAIgI,EAAKlI,EAAI+H,EAAK3H,EAAK,EACxC8e,EAAU3f,KAAO8gB,EAAIlY,GACrB+W,EAAU3f,KAAO8gB,EAAIjY,GACrBgX,EAAO7f,KAAO2T,EACdgM,EAAU3f,KAAO4D,EAEjB+b,EAAU3f,KAAOQ,EAAIgI,EAAK9H,EAAIgI,EAAK9H,EAAK,EACxC+e,EAAU3f,KAAOW,EAAI+H,EAAKjI,EAAI+H,EAAK3H,EAAK,EACxC8e,EAAU3f,KAAO8gB,EAAIhY,GACrB6W,EAAU3f,KAAO8gB,EAAI/X,GACrB8W,EAAO7f,KAAO2T,EACdgM,EAAU3f,KAAO4D,EAEjB+b,EAAU3f,KAAOQ,EAAIiI,EAAK/H,EAAIgI,EAAK9H,EAAK,EACxC+e,EAAU3f,KAAOW,EAAI+H,EAAKjI,EAAIgI,EAAK5H,EAAK,EACxC8e,EAAU3f,KAAO8gB,EAAI9X,GACrB2W,EAAU3f,KAAO8gB,EAAI7X,GACrB4W,EAAO7f,KAAO2T,EACdgM,EAAU3f,KAAO4D,IAIjB+b,EAAU3f,KAAOQ,EAAIiI,EAAK/H,EAAIiI,EAAK/H,EACnC+e,EAAU3f,KAAOW,EAAIgI,EAAKlI,EAAIgI,EAAK5H,EACnC8e,EAAU3f,KAAO8gB,EAAIW,GACrB9B,EAAU3f,KAAO8gB,EAAIY,GACrB7B,EAAO7f,KAAO2T,EACdgM,EAAU3f,KAAO4D,EAEjB+b,EAAU3f,KAAOQ,EAAIgI,EAAK9H,EAAIiI,EAAK/H,EACnC+e,EAAU3f,KAAOW,EAAIgI,EAAKlI,EAAI+H,EAAK3H,EACnC8e,EAAU3f,KAAO8gB,EAAIlY,GACrB+W,EAAU3f,KAAO8gB,EAAIjY,GACrBgX,EAAO7f,KAAO2T,EACdgM,EAAU3f,KAAO4D,EAEjB+b,EAAU3f,KAAOQ,EAAIgI,EAAK9H,EAAIgI,EAAK9H,EACnC+e,EAAU3f,KAAOW,EAAI+H,EAAKjI,EAAI+H,EAAK3H,EACnC8e,EAAU3f,KAAO8gB,EAAIhY,GACrB6W,EAAU3f,KAAO8gB,EAAI/X,GACrB8W,EAAO7f,KAAO2T,EACdgM,EAAU3f,KAAO4D,EAEjB+b,EAAU3f,KAAOQ,EAAIiI,EAAK/H,EAAIgI,EAAK9H,EACnC+e,EAAU3f,KAAOW,EAAI+H,EAAKjI,EAAIgI,EAAK5H,EACnC8e,EAAU3f,KAAO8gB,EAAI9X,GACrB2W,EAAU3f,KAAO8gB,EAAI7X,GACrB4W,EAAO7f,KAAO2T,EACdgM,EAAU3f,KAAO4D,GAIrBtG,KAAKgjB,QAAQhjB,KAAK4iB,oBAAsBW,IAS5C/kB,EAAKoZ,iBAAiBtV,UAAU+hB,mBAAqB,SAAUd,GAE3D,IAAIxlB,EAAUwlB,EAAOe,cACjBhe,EAAeid,EAAOxlB,QAAQqI,YAAYE,aAE9C,GAAI9H,EAAK6H,0BACT,CACI,IAAID,EAAcrI,EAAQqI,YACtBzI,EAAKqC,KAAKrC,GACVa,EAAK+X,cAAcsH,aAAavX,IAAiBF,IAEjDpG,KAAKgM,QACLrO,EAAG6B,cAAc7B,EAAG8B,SAAW6G,GAC/B3I,EAAGM,YAAYN,EAAGO,WAAYkI,EAAY6N,YAAYtW,EAAGuW,KACzD1V,EAAK+X,cAAcsH,aAAavX,GAAgBF,GAKpDpG,KAAK4iB,kBAAoB5iB,KAAK+hB,OAE9B/hB,KAAKgM,QACLhM,KAAK6iB,mBAAqB9kB,EAAQqI,aAIjCmd,EAAOE,OAERF,EAAOE,KAAO,IAAIjlB,EAAK+lB,YAG3B,IAAIf,EAAMD,EAAOE,KAEbpO,EAAItX,EAAQqI,YAAYxI,MACxB4mB,EAAIzmB,EAAQqI,YAAYvI,OAY5B0lB,EAAOkB,aAAa1gB,GAAKsR,EAAIkO,EAAOmB,gBAAgB3gB,EACpDwf,EAAOkB,aAAazgB,GAAKwgB,EAAIjB,EAAOmB,gBAAgB1gB,EAEpD,IAAI2gB,EAAUpB,EAAOkB,aAAa1gB,GAAKsR,EAAIkO,EAAOmB,gBAAgB3gB,GAC9D6gB,EAAUrB,EAAOkB,aAAazgB,GAAKwgB,EAAIjB,EAAOmB,gBAAgB1gB,GAE9D6gB,EAAUtB,EAAO3lB,MAAQyX,GAAMkO,EAAOuB,UAAU/gB,EAAIwf,EAAOmB,gBAAgB3gB,GAC3EghB,EAAUxB,EAAO1lB,OAAS2mB,GAAMjB,EAAOuB,UAAU9gB,EAAIuf,EAAOmB,gBAAgB1gB,GAEhFwf,EAAIW,GAAK,EAAIQ,EACbnB,EAAIY,GAAK,EAAIQ,EAEbpB,EAAIlY,GAAM,EAAIuZ,EAAUF,EACxBnB,EAAIjY,GAAK,EAAIqZ,EAEbpB,EAAIhY,GAAM,EAAIqZ,EAAUF,EACxBnB,EAAI/X,GAAM,EAAIsZ,EAAUH,EAExBpB,EAAI9X,GAAK,EAAIiZ,EACbnB,EAAI7X,GAAM,EAAIoZ,EAAUH,EAGxB,IAAI7X,EAAOwW,EAAOxW,KACdsJ,GAAStJ,GAAQ,KAAc,MAAPA,KAA0B,IAAPA,IAAgB,KAA2B,IAApBwW,EAAOjiB,YAAoB,IAE7F+gB,EAAYriB,KAAKqiB,UACjBE,EAASviB,KAAKuiB,OAEd3kB,EAAQ2lB,EAAO3lB,MACfC,EAAS0lB,EAAO1lB,OAGhB6lB,EAAKH,EAAO5c,OAAO5C,EACnB4f,EAAKJ,EAAO5c,OAAO3C,EACnBkH,EAAKtN,GAAS,EAAI8lB,GAClBvY,EAAKvN,GAAS8lB,EAEdtY,EAAKvN,GAAU,EAAI8lB,GACnBtY,EAAKxN,GAAU8lB,EAEfjhB,EAAI1C,KAAK4iB,iBAAmB5iB,KAAKgiB,WAEjCpd,EAAa7G,EAAQqI,YAAYxB,WAEjCnB,EAAK8f,EAAOhiB,eAEZ2B,EAAIO,EAAGP,EAAI0B,EACXzB,EAAIM,EAAGN,EAAIyB,EACXxB,EAAIK,EAAGL,EAAIwB,EACXvB,EAAII,EAAGJ,EAAIuB,EACXtB,EAAKG,EAAGH,GACRC,EAAKE,EAAGF,GAGZ8e,EAAU3f,KAAOQ,EAAIiI,EAAK/H,EAAIiI,EAAK/H,EACnC+e,EAAU3f,KAAOW,EAAIgI,EAAKlI,EAAIgI,EAAK5H,EAGnC8e,EAAU3f,KAAO8gB,EAAIW,GACrB9B,EAAU3f,KAAO8gB,EAAIY,GAGrB7B,EAAO7f,KAAO2T,EAGdgM,EAAU3f,KAAO4D,EAGjB+b,EAAU3f,KAAQQ,EAAIgI,EAAK9H,EAAIiI,EAAK/H,EACpC+e,EAAU3f,KAAOW,EAAIgI,EAAKlI,EAAI+H,EAAK3H,EAGnC8e,EAAU3f,KAAO8gB,EAAIlY,GACrB+W,EAAU3f,KAAO8gB,EAAIjY,GAGrBgX,EAAO7f,KAAO2T,EAGdgM,EAAU3f,KAAO4D,EAGjB+b,EAAU3f,KAAOQ,EAAIgI,EAAK9H,EAAIgI,EAAK9H,EACnC+e,EAAU3f,KAAOW,EAAI+H,EAAKjI,EAAI+H,EAAK3H,EAGnC8e,EAAU3f,KAAO8gB,EAAIhY,GACrB6W,EAAU3f,KAAO8gB,EAAI/X,GAGrB8W,EAAO7f,KAAO2T,EAGdgM,EAAU3f,KAAO4D,EAGjB+b,EAAU3f,KAAOQ,EAAIiI,EAAK/H,EAAIgI,EAAK9H,EACnC+e,EAAU3f,KAAOW,EAAI+H,EAAKjI,EAAIgI,EAAK5H,EAGnC8e,EAAU3f,KAAO8gB,EAAI9X,GACrB2W,EAAU3f,KAAO8gB,EAAI7X,GAGrB4W,EAAO7f,KAAO2T,EAGdgM,EAAU3f,KAAO4D,EAGjBtG,KAAKgjB,QAAQhjB,KAAK4iB,oBAAsBW,GAQ5C/kB,EAAKoZ,iBAAiBtV,UAAU0J,MAAQ,WAGpC,GAA8B,IAA1BhM,KAAK4iB,iBAAT,CAKA,IACI3V,EADAtP,EAAKqC,KAAKrC,GAGd,GAAIqC,KAAKwR,MACT,CACIxR,KAAKwR,OAAQ,EAEbvE,EAASjN,KAAKkhB,cAAc6B,QAAQplB,EAAGuW,IAGvCvW,EAAG6B,cAAc7B,EAAG8B,UAGpB9B,EAAG2iB,WAAW3iB,EAAG4iB,aAAcvgB,KAAKkjB,cACpCvlB,EAAG2iB,WAAW3iB,EAAG+iB,qBAAsB1gB,KAAK2gB,aAG5C,IAAIqE,EAAShlB,KAAKgiB,WAClBrkB,EAAG6iB,oBAAoBvT,EAAOsF,gBAAiB,EAAG5U,EAAG8iB,OAAO,EAAOuE,EAAQ,GAC3ErnB,EAAG6iB,oBAAoBvT,EAAOwF,cAAe,EAAG9U,EAAG8iB,OAAO,EAAOuE,EAAQ,GAGzErnB,EAAG6iB,oBAAoBvT,EAAOyF,eAAgB,EAAG/U,EAAGoB,eAAe,EAAMimB,EAAQ,IAGjFrnB,EAAG6iB,oBAAoBvT,EAAO0F,cAAe,EAAGhV,EAAG8iB,OAAO,EAAOuE,EAAQ,IAI7E,GAAIhlB,KAAK4iB,iBAAgC,GAAZ5iB,KAAK+hB,KAE9BpkB,EAAGsnB,cAActnB,EAAG4iB,aAAc,EAAGvgB,KAAKmiB,cAG9C,CACIxkB,EAAG2iB,WAAW3iB,EAAG4iB,aAAcvgB,KAAKkjB,cACpC,IAAIjM,EAAOjX,KAAKqiB,UAAU6C,SAAS,EAAGllB,KAAK4iB,iBAAmB5iB,KAAKgiB,YACnErkB,EAAGsnB,cAActnB,EAAG4iB,aAAc,EAAGtJ,GAezC,IAAK,IAZDkO,EAAaC,EAAeC,EAU5B9B,EATA+B,EAAY,EACZhZ,EAAQ,EAERuW,EAAqB,KACrBhV,EAAmB7N,KAAK4F,cAAcqS,iBAAiBpK,iBACvDgU,EAAgB,KAEhB0D,GAAY,EACZC,GAAa,EAGR9iB,EAAI,EAAGmF,EAAI7H,KAAK4iB,iBAAkBlgB,EAAImF,EAAGnF,IAClD,CAKQyiB,GAJJ5B,EAASvjB,KAAKgjB,QAAQtgB,IAEX4hB,cAEOf,EAAOe,cAAcle,YAIrBmd,EAAOxlB,QAAQqI,YAMjCmf,EAAY1X,KAHZuX,EAAgB7B,EAAOtb,WAIvBud,EAAa3D,KAHbwD,EAAa9B,EAAOtW,QAAUjN,KAAKkhB,eAKnC,IAAIuE,EAAON,EAAY3X,WAEnBiY,GAAQlC,EAAO9gB,SAASE,OAAS,IAEjC8iB,GAAO,GAIX,IACIC,EAAqB7C,IAAuBsC,EAChD,KAFkC3mB,EAAK6H,2BAEFqf,IAAuBD,GACxDF,GACAC,KAEAxlB,KAAK2lB,YAAY9C,EAAoByC,EAAWhZ,GAEhDA,EAAQ5J,EACR4iB,EAAY,EACZzC,EAAqBsC,EAEjBI,IAEA1X,EAAmBuX,EACnBplB,KAAK4F,cAAcqS,iBAAiBmD,aAAavN,IAGjD2X,GACJ,EAGIvY,GAFA4U,EAAgBwD,GAEOtC,QAAQplB,EAAGuW,QAI9BjH,EAAS,IAAIzO,EAAK2S,WAAWxT,IAEtB8S,YAAcoR,EAAcpR,YACnCxD,EAAOgG,SAAW4O,EAAc5O,SAChChG,EAAOyE,OAEPmQ,EAAckB,QAAQplB,EAAGuW,IAAMjH,GAInCjN,KAAK4F,cAAc8R,cAAcqI,UAAU9S,GAEvCA,EAAOuE,OAEPvE,EAAOiI,eAOX,IAAIsC,EAAaxX,KAAK4F,cAAc4R,WACpC7Z,EAAGuiB,UAAUjT,EAAOmF,iBAAkBoF,EAAWzT,EAAGyT,EAAWxT,GAG/D,IAAIqO,EAAerS,KAAK4F,cAAc6R,OACtC9Z,EAAGuiB,UAAUjT,EAAOoF,aAAcA,EAAatO,EAAGsO,EAAarO,GAMvEshB,IAGJtlB,KAAK2lB,YAAY9C,EAAoByC,EAAWhZ,GAGhDtM,KAAK4iB,iBAAmB,IAS5BpkB,EAAKoZ,iBAAiBtV,UAAUqjB,YAAc,SAAU5nB,EAASgkB,EAAM6D,GAEnE,GAAa,IAAT7D,EAAJ,CAKA,IAAIpkB,EAAKqC,KAAKrC,GAGd,GAAII,EAAQuX,OAAO3X,EAAGuW,KAElB,IAAKlU,KAAK4F,cAAcf,SAAS2Q,cAAczX,GAG3C,YAKJJ,EAAGM,YAAYN,EAAGO,WAAYH,EAAQkW,YAAYtW,EAAGuW,KAGzDvW,EAAG2hB,aAAa3hB,EAAGkoB,UAAkB,EAAP9D,EAAUpkB,EAAG6hB,eAA6B,EAAboG,EAAiB,GAG5E5lB,KAAK4F,cAAcwS,cAMvB5Z,EAAKoZ,iBAAiBtV,UAAU6J,KAAO,WAEnCnM,KAAKgM,QACLhM,KAAKwR,OAAQ,GAMjBhT,EAAKoZ,iBAAiBtV,UAAUgK,MAAQ,WAEpCtM,KAAKwR,OAAQ,GAQjBhT,EAAKoZ,iBAAiBtV,UAAUE,QAAU,WAEtCxC,KAAKmiB,SAAW,KAChBniB,KAAK4S,QAAU,KAEf5S,KAAKrC,GAAGmoB,aAAa9lB,KAAKkjB,cAC1BljB,KAAKrC,GAAGmoB,aAAa9lB,KAAK2gB,aAE1B3gB,KAAK6iB,mBAAqB,KAE1B7iB,KAAKrC,GAAK,MAiBda,EAAKunB,qBAAuB,SAAUpoB,GAMlCqC,KAAK8hB,SAAW,GAMhB9hB,KAAKgmB,QAAU,IAMfhmB,KAAK+hB,KAAO/hB,KAAKgmB,QAGjB,IAAI/D,EAAuB,EAAZjiB,KAAK+hB,KAAW/hB,KAAK8hB,SAGhCI,EAA4B,EAAfliB,KAAKgmB,QAOtBhmB,KAAKmiB,SAAW,IAAIG,aAAaL,GAOjCjiB,KAAK4S,QAAU,IAAI6P,YAAYP,GAM/BliB,KAAKkjB,aAAe,KAMpBljB,KAAK2gB,YAAc,KAMnB3gB,KAAK0iB,eAAiB,EAEtB,IAAK,IAAIhgB,EAAI,EAAGmF,EAAI,EAAGnF,EAAIwf,EAAYxf,GAAK,EAAGmF,GAAK,EAEhD7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAC1B7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAC1B7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAC1B7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAC1B7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAC1B7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAO9B7H,KAAK2iB,SAAU,EAMf3iB,KAAK4iB,iBAAmB,EAMxB5iB,KAAK6iB,mBAAqB,KAM1B7iB,KAAK6N,iBAAmB,EAMxB7N,KAAK4F,cAAgB,KAMrB5F,KAAKiN,OAAS,KAMdjN,KAAK0N,OAAS,KAEd1N,KAAKkZ,WAAWvb,IAGpBa,EAAKunB,qBAAqBzjB,UAAUC,YAAc/D,EAAKunB,qBAQvDvnB,EAAKunB,qBAAqBzjB,UAAU4W,WAAa,SAAUvb,GAEvDqC,KAAKrC,GAAKA,EAGVqC,KAAKkjB,aAAevlB,EAAGwlB,eACvBnjB,KAAK2gB,YAAchjB,EAAGwlB,eAKtBxlB,EAAG2iB,WAAW3iB,EAAG+iB,qBAAsB1gB,KAAK2gB,aAC5ChjB,EAAGylB,WAAWzlB,EAAG+iB,qBAAsB1gB,KAAK4S,QAASjV,EAAG0lB,aAExD1lB,EAAG2iB,WAAW3iB,EAAG4iB,aAAcvgB,KAAKkjB,cACpCvlB,EAAGylB,WAAWzlB,EAAG4iB,aAAcvgB,KAAKmiB,SAAUxkB,EAAG2lB,eAQrD9kB,EAAKunB,qBAAqBzjB,UAAU+Y,MAAQ,SAAUtP,EAAanG,GAE/D5F,KAAK4F,cAAgBA,EACrB5F,KAAKiN,OAASjN,KAAK4F,cAAc8R,cAAcyJ,WAE/CnhB,KAAK0N,OAAS3B,EAAYxK,eAAe0e,SAAQ,GAEjDjgB,KAAKsM,SAMT9N,EAAKunB,qBAAqBzjB,UAAUgZ,IAAM,WAEtCtb,KAAKgM,SAOTxN,EAAKunB,qBAAqBzjB,UAAU6C,OAAS,SAAU4G,GAEnD,IAAItJ,EAAWsJ,EAAYtJ,SACvB8gB,EAAS9gB,EAAS,GAKtB,GAAI8gB,EAAOxlB,QAAQ0lB,KAAnB,CAEAzjB,KAAK6iB,mBAAqBU,EAAOxlB,QAAQqI,YAGtCmd,EAAOtb,YAAcjI,KAAK4F,cAAcqS,iBAAiBpK,mBAExD7N,KAAKgM,QACLhM,KAAK4F,cAAcqS,iBAAiBmD,aAAamI,EAAOtb,YAG5D,IAAI3B,EAAetG,KAAK6iB,mBAAmBvc,aACvC3I,EAAKqC,KAAKrC,GAEdA,EAAG6B,cAAc7B,EAAG8B,SAAW6G,GAC/B3I,EAAGM,YAAYN,EAAGO,WAAY8B,KAAK6iB,mBAAmB5O,YAAYtW,EAAGuW,KACrE1V,EAAK+X,cAAcsH,aAAavX,GAAgBtG,KAAK6iB,mBAErD,IAAI,IAAIngB,EAAI,EAAEmF,EAAIpF,EAASE,OAAQD,EAAImF,EAAGnF,IAEtC1C,KAAKimB,aAAaxjB,EAASC,IAG/B1C,KAAKgM,UAOTxN,EAAKunB,qBAAqBzjB,UAAU2jB,aAAe,SAAU1C,GAEzD,IACInd,EADUmd,EAAOxlB,QACKqI,YACtBzI,EAAKqC,KAAKrC,GACV2I,EAAeid,EAAOxlB,QAAQqI,YAAYE,aAE9C,IAAI9H,EAAK+X,cAAcsH,aAAavX,IAAiBF,IACjDA,EAAY6N,YAAYtW,EAAGuW,KAAQqP,EAAOxlB,QAAQqI,YAAYoH,aAE9DxN,KAAKgM,QACLrO,EAAG6B,cAAc7B,EAAG8B,SAAW6G,GAC/B3I,EAAGM,YAAYN,EAAGO,WAAYkI,EAAY6N,YAAYtW,EAAGuW,KACzD1V,EAAK+X,cAAcsH,aAAavX,GAAgBF,EAC5Cmd,EAAOxlB,QAAQ0lB,QAInBF,EAAOriB,QAAX,CAEA,IAAIsiB,EAEA5lB,EAAOC,EAAQqN,EAAIC,EAAIC,EAAIC,EAAIzC,EAD/BuZ,EAAWniB,KAAKmiB,SAQpB,GALAqB,EAAMD,EAAOxlB,QAAQ0lB,KAErB7lB,EAAQ2lB,EAAOxlB,QAAQsP,MAAMzP,MAC7BC,EAAS0lB,EAAOxlB,QAAQsP,MAAMxP,OAE1B0lB,EAAOxlB,QAAQqQ,KACnB,CAEI,IAAIA,EAAOmV,EAAOxlB,QAAQqQ,KAG1BlD,GADAC,EAAKiD,EAAKrK,EAAIwf,EAAO5c,OAAO5C,EAAIqK,EAAKxQ,OAC3B2lB,EAAOxlB,QAAQ6P,KAAKhQ,MAG9BwN,GADAC,EAAK+C,EAAKpK,EAAIuf,EAAO5c,OAAO3C,EAAIoK,EAAKvQ,QAC3B0lB,EAAOxlB,QAAQ6P,KAAK/P,YAI9BqN,EAAKtN,GAAS,EAAI2lB,EAAO5c,OAAO5C,GAChCoH,EAAKvN,GAAS2lB,EAAO5c,OAAO5C,EAE5BqH,EAAKvN,GAAU,EAAI0lB,EAAO5c,OAAO3C,GACjCqH,EAAKxN,GAAU0lB,EAAO5c,OAAO3C,EAGjC4E,EAAgC,EAAxB5I,KAAK4iB,iBAAuB5iB,KAAK8hB,SAGzCK,EAASvZ,KAAWuC,EACpBgX,EAASvZ,KAAWyC,EAEpB8W,EAASvZ,KAAW2a,EAAO3iB,SAASmD,EACpCoe,EAASvZ,KAAW2a,EAAO3iB,SAASoD,EAGpCme,EAASvZ,KAAW2a,EAAOziB,MAAMiD,EACjCoe,EAASvZ,KAAW2a,EAAOziB,MAAMkD,EAGjCme,EAASvZ,KAAW2a,EAAOviB,SAG3BmhB,EAASvZ,KAAW4a,EAAIW,GACxBhC,EAASvZ,KAAW4a,EAAIjY,GAGxB4W,EAASvZ,KAAW2a,EAAOtiB,MAG3BkhB,EAASvZ,KAAWtC,EAGpB6b,EAASvZ,KAAWsC,EACpBiX,EAASvZ,KAAWyC,EAEpB8W,EAASvZ,KAAW2a,EAAO3iB,SAASmD,EACpCoe,EAASvZ,KAAW2a,EAAO3iB,SAASoD,EAGpCme,EAASvZ,KAAW2a,EAAOziB,MAAMiD,EACjCoe,EAASvZ,KAAW2a,EAAOziB,MAAMkD,EAGjCme,EAASvZ,KAAW2a,EAAOviB,SAG3BmhB,EAASvZ,KAAW4a,EAAIlY,GACxB6W,EAASvZ,KAAW4a,EAAIjY,GAGxB4W,EAASvZ,KAAW2a,EAAOtiB,MAG3BkhB,EAASvZ,KAAWtC,EAGpB6b,EAASvZ,KAAWsC,EACpBiX,EAASvZ,KAAWwC,EAEpB+W,EAASvZ,KAAW2a,EAAO3iB,SAASmD,EACpCoe,EAASvZ,KAAW2a,EAAO3iB,SAASoD,EAGpCme,EAASvZ,KAAW2a,EAAOziB,MAAMiD,EACjCoe,EAASvZ,KAAW2a,EAAOziB,MAAMkD,EAGjCme,EAASvZ,KAAW2a,EAAOviB,SAG3BmhB,EAASvZ,KAAW4a,EAAIhY,GACxB2W,EAASvZ,KAAW4a,EAAI/X,GAGxB0W,EAASvZ,KAAW2a,EAAOtiB,MAG3BkhB,EAASvZ,KAAWtC,EAGpB6b,EAASvZ,KAAWuC,EACpBgX,EAASvZ,KAAWwC,EAEpB+W,EAASvZ,KAAW2a,EAAO3iB,SAASmD,EACpCoe,EAASvZ,KAAW2a,EAAO3iB,SAASoD,EAGpCme,EAASvZ,KAAW2a,EAAOziB,MAAMiD,EACjCoe,EAASvZ,KAAW2a,EAAOziB,MAAMkD,EAGjCme,EAASvZ,KAAW2a,EAAOviB,SAG3BmhB,EAASvZ,KAAW4a,EAAI9X,GACxByW,EAASvZ,KAAW4a,EAAI7X,GAGxBwW,EAASvZ,KAAW2a,EAAOtiB,MAG3BkhB,EAASvZ,KAAWtC,IAGpBtG,KAAK4iB,kBAEuB5iB,KAAK+hB,MAE7B/hB,KAAKgM,UAObxN,EAAKunB,qBAAqBzjB,UAAU0J,MAAQ,WAGxC,GAA8B,IAA1BhM,KAAK4iB,iBAAT,CAEA,IAAIjlB,EAAKqC,KAAKrC,GAId,GAAIqC,KAAK6iB,mBAAmB5O,YAAYtW,EAAGuW,IAA3C,CAUA,GAAGlU,KAAK4iB,iBAAgC,GAAZ5iB,KAAK+hB,KAE7BpkB,EAAGsnB,cAActnB,EAAG4iB,aAAc,EAAGvgB,KAAKmiB,cAG9C,CACI,IAAIlL,EAAOjX,KAAKmiB,SAAS+C,SAAS,EAA2B,EAAxBllB,KAAK4iB,iBAAuB5iB,KAAK8hB,UAEtEnkB,EAAGsnB,cAActnB,EAAG4iB,aAAc,EAAGtJ,GAIzCtZ,EAAG2hB,aAAa3hB,EAAGkoB,UAAmC,EAAxB7lB,KAAK4iB,iBAAsBjlB,EAAG6hB,eAAgB,GAG5Exf,KAAK4iB,iBAAmB,EAGxB5iB,KAAK4F,cAAcwS,iBA1BfpY,KAAK4F,cAAcf,SAAS2Q,cAAcxV,KAAK6iB,mBAAoBllB,KAgC3Ea,EAAKunB,qBAAqBzjB,UAAU6J,KAAO,WAEvCnM,KAAKgM,SAMTxN,EAAKunB,qBAAqBzjB,UAAUgK,MAAQ,WAExC,IAAI3O,EAAKqC,KAAKrC,GAGdA,EAAG6B,cAAc7B,EAAG8B,UAGpB9B,EAAG2iB,WAAW3iB,EAAG4iB,aAAcvgB,KAAKkjB,cACpCvlB,EAAG2iB,WAAW3iB,EAAG+iB,qBAAsB1gB,KAAK2gB,aAG5C,IAAInJ,EAAaxX,KAAK4F,cAAc4R,WACpC7Z,EAAGuiB,UAAUlgB,KAAKiN,OAAOmF,iBAAkBoF,EAAWzT,EAAGyT,EAAWxT,GAGpErG,EAAGoW,iBAAiB/T,KAAKiN,OAAO0I,SAAS,EAAO3V,KAAK0N,QAGrD,IAAIsX,EAAyB,EAAhBhlB,KAAK8hB,SAElBnkB,EAAG6iB,oBAAoBxgB,KAAKiN,OAAOsF,gBAAiB,EAAG5U,EAAG8iB,OAAO,EAAOuE,EAAQ,GAChFrnB,EAAG6iB,oBAAoBxgB,KAAKiN,OAAO2I,eAAgB,EAAGjY,EAAG8iB,OAAO,EAAOuE,EAAQ,GAC/ErnB,EAAG6iB,oBAAoBxgB,KAAKiN,OAAO4I,OAAQ,EAAGlY,EAAG8iB,OAAO,EAAOuE,EAAQ,IACvErnB,EAAG6iB,oBAAoBxgB,KAAKiN,OAAO6I,UAAW,EAAGnY,EAAG8iB,OAAO,EAAOuE,EAAQ,IAC1ErnB,EAAG6iB,oBAAoBxgB,KAAKiN,OAAOwF,cAAe,EAAG9U,EAAG8iB,OAAO,EAAOuE,EAAQ,IAC9ErnB,EAAG6iB,oBAAoBxgB,KAAKiN,OAAOyF,eAAgB,EAAG/U,EAAG8iB,OAAO,EAAOuE,EAAQ,IAC/ErnB,EAAG6iB,oBAAoBxgB,KAAKiN,OAAO0F,cAAe,EAAGhV,EAAG8iB,OAAO,EAAOuE,EAAQ,KAWlFxmB,EAAKsZ,mBAAqB,WAMtB9X,KAAKkmB,eAMLlmB,KAAK2kB,QAAU,EAMf3kB,KAAK4kB,QAAU,GAGnBpmB,EAAKsZ,mBAAmBxV,UAAUC,YAAc/D,EAAKsZ,mBAQrDtZ,EAAKsZ,mBAAmBxV,UAAU4W,WAAa,SAAUvb,GAErDqC,KAAKrC,GAAKA,EACVqC,KAAKmmB,eAELnmB,KAAKomB,qBAQT5nB,EAAKsZ,mBAAmBxV,UAAU+Y,MAAQ,SAAUzV,EAAeuV,GAE/Dnb,KAAK4F,cAAgBA,EACrB5F,KAAKkhB,cAAgBtb,EAAc8R,cAAcwJ,cAEjD,IAAI1J,EAAaxX,KAAK4F,cAAc4R,WACpCxX,KAAKpC,MAAuB,EAAf4Z,EAAWzT,EACxB/D,KAAKnC,OAAyB,GAAf2Z,EAAWxT,EAC1BhE,KAAKmb,OAASA,GASlB3c,EAAKsZ,mBAAmBxV,UAAU4J,WAAa,SAAUma,GAErD,IAAI1oB,EAAKqC,KAAKrC,GAEV6Z,EAAaxX,KAAK4F,cAAc4R,WAChCC,EAASzX,KAAK4F,cAAc6R,OAEhC4O,EAAYC,YAAcD,EAAYre,OAAOnG,YAAcwkB,EAAYre,OAAOkC,YAG9Emc,EAAYE,sBAAwBvmB,KAAK4F,cAAcmS,eACvD/X,KAAK4F,cAAcmS,eAAiB,IAAIvZ,EAAKwZ,oBAC7ChY,KAAK4F,cAAcmS,eAAemB,WAAWvb,GAC7CA,EAAGkb,QAAQlb,EAAGihB,cAQd5e,KAAKkmB,YAAYpe,KAAKue,GAEtB,IAAIG,EAASH,EAAYze,aAAa,GAEtC5H,KAAK2kB,SAAW0B,EAAYC,YAAYviB,EACxC/D,KAAK4kB,SAAWyB,EAAYC,YAAYtiB,EAExC,IAAIjG,EAAUiC,KAAKmmB,YAAYtF,MAC3B9iB,EAMAA,EAAQoI,OAAOnG,KAAKpC,MAAQoC,KAAK4F,cAAchB,WAAY5E,KAAKnC,OAASmC,KAAK4F,cAAchB,YAJ5F7G,EAAU,IAAIS,EAAKioB,cAAczmB,KAAKrC,GAAIqC,KAAKpC,MAAQoC,KAAK4F,cAAchB,WAAY5E,KAAKnC,OAASmC,KAAK4F,cAAchB,YAO3HjH,EAAGM,YAAYN,EAAGO,WAAYH,EAAQA,SAEtC,IAAI8D,EAAawkB,EAAYC,YAEzBI,EAAUF,EAAOE,QACrB7kB,EAAWkC,GAAK2iB,EAChB7kB,EAAWmC,GAAK0iB,EAChB7kB,EAAWjE,OAAmB,EAAV8oB,EACpB7kB,EAAWhE,QAAoB,EAAV6oB,EAGlB7kB,EAAWkC,EAAI,IAAKlC,EAAWkC,EAAI,GACnClC,EAAWjE,MAAQoC,KAAKpC,QAASiE,EAAWjE,MAAQoC,KAAKpC,OACzDiE,EAAWmC,EAAI,IAAKnC,EAAWmC,EAAI,GACnCnC,EAAWhE,OAASmC,KAAKnC,SAAUgE,EAAWhE,OAASmC,KAAKnC,QAG/DF,EAAG+B,gBAAgB/B,EAAGgC,YAAa5B,EAAQ4oB,aAG3ChpB,EAAG6c,SAAS,EAAG,EAAG3Y,EAAWjE,MAAQoC,KAAK4F,cAAchB,WAAY/C,EAAWhE,OAASmC,KAAK4F,cAAchB,YAE3G4S,EAAWzT,EAAIlC,EAAWjE,MAAQ,EAClC4Z,EAAWxT,GAAKnC,EAAWhE,OAAS,EAEpC4Z,EAAO1T,GAAKlC,EAAWkC,EACvB0T,EAAOzT,GAAKnC,EAAWmC,EAUvBrG,EAAGohB,WAAU,GAAM,GAAM,GAAM,GAC/BphB,EAAG8c,WAAW,EAAE,EAAE,EAAG,GACrB9c,EAAGid,MAAMjd,EAAGkd,kBAEZwL,EAAYO,iBAAmB7oB,GAQnCS,EAAKsZ,mBAAmBxV,UAAUkK,UAAY,WAE1C,IAAI7O,EAAKqC,KAAKrC,GACV0oB,EAAcrmB,KAAKkmB,YAAYrF,MAC/Bhf,EAAawkB,EAAYC,YACzBvoB,EAAUsoB,EAAYO,iBACtBpP,EAAaxX,KAAK4F,cAAc4R,WAChCC,EAASzX,KAAK4F,cAAc6R,OAEhC,GAAG4O,EAAYze,aAAajF,OAAS,EACrC,CACIhF,EAAG6c,SAAS,EAAG,EAAG3Y,EAAWjE,MAAQoC,KAAK4F,cAAchB,WAAY/C,EAAWhE,OAASmC,KAAK4F,cAAchB,YAE3GjH,EAAG2iB,WAAW3iB,EAAG4iB,aAAcvgB,KAAKkjB,cAEpCljB,KAAK6mB,YAAY,GAAK,EACtB7mB,KAAK6mB,YAAY,GAAKhlB,EAAWhE,OAEjCmC,KAAK6mB,YAAY,GAAKhlB,EAAWjE,MACjCoC,KAAK6mB,YAAY,GAAKhlB,EAAWhE,OAEjCmC,KAAK6mB,YAAY,GAAK,EACtB7mB,KAAK6mB,YAAY,GAAK,EAEtB7mB,KAAK6mB,YAAY,GAAKhlB,EAAWjE,MACjCoC,KAAK6mB,YAAY,GAAK,EAEtBlpB,EAAGsnB,cAActnB,EAAG4iB,aAAc,EAAGvgB,KAAK6mB,aAE1ClpB,EAAG2iB,WAAW3iB,EAAG4iB,aAAcvgB,KAAK8mB,UAGpC9mB,KAAK+mB,QAAQ,GAAKllB,EAAWjE,MAAQoC,KAAKpC,MAC1CoC,KAAK+mB,QAAQ,GAAKllB,EAAWhE,OAASmC,KAAKnC,OAC3CmC,KAAK+mB,QAAQ,GAAKllB,EAAWjE,MAAQoC,KAAKpC,MAC1CoC,KAAK+mB,QAAQ,GAAKllB,EAAWhE,OAASmC,KAAKnC,OAE3CF,EAAGsnB,cAActnB,EAAG4iB,aAAc,EAAGvgB,KAAK+mB,SAE1C,IAAIC,EAAejpB,EACfkpB,EAAgBjnB,KAAKmmB,YAAYtF,MACjCoG,IAAiBA,EAAgB,IAAIzoB,EAAKioB,cAAczmB,KAAKrC,GAAIqC,KAAKpC,MAAQoC,KAAK4F,cAAchB,WAAY5E,KAAKnC,OAASmC,KAAK4F,cAAchB,aAClJqiB,EAAc9gB,OAAOnG,KAAKpC,MAAQoC,KAAK4F,cAAchB,WAAY5E,KAAKnC,OAASmC,KAAK4F,cAAchB,YAGlGjH,EAAG+B,gBAAgB/B,EAAGgC,YAAasnB,EAAcN,aACjDhpB,EAAGid,MAAMjd,EAAGkd,kBAEZld,EAAGkb,QAAQlb,EAAGsb,OAEd,IAAK,IAAIvW,EAAI,EAAGA,EAAI2jB,EAAYze,aAAajF,OAAS,EAAGD,IACzD,CACI,IAAIwkB,EAAab,EAAYze,aAAalF,GAE1C/E,EAAG+B,gBAAgB/B,EAAGgC,YAAasnB,EAAcN,aAGjDhpB,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGM,YAAYN,EAAGO,WAAY8oB,EAAajpB,SAM3CiC,KAAKmnB,gBAAgBD,EAAYrlB,EAAYA,EAAWjE,MAAOiE,EAAWhE,QAG1E,IAAI8P,EAAOqZ,EACXA,EAAeC,EACfA,EAAgBtZ,EAGpBhQ,EAAGqb,OAAOrb,EAAGsb,OAEblb,EAAUipB,EACVhnB,KAAKmmB,YAAYre,KAAKmf,GAG1B,IAAIT,EAASH,EAAYze,aAAaye,EAAYze,aAAajF,OAAS,GAExE3C,KAAK2kB,SAAW9iB,EAAWkC,EAC3B/D,KAAK4kB,SAAW/iB,EAAWmC,EAE3B,IAAIojB,EAAQpnB,KAAKpC,MACbypB,EAAQrnB,KAAKnC,OAEb8mB,EAAU,EACVC,EAAU,EAEVzJ,EAASnb,KAAKmb,OAGlB,GAA+B,IAA5Bnb,KAAKkmB,YAAYvjB,OAEhBhF,EAAGohB,WAAU,GAAM,GAAM,GAAM,OAGnC,CACI,IAAIuI,EAAgBtnB,KAAKkmB,YAAYlmB,KAAKkmB,YAAYvjB,OAAS,GAG/DykB,GAFAvlB,EAAaylB,EAAchB,aAER1oB,MACnBypB,EAAQxlB,EAAWhE,OAEnB8mB,EAAU9iB,EAAWkC,EACrB6gB,EAAU/iB,EAAWmC,EAErBmX,EAASmM,EAAcV,iBAAiBD,YAI5CnP,EAAWzT,EAAIqjB,EAAQ,EACvB5P,EAAWxT,GAAKqjB,EAAQ,EAExB5P,EAAO1T,EAAI4gB,EACXlN,EAAOzT,EAAI4gB,EAIX,IAAI7gB,GAFJlC,EAAawkB,EAAYC,aAENviB,EAAI4gB,EACnB3gB,EAAInC,EAAWmC,EAAI4gB,EAMvBjnB,EAAG2iB,WAAW3iB,EAAG4iB,aAAcvgB,KAAKkjB,cAEpCljB,KAAK6mB,YAAY,GAAK9iB,EACtB/D,KAAK6mB,YAAY,GAAK7iB,EAAInC,EAAWhE,OAErCmC,KAAK6mB,YAAY,GAAK9iB,EAAIlC,EAAWjE,MACrCoC,KAAK6mB,YAAY,GAAK7iB,EAAInC,EAAWhE,OAErCmC,KAAK6mB,YAAY,GAAK9iB,EACtB/D,KAAK6mB,YAAY,GAAK7iB,EAEtBhE,KAAK6mB,YAAY,GAAK9iB,EAAIlC,EAAWjE,MACrCoC,KAAK6mB,YAAY,GAAK7iB,EAEtBrG,EAAGsnB,cAActnB,EAAG4iB,aAAc,EAAGvgB,KAAK6mB,aAE1ClpB,EAAG2iB,WAAW3iB,EAAG4iB,aAAcvgB,KAAK8mB,UAEpC9mB,KAAK+mB,QAAQ,GAAKllB,EAAWjE,MAAQoC,KAAKpC,MAC1CoC,KAAK+mB,QAAQ,GAAKllB,EAAWhE,OAASmC,KAAKnC,OAC3CmC,KAAK+mB,QAAQ,GAAKllB,EAAWjE,MAAQoC,KAAKpC,MAC1CoC,KAAK+mB,QAAQ,GAAKllB,EAAWhE,OAASmC,KAAKnC,OAE3CF,EAAGsnB,cAActnB,EAAG4iB,aAAc,EAAGvgB,KAAK+mB,SAE1CppB,EAAG6c,SAAS,EAAG,EAAG4M,EAAQpnB,KAAK4F,cAAchB,WAAYyiB,EAAQrnB,KAAK4F,cAAchB,YAGpFjH,EAAG+B,gBAAgB/B,EAAGgC,YAAawb,GAQnCxd,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGM,YAAYN,EAAGO,WAAYH,EAAQA,SAGlCiC,KAAK4F,cAAcmS,gBAEnB/X,KAAK4F,cAAcmS,eAAevV,UAEtCxC,KAAK4F,cAAcmS,eAAiBsO,EAAYE,sBAChDF,EAAYE,sBAAwB,KAChCvmB,KAAK4F,cAAcmS,eAAeyG,MAAQ,EAE1C7gB,EAAGqb,OAAOrb,EAAGihB,cAIbjhB,EAAGkb,QAAQlb,EAAGihB,cAMlB5e,KAAKmnB,gBAAgBX,EAAQ3kB,EAAYulB,EAAOC,GAUhDrnB,KAAKmmB,YAAYre,KAAK/J,GACtBsoB,EAAYO,iBAAmB,MAYnCpoB,EAAKsZ,mBAAmBxV,UAAU6kB,gBAAkB,SAAUX,EAAQ3kB,EAAYjE,EAAOC,GAGrF,IAAIF,EAAKqC,KAAKrC,GACVsP,EAASuZ,EAAOzD,QAAQplB,EAAGuW,IAE3BjH,KAEAA,EAAS,IAAIzO,EAAK2S,WAAWxT,IAEtB8S,YAAc+V,EAAO/V,YAC5BxD,EAAOgG,SAAWuT,EAAOvT,SACzBhG,EAAOyE,MAAK,GAEZ8U,EAAOzD,QAAQplB,EAAGuW,IAAMjH,GAI5BjN,KAAK4F,cAAc8R,cAAcqI,UAAU9S,GAI3CtP,EAAGuiB,UAAUjT,EAAOmF,iBAAkBxU,EAAQ,GAAIC,EAAS,GAC3DF,EAAGuiB,UAAUjT,EAAOoF,aAAc,EAAE,GAEjCmU,EAAOvT,SAASX,aAEfkU,EAAOvT,SAASX,WAAWlL,MAAM,GAAKpH,KAAKpC,MAC3C4oB,EAAOvT,SAASX,WAAWlL,MAAM,GAAKpH,KAAKnC,OAC3C2oB,EAAOvT,SAASX,WAAWlL,MAAM,GAAKpH,KAAK6mB,YAAY,GACvDL,EAAOvT,SAASX,WAAWlL,MAAM,GAAKpH,KAAK6mB,YAAY,IAG3D5Z,EAAOiI,eAEPvX,EAAG2iB,WAAW3iB,EAAG4iB,aAAcvgB,KAAKkjB,cACpCvlB,EAAG6iB,oBAAoBvT,EAAOsF,gBAAiB,EAAG5U,EAAG8iB,OAAO,EAAO,EAAG,GAEtE9iB,EAAG2iB,WAAW3iB,EAAG4iB,aAAcvgB,KAAK8mB,UACpCnpB,EAAG6iB,oBAAoBvT,EAAOwF,cAAe,EAAG9U,EAAG8iB,OAAO,EAAO,EAAG,GAEpE9iB,EAAG2iB,WAAW3iB,EAAG4iB,aAAcvgB,KAAKV,aACpC3B,EAAG6iB,oBAAoBvT,EAAOyF,eAAgB,EAAG/U,EAAG8iB,OAAO,EAAO,EAAG,GAErE9iB,EAAG2iB,WAAW3iB,EAAG+iB,qBAAsB1gB,KAAK2gB,aAG5ChjB,EAAG2hB,aAAa3hB,EAAGkoB,UAAW,EAAGloB,EAAG6hB,eAAgB,GAEpDxf,KAAK4F,cAAcwS,aAQvB5Z,EAAKsZ,mBAAmBxV,UAAU8jB,kBAAoB,WAElD,IAAIzoB,EAAKqC,KAAKrC,GAGdqC,KAAKkjB,aAAevlB,EAAGwlB,eACvBnjB,KAAK8mB,SAAWnpB,EAAGwlB,eACnBnjB,KAAKV,YAAc3B,EAAGwlB,eACtBnjB,KAAK2gB,YAAchjB,EAAGwlB,eAMtBnjB,KAAK6mB,YAAc,IAAIvE,cAAe,EAAK,EACvC,EAAK,EACL,EAAK,EACL,EAAK,IAET3kB,EAAG2iB,WAAW3iB,EAAG4iB,aAAcvgB,KAAKkjB,cACpCvlB,EAAGylB,WAAWzlB,EAAG4iB,aAAcvgB,KAAK6mB,YAAalpB,EAAG0lB,aAGpDrjB,KAAK+mB,QAAU,IAAIzE,cAAe,EAAK,EACnC,EAAK,EACL,EAAK,EACL,EAAK,IAET3kB,EAAG2iB,WAAW3iB,EAAG4iB,aAAcvgB,KAAK8mB,UACpCnpB,EAAGylB,WAAWzlB,EAAG4iB,aAAcvgB,KAAK+mB,QAASppB,EAAG0lB,aAEhDrjB,KAAKunB,WAAa,IAAIjF,cAAe,EAAK,SACtC,EAAK,SACL,EAAK,SACL,EAAK,WAET3kB,EAAG2iB,WAAW3iB,EAAG4iB,aAAcvgB,KAAKV,aACpC3B,EAAGylB,WAAWzlB,EAAG4iB,aAAcvgB,KAAKunB,WAAY5pB,EAAG0lB,aAGnD1lB,EAAG2iB,WAAW3iB,EAAG+iB,qBAAsB1gB,KAAK2gB,aAC5ChjB,EAAGylB,WAAWzlB,EAAG+iB,qBAAsB,IAAI+B,aAAc,EAAG,EAAG,EAAG,EAAG,EAAG,IAAM9kB,EAAG0lB,cAQrF7kB,EAAKsZ,mBAAmBxV,UAAUE,QAAU,WAExC,IAAI7E,EAAKqC,KAAKrC,GAEdqC,KAAKkmB,YAAc,KAEnBlmB,KAAK2kB,QAAU,EACf3kB,KAAK4kB,QAAU,EAGf,IAAK,IAAIliB,EAAI,EAAGA,EAAI1C,KAAKmmB,YAAYxjB,OAAQD,IAEzC1C,KAAKmmB,YAAYzjB,GAAGF,UAGxBxC,KAAKmmB,YAAc,KAGnBxoB,EAAGmoB,aAAa9lB,KAAKkjB,cACrBvlB,EAAGmoB,aAAa9lB,KAAK8mB,UACrBnpB,EAAGmoB,aAAa9lB,KAAKV,aACrB3B,EAAGmoB,aAAa9lB,KAAK2gB,cAyBzB,IAAIngB,GACAgnB,MAAO,wBACPC,MAAO,qBACPC,MAAO,wBACPC,MAAO,2BAgwCP,OAztCJnpB,EAAKioB,cAAgB,SAAU9oB,EAAIC,EAAOC,EAAQC,EAAWmB,GAEzDA,EAAqC,iBAAhBA,EAA2BA,EAAc,EAM9De,KAAKrC,GAAKA,EAQVqC,KAAK2mB,YAAc3nB,EAAmBrB,EAAIC,EAAOC,EAAQC,GAAaU,EAAKC,WAAWmpB,QAAS3oB,GAM/Fe,KAAKjC,QAAUiC,KAAK2mB,YAAYlmB,cAChCT,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EACdmC,KAAKC,aAAeD,KAAK2mB,YAAY1mB,cAGzCzB,EAAKioB,cAAcnkB,UAAUC,YAAc/D,EAAKioB,cAOhDjoB,EAAKioB,cAAcnkB,UAAUsY,MAAQ,WAEjC,IAAIjd,EAAKqC,KAAKrC,GAEdA,EAAG8c,WAAW,EAAE,EAAE,EAAG,GACrB9c,EAAGid,MAAMjd,EAAGkd,mBAUhBrc,EAAKioB,cAAcnkB,UAAU6D,OAAS,SAAUvI,EAAOC,GAEnD,GAAGmC,KAAKpC,QAAUA,GAASoC,KAAKnC,SAAWA,EAA3C,CAEAmC,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEd,IAAIF,EAAKqC,KAAKrC,GACdA,EAAGM,YAAYN,EAAGO,WAAY8B,KAAKjC,SACnCJ,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGP,EAAGmB,KAAMlB,EAAQC,EAAS,EAAGF,EAAGmB,KAAMnB,EAAGoB,cAAe,MAGxFpB,EAAGiC,iBAAiBjC,EAAGkC,aAAcG,KAAKC,cAC1CtC,EAAGkqB,oBAAoBlqB,EAAGkC,aAAclC,EAAGmqB,cAAelqB,EAAQC,KAQtEW,EAAKioB,cAAcnkB,UAAUE,QAAU,WAEnC,IAAI7E,EAAKqC,KAAKrC,GACdA,EAAGoqB,kBAAkB/nB,KAAK2mB,aAC1BhpB,EAAGqqB,cAAchoB,KAAKjC,SAEtBiC,KAAK2mB,YAAc,KACnB3mB,KAAKjC,QAAU,MAenBS,EAAKypB,aAAe,SAAUrqB,EAAOC,GAQjCmC,KAAKpC,MAAQA,EAQboC,KAAKnC,OAASA,EAQdmC,KAAKkX,OAAS1V,OAAOqF,WAAW2B,OAAOxI,KAAMA,KAAKpC,MAAOoC,KAAKnC,QAQ9DmC,KAAK8N,QAAU9N,KAAKkX,OAAOsB,WAAW,MAEtCxY,KAAKkX,OAAOtZ,MAAQA,EACpBoC,KAAKkX,OAAOrZ,OAASA,GAGzBW,EAAKypB,aAAa3lB,UAAUC,YAAc/D,EAAKypB,aAQ/CzpB,EAAKypB,aAAa3lB,UAAUsY,MAAQ,WAEhC5a,KAAK8N,QAAQe,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GACzC7O,KAAK8N,QAAQoa,UAAU,EAAE,EAAGloB,KAAKpC,MAAOoC,KAAKnC,SAUjDW,EAAKypB,aAAa3lB,UAAU6D,OAAS,SAAUvI,EAAOC,GAElDmC,KAAKpC,MAAQoC,KAAKkX,OAAOtZ,MAAQA,EACjCoC,KAAKnC,OAASmC,KAAKkX,OAAOrZ,OAASA,GAQvCW,EAAKypB,aAAa3lB,UAAUE,QAAU,WAElChB,OAAOqF,WAAWuV,OAAOpc,OAa7BxB,EAAK2pB,kBAAoB,aAIzB3pB,EAAK2pB,kBAAkB7lB,UAAUC,YAAc/D,EAAK2pB,kBASpD3pB,EAAK2pB,kBAAkB7lB,UAAU+J,SAAW,SAAU2R,EAAUpY,GAE5D,IAAIkI,EAAUlI,EAAckI,QAE5BA,EAAQsa,OAER,IAAIC,EAAarK,EAAS/c,MACtBqnB,EAAYtK,EAASzc,eAErBqD,EAAagB,EAAchB,WAE/BkJ,EAAQe,aAAayZ,EAAUplB,EAAI0B,EAC/B0jB,EAAUnlB,EAAIyB,EACd0jB,EAAUllB,EAAIwB,EACd0jB,EAAUjlB,EAAIuB,EACd0jB,EAAUhlB,GAAKsB,EACf0jB,EAAU/kB,GAAKqB,GAEnBpG,EAAK+pB,eAAeC,mBAAmBxK,EAAUlQ,GAEjDA,EAAQ2a,OAERzK,EAAS1c,WAAa+mB,GAS1B7pB,EAAK2pB,kBAAkB7lB,UAAUiK,QAAU,SAAU3G,GAEjDA,EAAckI,QAAQ4a,WAa1BlqB,EAAKuQ,aAAe,aAWpBvQ,EAAKuQ,aAAaC,iBAAmB,SAAUuU,EAAQlN,GAEnD,IAAIa,EAASqM,EAAO3c,eAAiBpF,OAAOqF,WAAW2B,OAAOxI,MAI9D,OAFAxB,EAAKuQ,aAAa4Z,WAAWpF,EAAOxlB,QAASsY,EAAOa,GAE7CA,GAYX1Y,EAAKuQ,aAAa6Z,iBAAmB,SAAU7qB,EAASsY,EAAOa,GAE3D,IAAIpJ,EAAUoJ,EAAOsB,WAAW,MAE5B5K,EAAO7P,EAAQ6P,KACfyH,EAAIzH,EAAKhQ,MACT4mB,EAAI5W,EAAK/P,OAETE,EAAQ2Q,UAER2G,EAAImP,EACJA,EAAI5W,EAAKhQ,OAGTsZ,EAAOtZ,QAAUyX,GAAK6B,EAAOrZ,SAAW2mB,IAExCtN,EAAOtZ,MAAQyX,EACf6B,EAAOrZ,OAAS2mB,GAGpB1W,EAAQoa,UAAU,EAAG,EAAG7S,EAAGmP,GAE3B1W,EAAQ+a,UAAY,KAAO,SAAmB,EAARxS,GAAWyS,SAAS,KAAKC,QAAQ,GACvEjb,EAAQkb,SAAS,EAAG,EAAG3T,EAAGmP,GAE1B1W,EAAQC,yBAA2B,WACnCD,EAAQmB,UAAUlR,EAAQqI,YAAYgJ,OAAQxB,EAAK7J,EAAG6J,EAAK5J,EAAGqR,EAAGmP,EAAG,EAAG,EAAGnP,EAAGmP,GAE7E1W,EAAQC,yBAA2B,mBACnCD,EAAQmB,UAAUlR,EAAQqI,YAAYgJ,OAAQxB,EAAK7J,EAAG6J,EAAK5J,EAAGqR,EAAGmP,EAAG,EAAG,EAAGnP,EAAGmP,IAYjFhmB,EAAKuQ,aAAaka,iBAAmB,SAAUlrB,EAASsY,EAAOa,GAE3D,IAAIpJ,EAAUoJ,EAAOsB,WAAW,MAE5B5K,EAAO7P,EAAQ6P,KACfyH,EAAIzH,EAAKhQ,MACT4mB,EAAI5W,EAAK/P,OAETE,EAAQ2Q,UAER2G,EAAImP,EACJA,EAAI5W,EAAKhQ,OAGTsZ,EAAOtZ,QAAUyX,GAAK6B,EAAOrZ,SAAW2mB,IAExCtN,EAAOtZ,MAAQyX,EACf6B,EAAOrZ,OAAS2mB,GAGpB1W,EAAQC,yBAA2B,OAEnCD,EAAQmB,UAAUlR,EAAQqI,YAAYgJ,OAAQxB,EAAK7J,EAAG6J,EAAK5J,EAAGqR,EAAGmP,EAAG,EAAG,EAAGnP,EAAGmP,GAW7E,IAAK,IATD0E,EAAY1nB,OAAO4e,MAAMC,cAAchK,GACvCnS,EAAIglB,EAAU,GACdvO,EAAIuO,EAAU,GACd/lB,EAAI+lB,EAAU,GAEdC,EAAYrb,EAAQsb,aAAa,EAAG,EAAG/T,EAAGmP,GAE1C6E,EAASF,EAAU/U,KAEd1R,EAAI,EAAGA,EAAI2mB,EAAO1mB,OAAQD,GAAK,EAMpC,GAJA2mB,EAAO3mB,EAAI,IAAMwB,EACjBmlB,EAAO3mB,EAAI,IAAMiY,EACjB0O,EAAO3mB,EAAI,IAAMS,GAEZ3E,EAAKuQ,aAAaua,eACvB,CACI,IAAIroB,EAAQooB,EAAO3mB,EAAI,GAEvB2mB,EAAO3mB,EAAI,IAAM,IAAMzB,EACvBooB,EAAO3mB,EAAI,IAAM,IAAMzB,EACvBooB,EAAO3mB,EAAI,IAAM,IAAMzB,EAI/B6M,EAAQyb,aAAaJ,EAAW,EAAG,IAevC3qB,EAAKgrB,eAAiB,SAAUzmB,EAAMyT,GAyFlC,GApFAxW,KAAK+C,KAAOA,EAEPvE,EAAKiY,kBAENjY,EAAKiY,gBAAkBzW,MAS3BA,KAAKwT,KAAOhS,OAAOioB,OAQnBzpB,KAAK4E,WAAa7B,EAAK6B,WAYvB5E,KAAK+W,kBAAoBhU,EAAKgU,kBAQ9B/W,KAAK4W,YAAc7T,EAAK6T,YAQxB5W,KAAK6W,YAAa,EASlB7W,KAAKpC,MAAQmF,EAAKnF,MAAQoC,KAAK4E,WAS/B5E,KAAKnC,OAASkF,EAAKlF,OAASmC,KAAK4E,WAQjC5E,KAAKiX,KAAOlU,EAAKmU,OAOjBlX,KAAK8N,QAAU9N,KAAKiX,KAAKuB,WAAW,MAAQvX,MAAOjB,KAAK4W,eAEnD5W,KAAK8N,QAEN,MAAM,IAAI/E,MAAM,yCASpB/I,KAAK0pB,SAAU,EAQf1pB,KAAKwe,MAAQ,EAObxe,KAAKoM,YAAc,IAAI5N,EAAK2pB,kBAO5BnoB,KAAK4F,eACDkI,QAAS9N,KAAK8N,QACd1B,YAAapM,KAAKoM,YAClBtO,UAAW,KACXoQ,eAAgB1M,OAAOmoB,OAAOC,mBAAmB5pB,KAAK8N,SAMtDc,YAAa4H,EAAO5H,cAAe,GAGvC5O,KAAKuY,gBAELvY,KAAKmG,OAAOnG,KAAKpC,MAAOoC,KAAKnC,SAIjCW,EAAKgrB,eAAelnB,UAAUC,YAAc/D,EAAKgrB,eAQjDhrB,EAAKgrB,eAAelnB,UAAU6C,OAAS,SAAUzE,GAE7CV,KAAK8N,QAAQe,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GAEzC7O,KAAK8N,QAAQG,YAAc,EAE3BjO,KAAK4F,cAAciI,iBAAmB,EACtC7N,KAAK4F,cAAc0I,OAAStO,KAAK+C,KAAK+X,OAAOC,OAAOhX,EACpD/D,KAAK4F,cAAc2I,OAASvO,KAAK+C,KAAK+X,OAAOC,OAAO/W,EAEpDhE,KAAK8N,QAAQC,yBAA2B,cAEpC8b,UAAUC,YAAc9pB,KAAKiX,KAAK8S,eAElC/pB,KAAK8N,QAAQ+a,UAAY,QACzB7oB,KAAK8N,QAAQ8M,SAGb5a,KAAK+W,oBAED/W,KAAK4W,YAEL5W,KAAK8N,QAAQoa,UAAU,EAAG,EAAGloB,KAAKpC,MAAOoC,KAAKnC,QAEzC6C,EAAKga,WAEV1a,KAAK8N,QAAQ+a,UAAYnoB,EAAKga,SAASsP,KACvChqB,KAAK8N,QAAQkb,SAAS,EAAG,EAAGhpB,KAAKpC,MAAQoC,KAAKnC,UAItDmC,KAAKgb,oBAAoBta,IAG7BlC,EAAKgrB,eAAelnB,UAAU2Y,WAAa,aAK3Czc,EAAKgrB,eAAelnB,UAAUqX,mBAAqB,aAiBnDnb,EAAKgrB,eAAelnB,UAAUE,QAAU,SAAUynB,QAE3B1jB,IAAf0jB,IAA4BA,GAAa,GAEzCA,GAAcjqB,KAAKiX,KAAK5V,QAExBrB,KAAKiX,KAAK5V,OAAOwH,YAAY7I,KAAKiX,MAGtCjX,KAAKiX,KAAO,KACZjX,KAAK8N,QAAU,KACf9N,KAAKoM,YAAc,KACnBpM,KAAK4F,cAAgB,MAUzBpH,EAAKgrB,eAAelnB,UAAU6D,OAAS,SAAUvI,EAAOC,GAEpDmC,KAAKpC,MAAQA,EAAQoC,KAAK4E,WAC1B5E,KAAKnC,OAASA,EAASmC,KAAK4E,WAE5B5E,KAAKiX,KAAKrZ,MAAQoC,KAAKpC,MACvBoC,KAAKiX,KAAKpZ,OAASmC,KAAKnC,OAEpBmC,KAAK6W,aAEL7W,KAAKiX,KAAKsE,MAAM3d,MAAQoC,KAAKpC,MAAQoC,KAAK4E,WAAa,KACvD5E,KAAKiX,KAAKsE,MAAM1d,OAASmC,KAAKnC,OAASmC,KAAK4E,WAAa,MAGzD5E,KAAK4F,cAAcsI,iBAEnBlO,KAAK8N,QAAQ9N,KAAK4F,cAAcsI,gBAAmBlO,KAAK4F,cAAc9H,YAAcU,EAAKC,WAAWC,SAa5GF,EAAKgrB,eAAelnB,UAAU0Y,oBAAsB,SAAUE,EAAepN,EAASJ,GAElF1N,KAAK4F,cAAckI,QAAUA,GAAW9N,KAAK8N,QAC7C9N,KAAK4F,cAAchB,WAAa5E,KAAK4E,WACrCsW,EAAclV,cAAchG,KAAK4F,cAAe8H,IASpDlP,EAAKgrB,eAAelnB,UAAUiW,cAAgB,WAE1C,IAAK/Z,EAAKwP,iBACV,CACI,IAAI7K,KACAmZ,EAAQ9d,EAAK0J,WACbgiB,EAASlqB,KAAK+C,KAAKonB,OAAOC,eAE9BjnB,EAAEmZ,EAAMlU,QAAU,cAClBjF,EAAEmZ,EAAMG,KAAO,UACftZ,EAAEmZ,EAAMnU,UAAY,EAAW,WAAa,cAC5ChF,EAAEmZ,EAAMO,QAAU,EAAW,SAAW,cACxC1Z,EAAEmZ,EAAMQ,SAAW,EAAW,UAAY,cAC1C3Z,EAAEmZ,EAAMS,QAAU,EAAW,SAAW,cACxC5Z,EAAEmZ,EAAMU,SAAW,EAAW,UAAY,cAC1C7Z,EAAEmZ,EAAMW,aAAe,EAAW,cAAgB,cAClD9Z,EAAEmZ,EAAMY,YAAc,EAAW,aAAe,cAChD/Z,EAAEmZ,EAAMa,YAAc,EAAW,aAAe,cAChDha,EAAEmZ,EAAMc,YAAc,EAAW,aAAe,cAChDja,EAAEmZ,EAAMe,YAAc,EAAW,aAAe,cAChDla,EAAEmZ,EAAMgB,WAAa,EAAW,YAAc,cAC9Cna,EAAEmZ,EAAMiB,KAAO,EAAW,MAAQ,cAClCpa,EAAEmZ,EAAMkB,YAAc,EAAW,aAAe,cAChDra,EAAEmZ,EAAMmB,OAAS,EAAW,QAAU,cACtCta,EAAEmZ,EAAMoB,YAAc,EAAW,aAAe,cAEhDlf,EAAKwP,iBAAmB7K,IAiBhC3E,EAAK6rB,YAAc,SAAUjb,EAAQtR,EAAW8G,GAQ5C5E,KAAK4E,WAAaA,GAAc,EAShC5E,KAAKpC,MAAQ,IASboC,KAAKnC,OAAS,IASdmC,KAAKlC,UAAYA,GAAaU,EAAKC,WAAWmpB,QAS9C5nB,KAAKmN,WAAY,EAQjBnN,KAAKoP,OAASA,EASdpP,KAAKsX,oBAAqB,EAS1BtX,KAAKiU,eASLjU,KAAK4b,QAAS,EAOd5b,KAAKsG,aAAe,EAOpBtG,KAAKsV,SAAW,GAAM,GAAM,GAAM,GAE7BlG,KAKApP,KAAKoP,OAAOkb,UAAYtqB,KAAKoP,OAAOoJ,aAAexY,KAAKoP,OAAOxR,OAASoC,KAAKoP,OAAOvR,SAErFmC,KAAKmN,WAAY,EACjBnN,KAAKpC,MAAQoC,KAAKoP,OAAOmb,cAAgBvqB,KAAKoP,OAAOxR,MACrDoC,KAAKnC,OAASmC,KAAKoP,OAAOob,eAAiBxqB,KAAKoP,OAAOvR,OACvDmC,KAAKwR,SAYTxR,KAAKwN,YAAa,EAOlBxN,KAAKic,WAAY,IAGrBzd,EAAK6rB,YAAY/nB,UAAUC,YAAc/D,EAAK6rB,YAW9C7rB,EAAK6rB,YAAY/nB,UAAUmoB,YAAc,SAAU7sB,EAAOC,GAEtDmC,KAAKmN,WAAY,EACjBnN,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EACdmC,KAAKwR,SAQThT,EAAK6rB,YAAY/nB,UAAUE,QAAU,WAE7BxC,KAAKoP,QAEL5N,OAAOqF,WAAWC,eAAe9G,KAAKoP,QAG1CpP,KAAKoP,OAAS,KAEdpP,KAAK0qB,iBAQTlsB,EAAK6rB,YAAY/nB,UAAUkP,MAAQ,WAE/B,IAAK,IAAI9O,EAAI,EAAGA,EAAI1C,KAAKiU,YAAYtR,OAAQD,IAEzC1C,KAAKsV,OAAO5S,IAAK,GAUzBlE,EAAK6rB,YAAY/nB,UAAUooB,cAAgB,WAEvC1qB,KAAKwR,QAGL,IAAK,IAAI9O,EAAI1C,KAAKiU,YAAYtR,OAAS,EAAGD,GAAK,EAAGA,IAClD,CACI,IAAIioB,EAAY3qB,KAAKiU,YAAYvR,GAC7B/E,EAAKa,EAAK8X,WAAW5T,GAEtB/E,GAAMgtB,GAELhtB,EAAGqqB,cAAc2C,GAIzB3qB,KAAKiU,YAAYtR,OAAS,EAE1B3C,KAAKwR,SAaThT,EAAK6rB,YAAYO,WAAa,SAAU1T,EAAQpZ,EAAW8G,GAcvD,OAZqB,IAAjBsS,EAAOtZ,QAEPsZ,EAAOtZ,MAAQ,GAGG,IAAlBsZ,EAAOrZ,SAEPqZ,EAAOrZ,OAAS,GAGpB+G,EAAaA,GAAc,EAEpB,IAAIpG,EAAK6rB,YAAYnT,EAAQpZ,EAAW8G,IAcnDpG,EAAKqsB,mBAAoB,EAazBrsB,EAAKqO,QAAU,SAAUzG,EAAaiH,EAAOO,EAAMQ,GAQ/CpO,KAAK8qB,SAAU,EAEVzd,IAEDrN,KAAK8qB,SAAU,EACfzd,EAAQ,IAAI7O,EAAKyD,UAAU,EAAE,EAAE,EAAE,IAGjCmE,aAAuB5H,EAAKqO,UAE5BzG,EAAcA,EAAYA,aAS9BpG,KAAKoG,YAAcA,EAQnBpG,KAAKqN,MAAQA,EAQbrN,KAAKoO,KAAOA,EAQZpO,KAAKyN,OAAQ,EAQbzN,KAAK+qB,UAAW,EAQhB/qB,KAAKgrB,gBAAiB,EAQtBhrB,KAAK8O,gBAAiB,EAStB9O,KAAKyjB,KAAO,KAQZzjB,KAAKpC,MAAQ,EAQboC,KAAKnC,OAAS,EASdmC,KAAK4N,KAAOA,GAAQ,IAAIpP,EAAKyD,UAAU,EAAG,EAAG,EAAG,GAUhDjC,KAAK0O,SAAU,EAEXtI,EAAY+G,YAERnN,KAAK8qB,UAAWzd,EAAQ,IAAI7O,EAAKyD,UAAU,EAAG,EAAGmE,EAAYxI,MAAOwI,EAAYvI,SACpFmC,KAAKirB,SAAS5d,KAItB7O,EAAKqO,QAAQvK,UAAUC,YAAc/D,EAAKqO,QAQ1CrO,EAAKqO,QAAQvK,UAAU4oB,oBAAsB,WAEzC,IAAI9kB,EAAcpG,KAAKoG,YAEnBpG,KAAK8qB,UAEL9qB,KAAKqN,MAAQ,IAAI7O,EAAKyD,UAAU,EAAG,EAAGmE,EAAYxI,MAAOwI,EAAYvI,SAGzEmC,KAAKirB,SAASjrB,KAAKqN,QASvB7O,EAAKqO,QAAQvK,UAAUE,QAAU,SAAU+K,GAEnCA,GAAevN,KAAKoG,YAAY5D,UAEpCxC,KAAKyN,OAAQ,GASjBjP,EAAKqO,QAAQvK,UAAU2oB,SAAW,SAAU5d,GAaxC,GAXArN,KAAK8qB,SAAU,EAEf9qB,KAAKqN,MAAQA,EACbrN,KAAKpC,MAAQyP,EAAMzP,MACnBoC,KAAKnC,OAASwP,EAAMxP,OAEpBmC,KAAK4N,KAAK7J,EAAIsJ,EAAMtJ,EACpB/D,KAAK4N,KAAK5J,EAAIqJ,EAAMrJ,EACpBhE,KAAK4N,KAAKhQ,MAAQyP,EAAMzP,MACxBoC,KAAK4N,KAAK/P,OAASwP,EAAMxP,OAEpBmC,KAAKoO,QAASf,EAAMtJ,EAAIsJ,EAAMzP,MAAQoC,KAAKoG,YAAYxI,OAASyP,EAAMrJ,EAAIqJ,EAAMxP,OAASmC,KAAKoG,YAAYvI,QAW/GmC,KAAKyN,MAAQJ,GAASA,EAAMzP,OAASyP,EAAMxP,QAAUmC,KAAKoG,YAAYgJ,QAAUpP,KAAKoG,YAAY+G,UAE7FnN,KAAKoO,OAELpO,KAAKpC,MAAQoC,KAAKoO,KAAKxQ,MACvBoC,KAAKnC,OAASmC,KAAKoO,KAAKvQ,OACxBmC,KAAKqN,MAAMzP,MAAQoC,KAAKoO,KAAKxQ,MAC7BoC,KAAKqN,MAAMxP,OAASmC,KAAKoO,KAAKvQ,QAG9BmC,KAAKyN,OAASzN,KAAKmrB,iBArBvB,CAEI,IAAK3sB,EAAKqsB,kBAEN,MAAM,IAAI9hB,MAAM,wEAA0E/I,MAG9FA,KAAKyN,OAAQ,IAuBrBjP,EAAKqO,QAAQvK,UAAU6oB,WAAa,WAE5BnrB,KAAKyjB,OAAQzjB,KAAKyjB,KAAO,IAAIjlB,EAAK+lB,YAEtC,IAAIlX,EAAQrN,KAAK4N,KACbwd,EAAKprB,KAAKoG,YAAYxI,MACtBytB,EAAKrrB,KAAKoG,YAAYvI,OAE1BmC,KAAKyjB,KAAKU,GAAK9W,EAAMtJ,EAAIqnB,EACzBprB,KAAKyjB,KAAKW,GAAK/W,EAAMrJ,EAAIqnB,EAEzBrrB,KAAKyjB,KAAKnY,IAAM+B,EAAMtJ,EAAIsJ,EAAMzP,OAASwtB,EACzCprB,KAAKyjB,KAAKlY,GAAK8B,EAAMrJ,EAAIqnB,EAEzBrrB,KAAKyjB,KAAKjY,IAAM6B,EAAMtJ,EAAIsJ,EAAMzP,OAASwtB,EACzCprB,KAAKyjB,KAAKhY,IAAM4B,EAAMrJ,EAAIqJ,EAAMxP,QAAUwtB,EAE1CrrB,KAAKyjB,KAAK/X,GAAK2B,EAAMtJ,EAAIqnB,EACzBprB,KAAKyjB,KAAK9X,IAAM0B,EAAMrJ,EAAIqJ,EAAMxP,QAAUwtB,GAS9C7sB,EAAKqO,QAAQvK,UAAU4hB,mBAAqB,WAEnClkB,KAAKyjB,OAAQzjB,KAAKyjB,KAAO,IAAIjlB,EAAK+lB,YAEvC,IAAIlX,EAAQrN,KAAK4N,KACbwd,EAAKprB,KAAKoG,YAAYxI,MACtBytB,EAAKrrB,KAAKoG,YAAYvI,OAE1BmC,KAAKyjB,KAAKU,GAAK9W,EAAMtJ,EAAIqnB,EACzBprB,KAAKyjB,KAAKW,GAAK/W,EAAMrJ,EAAIqnB,EAEzBrrB,KAAKyjB,KAAKnY,IAAM+B,EAAMtJ,EAAIsJ,EAAMxP,QAAUutB,EAC1CprB,KAAKyjB,KAAKlY,GAAK8B,EAAMrJ,EAAIqnB,EAEzBrrB,KAAKyjB,KAAKjY,IAAM6B,EAAMtJ,EAAIsJ,EAAMxP,QAAUutB,EAC1CprB,KAAKyjB,KAAKhY,IAAM4B,EAAMrJ,EAAIqJ,EAAMzP,OAASytB,EAEzCrrB,KAAKyjB,KAAK/X,GAAK2B,EAAMtJ,EAAIqnB,EACzBprB,KAAKyjB,KAAK9X,IAAM0B,EAAMrJ,EAAIqJ,EAAMzP,OAASytB,GAY7C7sB,EAAKqO,QAAQ+d,WAAa,SAAU1T,EAAQpZ,GAExC,IAAIsI,EAAc5H,EAAK6rB,YAAYO,WAAW1T,EAAQpZ,GAEtD,OAAO,IAAIU,EAAKqO,QAAQzG,IAG5B5H,EAAK+lB,WAAa,WAEdvkB,KAAKmkB,GAAK,EACVnkB,KAAKokB,GAAK,EAEVpkB,KAAKsL,GAAK,EACVtL,KAAKuL,GAAK,EAEVvL,KAAKwL,GAAK,EACVxL,KAAKyL,GAAK,EAEVzL,KAAK0L,GAAK,EACV1L,KAAK2L,GAAK,GAOa,oBAAZ2f,SACe,oBAAXC,QAA0BA,OAAOD,UACxCA,QAAUC,OAAOD,QAAU9sB,GAE/B8sB,QAAQ9sB,KAAOA,GACU,oBAAXgtB,QAA0BA,OAAOC,IAC/CD,OAAO,OAA6B9qB,EAAKlC,KAAOA,GAEhDkC,EAAKlC,KAAOA,EAGTA,IACRgG,KAAKxE,MAOR,WAEI,IAAIU,EAAOV,KAWXwB,EAASA,IAOTkqB,QAAS,SAOTC,SAOAC,KAAM,EAONnC,OAAQ,EAOR9S,MAAO,EAOPkV,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,GA2BdxnB,YACIE,OAAQ,EACRqU,IAAK,EACLtU,SAAU,EACV0U,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,IAehBjf,YACImpB,QAAS,EACTlpB,OAAQ,EACRC,QAAS,GAGbH,KAAMA,SAGN4S,KAAM,GA4HV,GAnHqC,oBAA1Bue,wBAEFA,sBAAsBrtB,UAAUgK,QAEjCqjB,sBAAsBrtB,UAAUgK,MAAQqjB,sBAAsBrtB,UAAUstB,aAEvED,sBAAsBrtB,UAAU6J,OAEjCwjB,sBAAsBrtB,UAAU6J,KAAOwjB,sBAAsBrtB,UAAUutB,UAK1EnsB,KAAKosB,QAENpsB,KAAKosB,MAAQ,SAAgB/rB,GAEzB,OAAOA,EAAI,EAAIL,KAAKwC,KAAKnC,GAAKL,KAAKqsB,MAAMhsB,KAO5CisB,SAAS1tB,UAAU2tB,OAEpBD,SAAS1tB,UAAU2tB,KAAO,WAEtB,IAAIC,EAAQzoB,MAAMnF,UAAU4tB,MAE5B,OAAO,SAAUC,GAUb,SAASC,IAEL,IAAIC,EAAOC,EAAUC,OAAOL,EAAM1rB,KAAKgsB,YACvCxoB,EAAOzC,MAAMvF,gBAAgBowB,EAAQpwB,KAAOmwB,EAASE,GAXzD,IAAIroB,EAAShI,KACTswB,EAAYJ,EAAM1rB,KAAKgsB,UAAW,GAEtC,GAAsB,mBAAXxoB,EAEP,MAAM,IAAIyoB,UAsBd,OAbAL,EAAM9tB,UAAY,SAAUouB,EAAGC,GAO3B,GALIA,IAEAD,EAAEpuB,UAAYquB,KAGZ3wB,gBAAgB0wB,GAElB,OAAO,IAAIA,EATD,CAWf1oB,EAAO1F,WAEH8tB,GAjCW,IAyCzB3oB,MAAMC,UAEPD,MAAMC,QAAU,SAAUkpB,GAEtB,MAA+C,mBAAxC5pB,OAAO1E,UAAUwmB,SAAStkB,KAAKosB,KAQzCnpB,MAAMnF,UAAUuuB,UAEjBppB,MAAMnF,UAAUuuB,QAAU,SAAUC,GAEhC,aAEA,QAAa,IAAT9wB,MAA4B,OAATA,KAEnB,MAAM,IAAIywB,UAGd,IAAIM,EAAI/pB,OAAOhH,MACXgxB,EAAMD,EAAEpuB,SAAW,EAEvB,GAAmB,mBAARmuB,EAEP,MAAM,IAAIL,UAKd,IAAK,IAFDN,EAAUK,UAAU7tB,QAAU,EAAI6tB,UAAU,QAAK,EAE5C9tB,EAAI,EAAGA,EAAIsuB,EAAKtuB,IAEjBA,KAAKquB,GAELD,EAAItsB,KAAK2rB,EAASY,EAAEruB,GAAIA,EAAGquB,KAWT,mBAAvB3gB,OAAOoS,aAA4D,iBAAvBpS,OAAOoS,YAC9D,CACI,IAAIyO,EAAa,SAAUzd,GAGvB,IAAImd,EAAQ,IAAIlpB,MAGhB2I,OAAOoD,GAAQ,SAAUod,GAErB,GAAoB,iBAAV,EACV,CACInpB,MAAMjD,KAAKxE,KAAM4wB,GACjB5wB,KAAK2C,OAASiuB,EAEd,IAASluB,EAAI,EAAGA,EAAI1C,KAAK2C,OAAQD,IAE7B1C,KAAK0C,GAAK,MAIlB,CACI+E,MAAMjD,KAAKxE,KAAM4wB,EAAIjuB,QAErB3C,KAAK2C,OAASiuB,EAAIjuB,OAElB,IAAK,IAAID,EAAI,EAAGA,EAAI1C,KAAK2C,OAAQD,IAE7B1C,KAAK0C,GAAKkuB,EAAIluB,KAK1B0N,OAAOoD,GAAMlR,UAAYquB,EACzBvgB,OAAOoD,GAAMjR,YAAc6N,OAAOoD,IAGtCyd,EAAW,gBACXA,EAAW,eACXA,EAAW,eACXA,EAAW,cACXA,EAAW,eAMV7gB,OAAO9P,UAER8P,OAAO9P,WACP8P,OAAO9P,QAAQ+P,IAAMD,OAAO9P,QAAQ4wB,OAAS,aAC7C9gB,OAAO9P,QAAQ+Z,KAAOjK,OAAO9P,QAAQ4wB,OAAS,cAO7ClqB,OAAOmqB,SAGRnqB,OAAOmqB,OAAS,SAAUnpB,EAAQopB,GAE9B,aACA,GAAc,MAAVppB,EAEA,MAAM,IAAIyoB,UAAU,8CAMxB,IAAK,IAHDY,EAAKrqB,OAAOgB,GACZspB,EAAStqB,OAAO1E,UAAUivB,eAErB3oB,EAAQ,EAAGA,EAAQ4nB,UAAU7tB,OAAQiG,IAC9C,CACI,IAAI4oB,EAAahB,UAAU5nB,GAE3B,GAAkB,MAAd4oB,EAEA,IAAK,IAAIC,KAAWD,EAGZF,EAAO9sB,KAAKgtB,EAAYC,KAExBJ,EAAGI,GAAWD,EAAWC,IAKzC,OAAOJ,IAcf7vB,EAAOkwB,OAEHC,SAAU,SAAU3pB,EAAQ2pB,GAIxB,IAAK,IAFDC,EAAO5qB,OAAO4qB,KAAKD,GAEdjvB,EAAI,EAAGsuB,EAAMY,EAAKjvB,OAAQD,EAAIsuB,EAAKtuB,IAC5C,CACI,IAAIsQ,EAAM4e,EAAKlvB,QAEK6D,IAAhByB,EAAOgL,KAEPhL,EAAOgL,GAAO2e,EAAS3e,IAI/B,OAAOhL,GAWX6pB,cAAe,SAAUC,GAErB,OAAOA,EAAOC,MAAM,IAAIxT,UAAUzO,KAAK,KAW3CkiB,YAAa,SAAUC,EAAKC,GAExB,IAAIC,EAAQD,EAAKH,MAAM,KAEvB,OAAQI,EAAMxvB,QAEV,KAAK,EACD,OAAOsvB,EAAIC,GACf,KAAK,EACD,OAAOD,EAAIE,EAAM,IAAIA,EAAM,IAC/B,KAAK,EACD,OAAOF,EAAIE,EAAM,IAAIA,EAAM,IAAIA,EAAM,IACzC,KAAK,EACD,OAAOF,EAAIE,EAAM,IAAIA,EAAM,IAAIA,EAAM,IAAIA,EAAM,IACnD,QACI,OAAOnyB,KAAKoyB,aAAaH,EAAKC,KAoB1CG,cAAe,SAAUJ,EAAKK,GAE1B,IAAK,IAAIJ,KAAQI,EAEbtyB,KAAKuyB,YAAYN,EAAKC,EAAMI,EAAMJ,IAGtC,OAAOD,GAiBXM,YAAa,SAAUN,EAAKC,EAAM9qB,GAE9B,IAAI+qB,EAAQD,EAAKH,MAAM,KAEvB,OAAQI,EAAMxvB,QAEV,KAAK,EACDsvB,EAAIC,GAAQ9qB,EACZ,MACJ,KAAK,EACD6qB,EAAIE,EAAM,IAAIA,EAAM,IAAM/qB,EAC1B,MACJ,KAAK,EACD6qB,EAAIE,EAAM,IAAIA,EAAM,IAAIA,EAAM,IAAM/qB,EACpC,MACJ,KAAK,EACD6qB,EAAIE,EAAM,IAAIA,EAAM,IAAIA,EAAM,IAAIA,EAAM,IAAM/qB,EAC9C,MACJ,QACIpH,KAAKwyB,aAAaP,EAAKC,EAAM9qB,KAazCgrB,aAAc,SAAUH,EAAKC,GAOzB,IALA,IAAIC,EAAQD,EAAKH,MAAM,KACnBf,EAAMmB,EAAMxvB,OACZD,EAAI,EACJ+vB,EAAMR,EAEHvvB,EAAIsuB,GACX,CACI,IAAIhe,EAAMmf,EAAMzvB,GAEhB,GAAW,MAAP+vB,EAOA,OALAA,EAAMA,EAAIzf,GACVtQ,IAQR,OAAO+vB,GAaXD,aAAc,SAAUP,EAAKC,EAAM9qB,GAE/B,IAAI+qB,EAAQD,EAAKH,MAAM,KACnBf,EAAMmB,EAAMxvB,OACZD,EAAI,EACJgwB,EAAaT,EACbjf,EAAMmf,EAAM,GAEhB,GAAY,IAARnB,EAEAiB,EAAIC,GAAQ9qB,MAGhB,CACI,KAAO1E,EAAKsuB,EAAM,GAEd0B,EAAaA,EAAW1f,GAExBA,EAAMmf,IADNzvB,GAIJgwB,EAAW1f,GAAO5L,EAGtB,OAAO6qB,GAaXU,WAAY,SAAUC,GAGlB,YADersB,IAAXqsB,IAAwBA,EAAS,IAC9BA,EAAS,GAAsB,IAAhBlvB,KAAKmvB,UAAkBD,GAWjDE,aAAc,SAAUC,EAASC,GAE7B,OAAQtvB,KAAKmvB,SAAW,GAAOE,EAAUC,GAW7CC,eAAgB,SAAUlR,EAAMmR,GAE5B,IAAIC,EAAI,EACJC,EAAK,EA4BT,MA1BoB,iBAATrR,EAGiB,MAApBA,EAAKgH,QAAQ,IAEboK,EAAIE,SAAStR,EAAM,IAAM,IAIrBqR,EAFc,IAAdF,EAEK9iB,OAAOkjB,WAAaH,EAIpB/iB,OAAOmjB,YAAcJ,GAK9BC,EAAKC,SAAStR,EAAM,IAKxBqR,EAAKrR,EAGFqR,GA8BXI,IAAK,SAAUC,EAAKzC,EAAKwC,EAAKE,GAE1B,QAAYntB,IAARyqB,EAAqB,IAAIA,EAAM,EACnC,QAAYzqB,IAARitB,EAAqB,IAAIA,EAAM,IACnC,QAAYjtB,IAARmtB,EAAqB,IAAIA,EAAM,EAInC,IAAIC,EAAS,EAEb,GAAI3C,EAAM,IAJVyC,EAAMA,EAAI3K,YAISnmB,OAEf,OAAQ+wB,GAEJ,KAAK,EACDD,EAAM,IAAIhsB,MAAMupB,EAAM,EAAIyC,EAAI9wB,QAAQmN,KAAK0jB,GAAOC,EAClD,MAEJ,KAAK,EACD,IAAIG,EAAQlwB,KAAKwC,MAAMytB,EAAS3C,EAAMyC,EAAI9wB,QAAU,GAChDkxB,EAAOF,EAASC,EACpBH,EAAM,IAAIhsB,MAAMosB,EAAO,GAAG/jB,KAAK0jB,GAAOC,EAAM,IAAIhsB,MAAMmsB,EAAQ,GAAG9jB,KAAK0jB,GACtE,MAEJ,QACIC,GAAY,IAAIhsB,MAAMupB,EAAM,EAAIyC,EAAI9wB,QAAQmN,KAAK0jB,GAK7D,OAAOC,GAUXK,cAAe,SAAU7B,GAQrB,GAAoB,iBAAV,GAAsBA,EAAI8B,UAAY9B,IAAQA,EAAI7hB,OAExD,OAAO,EASX,IAEI,GAAI6hB,EAAI1vB,iBAAqBgvB,eAAe/sB,KAAKytB,EAAI1vB,YAAYD,UAAW,iBAExE,OAAO,EAGf,MAAOqM,GAEH,OAAO,EAOX,OAAO,GAWXqlB,OAAQ,WAEJ,IAAIC,EAAS/B,EAAMriB,EAAKqkB,EAAMC,EAAaC,EACvCpsB,EAASwoB,UAAU,OACnB9tB,EAAI,EACJC,EAAS6tB,UAAU7tB,OACnB0xB,GAAO,EAmBX,IAhBsB,kBAAXrsB,IAEPqsB,EAAOrsB,EACPA,EAASwoB,UAAU,OAGnB9tB,EAAI,GAIJC,IAAWD,IAEXsF,EAAShI,OACP0C,GAGCA,EAAIC,EAAQD,IAGf,GAAgC,OAA3BuxB,EAAUzD,UAAU9tB,IAGrB,IAAKwvB,KAAQ+B,EAETpkB,EAAM7H,EAAOkqB,GAITlqB,KAHJksB,EAAOD,EAAQ/B,MASXmC,GAAQH,IAAS1yB,EAAOkwB,MAAMoC,cAAcI,KAAUC,EAAc1sB,MAAMC,QAAQwsB,MAE9EC,GAEAA,GAAc,EACdC,EAAQvkB,GAAOpI,MAAMC,QAAQmI,GAAOA,MAIpCukB,EAAQvkB,GAAOrO,EAAOkwB,MAAMoC,cAAcjkB,GAAOA,KAIrD7H,EAAOkqB,GAAQ1wB,EAAOkwB,MAAMsC,OAAOK,EAAMD,EAAOF,SAIlC3tB,IAAT2tB,IAELlsB,EAAOkqB,GAAQgC,IAO/B,OAAOlsB,GAeXssB,eAAgB,SAAUtsB,EAAQusB,EAAOC,QAErBjuB,IAAZiuB,IAAyBA,GAAU,GAIvC,IAAK,IAFDC,EAAYztB,OAAO4qB,KAAK2C,GAEnB7xB,EAAI,EAAGA,EAAI+xB,EAAU9xB,OAAQD,IACtC,CACI,IAAIsQ,EAAMyhB,EAAU/xB,GAChB0E,EAAQmtB,EAAMvhB,IAEbwhB,GAAYxhB,KAAOhL,KAMpBZ,GAC0B,mBAAdA,EAAMF,KAA2C,mBAAdE,EAAMD,IAcrDa,EAAOgL,GAAO5L,EAXa,mBAAhBA,EAAMgtB,MAEbpsB,EAAOgL,GAAO5L,EAAMgtB,QAIpBptB,OAAOyF,eAAezE,EAAQgL,EAAK5L,MAmBnDmtB,MAAO,SAAU9uB,EAAM4rB,GAEnB,IAAK5rB,GAA0B,iBAAX,EAEhB,OAAO4rB,EAGX,IAAK,IAAIre,KAAOvN,EAChB,CACI,IAAIivB,EAAIjvB,EAAKuN,GAEb,IAAI0hB,EAAEC,aAAcD,EAAEE,UAAtB,CAKA,IAAIphB,SAAe/N,EAAKuN,GAEnBvN,EAAKuN,IAAiB,WAATQ,SAOF6d,EAAGre,KAAUQ,EAErB6d,EAAGre,GAAOxR,EAAOkwB,MAAM6C,MAAM9uB,EAAKuN,GAAMqe,EAAGre,IAI3Cqe,EAAGre,GAAOxR,EAAOkwB,MAAM6C,MAAM9uB,EAAKuN,GAAM,IAAI0hB,EAAEnyB,aAXlD8uB,EAAGre,GAAOvN,EAAKuN,IAgBvB,OAAOqe,IAqBf7vB,EAAOqzB,OAAS,SAAU9wB,EAAGC,EAAG8wB,GAE5B/wB,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACT8wB,EAAWA,GAAY,EAKvB90B,KAAK+D,EAAIA,EAKT/D,KAAKgE,EAAIA,EAMThE,KAAK+0B,UAAYD,EAMjB90B,KAAKg1B,QAAU,EAEXF,EAAW,IAEX90B,KAAKg1B,QAAqB,GAAXF,GAOnB90B,KAAKwT,KAAOhS,EAAOisB,QAGvBjsB,EAAOqzB,OAAOvyB,WAQV2yB,cAAe,WAEX,OAAYvxB,KAAKwxB,GAAKl1B,KAAKg1B,QAApB,GAWXnC,OAAQ,SAAUsC,QAEF5uB,IAAR4uB,IAAqBA,EAAM,IAAI3zB,EAAOX,OAE1C,IAAIkwB,EAAI,EAAIrtB,KAAKwxB,GAAKxxB,KAAKmvB,SACvBuC,EAAI1xB,KAAKmvB,SAAWnvB,KAAKmvB,SACzB3uB,EAAKkxB,EAAI,EAAK,EAAIA,EAAIA,EACtBrxB,EAAIG,EAAIR,KAAKI,IAAIitB,GACjB/sB,EAAIE,EAAIR,KAAKG,IAAIktB,GAKrB,OAHAoE,EAAIpxB,EAAI/D,KAAK+D,EAAKA,EAAI/D,KAAKq1B,OAC3BF,EAAInxB,EAAIhE,KAAKgE,EAAKA,EAAIhE,KAAKq1B,OAEpBF,GASXjrB,UAAW,WAEP,OAAO,IAAI1I,EAAOS,UAAUjC,KAAK+D,EAAI/D,KAAKq1B,OAAQr1B,KAAKgE,EAAIhE,KAAKq1B,OAAQr1B,KAAK80B,SAAU90B,KAAK80B,WAWhGQ,MAAO,SAAUvxB,EAAGC,EAAG8wB,GAOnB,OALA90B,KAAK+D,EAAIA,EACT/D,KAAKgE,EAAIA,EACThE,KAAK+0B,UAAYD,EACjB90B,KAAKg1B,QAAqB,GAAXF,EAER90B,MASXu1B,SAAU,SAAUnmB,GAEhB,OAAOpP,KAAKs1B,MAAMlmB,EAAOrL,EAAGqL,EAAOpL,EAAGoL,EAAO0lB,WASjDU,OAAQ,SAAUC,GAMd,OAJAA,EAAK1xB,EAAI/D,KAAK+D,EACd0xB,EAAKzxB,EAAIhE,KAAKgE,EACdyxB,EAAKX,SAAW90B,KAAK+0B,UAEdU,GAWXC,SAAU,SAAUD,EAAME,GAEtB,IAAID,EAAWl0B,EAAOkC,KAAKgyB,SAAS11B,KAAK+D,EAAG/D,KAAKgE,EAAGyxB,EAAK1xB,EAAG0xB,EAAKzxB,GACjE,OAAO2xB,EAAQjyB,KAAKiyB,MAAMD,GAAYA,GAS1CtB,MAAO,SAAUwB,GAWb,YATervB,IAAXqvB,GAAmC,OAAXA,EAExBA,EAAS,IAAIp0B,EAAOqzB,OAAO70B,KAAK+D,EAAG/D,KAAKgE,EAAGhE,KAAK80B,UAIhDc,EAAON,MAAMt1B,KAAK+D,EAAG/D,KAAKgE,EAAGhE,KAAK80B,UAG/Bc,GAUXtrB,SAAU,SAAUvG,EAAGC,GAEnB,OAAOxC,EAAOqzB,OAAOvqB,SAAStK,KAAM+D,EAAGC,IAW3C6xB,mBAAoB,SAAUC,EAAOC,EAAWZ,GAE5C,OAAO3zB,EAAOqzB,OAAOgB,mBAAmB71B,KAAM81B,EAAOC,EAAWZ,IAiBpEa,OAAQ,SAAUC,EAAOC,EAAYC,EAAUJ,EAAWZ,GAEjDc,IAASA,EAAQ,IACJ,MAAdC,IAAsBA,EAAa,GACvB,MAAZC,IAAoBA,EAAW30B,EAAOkC,KAAKC,KAC1CwxB,IAAOA,MAIZ,IAFA,IAAIzyB,EAAI,EAEDA,EAAIuzB,GAEPj2B,KAAK61B,mBACDr0B,EAAOkC,KAAK0yB,OAAOF,EAAYC,EAAUzzB,EAAIuzB,GAC7CF,EACAZ,EAAIzyB,KAAOyyB,EAAIzyB,GAAK,IAAIlB,EAAOX,QAGnC6B,GAAK,EAGT,OAAOyyB,GAUX1d,OAAQ,SAAUtJ,EAAIE,GAKlB,OAHArO,KAAK+D,GAAKoK,EACVnO,KAAKgE,GAAKqK,EAEHrO,MASXq2B,YAAa,SAAUC,GAEnB,OAAOt2B,KAAKyX,OAAO6e,EAAMvyB,EAAGuyB,EAAMtyB,IAQtC8kB,SAAU,WAEN,MAAO,sBAAwB9oB,KAAK+D,EAAI,MAAQ/D,KAAKgE,EAAI,aAAehE,KAAK80B,SAAW,WAAa90B,KAAKq1B,OAAS,QAK3H7zB,EAAOqzB,OAAOvyB,UAAUC,YAAcf,EAAOqzB,OAQ7C7tB,OAAOyF,eAAejL,EAAOqzB,OAAOvyB,UAAW,YAE3C4E,IAAK,WAED,OAAOlH,KAAK+0B,WAGhB5tB,IAAK,SAAUC,GAEPA,EAAQ,IAERpH,KAAK+0B,UAAY3tB,EACjBpH,KAAKg1B,QAAkB,GAAR5tB,MAW3BJ,OAAOyF,eAAejL,EAAOqzB,OAAOvyB,UAAW,UAE3C4E,IAAK,WAED,OAAOlH,KAAKg1B,SAGhB7tB,IAAK,SAAUC,GAEPA,EAAQ,IAERpH,KAAKg1B,QAAU5tB,EACfpH,KAAK+0B,UAAoB,EAAR3tB,MAW7BJ,OAAOyF,eAAejL,EAAOqzB,OAAOvyB,UAAW,QAE3C4E,IAAK,WAED,OAAOlH,KAAK+D,EAAI/D,KAAKg1B,SAGzB7tB,IAAK,SAAUC,GAEPA,EAAQpH,KAAK+D,GAEb/D,KAAKg1B,QAAU,EACfh1B,KAAK+0B,UAAY,GAIjB/0B,KAAKq1B,OAASr1B,KAAK+D,EAAIqD,KAWnCJ,OAAOyF,eAAejL,EAAOqzB,OAAOvyB,UAAW,SAE3C4E,IAAK,WAED,OAAOlH,KAAK+D,EAAI/D,KAAKg1B,SAGzB7tB,IAAK,SAAUC,GAEPA,EAAQpH,KAAK+D,GAEb/D,KAAKg1B,QAAU,EACfh1B,KAAK+0B,UAAY,GAIjB/0B,KAAKq1B,OAASjuB,EAAQpH,KAAK+D,KAWvCiD,OAAOyF,eAAejL,EAAOqzB,OAAOvyB,UAAW,OAE3C4E,IAAK,WAED,OAAOlH,KAAKgE,EAAIhE,KAAKg1B,SAGzB7tB,IAAK,SAAUC,GAEPA,EAAQpH,KAAKgE,GAEbhE,KAAKg1B,QAAU,EACfh1B,KAAK+0B,UAAY,GAIjB/0B,KAAKq1B,OAASr1B,KAAKgE,EAAIoD,KAWnCJ,OAAOyF,eAAejL,EAAOqzB,OAAOvyB,UAAW,UAE3C4E,IAAK,WAED,OAAOlH,KAAKgE,EAAIhE,KAAKg1B,SAGzB7tB,IAAK,SAAUC,GAEPA,EAAQpH,KAAKgE,GAEbhE,KAAKg1B,QAAU,EACfh1B,KAAK+0B,UAAY,GAIjB/0B,KAAKq1B,OAASjuB,EAAQpH,KAAKgE,KAYvCgD,OAAOyF,eAAejL,EAAOqzB,OAAOvyB,UAAW,QAE3C4E,IAAK,WAED,OAAIlH,KAAKg1B,QAAU,EAERtxB,KAAKwxB,GAAKl1B,KAAKg1B,QAAUh1B,KAAKg1B,QAI9B,KAYnBhuB,OAAOyF,eAAejL,EAAOqzB,OAAOvyB,UAAW,SAE3C4E,IAAK,WAED,OAA2B,IAAnBlH,KAAK+0B,WAGjB5tB,IAAK,SAAUC,IAEG,IAAVA,GAEApH,KAAKs1B,MAAM,EAAG,EAAG,MAc7B9zB,EAAOqzB,OAAOvqB,SAAW,SAAUpH,EAAGa,EAAGC,GAGrC,OAAId,EAAEmyB,OAAS,GAAKtxB,GAAKb,EAAE2wB,MAAQ9vB,GAAKb,EAAE0wB,OAAS5vB,GAAKd,EAAEqzB,KAAOvyB,GAAKd,EAAEszB,SAE1DtzB,EAAEa,EAAIA,IAAMb,EAAEa,EAAIA,IAClBb,EAAEc,EAAIA,IAAMd,EAAEc,EAAIA,IAEPd,EAAEmyB,OAASnyB,EAAEmyB,QAe1C7zB,EAAOqzB,OAAO4B,OAAS,SAAUvzB,EAAGC,GAEhC,OAAQD,EAAEa,IAAMZ,EAAEY,GAAKb,EAAEc,IAAMb,EAAEa,GAAKd,EAAE4xB,WAAa3xB,EAAE2xB,UAW3DtzB,EAAOqzB,OAAO6B,WAAa,SAAUxzB,EAAGC,GAEpC,OAAQ3B,EAAOkC,KAAKgyB,SAASxyB,EAAEa,EAAGb,EAAEc,EAAGb,EAAEY,EAAGZ,EAAEa,IAAOd,EAAEmyB,OAASlyB,EAAEkyB,QAYtE7zB,EAAOqzB,OAAOgB,mBAAqB,SAAU3yB,EAAG4yB,EAAOC,EAAWZ,GAa9D,YAXkB5uB,IAAdwvB,IAA2BA,GAAY,QAC/BxvB,IAAR4uB,IAAqBA,EAAM,IAAI3zB,EAAOX,QAExB,IAAdk1B,IAEAD,EAAQt0B,EAAOkC,KAAKizB,SAASb,IAGjCX,EAAIpxB,EAAIb,EAAEa,EAAIb,EAAEmyB,OAAS3xB,KAAKI,IAAIgyB,GAClCX,EAAInxB,EAAId,EAAEc,EAAId,EAAEmyB,OAAS3xB,KAAKG,IAAIiyB,GAE3BX,GAUX3zB,EAAOqzB,OAAO+B,oBAAsB,SAAUxzB,EAAGc,GAE7C,IAAIgL,EAAKxL,KAAKmzB,IAAIzzB,EAAEW,EAAIG,EAAEH,EAAIG,EAAE4yB,WAGhC,GAAI5nB,EAFQhL,EAAE4yB,UAAY1zB,EAAEiyB,OAIxB,OAAO,EAGX,IAAIlmB,EAAKzL,KAAKmzB,IAAIzzB,EAAEY,EAAIE,EAAEF,EAAIE,EAAE6yB,YAGhC,GAAI5nB,EAFQjL,EAAE6yB,WAAa3zB,EAAEiyB,OAIzB,OAAO,EAGX,GAAInmB,GAAMhL,EAAE4yB,WAAa3nB,GAAMjL,EAAE6yB,WAE7B,OAAO,EAGX,IAAIC,EAAc9nB,EAAKhL,EAAE4yB,UACrBG,EAAc9nB,EAAKjL,EAAE6yB,WAKzB,OAJoBC,EAAcA,EACdC,EAAcA,GACZ7zB,EAAEiyB,OAASjyB,EAAEiyB,QAavC7zB,EAAOqzB,OAAOqC,eAAiB,SAAU9zB,EAAG+zB,EAAGC,GAE3C,IAAI5S,EAAIphB,EAAEW,EACNszB,EAAIj0B,EAAEY,EACNszB,GAAMH,EAAE7b,IAAItX,EAAImzB,EAAE7qB,MAAMtI,IAAMmzB,EAAE7b,IAAIvX,EAAIozB,EAAE7qB,MAAMvI,GAChDwzB,EAAIJ,EAAE7b,IAAItX,EAAKszB,EAAIH,EAAE7b,IAAIvX,EACzBb,EAAIE,EAAEiyB,OACNlyB,EAAIC,EAAEiyB,OACNmC,EAAMD,EAAID,EAAI9S,EAEdL,GAAMK,GAAKrhB,EAAIA,GAAKm0B,GAAKp0B,EAAIA,IAAMq0B,EAAIF,GAAKn0B,EAAIC,EAAKO,KAAKS,KAAMjB,EAAIA,GAAMo0B,EAAIA,GAAMn0B,EAAIA,EAAMq0B,EAAMA,EAAQH,EAAIA,EAAM,EAAIG,EAAMH,KAAUn0B,EAAIA,GAAMo0B,EAAIA,GAAMn0B,EAAIA,GAClKmI,GAAMkZ,GAAKrhB,EAAIA,GAAKm0B,GAAKp0B,EAAIA,IAAMq0B,EAAIF,GAAKn0B,EAAIC,EAAKO,KAAKS,KAAMjB,EAAIA,GAAMo0B,EAAIA,GAAMn0B,EAAIA,EAAMq0B,EAAMA,EAAQH,EAAIA,EAAM,EAAIG,EAAMH,KAAUn0B,EAAIA,GAAMo0B,EAAIA,GAAMn0B,EAAIA,GAElKihB,EAAKkT,EAAInT,EAAKoT,EACdhsB,EAAK+rB,EAAIhsB,EAAKisB,EACdE,EAAK,IAAIj2B,EAAOX,MAAMsjB,EAAIC,GAC1BsT,EAAK,IAAIl2B,EAAOX,MAAMyK,EAAIC,GAC1BosB,EAAWR,EAAES,eAAeH,EAAG1zB,EAAG0zB,EAAGzzB,EAAG,KACxC6zB,EAAWV,EAAES,eAAeF,EAAG3zB,EAAG2zB,EAAG1zB,EAAG,KAE5C,OAAI2zB,GAAYE,GAELT,IAAiBK,EAAIC,GAEvBC,GAEEP,IAAiBK,GAEnBI,GAEET,IAAiBM,KAIjBN,OAKf54B,KAAKq2B,OAASrzB,EAAOqzB,OAmBrBrzB,EAAOs2B,QAAU,SAAU/zB,EAAGC,EAAGpG,EAAOC,GAEpCkG,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTpG,EAAQA,GAAS,EACjBC,EAASA,GAAU,EAKnBmC,KAAK+D,EAAIA,EAKT/D,KAAKgE,EAAIA,EAKThE,KAAKpC,MAAQA,EAKboC,KAAKnC,OAASA,EAMdmC,KAAKwT,KAAOhS,EAAO4rB,SAGvB5rB,EAAOs2B,QAAQx1B,WAWXgzB,MAAO,SAAUvxB,EAAGC,EAAGpG,EAAOC,GAO1B,OALAmC,KAAK+D,EAAIA,EACT/D,KAAKgE,EAAIA,EACThE,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEPmC,MASXkK,UAAW,WAEP,OAAO,IAAI1I,EAAOS,UAAUjC,KAAK+D,EAAI/D,KAAKpC,MAAOoC,KAAKgE,EAAIhE,KAAKnC,OAAQmC,KAAKpC,MAAOoC,KAAKnC,SAU5F03B,SAAU,SAAUnmB,GAEhB,OAAOpP,KAAKs1B,MAAMlmB,EAAOrL,EAAGqL,EAAOpL,EAAGoL,EAAOxR,MAAOwR,EAAOvR,SAS/D23B,OAAQ,SAAUC,GAOd,OALAA,EAAK1xB,EAAI/D,KAAK+D,EACd0xB,EAAKzxB,EAAIhE,KAAKgE,EACdyxB,EAAK73B,MAAQoC,KAAKpC,MAClB63B,EAAK53B,OAASmC,KAAKnC,OAEZ43B,GASXrB,MAAO,SAAUwB,GAWb,YATervB,IAAXqvB,GAAmC,OAAXA,EAExBA,EAAS,IAAIp0B,EAAOs2B,QAAQ93B,KAAK+D,EAAG/D,KAAKgE,EAAGhE,KAAKpC,MAAOoC,KAAKnC,QAI7D+3B,EAAON,MAAMt1B,KAAK+D,EAAG/D,KAAKgE,EAAGhE,KAAKpC,MAAOoC,KAAKnC,QAG3C+3B,GAWXtrB,SAAU,SAAUvG,EAAGC,GAEnB,OAAOxC,EAAOs2B,QAAQxtB,SAAStK,KAAM+D,EAAGC,IAW5C6uB,OAAQ,SAAUsC,QAEF5uB,IAAR4uB,IAAqBA,EAAM,IAAI3zB,EAAOX,OAE1C,IAAImC,EAAIU,KAAKmvB,SAAWnvB,KAAKwxB,GAAK,EAC9BhxB,EAAIR,KAAKS,KAAKT,KAAKmvB,UAKvB,OAHAsC,EAAIpxB,EAAI/D,KAAK+3B,QAAU,GAAM7zB,EAAIR,KAAKI,IAAId,GAAKhD,KAAKpC,MACpDu3B,EAAInxB,EAAIhE,KAAKg4B,QAAU,GAAM9zB,EAAIR,KAAKG,IAAIb,GAAKhD,KAAKnC,OAE7Cs3B,GAQXrM,SAAU,WAEN,MAAO,uBAAyB9oB,KAAK+D,EAAI,MAAQ/D,KAAKgE,EAAI,UAAYhE,KAAKpC,MAAQ,WAAaoC,KAAKnC,OAAS,QAKtH2D,EAAOs2B,QAAQx1B,UAAUC,YAAcf,EAAOs2B,QAO9C9wB,OAAOyF,eAAejL,EAAOs2B,QAAQx1B,UAAW,QAE5C4E,IAAK,WAED,OAAOlH,KAAK+D,GAGhBoD,IAAK,SAAUC,GAEXpH,KAAK+D,EAAIqD,KAUjBJ,OAAOyF,eAAejL,EAAOs2B,QAAQx1B,UAAW,SAE5C4E,IAAK,WAED,OAAOlH,KAAK+D,EAAI/D,KAAKpC,OAGzBuJ,IAAK,SAAUC,GAEPA,EAAQpH,KAAK+D,EAEb/D,KAAKpC,MAAQ,EAIboC,KAAKpC,MAAQwJ,EAAQpH,KAAK+D,KAWtCiD,OAAOyF,eAAejL,EAAOs2B,QAAQx1B,UAAW,OAE5C4E,IAAK,WAED,OAAOlH,KAAKgE,GAGhBmD,IAAK,SAAUC,GAEXpH,KAAKgE,EAAIoD,KAUjBJ,OAAOyF,eAAejL,EAAOs2B,QAAQx1B,UAAW,UAE5C4E,IAAK,WAED,OAAOlH,KAAKgE,EAAIhE,KAAKnC,QAGzBsJ,IAAK,SAAUC,GAEPA,EAAQpH,KAAKgE,EAEbhE,KAAKnC,OAAS,EAIdmC,KAAKnC,OAASuJ,EAAQpH,KAAKgE,KAYvCgD,OAAOyF,eAAejL,EAAOs2B,QAAQx1B,UAAW,WAE5C4E,IAAK,WAED,OAAOlH,KAAK+D,EAAI,GAAM/D,KAAKpC,SAWnCoJ,OAAOyF,eAAejL,EAAOs2B,QAAQx1B,UAAW,WAE5C4E,IAAK,WAED,OAAOlH,KAAKgE,EAAI,GAAMhE,KAAKnC,UAWnCmJ,OAAOyF,eAAejL,EAAOs2B,QAAQx1B,UAAW,SAE5C4E,IAAK,WAED,OAAuB,IAAflH,KAAKpC,OAA+B,IAAhBoC,KAAKnC,QAGrCsJ,IAAK,SAAUC,IAEG,IAAVA,GAEApH,KAAKs1B,MAAM,EAAG,EAAG,EAAG,MAehC9zB,EAAOs2B,QAAQxtB,SAAW,SAAUpH,EAAGa,EAAGC,GAEtC,GAAId,EAAEtF,OAAS,GAAKsF,EAAErF,QAAU,EAE5B,OAAO,EAIX,IAAIo6B,GAAUl0B,EAAIb,EAAEa,GAAKb,EAAEtF,MAAS,GAChCs6B,GAAUl0B,EAAId,EAAEc,GAAKd,EAAErF,OAAU,GAKrC,OAHAo6B,GAASA,EACTC,GAASA,EAEDD,EAAQC,EAAQ,KAW5B12B,EAAOs2B,QAAQZ,eAAiB,SAAUvoB,EAAGwoB,EAAGC,GAE5C,IAAI5S,EAAI7V,EAAE5K,EACNszB,EAAI1oB,EAAE3K,EACNszB,GAAMH,EAAE7b,IAAItX,EAAImzB,EAAE7qB,MAAMtI,IAAMmzB,EAAE7b,IAAIvX,EAAIozB,EAAE7qB,MAAMvI,GAChDwzB,EAAIJ,EAAE7b,IAAItX,EAAKszB,EAAIH,EAAE7b,IAAIvX,EACzBb,EAAIyL,EAAE/Q,MAAQ,EACduF,EAAIwL,EAAE9Q,OAAS,EACf25B,EAAMD,EAAID,EAAI9S,EAEdL,GAAMK,GAAKrhB,EAAIA,GAAKm0B,GAAKp0B,EAAIA,IAAMq0B,EAAIF,GAAKn0B,EAAIC,EAAKO,KAAKS,KAAMjB,EAAIA,GAAMo0B,EAAIA,GAAMn0B,EAAIA,EAAMq0B,EAAMA,EAAQH,EAAIA,EAAM,EAAIG,EAAMH,KAAUn0B,EAAIA,GAAMo0B,EAAIA,GAAMn0B,EAAIA,GAClKmI,GAAMkZ,GAAKrhB,EAAIA,GAAKm0B,GAAKp0B,EAAIA,IAAMq0B,EAAIF,GAAKn0B,EAAIC,EAAKO,KAAKS,KAAMjB,EAAIA,GAAMo0B,EAAIA,GAAMn0B,EAAIA,EAAMq0B,EAAMA,EAAQH,EAAIA,EAAM,EAAIG,EAAMH,KAAUn0B,EAAIA,GAAMo0B,EAAIA,GAAMn0B,EAAIA,GAElKihB,EAAKkT,EAAInT,EAAKoT,EACdhsB,EAAK+rB,EAAIhsB,EAAKisB,EACdE,EAAK,IAAIj2B,EAAOX,MAAMsjB,EAAIC,GAC1BsT,EAAK,IAAIl2B,EAAOX,MAAMyK,EAAIC,GAC1BosB,EAAWR,EAAES,eAAeH,EAAG1zB,EAAG0zB,EAAGzzB,EAAG,KACxC6zB,EAAWV,EAAES,eAAeF,EAAG3zB,EAAG2zB,EAAG1zB,EAAG,KAE5C,OAAI2zB,GAAYE,GAELT,IAAiBK,EAAIC,GAEvBC,GAEEP,IAAiBK,GAEnBI,GAEET,IAAiBM,KAIjBN,OAKf54B,KAAKs5B,QAAUt2B,EAAOs2B,QAkBtBt2B,EAAO22B,KAAO,SAAU7sB,EAAIC,EAAIC,EAAIC,GAEhCH,EAAKA,GAAM,EACXC,EAAKA,GAAM,EACXC,EAAKA,GAAM,EACXC,EAAKA,GAAM,EAKXzL,KAAKsM,MAAQ,IAAI9K,EAAOX,MAAMyK,EAAIC,GAKlCvL,KAAKsb,IAAM,IAAI9Z,EAAOX,MAAM2K,EAAIC,GAMhCzL,KAAKwT,KAAOhS,EAAOmsB,MAGvBnsB,EAAO22B,KAAK71B,WAYRgzB,MAAO,SAAUhqB,EAAIC,EAAIC,EAAIC,GAKzB,OAHAzL,KAAKsM,MAAMgpB,MAAMhqB,EAAIC,GACrBvL,KAAKsb,IAAIga,MAAM9pB,EAAIC,GAEZzL,MAUXo4B,WAAY,SAAU9rB,EAAOgP,GAIzB,OAFAtb,KAAKs1B,MAAMhpB,EAAMvI,EAAGuI,EAAMtI,EAAGsX,EAAIvX,EAAGuX,EAAItX,GAEjChE,MAaXq4B,WAAY,SAAUC,EAAaC,EAAWC,GAI1C,YAFkBjyB,IAAdiyB,IAA2BA,GAAY,GAEvCA,EAEOx4B,KAAKs1B,MAAMgD,EAAYP,QAASO,EAAYN,QAASO,EAAUR,QAASQ,EAAUP,SAGtFh4B,KAAKo4B,WAAWE,EAAaC,IAaxCE,UAAW,SAAU10B,EAAGC,EAAG8xB,EAAOnzB,GAK9B,OAHA3C,KAAKsM,MAAMgpB,MAAMvxB,EAAGC,GACpBhE,KAAKsb,IAAIga,MAAMvxB,EAAKL,KAAKI,IAAIgyB,GAASnzB,EAASqB,EAAKN,KAAKG,IAAIiyB,GAASnzB,GAE/D3C,MAgBX04B,OAAQ,SAAU5C,EAAOC,GAErB,IAAI7mB,GAAMlP,KAAKsM,MAAMvI,EAAI/D,KAAKsb,IAAIvX,GAAK,EACnCoL,GAAMnP,KAAKsM,MAAMtI,EAAIhE,KAAKsb,IAAItX,GAAK,EAKvC,OAHAhE,KAAKsM,MAAMosB,OAAOxpB,EAAIC,EAAI2mB,EAAOC,GACjC/1B,KAAKsb,IAAIod,OAAOxpB,EAAIC,EAAI2mB,EAAOC,GAExB/1B,MAeX24B,aAAc,SAAU50B,EAAGC,EAAG8xB,EAAOC,GAKjC,OAHA/1B,KAAKsM,MAAMosB,OAAO30B,EAAGC,EAAG8xB,EAAOC,GAC/B/1B,KAAKsb,IAAIod,OAAO30B,EAAGC,EAAG8xB,EAAOC,GAEtB/1B,MAcX02B,WAAY,SAAUkC,EAAMC,EAAWC,GAEnC,OAAOt3B,EAAO22B,KAAKY,iBAAiB/4B,KAAKsM,MAAOtM,KAAKsb,IAAKsd,EAAKtsB,MAAOssB,EAAKtd,IAAKud,EAAWC,IAW/FE,QAAS,SAAUJ,GAEf,OAAOp3B,EAAO22B,KAAKa,QAAQh5B,KAAM44B,IAUrCK,SAAU,SAAU9D,GAOhB,YALY5uB,IAAR4uB,IAAqBA,EAAM,IAAI3zB,EAAOX,OAE1Cs0B,EAAIpxB,GAAK/D,KAAKsM,MAAMvI,EAAI/D,KAAKsb,IAAIvX,GAAK,EACtCoxB,EAAInxB,GAAKhE,KAAKsM,MAAMtI,EAAIhE,KAAKsb,IAAItX,GAAK,EAE/BmxB,GAcX+D,SAAU,SAAUn1B,EAAGC,GAEnB,IAGIV,EAAKS,GAHC/D,KAAKsM,MAAMvI,EAAI/D,KAAKsb,IAAIvX,GAAK,EAInCR,EAAKS,GAHChE,KAAKsM,MAAMtI,EAAIhE,KAAKsb,IAAItX,GAAK,EAKvChE,KAAKsM,MAAM6sB,IAAI71B,EAAIC,GACnBvD,KAAKsb,IAAI6d,IAAI71B,EAAIC,IAYrB61B,YAAa,SAAUr1B,EAAGC,EAAGq1B,GAEzB,OAAO73B,EAAOkC,KAAK41B,YAAYv1B,EAAI/D,KAAKsM,MAAMvI,IAAM/D,KAAKsb,IAAItX,EAAIhE,KAAKsM,MAAMtI,IAAKhE,KAAKsb,IAAIvX,EAAI/D,KAAKsM,MAAMvI,IAAMC,EAAIhE,KAAKsM,MAAMtI,GAAIq1B,GAAW,IAYjJzB,eAAgB,SAAU7zB,EAAGC,EAAGq1B,GAE5B,IAAIE,EAAO71B,KAAK81B,IAAIx5B,KAAKsM,MAAMvI,EAAG/D,KAAKsb,IAAIvX,GACvC01B,EAAO/1B,KAAKuC,IAAIjG,KAAKsM,MAAMvI,EAAG/D,KAAKsb,IAAIvX,GACvC21B,EAAOh2B,KAAK81B,IAAIx5B,KAAKsM,MAAMtI,EAAGhE,KAAKsb,IAAItX,GACvC21B,EAAOj2B,KAAKuC,IAAIjG,KAAKsM,MAAMtI,EAAGhE,KAAKsb,IAAItX,GAE3C,OAAQhE,KAAKo5B,YAAYr1B,EAAGC,EAAGq1B,IAAat1B,GAAKw1B,GAAQx1B,GAAK01B,GAAUz1B,GAAK01B,GAAQ11B,GAAK21B,GAW9F9G,OAAQ,SAAUsC,QAEF5uB,IAAR4uB,IAAqBA,EAAM,IAAI3zB,EAAOX,OAE1C,IAAIkwB,EAAIrtB,KAAKmvB,SAKb,OAHAsC,EAAIpxB,EAAI/D,KAAKsM,MAAMvI,EAAIgtB,GAAK/wB,KAAKsb,IAAIvX,EAAI/D,KAAKsM,MAAMvI,GACpDoxB,EAAInxB,EAAIhE,KAAKsM,MAAMtI,EAAI+sB,GAAK/wB,KAAKsb,IAAItX,EAAIhE,KAAKsM,MAAMtI,GAE7CmxB,GAYXyE,kBAAmB,SAAUC,EAAUC,QAElBvzB,IAAbszB,IAA0BA,EAAW,QACzBtzB,IAAZuzB,IAAyBA,MAE7B,IAAIxuB,EAAK5H,KAAKiyB,MAAM31B,KAAKsM,MAAMvI,GAC3BwH,EAAK7H,KAAKiyB,MAAM31B,KAAKsM,MAAMtI,GAC3BwH,EAAK9H,KAAKiyB,MAAM31B,KAAKsb,IAAIvX,GACzB0H,EAAK/H,KAAKiyB,MAAM31B,KAAKsb,IAAItX,GAEzBmK,EAAKzK,KAAKmzB,IAAIrrB,EAAKF,GACnB+C,EAAK3K,KAAKmzB,IAAIprB,EAAKF,GACnBwuB,EAAMzuB,EAAKE,EAAM,GAAK,EACtBwuB,EAAMzuB,EAAKE,EAAM,GAAK,EACtBwuB,EAAM9rB,EAAKE,EAEfyrB,EAAQhyB,MAAOwD,EAAIC,IAInB,IAFA,IAAI7I,EAAI,EAEE4I,IAAOE,GAAQD,IAAOE,GAChC,CACI,IAAIyuB,EAAKD,GAAO,EAEZC,GAAM7rB,IAEN4rB,GAAO5rB,EACP/C,GAAMyuB,GAGNG,EAAK/rB,IAEL8rB,GAAO9rB,EACP5C,GAAMyuB,GAGNt3B,EAAIm3B,GAAa,GAEjBC,EAAQhyB,MAAOwD,EAAIC,IAGvB7I,IAGJ,OAAOo3B,GASX1F,MAAO,SAAUwB,GAWb,YATervB,IAAXqvB,GAAmC,OAAXA,EAExBA,EAAS,IAAIp0B,EAAO22B,KAAKn4B,KAAKsM,MAAMvI,EAAG/D,KAAKsM,MAAMtI,EAAGhE,KAAKsb,IAAIvX,EAAG/D,KAAKsb,IAAItX,GAI1E4xB,EAAON,MAAMt1B,KAAKsM,MAAMvI,EAAG/D,KAAKsM,MAAMtI,EAAGhE,KAAKsb,IAAIvX,EAAG/D,KAAKsb,IAAItX,GAG3D4xB,IAUf5uB,OAAOyF,eAAejL,EAAO22B,KAAK71B,UAAW,UAEzC4E,IAAK,WAED,OAAOxD,KAAKS,MAAMnE,KAAKsb,IAAIvX,EAAI/D,KAAKsM,MAAMvI,IAAM/D,KAAKsb,IAAIvX,EAAI/D,KAAKsM,MAAMvI,IAAM/D,KAAKsb,IAAItX,EAAIhE,KAAKsM,MAAMtI,IAAMhE,KAAKsb,IAAItX,EAAIhE,KAAKsM,MAAMtI,OAU5IgD,OAAOyF,eAAejL,EAAO22B,KAAK71B,UAAW,SAEzC4E,IAAK,WAED,OAAO1F,EAAOX,MAAMi1B,MAAM91B,KAAKsb,IAAKtb,KAAKsM,UAUjDtF,OAAOyF,eAAejL,EAAO22B,KAAK71B,UAAW,SAEzC4E,IAAK,WAED,OAAQlH,KAAKsb,IAAItX,EAAIhE,KAAKsM,MAAMtI,IAAMhE,KAAKsb,IAAIvX,EAAI/D,KAAKsM,MAAMvI,MAUtEiD,OAAOyF,eAAejL,EAAO22B,KAAK71B,UAAW,aAEzC4E,IAAK,WAED,QAAUlH,KAAKsb,IAAIvX,EAAI/D,KAAKsM,MAAMvI,IAAM/D,KAAKsb,IAAItX,EAAIhE,KAAKsM,MAAMtI,MAUxEgD,OAAOyF,eAAejL,EAAO22B,KAAK71B,UAAW,KAEzC4E,IAAK,WAED,OAAOxD,KAAK81B,IAAIx5B,KAAKsM,MAAMvI,EAAG/D,KAAKsb,IAAIvX,MAU/CiD,OAAOyF,eAAejL,EAAO22B,KAAK71B,UAAW,KAEzC4E,IAAK,WAED,OAAOxD,KAAK81B,IAAIx5B,KAAKsM,MAAMtI,EAAGhE,KAAKsb,IAAItX,MAU/CgD,OAAOyF,eAAejL,EAAO22B,KAAK71B,UAAW,QAEzC4E,IAAK,WAED,OAAOxD,KAAK81B,IAAIx5B,KAAKsM,MAAMvI,EAAG/D,KAAKsb,IAAIvX,MAU/CiD,OAAOyF,eAAejL,EAAO22B,KAAK71B,UAAW,SAEzC4E,IAAK,WAED,OAAOxD,KAAKuC,IAAIjG,KAAKsM,MAAMvI,EAAG/D,KAAKsb,IAAIvX,MAU/CiD,OAAOyF,eAAejL,EAAO22B,KAAK71B,UAAW,OAEzC4E,IAAK,WAED,OAAOxD,KAAK81B,IAAIx5B,KAAKsM,MAAMtI,EAAGhE,KAAKsb,IAAItX,MAU/CgD,OAAOyF,eAAejL,EAAO22B,KAAK71B,UAAW,UAEzC4E,IAAK,WAED,OAAOxD,KAAKuC,IAAIjG,KAAKsM,MAAMtI,EAAGhE,KAAKsb,IAAItX,MAU/CgD,OAAOyF,eAAejL,EAAO22B,KAAK71B,UAAW,SAEzC4E,IAAK,WAED,OAAOxD,KAAKmzB,IAAI72B,KAAKsM,MAAMvI,EAAI/D,KAAKsb,IAAIvX,MAUhDiD,OAAOyF,eAAejL,EAAO22B,KAAK71B,UAAW,UAEzC4E,IAAK,WAED,OAAOxD,KAAKmzB,IAAI72B,KAAKsM,MAAMtI,EAAIhE,KAAKsb,IAAItX,MAUhDgD,OAAOyF,eAAejL,EAAO22B,KAAK71B,UAAW,WAEzC4E,IAAK,WAED,OAAOxD,KAAKI,IAAI9D,KAAK81B,MAAQ,uBAUrC9uB,OAAOyF,eAAejL,EAAO22B,KAAK71B,UAAW,WAEzC4E,IAAK,WAED,OAAOxD,KAAKG,IAAI7D,KAAK81B,MAAQ,uBAUrC9uB,OAAOyF,eAAejL,EAAO22B,KAAK71B,UAAW,eAEzC4E,IAAK,WAED,OAAO1F,EAAOkC,KAAKy2B,KAAKn6B,KAAK81B,MAAQ,oBAAqBpyB,KAAKwxB,GAAIxxB,KAAKwxB,OAoBhF1zB,EAAO22B,KAAKY,iBAAmB,SAAU71B,EAAGC,EAAGwL,EAAGwkB,EAAG0F,EAAWC,QAE1CvyB,IAAdsyB,IAA2BA,GAAY,QAC5BtyB,IAAXuyB,IAAwBA,EAAS,IAAIt3B,EAAOX,OAEhD,IAAIu5B,EAAKj3B,EAAEa,EAAId,EAAEc,EACbq2B,EAAKlH,EAAEnvB,EAAI2K,EAAE3K,EACbs2B,EAAKp3B,EAAEa,EAAIZ,EAAEY,EACbw2B,EAAK5rB,EAAE5K,EAAIovB,EAAEpvB,EACby2B,EAAMr3B,EAAEY,EAAIb,EAAEc,EAAMd,EAAEa,EAAIZ,EAAEa,EAC5By2B,EAAMtH,EAAEpvB,EAAI4K,EAAE3K,EAAM2K,EAAE5K,EAAIovB,EAAEnvB,EAC5B02B,EAASN,EAAKG,EAAOF,EAAKC,EAE9B,GAAc,IAAVI,EAEA,OAAO,KAMX,GAHA5B,EAAO/0B,GAAMu2B,EAAKG,EAAOF,EAAKC,GAAOE,EACrC5B,EAAO90B,GAAMq2B,EAAKG,EAAOJ,EAAKK,GAAOC,EAEjC7B,EACJ,CACI,IAAI8B,GAAOxH,EAAEnvB,EAAI2K,EAAE3K,IAAMb,EAAEY,EAAIb,EAAEa,IAAMovB,EAAEpvB,EAAI4K,EAAE5K,IAAMZ,EAAEa,EAAId,EAAEc,GACzD42B,IAAQzH,EAAEpvB,EAAI4K,EAAE5K,IAAMb,EAAEc,EAAI2K,EAAE3K,IAAOmvB,EAAEnvB,EAAI2K,EAAE3K,IAAMd,EAAEa,EAAI4K,EAAE5K,IAAM42B,EACjEE,IAAQ13B,EAAEY,EAAIb,EAAEa,IAAMb,EAAEc,EAAI2K,EAAE3K,IAAQb,EAAEa,EAAId,EAAEc,IAAMd,EAAEa,EAAI4K,EAAE5K,IAAO42B,EAEvE,OAAIC,GAAM,GAAKA,GAAM,GAAKC,GAAM,GAAKA,GAAM,EAEhC/B,EAIA,KAIf,OAAOA,GAiBXt3B,EAAO22B,KAAKzB,WAAa,SAAUxzB,EAAGC,EAAG01B,EAAWC,GAEhD,OAAOt3B,EAAO22B,KAAKY,iBAAiB71B,EAAEoJ,MAAOpJ,EAAEoY,IAAKnY,EAAEmJ,MAAOnJ,EAAEmY,IAAKud,EAAWC,IAqBnFt3B,EAAO22B,KAAKvB,oBAAsB,SAAUgC,EAAMkC,GAG9C,GAAoB,IAAhBlC,EAAKj2B,QAAgBm4B,EAAKC,MAE1B,OAAO,EAGX,IAAIzvB,EAAKstB,EAAKtsB,MAAMvI,EAChBwH,EAAKqtB,EAAKtsB,MAAMtI,EAEhBwH,EAAKotB,EAAKtd,IAAIvX,EACd0H,EAAKmtB,EAAKtd,IAAItX,EAEdg3B,EAAMF,EAAK/2B,EACXk3B,EAAMH,EAAK92B,EACXk3B,EAAMJ,EAAKlH,MACXuH,EAAML,EAAKtE,OAEXzF,EAAI,EAOR,GAAKzlB,GAAM0vB,GAAO1vB,GAAM4vB,GAAO3vB,GAAM0vB,GAAO1vB,GAAM4vB,GAC7C3vB,GAAMwvB,GAAOxvB,GAAM0vB,GAAOzvB,GAAMwvB,GAAOxvB,GAAM0vB,EAE9C,OAAO,EAGX,GAAI7vB,EAAK0vB,GAAOxvB,GAAMwvB,GAKlB,IAFAjK,EAAIxlB,GAAME,EAAKF,IAAOyvB,EAAM1vB,IAAOE,EAAKF,IAEhC2vB,GAAOlK,GAAKoK,EAEhB,OAAO,OAGV,GAAI7vB,EAAK4vB,GAAO1vB,GAAM0vB,IAGvBnK,EAAIxlB,GAAME,EAAKF,IAAO2vB,EAAM5vB,IAAOE,EAAKF,KAE/B2vB,GAAOlK,GAAKoK,EAEjB,OAAO,EAIf,GAAI5vB,EAAK0vB,GAAOxvB,GAAMwvB,GAKlB,IAFAlK,EAAIzlB,GAAME,EAAKF,IAAO2vB,EAAM1vB,IAAOE,EAAKF,KAE/ByvB,GAAOjK,GAAKmK,EAEjB,OAAO,OAGV,GAAI3vB,EAAK4vB,GAAO1vB,GAAM0vB,IAGvBpK,EAAIzlB,GAAME,EAAKF,IAAO6vB,EAAM5vB,IAAOE,EAAKF,KAE/ByvB,GAAOjK,GAAKmK,EAEjB,OAAO,EAIf,OAAO,GAaX15B,EAAO22B,KAAKiD,0BAA4B,SAAUxC,EAAMkC,EAAMhC,GAE1D,IAAIuC,EAAO75B,EAAO22B,KAAKiD,0BAElBtC,IAEDA,EAAS,IAAIt3B,EAAOX,OAGnBw6B,EAAKC,QAEND,EAAKC,OAAU,IAAI95B,EAAO22B,KAAQ,IAAI32B,EAAO22B,KAAQ,IAAI32B,EAAO22B,KAAQ,IAAI32B,EAAO22B,OAGlFkD,EAAKE,mBAENF,EAAKE,iBAAmB,IAAI/5B,EAAOX,OAGvC,IAAIy6B,EAAQD,EAAKC,MACbC,EAAmBF,EAAKE,iBAAiBp0B,IAAI,GAE7C6zB,EAAMF,EAAK/2B,EACXk3B,EAAMH,EAAK92B,EACXk3B,EAAMJ,EAAKlH,MACXuH,EAAML,EAAKtE,OACXgF,EAAkB3wB,EAAAA,EAEtBywB,EAAM,GAAGhG,MAAM0F,EAAKC,EAAKC,EAAKD,GAC9BK,EAAM,GAAGhG,MAAM0F,EAAKG,EAAKD,EAAKC,GAC9BG,EAAM,GAAGhG,MAAM0F,EAAKC,EAAKD,EAAKG,GAC9BG,EAAM,GAAGhG,MAAM4F,EAAKD,EAAKC,EAAKC,GAE9B,IAAK,IAAIM,EAAM/4B,EAAI,EAAI+4B,EAAOH,EAAM54B,GAAKA,IAErC,GAAIk2B,EAAKlC,WAAW+E,GAAM,EAAMF,GAChC,CACI,IAAI7F,EAAWkD,EAAKtsB,MAAMopB,SAAS6F,GAE/B7F,EAAW8F,IAEXA,EAAkB9F,EAClBoD,EAAOvD,SAASgG,IAK5B,OAAgB,MAAZ7F,EAEOoD,EAGJ,MAYXt3B,EAAO22B,KAAKa,QAAU,SAAU91B,EAAGC,GAE/B,OAAO,EAAIA,EAAEu4B,YAAc,kBAAoBx4B,EAAE4yB,OA4BrDt0B,EAAOC,OAAS,SAAUyB,EAAGC,EAAGC,EAAGC,EAAGC,EAAIC,QAE5BgD,IAANrD,GAAyB,OAANA,IAAcA,EAAI,QAC/BqD,IAANpD,GAAyB,OAANA,IAAcA,EAAI,QAC/BoD,IAANnD,GAAyB,OAANA,IAAcA,EAAI,QAC/BmD,IAANlD,GAAyB,OAANA,IAAcA,EAAI,QAC9BkD,IAAPjD,GAA2B,OAAPA,IAAeA,EAAK,QACjCiD,IAAPhD,GAA2B,OAAPA,IAAeA,EAAK,GAM5CvD,KAAKkD,EAAIA,EAMTlD,KAAKmD,EAAIA,EAMTnD,KAAKoD,EAAIA,EAMTpD,KAAKqD,EAAIA,EAMTrD,KAAKsD,GAAKA,EAMVtD,KAAKuD,GAAKA,EAMVvD,KAAKwT,KAAOhS,EAAOosB,QAGvBpsB,EAAOC,OAAOa,WAkBVq5B,UAAW,SAAUC,GAEjB,OAAO57B,KAAKs1B,MAAMsG,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,KAe9EtG,MAAO,SAAUpyB,EAAGC,EAAGC,EAAGC,EAAGC,EAAIC,GAS7B,OAPAvD,KAAKkD,EAAIA,EACTlD,KAAKmD,EAAIA,EACTnD,KAAKoD,EAAIA,EACTpD,KAAKqD,EAAIA,EACTrD,KAAKsD,GAAKA,EACVtD,KAAKuD,GAAKA,EAEHvD,MAYXo0B,MAAO,SAAUwB,GAgBb,YAdervB,IAAXqvB,GAAmC,OAAXA,EAExBA,EAAS,IAAIp0B,EAAOC,OAAOzB,KAAKkD,EAAGlD,KAAKmD,EAAGnD,KAAKoD,EAAGpD,KAAKqD,EAAGrD,KAAKsD,GAAItD,KAAKuD,KAIzEqyB,EAAO1yB,EAAIlD,KAAKkD,EAChB0yB,EAAOzyB,EAAInD,KAAKmD,EAChByyB,EAAOxyB,EAAIpD,KAAKoD,EAChBwyB,EAAOvyB,EAAIrD,KAAKqD,EAChBuyB,EAAOtyB,GAAKtD,KAAKsD,GACjBsyB,EAAOryB,GAAKvD,KAAKuD,IAGdqyB,GAUXJ,OAAQ,SAAU9nB,GAId,OAFAA,EAAO6nB,SAASv1B,MAET0N,GAUX6nB,SAAU,SAAU7nB,GAShB,OAPA1N,KAAKkD,EAAIwK,EAAOxK,EAChBlD,KAAKmD,EAAIuK,EAAOvK,EAChBnD,KAAKoD,EAAIsK,EAAOtK,EAChBpD,KAAKqD,EAAIqK,EAAOrK,EAChBrD,KAAKsD,GAAKoK,EAAOpK,GACjBtD,KAAKuD,GAAKmK,EAAOnK,GAEVvD,MAWXigB,QAAS,SAAU9K,EAAWymB,GA6B1B,YA3Bcr1B,IAAVq1B,IAAuBA,EAAQ,IAAItZ,aAAa,IAEhDnN,GAEAymB,EAAM,GAAK57B,KAAKkD,EAChB04B,EAAM,GAAK57B,KAAKmD,EAChBy4B,EAAM,GAAK,EACXA,EAAM,GAAK57B,KAAKoD,EAChBw4B,EAAM,GAAK57B,KAAKqD,EAChBu4B,EAAM,GAAK,EACXA,EAAM,GAAK57B,KAAKsD,GAChBs4B,EAAM,GAAK57B,KAAKuD,GAChBq4B,EAAM,GAAK,IAIXA,EAAM,GAAK57B,KAAKkD,EAChB04B,EAAM,GAAK57B,KAAKoD,EAChBw4B,EAAM,GAAK57B,KAAKsD,GAChBs4B,EAAM,GAAK57B,KAAKmD,EAChBy4B,EAAM,GAAK57B,KAAKqD,EAChBu4B,EAAM,GAAK57B,KAAKuD,GAChBq4B,EAAM,GAAK,EACXA,EAAM,GAAK,EACXA,EAAM,GAAK,GAGRA,GAaXr2B,MAAO,SAAUs2B,EAAKC,GAOlB,YALev1B,IAAXu1B,IAAwBA,EAAS,IAAIt6B,EAAOX,OAEhDi7B,EAAO/3B,EAAI/D,KAAKkD,EAAI24B,EAAI93B,EAAI/D,KAAKoD,EAAIy4B,EAAI73B,EAAIhE,KAAKsD,GAClDw4B,EAAO93B,EAAIhE,KAAKmD,EAAI04B,EAAI93B,EAAI/D,KAAKqD,EAAIw4B,EAAI73B,EAAIhE,KAAKuD,GAE3Cu4B,GAaXp2B,aAAc,SAAUm2B,EAAKC,QAEVv1B,IAAXu1B,IAAwBA,EAAS,IAAIt6B,EAAOX,OAEhD,IAAIqT,EAAK,GAAKlU,KAAKkD,EAAIlD,KAAKqD,EAAIrD,KAAKoD,GAAKpD,KAAKmD,GAC3CY,EAAI83B,EAAI93B,EACRC,EAAI63B,EAAI73B,EAKZ,OAHA83B,EAAO/3B,EAAI/D,KAAKqD,EAAI6Q,EAAKnQ,GAAK/D,KAAKoD,EAAI8Q,EAAKlQ,GAAKhE,KAAKuD,GAAKvD,KAAKoD,EAAIpD,KAAKsD,GAAKtD,KAAKqD,GAAK6Q,EACxF4nB,EAAO93B,EAAIhE,KAAKkD,EAAIgR,EAAKlQ,GAAKhE,KAAKmD,EAAI+Q,EAAKnQ,IAAM/D,KAAKuD,GAAKvD,KAAKkD,EAAIlD,KAAKsD,GAAKtD,KAAKmD,GAAK+Q,EAElF4nB,GAYXC,UAAW,SAAUh4B,EAAGC,GAKpB,OAHAhE,KAAKsD,IAAMS,EACX/D,KAAKuD,IAAMS,EAEJhE,MAWXc,MAAO,SAAUiD,EAAGC,GAShB,OAPAhE,KAAKkD,GAAKa,EACV/D,KAAKqD,GAAKW,EACVhE,KAAKoD,GAAKW,EACV/D,KAAKmD,GAAKa,EACVhE,KAAKsD,IAAMS,EACX/D,KAAKuD,IAAMS,EAEJhE,MAUX04B,OAAQ,SAAU5C,GAEd,IAAIhyB,EAAMJ,KAAKI,IAAIgyB,GACfjyB,EAAMH,KAAKG,IAAIiyB,GAEfsE,EAAKp6B,KAAKkD,EACVs3B,EAAKx6B,KAAKoD,EACV44B,EAAMh8B,KAAKsD,GASf,OAPAtD,KAAKkD,EAAIk3B,EAAKt2B,EAAM9D,KAAKmD,EAAIU,EAC7B7D,KAAKmD,EAAIi3B,EAAKv2B,EAAM7D,KAAKmD,EAAIW,EAC7B9D,KAAKoD,EAAIo3B,EAAK12B,EAAM9D,KAAKqD,EAAIQ,EAC7B7D,KAAKqD,EAAIm3B,EAAK32B,EAAM7D,KAAKqD,EAAIS,EAC7B9D,KAAKsD,GAAK04B,EAAMl4B,EAAM9D,KAAKuD,GAAKM,EAChC7D,KAAKuD,GAAKy4B,EAAMn4B,EAAM7D,KAAKuD,GAAKO,EAEzB9D,MAUXi8B,OAAQ,SAAUvuB,GAEd,IAAI0sB,EAAKp6B,KAAKkD,EACVo3B,EAAKt6B,KAAKmD,EACVq3B,EAAKx6B,KAAKoD,EACV84B,EAAKl8B,KAAKqD,EAUd,OARArD,KAAKkD,EAAIwK,EAAOxK,EAAIk3B,EAAK1sB,EAAOvK,EAAIq3B,EACpCx6B,KAAKmD,EAAIuK,EAAOxK,EAAIo3B,EAAK5sB,EAAOvK,EAAI+4B,EACpCl8B,KAAKoD,EAAIsK,EAAOtK,EAAIg3B,EAAK1sB,EAAOrK,EAAIm3B,EACpCx6B,KAAKqD,EAAIqK,EAAOtK,EAAIk3B,EAAK5sB,EAAOrK,EAAI64B,EAEpCl8B,KAAKsD,GAAKoK,EAAOpK,GAAK82B,EAAK1sB,EAAOnK,GAAKi3B,EAAKx6B,KAAKsD,GACjDtD,KAAKuD,GAAKmK,EAAOpK,GAAKg3B,EAAK5sB,EAAOnK,GAAK24B,EAAKl8B,KAAKuD,GAE1CvD,MASXm8B,SAAU,WAEN,OAAOn8B,KAAKs1B,MAAM,EAAG,EAAG,EAAG,EAAG,EAAG,KAKzC9zB,EAAOgJ,eAAiB,IAAIhJ,EAAOC,OAmBnCD,EAAOX,MAAQ,SAAUkD,EAAGC,GAExBD,EAAIA,GAAK,EACTC,EAAIA,GAAK,EAKThE,KAAK+D,EAAIA,EAKT/D,KAAKgE,EAAIA,EAMThE,KAAKwT,KAAOhS,EAAOqsB,OAGvBrsB,EAAOX,MAAMyB,WASTizB,SAAU,SAAUnmB,GAEhB,OAAOpP,KAAKs1B,MAAMlmB,EAAOrL,EAAGqL,EAAOpL,IASvCo4B,OAAQ,WAEJ,OAAOp8B,KAAKs1B,MAAMt1B,KAAKgE,EAAGhE,KAAK+D,IAenCuxB,MAAO,SAAUvxB,EAAGC,GAEhB,OAAOxC,EAAOX,MAAMsG,IAAInH,KAAM+D,EAAGC,IAerCmD,IAAK,SAAUpD,EAAGC,GAEd,OAAOxC,EAAOX,MAAMsG,IAAInH,KAAM+D,EAAGC,IAYrCq4B,WAAY,SAAUC,EAASjH,EAAQU,GAKnC,OAHc,MAAVV,IAAkBA,EAAS,GAC3BU,IAAauG,EAAU96B,EAAOkC,KAAKizB,SAAS2F,IAEzCt8B,KAAKs1B,MAAM5xB,KAAKI,IAAIw4B,GAAWjH,EAAQ3xB,KAAKG,IAAIy4B,GAAWjH,IAWtE8D,IAAK,SAAUp1B,EAAGC,GAId,OAFAhE,KAAK+D,GAAKA,EACV/D,KAAKgE,GAAKA,EACHhE,MAWXu8B,SAAU,SAAUx4B,EAAGC,GAInB,OAFAhE,KAAK+D,GAAKA,EACV/D,KAAKgE,GAAKA,EACHhE,MAWXw8B,SAAU,SAAUz4B,EAAGC,GAInB,OAFAhE,KAAK+D,GAAKA,EACV/D,KAAKgE,GAAKA,EACHhE,MAWXy8B,OAAQ,SAAU14B,EAAGC,GAIjB,OAFAhE,KAAK+D,GAAKA,EACV/D,KAAKgE,GAAKA,EACHhE,MAWX08B,OAAQ,SAAUlD,EAAKvzB,GAGnB,OADAjG,KAAK+D,EAAIvC,EAAOkC,KAAKi5B,MAAM38B,KAAK+D,EAAGy1B,EAAKvzB,GACjCjG,MAWX48B,OAAQ,SAAUpD,EAAKvzB,GAGnB,OADAjG,KAAKgE,EAAIxC,EAAOkC,KAAKi5B,MAAM38B,KAAKgE,EAAGw1B,EAAKvzB,GACjCjG,MAWX28B,MAAO,SAAUnD,EAAKvzB,GAIlB,OAFAjG,KAAK+D,EAAIvC,EAAOkC,KAAKi5B,MAAM38B,KAAK+D,EAAGy1B,EAAKvzB,GACxCjG,KAAKgE,EAAIxC,EAAOkC,KAAKi5B,MAAM38B,KAAKgE,EAAGw1B,EAAKvzB,GACjCjG,MAUXyoB,KAAM,SAAUqS,GAEZ,IAAIjH,EAAOiH,EAAKjH,KACZ0C,EAAMuE,EAAKvE,IACX3C,EAAQkH,EAAKlH,MACb4C,EAASsE,EAAKtE,OAOlB,OALIx2B,KAAK+D,EAAI8vB,EAAQ7zB,KAAK+D,EAAI8vB,EACrB7zB,KAAK+D,EAAI6vB,IAAS5zB,KAAK+D,EAAI6vB,GAChC5zB,KAAKgE,EAAIuyB,EAAOv2B,KAAKgE,EAAIuyB,EACpBv2B,KAAKgE,EAAIwyB,IAAUx2B,KAAKgE,EAAIwyB,GAE9Bx2B,MAUXo0B,MAAO,SAAUwB,GAWb,YATervB,IAAXqvB,GAAmC,OAAXA,EAExBA,EAAS,IAAIp0B,EAAOX,MAAMb,KAAK+D,EAAG/D,KAAKgE,GAIvC4xB,EAAON,MAAMt1B,KAAK+D,EAAG/D,KAAKgE,GAGvB4xB,GAUXJ,OAAQ,SAAUC,GAKd,OAHAA,EAAK1xB,EAAI/D,KAAK+D,EACd0xB,EAAKzxB,EAAIhE,KAAKgE,EAEPyxB,GAWXC,SAAU,SAAUD,EAAME,GAEtB,OAAOn0B,EAAOX,MAAM60B,SAAS11B,KAAMy1B,EAAME,IAU7Cc,OAAQ,SAAUvzB,GAEd,OAAOA,EAAEa,IAAM/D,KAAK+D,GAAKb,EAAEc,IAAMhE,KAAKgE,GAW1C64B,SAAU,SAAU94B,EAAGC,GAEnB,OAAOhE,KAAK+D,IAAMA,GAAK/D,KAAKgE,IAAMA,GAGtC84B,YAAa,SAAU55B,EAAGm2B,GAEtB,OAAO73B,EAAOX,MAAMi8B,YAAY98B,KAAMkD,EAAGm2B,IAG7C0D,cAAe,SAAUh5B,EAAGC,EAAGq1B,GAE3B,OAAO73B,EAAOX,MAAMk8B,cAAc/8B,KAAM+D,EAAGC,EAAGq1B,IAWlDvD,MAAO,SAAU5yB,EAAG6yB,GAEhB,OAAO/1B,KAAKg9B,QAAQ95B,EAAEa,EAAGb,EAAEc,EAAG+xB,IAYlCiH,QAAS,SAAUj5B,EAAGC,EAAG+xB,GAErB,IAAID,EAAQpyB,KAAKu5B,MAAMj5B,EAAIhE,KAAKgE,EAAGD,EAAI/D,KAAK+D,GAE5C,OAAIgyB,EAEOv0B,EAAOkC,KAAKw5B,SAASpH,GAIrBA,GAWfqH,KAAM,SAAUpH,GAEZ,IAAID,EAAQpyB,KAAKu5B,MAAMj9B,KAAKgE,EAAGhE,KAAK+D,GAEpC,OAAIgyB,EAEOv0B,EAAOkC,KAAKw5B,SAASpH,GAIrBA,GAef4C,OAAQ,SAAU30B,EAAGC,EAAG8xB,EAAOC,EAAWL,GAEtC,OAAOl0B,EAAOX,MAAM63B,OAAO14B,KAAM+D,EAAGC,EAAG8xB,EAAOC,EAAWL,IAS7D0H,aAAc,WAEV,OAAO15B,KAAKS,KAAMnE,KAAK+D,EAAI/D,KAAK+D,EAAM/D,KAAKgE,EAAIhE,KAAKgE,IASxDq5B,eAAgB,WAEZ,OAAQr9B,KAAK+D,EAAI/D,KAAK+D,EAAM/D,KAAKgE,EAAIhE,KAAKgE,GAU9Cs5B,aAAc,SAAUC,GAEpB,OAAOv9B,KAAKw9B,YAAYhB,SAASe,EAAWA,IAShDC,UAAW,WAEP,IAAKx9B,KAAKy9B,SACV,CACI,IAAInG,EAAIt3B,KAAKo9B,eACbp9B,KAAK+D,GAAKuzB,EACVt3B,KAAKgE,GAAKszB,EAGd,OAAOt3B,MAWX09B,MAAO,SAAUz3B,GAOb,OALIjG,KAAKq9B,iBAAmBp3B,EAAMA,GAE9BjG,KAAKs9B,aAAar3B,GAGfjG,MAWX29B,OAAQ,SAAUnE,GAOd,OALIx5B,KAAKq9B,iBAAmB7D,EAAMA,GAE9Bx5B,KAAKs9B,aAAa9D,GAGfx5B,MASXy9B,OAAQ,WAEJ,OAAmB,IAAXz9B,KAAK+D,GAAsB,IAAX/D,KAAKgE,GAUjC45B,IAAK,SAAU16B,GAEX,OAASlD,KAAK+D,EAAIb,EAAEa,EAAM/D,KAAKgE,EAAId,EAAEc,GAUzC65B,MAAO,SAAU36B,GAEb,OAASlD,KAAK+D,EAAIb,EAAEc,EAAMhE,KAAKgE,EAAId,EAAEa,GASzC+5B,KAAM,WAEF,OAAO99B,KAAKs1B,OAAOt1B,KAAKgE,EAAGhE,KAAK+D,IASpCg6B,MAAO,WAEH,OAAO/9B,KAAKs1B,MAAMt1B,KAAKgE,GAAIhE,KAAK+D,IASpCi6B,gBAAiB,WAEb,OAAOh+B,KAAKs1B,OAAgB,EAAVt1B,KAAKgE,EAAQhE,KAAK+D,IASxCgsB,MAAO,WAEH,OAAO/vB,KAAKs1B,MAAM5xB,KAAKqsB,MAAM/vB,KAAK+D,GAAIL,KAAKqsB,MAAM/vB,KAAKgE,KAS1DkC,KAAM,WAEF,OAAOlG,KAAKs1B,MAAM5xB,KAAKwC,KAAKlG,KAAK+D,GAAIL,KAAKwC,KAAKlG,KAAKgE,KASxD2xB,MAAO,WAEH,OAAO31B,KAAKs1B,MAAM5xB,KAAKiyB,MAAM31B,KAAK+D,GAAIL,KAAKiyB,MAAM31B,KAAKgE,KAS1D8kB,SAAU,WAEN,MAAO,cAAgB9oB,KAAK+D,EAAI,MAAQ/D,KAAKgE,EAAI,QAKzDxC,EAAOX,MAAMyB,UAAUC,YAAcf,EAAOX,MAW5CW,EAAOX,MAAMs4B,IAAM,SAAUj2B,EAAGC,EAAGgyB,GAO/B,YALY5uB,IAAR4uB,IAAqBA,EAAM,IAAI3zB,EAAOX,OAE1Cs0B,EAAIpxB,EAAIb,EAAEa,EAAIZ,EAAEY,EAChBoxB,EAAInxB,EAAId,EAAEc,EAAIb,EAAEa,EAETmxB,GAYX3zB,EAAOX,MAAM07B,SAAW,SAAUr5B,EAAGC,EAAGgyB,GAOpC,YALY5uB,IAAR4uB,IAAqBA,EAAM,IAAI3zB,EAAOX,OAE1Cs0B,EAAIpxB,EAAIb,EAAEa,EAAIZ,EAAEY,EAChBoxB,EAAInxB,EAAId,EAAEc,EAAIb,EAAEa,EAETmxB,GAYX3zB,EAAOX,MAAM27B,SAAW,SAAUt5B,EAAGC,EAAGgyB,GAOpC,YALY5uB,IAAR4uB,IAAqBA,EAAM,IAAI3zB,EAAOX,OAE1Cs0B,EAAIpxB,EAAIb,EAAEa,EAAIZ,EAAEY,EAChBoxB,EAAInxB,EAAId,EAAEc,EAAIb,EAAEa,EAETmxB,GAYX3zB,EAAOX,MAAM47B,OAAS,SAAUv5B,EAAGC,EAAGgyB,GAOlC,YALY5uB,IAAR4uB,IAAqBA,EAAM,IAAI3zB,EAAOX,OAE1Cs0B,EAAIpxB,EAAIb,EAAEa,EAAIZ,EAAEY,EAChBoxB,EAAInxB,EAAId,EAAEc,EAAIb,EAAEa,EAETmxB,GAWX3zB,EAAOX,MAAM41B,OAAS,SAAUvzB,EAAGC,GAE/B,OAAOD,EAAEa,IAAMZ,EAAEY,GAAKb,EAAEc,IAAMb,EAAEa,GAGpCxC,EAAOX,MAAMg8B,SAAW,SAAU35B,EAAGa,EAAGC,GAEpC,OAAOd,EAAEa,IAAMA,GAAKb,EAAEc,IAAMA,GAGhCxC,EAAOX,MAAMi8B,YAAc,SAAU55B,EAAGC,EAAGk2B,GAEvC,OAAO73B,EAAOkC,KAAK41B,WAAWp2B,EAAEa,EAAGZ,EAAEY,EAAGs1B,IACjC73B,EAAOkC,KAAK41B,WAAWp2B,EAAEc,EAAGb,EAAEa,EAAGq1B,IAG5C73B,EAAOX,MAAMk8B,cAAgB,SAAU75B,EAAGa,EAAGC,EAAGq1B,GAE5C,OAAO73B,EAAOkC,KAAK41B,WAAWp2B,EAAEa,EAAGA,EAAGs1B,IAC/B73B,EAAOkC,KAAK41B,WAAWp2B,EAAEc,EAAGA,EAAGq1B,IAW1C73B,EAAOX,MAAMi1B,MAAQ,SAAU5yB,EAAGC,GAE9B,OAAOO,KAAKu5B,MAAM/5B,EAAEc,EAAIb,EAAEa,EAAGd,EAAEa,EAAIZ,EAAEY,IAWzCvC,EAAOX,MAAMo9B,SAAW,SAAU/6B,EAAGiyB,GAIjC,YAFY5uB,IAAR4uB,IAAqBA,EAAM,IAAI3zB,EAAOX,OAEnCs0B,EAAIG,OAAOpyB,EAAEa,GAAIb,EAAEc,IAa9BxC,EAAOX,MAAMq9B,YAAc,SAAUh7B,EAAGC,EAAGkB,EAAG8wB,GAI1C,YAFY5uB,IAAR4uB,IAAqBA,EAAM,IAAI3zB,EAAOX,OAEnCs0B,EAAIG,MAAMpyB,EAAEa,EAAIZ,EAAEY,EAAIM,EAAGnB,EAAEc,EAAIb,EAAEa,EAAIK,IAahD7C,EAAOX,MAAMs9B,YAAc,SAAUj7B,EAAGC,EAAGgwB,EAAGgC,GAI1C,YAFY5uB,IAAR4uB,IAAqBA,EAAM,IAAI3zB,EAAOX,OAEnCs0B,EAAIG,MAAMpyB,EAAEa,GAAKZ,EAAEY,EAAIb,EAAEa,GAAKovB,EAAGjwB,EAAEc,GAAKb,EAAEa,EAAId,EAAEc,GAAKmvB,IAWhE3xB,EAAOX,MAAMi9B,KAAO,SAAU56B,EAAGiyB,GAI7B,YAFY5uB,IAAR4uB,IAAqBA,EAAM,IAAI3zB,EAAOX,OAEnCs0B,EAAIG,OAAOpyB,EAAEc,EAAGd,EAAEa,IAW7BvC,EAAOX,MAAMk9B,MAAQ,SAAU76B,EAAGiyB,GAI9B,YAFY5uB,IAAR4uB,IAAqBA,EAAM,IAAI3zB,EAAOX,OAEnCs0B,EAAIG,MAAMpyB,EAAEc,GAAId,EAAEa,IAY7BvC,EAAOX,MAAM60B,SAAW,SAAUxyB,EAAGC,EAAGwyB,GAEpC,IAAID,EAAWl0B,EAAOkC,KAAKgyB,SAASxyB,EAAEa,EAAGb,EAAEc,EAAGb,EAAEY,EAAGZ,EAAEa,GACrD,OAAO2xB,EAAQjyB,KAAKiyB,MAAMD,GAAYA,GAY1Cl0B,EAAOX,MAAMu9B,QAAU,SAAUl7B,EAAGC,EAAGgyB,QAEvB5uB,IAAR4uB,IAAqBA,EAAM,IAAI3zB,EAAOX,OAE1C,IAAIw9B,EAAMn7B,EAAE06B,IAAIz6B,GAAKA,EAAEk6B,iBAOvB,OALY,IAARgB,GAEAlJ,EAAIG,MAAM+I,EAAMl7B,EAAEY,EAAGs6B,EAAMl7B,EAAEa,GAG1BmxB,GAYX3zB,EAAOX,MAAMy9B,YAAc,SAAUp7B,EAAGC,EAAGgyB,QAE3B5uB,IAAR4uB,IAAqBA,EAAM,IAAI3zB,EAAOX,OAE1C,IAAIw9B,EAAMn7B,EAAE06B,IAAIz6B,GAOhB,OALY,IAARk7B,GAEAlJ,EAAIG,MAAM+I,EAAMl7B,EAAEY,EAAGs6B,EAAMl7B,EAAEa,GAG1BmxB,GAWX3zB,EAAOX,MAAMm9B,gBAAkB,SAAU96B,EAAGiyB,GAIxC,YAFY5uB,IAAR4uB,IAAqBA,EAAM,IAAI3zB,EAAOX,OAEnCs0B,EAAIG,OAAa,EAAPpyB,EAAEc,EAAQd,EAAEa,IAWjCvC,EAAOX,MAAM28B,UAAY,SAAUt6B,EAAGiyB,QAEtB5uB,IAAR4uB,IAAqBA,EAAM,IAAI3zB,EAAOX,OAE1C,IAAIy2B,EAAIp0B,EAAEk6B,eAOV,OALU,IAAN9F,GAEAnC,EAAIG,MAAMpyB,EAAEa,EAAIuzB,EAAGp0B,EAAEc,EAAIszB,GAGtBnC,GAoBX3zB,EAAOX,MAAM63B,OAAS,SAAUx1B,EAAGa,EAAGC,EAAG8xB,EAAOC,EAAWL,GAIvD,GAFIK,IAAaD,EAAQt0B,EAAOkC,KAAKizB,SAASb,SAE7BvvB,IAAbmvB,EACJ,CACIxyB,EAAEq5B,SAASx4B,EAAGC,GAEd,IAAIK,EAAIX,KAAKG,IAAIiyB,GACb1yB,EAAIM,KAAKI,IAAIgyB,GAEbxyB,EAAKF,EAAIF,EAAEa,EAAIM,EAAInB,EAAEc,EACrBT,EAAKc,EAAInB,EAAEa,EAAIX,EAAIF,EAAEc,EAEzBd,EAAEa,EAAIT,EAAKS,EACXb,EAAEc,EAAIT,EAAKS,MAGf,CACI,IAAI+sB,EAAI+E,EAAQpyB,KAAKu5B,MAAM/5B,EAAEc,EAAIA,EAAGd,EAAEa,EAAIA,GAC1Cb,EAAEa,EAAIA,EAAI2xB,EAAWhyB,KAAKI,IAAIitB,GAC9B7tB,EAAEc,EAAIA,EAAI0xB,EAAWhyB,KAAKG,IAAIktB,GAGlC,OAAO7tB,GAWX1B,EAAOX,MAAM09B,SAAW,SAAUC,EAAQrJ,GAItC,QAFY5uB,IAAR4uB,IAAqBA,EAAM,IAAI3zB,EAAOX,OAEK,mBAA3CmG,OAAO1E,UAAUwmB,SAAStkB,KAAKg6B,GAE/B,MAAM,IAAIz1B,MAAM,qDAGpB,IAAI01B,EAAeD,EAAO77B,OAE1B,GAAI87B,EAAe,EAEf,MAAM,IAAI11B,MAAM,4DAGpB,GAAqB,IAAjB01B,EAGA,OADAtJ,EAAII,SAASiJ,EAAO,IACbrJ,EAGX,IAAK,IAAIzyB,EAAI,EAAGA,EAAI+7B,EAAc/7B,IAE9BlB,EAAOX,MAAMs4B,IAAIhE,EAAKqJ,EAAO97B,GAAIyyB,GAKrC,OAFAA,EAAIsH,OAAOgC,EAAcA,GAElBtJ,GAcX3zB,EAAOX,MAAM69B,MAAQ,SAAUzM,EAAK0M,EAAOC,GAEvCD,EAAQA,GAAS,IACjBC,EAAQA,GAAS,IAEjB,IAAItI,EAAQ,IAAI90B,EAAOX,MAYvB,OAVIoxB,EAAI0M,KAEJrI,EAAMvyB,EAAI86B,WAAW5M,EAAI0M,KAGzB1M,EAAI2M,KAEJtI,EAAMtyB,EAAI66B,WAAW5M,EAAI2M,KAGtBtI,GAWX90B,EAAOX,MAAMivB,MAAQ,SAAUmC,GAK3B,OAHAA,EAAIluB,EAAIvC,EAAOkC,KAAKosB,MAAMmC,EAAIluB,GAC9BkuB,EAAIjuB,EAAIxC,EAAOkC,KAAKosB,MAAMmC,EAAIjuB,GAEvBiuB,GAWXzwB,EAAOX,MAAMi+B,QAAU,SAAU7M,GAE7B,OAAe,MAAPA,GAAkC,iBAAVA,EAAIluB,GAAqC,iBAAVkuB,EAAIjuB,GAavExC,EAAOX,MAAMsG,IAAM,SAAU8qB,EAAKluB,EAAGC,GAKjC,OAHAiuB,EAAIluB,EAAIA,GAAK,EACbkuB,EAAIjuB,EAAIA,IAAa,IAANA,EAAWiuB,EAAIluB,EAAI,GAE3BkuB,GAiBXzwB,EAAOX,MAAMk+B,cAAgB,SAAUP,EAAQQ,GAItCA,IAEDA,EAASh/B,KAAKu+B,SAASC,IAG3B,IAAItvB,EAAK8vB,EAAOj7B,EACZoL,EAAK6vB,EAAOh7B,EA+ChB,OAAOw6B,EAAOS,KA7CH,SAAU/7B,EAAGC,GAEpB,GAAID,EAAEa,EAAImL,GAAM,GAAK/L,EAAEY,EAAImL,EAAK,EAE5B,OAAQ,EAGZ,GAAIhM,EAAEa,EAAImL,EAAK,GAAK/L,EAAEY,EAAImL,GAAM,EAE5B,OAAO,EAGX,GAAIhM,EAAEa,EAAImL,GAAO,GAAK/L,EAAEY,EAAImL,GAAO,EAE/B,OAAIhM,EAAEc,EAAImL,GAAM,GAAKhM,EAAEa,EAAImL,GAAM,EAErBjM,EAAEc,EAAIb,EAAEa,EAAK,GAAK,EAGtBb,EAAEa,EAAId,EAAEc,EAAK,GAAK,EAI9B,IAAIk7B,GAAOh8B,EAAEa,EAAImL,KAAQ/L,EAAEa,EAAImL,IAAOhM,EAAEY,EAAImL,KAAQhM,EAAEc,EAAImL,GAE1D,OAAI+vB,EAAM,GAEE,EAGRA,EAAM,EAEC,GAODh8B,EAAEa,EAAImL,IAAOhM,EAAEa,EAAImL,IAAOhM,EAAEc,EAAImL,IAAOjM,EAAEc,EAAImL,IAC7ChM,EAAEY,EAAImL,IAAO/L,EAAEY,EAAImL,IAAO/L,EAAEa,EAAImL,IAAOhM,EAAEa,EAAImL,IAEnC,EAAI,KAOhC3Q,KAAKqC,MAAQW,EAAOX,MAyBpBW,EAAO29B,QAAU,WAKbn/B,KAAKo/B,KAAO,EAMZp/B,KAAKq/B,WAED7O,UAAU7tB,OAAS,GAEnB3C,KAAKs1B,MAAM/vB,MAAMvF,KAAMwwB,WAM3BxwB,KAAKs/B,QAAS,EAKdt/B,KAAKu/B,WAAY,EAKjBv/B,KAAKwT,KAAOhS,EAAOwrB,SAGvBxrB,EAAO29B,QAAQ78B,WASXk9B,cAAe,SAAU5J,QAENrvB,IAAXqvB,IAAwBA,MAE5B,IAAK,IAAIlzB,EAAI,EAAGA,EAAI1C,KAAKq/B,QAAQ18B,OAAQD,IAEN,iBAApB1C,KAAKq/B,QAAQ38B,IAEpBkzB,EAAO9tB,KAAK9H,KAAKq/B,QAAQ38B,IACzBkzB,EAAO9tB,KAAK9H,KAAKq/B,QAAQ38B,EAAI,IAC7BA,MAIAkzB,EAAO9tB,KAAK9H,KAAKq/B,QAAQ38B,GAAGqB,GAC5B6xB,EAAO9tB,KAAK9H,KAAKq/B,QAAQ38B,GAAGsB,IAIpC,OAAO4xB,GAWX6J,QAAS,WAML,OAJAz/B,KAAKq/B,QAAUr/B,KAAKw/B,gBAEpBx/B,KAAKu/B,WAAY,EAEVv/B,MAWXo0B,MAAO,SAAUwB,GAEb,IAAI4I,EAASx+B,KAAKq/B,QAAQnP,QAW1B,YATe3pB,IAAXqvB,GAAmC,OAAXA,EAExBA,EAAS,IAAIp0B,EAAO29B,QAAQX,GAI5B5I,EAAON,MAAMkJ,GAGV5I,GAWXtrB,SAAU,SAAUvG,EAAGC,GAInB,IAAI07B,GAAS,EAEb,GAAI1/B,KAAKu/B,UAEL,IAAK,IAAI78B,GAAK,EAAGmF,EAAI7H,KAAKq/B,QAAQ18B,OAAS,GAAID,GAAK,GAAK1C,KAAKq/B,QAAQ18B,OAAQkF,EAAInF,EAClF,CACI,IAAIi9B,EAAK3/B,KAAKq/B,QAAQ38B,GAClBk9B,EAAK5/B,KAAKq/B,QAAQ38B,EAAI,GAEtBm9B,EAAK7/B,KAAKq/B,QAAQx3B,GAClBi4B,EAAK9/B,KAAKq/B,QAAQx3B,EAAI,IAEpB+3B,GAAM57B,GAAKA,EAAI87B,GAAQA,GAAM97B,GAAKA,EAAI47B,IAAS77B,GAAK87B,EAAKF,IAAO37B,EAAI47B,IAAOE,EAAKF,GAAMD,IAExFD,GAAUA,QAMlB,IAAK,IAAIh9B,GAAK,EAAGmF,EAAI7H,KAAKq/B,QAAQ18B,OAAS,IAAKD,EAAI1C,KAAKq/B,QAAQ18B,OAAQkF,EAAInF,EAC7E,CACI,IAAIi9B,EAAK3/B,KAAKq/B,QAAQ38B,GAAGqB,EACrB67B,EAAK5/B,KAAKq/B,QAAQ38B,GAAGsB,EAErB67B,EAAK7/B,KAAKq/B,QAAQx3B,GAAG9D,EACrB+7B,EAAK9/B,KAAKq/B,QAAQx3B,GAAG7D,GAEnB47B,GAAM57B,GAAKA,EAAI87B,GAAQA,GAAM97B,GAAKA,EAAI47B,IAAS77B,GAAK87B,EAAKF,IAAO37B,EAAI47B,IAAOE,EAAKF,GAAMD,IAExFD,GAAUA,GAKtB,OAAOA,GAsBXpK,MAAO,SAAUkJ,GAKb,GAHAx+B,KAAKo/B,KAAO,EACZp/B,KAAKq/B,WAED7O,UAAU7tB,OAAS,EACvB,CAES8E,MAAMC,QAAQ82B,KAEfA,EAAS/2B,MAAMnF,UAAU4tB,MAAM1rB,KAAKgsB,YAMxC,IAAK,IAHDpM,EAAK2b,OAAOC,UAGPt9B,EAAI,EAAGsuB,EAAMwN,EAAO77B,OAAQD,EAAIsuB,EAAKtuB,IAC9C,CACI,GAAyB,iBAAd87B,EAAO97B,GAClB,CACQM,EAAI,IAAIxE,KAAKqC,MAAM29B,EAAO97B,GAAI87B,EAAO97B,EAAI,IAC7CA,SAEC,GAAI+E,MAAMC,QAAQ82B,EAAO97B,IAEtBM,EAAI,IAAIxE,KAAKqC,MAAM29B,EAAO97B,GAAG,GAAI87B,EAAO97B,GAAG,SAI/C,IAAIM,EAAI,IAAIxE,KAAKqC,MAAM29B,EAAO97B,GAAGqB,EAAGy6B,EAAO97B,GAAGsB,GAGlDhE,KAAKq/B,QAAQv3B,KAAK9E,GAGdA,EAAEgB,EAAIogB,IAENA,EAAKphB,EAAEgB,GAIfhE,KAAKigC,cAAc7b,GAGvB,OAAOpkB,MAWXigC,cAAe,SAAU7b,GAOrB,IAAK,IALDsT,EACAwI,EACAC,EACAviC,EAEK8E,EAAI,EAAGsuB,EAAMhxB,KAAKq/B,QAAQ18B,OAAQD,EAAIsuB,EAAKtuB,IAEhDg1B,EAAK13B,KAAKq/B,QAAQ38B,GAIdw9B,EAFAx9B,IAAMsuB,EAAM,EAEPhxB,KAAKq/B,QAAQ,GAIbr/B,KAAKq/B,QAAQ38B,EAAI,GAG1By9B,GAAczI,EAAG1zB,EAAIogB,GAAO8b,EAAGl8B,EAAIogB,IAAO,EAC1CxmB,EAAQ85B,EAAG3zB,EAAIm8B,EAAGn8B,EAClB/D,KAAKo/B,MAAQe,EAAYviC,EAG7B,OAAOoC,KAAKo/B,OAKpB59B,EAAO29B,QAAQ78B,UAAUC,YAAcf,EAAO29B,QAW9Cn4B,OAAOyF,eAAejL,EAAO29B,QAAQ78B,UAAW,UAE5C4E,IAAK,WAED,OAAOlH,KAAKq/B,WAMpB7gC,KAAK2gC,QAAU39B,EAAO29B,QAmBtB39B,EAAOS,UAAY,SAAU8B,EAAGC,EAAGpG,EAAOC,GAEtCkG,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTpG,EAAQA,GAAS,EACjBC,EAASA,GAAU,EAKnBmC,KAAK+D,EAAIA,EAKT/D,KAAKgE,EAAIA,EAKThE,KAAKpC,MAAQA,EAKboC,KAAKnC,OAASA,EAMdmC,KAAKwT,KAAOhS,EAAOksB,WAGvBlsB,EAAOS,UAAUK,WASbmV,OAAQ,SAAUtJ,EAAIE,GAKlB,OAHArO,KAAK+D,GAAKoK,EACVnO,KAAKgE,GAAKqK,EAEHrO,MASXq2B,YAAa,SAAUC,GAEnB,OAAOt2B,KAAKyX,OAAO6e,EAAMvyB,EAAGuyB,EAAMtyB,IAYtCsxB,MAAO,SAAUvxB,EAAGC,EAAGpG,EAAOC,GAO1B,OALAmC,KAAK+D,EAAIA,EACT/D,KAAKgE,EAAIA,EACThE,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEPmC,MAWXc,MAAO,SAAUiD,EAAGC,GAOhB,YALUuC,IAANvC,IAAmBA,EAAID,GAE3B/D,KAAKpC,OAASmG,EACd/D,KAAKnC,QAAUmG,EAERhE,MAWXk5B,SAAU,SAAUn1B,EAAGC,GAKnB,OAHAhE,KAAK+3B,QAAUh0B,EACf/D,KAAKg4B,QAAUh0B,EAERhE,MAOX+vB,MAAO,WAEH/vB,KAAK+D,EAAIL,KAAKqsB,MAAM/vB,KAAK+D,GACzB/D,KAAKgE,EAAIN,KAAKqsB,MAAM/vB,KAAKgE,IAO7Bo8B,SAAU,WAENpgC,KAAK+D,EAAIL,KAAKqsB,MAAM/vB,KAAK+D,GACzB/D,KAAKgE,EAAIN,KAAKqsB,MAAM/vB,KAAKgE,GACzBhE,KAAKpC,MAAQ8F,KAAKqsB,MAAM/vB,KAAKpC,OAC7BoC,KAAKnC,OAAS6F,KAAKqsB,MAAM/vB,KAAKnC,SAOlCqI,KAAM,WAEFlG,KAAK+D,EAAIL,KAAKwC,KAAKlG,KAAK+D,GACxB/D,KAAKgE,EAAIN,KAAKwC,KAAKlG,KAAKgE,IAO5Bq8B,QAAS,WAELrgC,KAAK+D,EAAIL,KAAKwC,KAAKlG,KAAK+D,GACxB/D,KAAKgE,EAAIN,KAAKwC,KAAKlG,KAAKgE,GACxBhE,KAAKpC,MAAQ8F,KAAKwC,KAAKlG,KAAKpC,OAC5BoC,KAAKnC,OAAS6F,KAAKwC,KAAKlG,KAAKnC,SASjC03B,SAAU,SAAUnmB,GAEhB,OAAOpP,KAAKs1B,MAAMlmB,EAAOrL,EAAGqL,EAAOpL,EAAGoL,EAAOxR,MAAOwR,EAAOvR,SAS/DyiC,eAAgB,SAAUlxB,GAEtB,OAAOpP,KAAKs1B,MAAMlmB,EAAOykB,KAAMzkB,EAAOmnB,IAAKnnB,EAAOxR,MAAOwR,EAAOvR,SASpE23B,OAAQ,SAAUC,GAOd,OALAA,EAAK1xB,EAAI/D,KAAK+D,EACd0xB,EAAKzxB,EAAIhE,KAAKgE,EACdyxB,EAAK73B,MAAQoC,KAAKpC,MAClB63B,EAAK53B,OAASmC,KAAKnC,OAEZ43B,GAUX8K,QAAS,SAAUpyB,EAAIE,GAEnB,OAAO7M,EAAOS,UAAUs+B,QAAQvgC,KAAMmO,EAAIE,IAS9C0T,KAAM,SAAU6T,GAEZ,OAAOp0B,EAAOS,UAAU8f,KAAK/hB,KAAM41B,IAYvCzvB,OAAQ,SAAUvI,EAAOC,GAKrB,OAHAmC,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEPmC,MASXo0B,MAAO,SAAUwB,GAEb,OAAOp0B,EAAOS,UAAUmyB,MAAMp0B,KAAM41B,IAUxCtrB,SAAU,SAAUvG,EAAGC,GAEnB,OAAOxC,EAAOS,UAAUqI,SAAStK,KAAM+D,EAAGC,IAU9Cw8B,aAAc,SAAUr9B,GAEpB,OAAO3B,EAAOS,UAAUu+B,aAAar9B,EAAGnD,OAU5Cy2B,OAAQ,SAAUtzB,GAEd,OAAO3B,EAAOS,UAAUw0B,OAAOz2B,KAAMmD,IAUzCs9B,aAAc,SAAUt9B,EAAGgyB,GAEvB,OAAO3zB,EAAOS,UAAUw+B,aAAazgC,KAAMmD,EAAGgyB,IAWlDuB,WAAY,SAAUvzB,GAElB,OAAO3B,EAAOS,UAAUy0B,WAAW12B,KAAMmD,IAc7Cu9B,cAAe,SAAU7M,EAAMD,EAAO2C,EAAKC,EAAQmK,GAE/C,OAAOn/B,EAAOS,UAAUy+B,cAAc1gC,KAAM6zB,EAAMD,EAAO2C,EAAKC,EAAQmK,IAU1EC,MAAO,SAAUz9B,EAAGgyB,GAEhB,OAAO3zB,EAAOS,UAAU2+B,MAAM5gC,KAAMmD,EAAGgyB,IAW3CtC,OAAQ,SAAUsC,GAOd,YALY5uB,IAAR4uB,IAAqBA,EAAM,IAAI3zB,EAAOX,OAE1Cs0B,EAAIpxB,EAAI/D,KAAK6gC,QACb1L,EAAInxB,EAAIhE,KAAK8gC,QAEN3L,GAmBX4L,SAAU,SAAUngC,EAAUu0B,GAI1B,YAFY5uB,IAAR4uB,IAAqBA,EAAM,IAAI3zB,EAAOX,OAElCD,GAEJ,QACA,KAAKY,EAAOstB,SACR,OAAOqG,EAAIhuB,IAAInH,KAAK+D,EAAG/D,KAAKgE,GAEhC,KAAKxC,EAAOutB,WACR,OAAOoG,EAAIhuB,IAAInH,KAAK+3B,QAAS/3B,KAAKgE,GAEtC,KAAKxC,EAAOwtB,UACR,OAAOmG,EAAIhuB,IAAInH,KAAK4zB,MAAO5zB,KAAKgE,GAEpC,KAAKxC,EAAO0tB,YACR,OAAOiG,EAAIhuB,IAAInH,KAAK+D,EAAG/D,KAAKg4B,SAEhC,KAAKx2B,EAAO4tB,OACR,OAAO+F,EAAIhuB,IAAInH,KAAK+3B,QAAS/3B,KAAKg4B,SAEtC,KAAKx2B,EAAO8tB,aACR,OAAO6F,EAAIhuB,IAAInH,KAAK4zB,MAAO5zB,KAAKg4B,SAEpC,KAAKx2B,EAAOguB,YACR,OAAO2F,EAAIhuB,IAAInH,KAAK+D,EAAG/D,KAAKw2B,QAEhC,KAAKh1B,EAAOiuB,cACR,OAAO0F,EAAIhuB,IAAInH,KAAK+3B,QAAS/3B,KAAKw2B,QAEtC,KAAKh1B,EAAOkuB,aACR,OAAOyF,EAAIhuB,IAAInH,KAAK4zB,MAAO5zB,KAAKw2B,UAc5CwK,MAAO,SAAUzK,EAAK3C,EAAO4C,EAAQ3C,GAE5BrD,UAAU7tB,SAEX4zB,EAAM,IAAI/0B,EAAO22B,KACjBvE,EAAQ,IAAIpyB,EAAO22B,KACnB3B,EAAS,IAAIh1B,EAAO22B,KACpBtE,EAAO,IAAIryB,EAAO22B,MAGtB,IAAI7sB,EAAKtL,KAAK+D,EACVwH,EAAKvL,KAAKgE,EACVwH,EAAKxL,KAAK4zB,MACVnoB,EAAKzL,KAAKw2B,OAOd,OALAD,EAAIjB,MAAMhqB,EAAIC,EAAIC,EAAID,GACtBqoB,EAAM0B,MAAM9pB,EAAID,EAAIC,EAAIC,GACxB+qB,EAAOlB,MAAMhqB,EAAIG,EAAID,EAAIC,GACzBooB,EAAKyB,MAAMhqB,EAAIC,EAAID,EAAIG,GAElB+kB,UAAU7tB,OAKR,MAHM4zB,EAAK3C,EAAO4C,EAAQ3C,IAWrC/K,SAAU,WAEN,MAAO,kBAAoB9oB,KAAK+D,EAAI,MAAQ/D,KAAKgE,EAAI,UAAYhE,KAAKpC,MAAQ,WAAaoC,KAAKnC,OAAS,UAAYmC,KAAK+6B,MAAQ,QAU1I/zB,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,aAE9C4E,IAAK,WAED,OAAOxD,KAAKiyB,MAAM31B,KAAKpC,MAAQ,MAUvCoJ,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,cAE9C4E,IAAK,WAED,OAAOxD,KAAKiyB,MAAM31B,KAAKnC,OAAS,MAUxCmJ,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,UAE9C4E,IAAK,WAED,OAAOlH,KAAKgE,EAAIhE,KAAKnC,QAGzBsJ,IAAK,SAAUC,GAEPA,GAASpH,KAAKgE,EAEdhE,KAAKnC,OAAS,EAIdmC,KAAKnC,OAASuJ,EAAQpH,KAAKgE,KAWvCgD,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,cAE9C4E,IAAK,WAED,OAAO,IAAI1F,EAAOX,MAAMb,KAAK+D,EAAG/D,KAAKw2B,SAGzCrvB,IAAK,SAAUC,GAEXpH,KAAK+D,EAAIqD,EAAMrD,EACf/D,KAAKw2B,OAASpvB,EAAMpD,KAU5BgD,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,eAE9C4E,IAAK,WAED,OAAO,IAAI1F,EAAOX,MAAMb,KAAK4zB,MAAO5zB,KAAKw2B,SAG7CrvB,IAAK,SAAUC,GAEXpH,KAAK4zB,MAAQxsB,EAAMrD,EACnB/D,KAAKw2B,OAASpvB,EAAMpD,KAU5BgD,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,QAE9C4E,IAAK,WAED,OAAOlH,KAAK+D,GAGhBoD,IAAK,SAAUC,GAEPA,GAASpH,KAAK4zB,MAEd5zB,KAAKpC,MAAQ,EAIboC,KAAKpC,MAAQoC,KAAK4zB,MAAQxsB,EAE9BpH,KAAK+D,EAAIqD,KAUjBJ,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,SAE9C4E,IAAK,WAED,OAAOlH,KAAK+D,EAAI/D,KAAKpC,OAGzBuJ,IAAK,SAAUC,GAEPA,GAASpH,KAAK+D,EAEd/D,KAAKpC,MAAQ,EAIboC,KAAKpC,MAAQwJ,EAAQpH,KAAK+D,KAYtCiD,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,UAE9C4E,IAAK,WAED,OAAOlH,KAAKpC,MAAQoC,KAAKnC,UAWjCmJ,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,aAE9C4E,IAAK,WAED,OAAqB,EAAblH,KAAKpC,MAA4B,EAAdoC,KAAKnC,UAUxCmJ,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,WAE9C4E,IAAK,WAED,OAAOlH,KAAK+D,EAAI/D,KAAK82B,WAGzB3vB,IAAK,SAAUC,GAEXpH,KAAK+D,EAAIqD,EAAQpH,KAAK82B,aAU9B9vB,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,WAE9C4E,IAAK,WAED,OAAOlH,KAAKgE,EAAIhE,KAAK+2B,YAGzB5vB,IAAK,SAAUC,GAEXpH,KAAKgE,EAAIoD,EAAQpH,KAAK+2B,cAW9B/vB,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,WAE9C4E,IAAK,WAED,OAAOlH,KAAK+D,EAAKL,KAAKmvB,SAAW7yB,KAAKpC,SAW9CoJ,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,WAE9C4E,IAAK,WAED,OAAOlH,KAAKgE,EAAKN,KAAKmvB,SAAW7yB,KAAKnC,UAW9CmJ,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,OAE9C4E,IAAK,WAED,OAAOlH,KAAKgE,GAGhBmD,IAAK,SAAUC,GAEPA,GAASpH,KAAKw2B,QAEdx2B,KAAKnC,OAAS,EACdmC,KAAKgE,EAAIoD,GAITpH,KAAKnC,OAAUmC,KAAKw2B,OAASpvB,KAWzCJ,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,WAE9C4E,IAAK,WAED,OAAO,IAAI1F,EAAOX,MAAMb,KAAK+D,EAAG/D,KAAKgE,IAGzCmD,IAAK,SAAUC,GAEXpH,KAAK+D,EAAIqD,EAAMrD,EACf/D,KAAKgE,EAAIoD,EAAMpD,KAUvBgD,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,YAE9C4E,IAAK,WAED,OAAO,IAAI1F,EAAOX,MAAMb,KAAK+D,EAAI/D,KAAKpC,MAAOoC,KAAKgE,IAGtDmD,IAAK,SAAUC,GAEXpH,KAAK4zB,MAAQxsB,EAAMrD,EACnB/D,KAAKgE,EAAIoD,EAAMpD,KAWvBgD,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,SAE9C4E,IAAK,WAED,OAASlH,KAAKpC,QAAUoC,KAAKnC,QAGjCsJ,IAAK,SAAUC,IAEG,IAAVA,GAEApH,KAAKs1B,MAAM,EAAG,EAAG,EAAG,MAMhC9zB,EAAOS,UAAUK,UAAUC,YAAcf,EAAOS,UAUhDT,EAAOS,UAAUs+B,QAAU,SAAUr9B,EAAGiL,EAAIE,GAOxC,OALAnL,EAAEa,GAAKoK,EACPjL,EAAEtF,OAAS,EAAIuQ,EACfjL,EAAEc,GAAKqK,EACPnL,EAAErF,QAAU,EAAIwQ,EAETnL,GAUX1B,EAAOS,UAAUg/B,aAAe,SAAU/9B,EAAGozB,GAEzC,OAAO90B,EAAOS,UAAUs+B,QAAQr9B,EAAGozB,EAAMvyB,EAAGuyB,EAAMtyB,IAUtDxC,EAAOS,UAAU8f,KAAO,SAAU7e,EAAG0yB,GAWjC,YATervB,IAAXqvB,GAAmC,OAAXA,EAExBA,EAAS,IAAIp0B,EAAOX,MAAMqC,EAAEtF,MAAOsF,EAAErF,QAIrC+3B,EAAON,MAAMpyB,EAAEtF,MAAOsF,EAAErF,QAGrB+3B,GAUXp0B,EAAOS,UAAUmyB,MAAQ,SAAUlxB,EAAG0yB,GAWlC,YATervB,IAAXqvB,GAAmC,OAAXA,EAExBA,EAAS,IAAIp0B,EAAOS,UAAUiB,EAAEa,EAAGb,EAAEc,EAAGd,EAAEtF,MAAOsF,EAAErF,QAInD+3B,EAAON,MAAMpyB,EAAEa,EAAGb,EAAEc,EAAGd,EAAEtF,MAAOsF,EAAErF,QAG/B+3B,GAUXp0B,EAAOS,UAAUi/B,iBAAmB,SAAUh+B,EAAG0yB,GAO7C,YALervB,IAAXqvB,GAAmC,OAAXA,IAExBA,EAAS,IAAIp0B,EAAOS,UAAUiB,EAAEa,EAAGb,EAAEc,EAAGd,EAAEtF,MAAOsF,EAAErF,SAGhD+3B,EAAO0K,eAAep9B,IAWjC1B,EAAOS,UAAUqI,SAAW,SAAUpH,EAAGa,EAAGC,GAExC,QAAId,EAAEtF,OAAS,GAAKsF,EAAErF,QAAU,KAKxBkG,GAAKb,EAAEa,GAAKA,EAAIb,EAAE0wB,OAAS5vB,GAAKd,EAAEc,GAAKA,EAAId,EAAEszB,SAczDh1B,EAAOS,UAAUk/B,YAAc,SAAUC,EAAIC,EAAIC,EAAIC,EAAIx9B,EAAGC,GAExD,OAAQD,GAAKq9B,GAAMr9B,EAAKq9B,EAAKE,GAAOt9B,GAAKq9B,GAAMr9B,EAAKq9B,EAAKE,GAU7D//B,EAAOS,UAAUu/B,cAAgB,SAAUt+B,EAAGozB,GAE1C,OAAO90B,EAAOS,UAAUqI,SAASpH,EAAGozB,EAAMvyB,EAAGuyB,EAAMtyB,IAWvDxC,EAAOS,UAAUu+B,aAAe,SAAUt9B,EAAGC,GAGzC,QAAID,EAAEu+B,OAASt+B,EAAEs+B,UAKTv+B,EAAEa,GAAKZ,EAAEY,GAAKb,EAAEc,GAAKb,EAAEa,GAAKd,EAAE0wB,MAAQzwB,EAAEywB,OAAS1wB,EAAEszB,OAASrzB,EAAEqzB,SAW1Eh1B,EAAOS,UAAUw0B,OAAS,SAAUvzB,EAAGC,GAEnC,OAAQD,EAAEa,IAAMZ,EAAEY,GAAKb,EAAEc,IAAMb,EAAEa,GAAKd,EAAEtF,QAAUuF,EAAEvF,OAASsF,EAAErF,SAAWsF,EAAEtF,QAUhF2D,EAAOS,UAAUy/B,eAAiB,SAAUx+B,EAAGC,GAE3C,OAAQD,EAAEtF,QAAUuF,EAAEvF,OAASsF,EAAErF,SAAWsF,EAAEtF,QAWlD2D,EAAOS,UAAUw+B,aAAe,SAAUv9B,EAAGC,EAAGyyB,GAe5C,YAbervB,IAAXqvB,IAEAA,EAAS,IAAIp0B,EAAOS,WAGpBT,EAAOS,UAAUy0B,WAAWxzB,EAAGC,KAE/ByyB,EAAO7xB,EAAIL,KAAKuC,IAAI/C,EAAEa,EAAGZ,EAAEY,GAC3B6xB,EAAO5xB,EAAIN,KAAKuC,IAAI/C,EAAEc,EAAGb,EAAEa,GAC3B4xB,EAAOh4B,MAAQ8F,KAAK81B,IAAIt2B,EAAE0wB,MAAOzwB,EAAEywB,OAASgC,EAAO7xB,EACnD6xB,EAAO/3B,OAAS6F,KAAK81B,IAAIt2B,EAAEszB,OAAQrzB,EAAEqzB,QAAUZ,EAAO5xB,GAGnD4xB,GAWXp0B,EAAOS,UAAUy0B,WAAa,SAAUxzB,EAAGC,GAEvC,QAAID,EAAEtF,OAAS,GAAKsF,EAAErF,QAAU,GAAKsF,EAAEvF,OAAS,GAAKuF,EAAEtF,QAAU,MAKxDqF,EAAE0wB,MAAQzwB,EAAEY,GAAKb,EAAEszB,OAASrzB,EAAEa,GAAKd,EAAEa,EAAIZ,EAAEywB,OAAS1wB,EAAEc,EAAIb,EAAEqzB,SAazEh1B,EAAOS,UAAUy+B,cAAgB,SAAUx9B,EAAG2wB,EAAMD,EAAO2C,EAAKC,EAAQmK,GAIpE,YAFkBp6B,IAAdo6B,IAA2BA,EAAY,KAElC9M,EAAO3wB,EAAE0wB,MAAQ+M,GAAa/M,EAAQ1wB,EAAE2wB,KAAO8M,GAAapK,EAAMrzB,EAAEszB,OAASmK,GAAanK,EAAStzB,EAAEqzB,IAAMoK,IAWxHn/B,EAAOS,UAAU2+B,MAAQ,SAAU19B,EAAGC,EAAGyyB,GAOrC,YALervB,IAAXqvB,IAEAA,EAAS,IAAIp0B,EAAOS,WAGjB2zB,EAAON,MAAM5xB,KAAK81B,IAAIt2B,EAAEa,EAAGZ,EAAEY,GAAIL,KAAK81B,IAAIt2B,EAAEc,EAAGb,EAAEa,GAAIN,KAAKuC,IAAI/C,EAAE0wB,MAAOzwB,EAAEywB,OAASlwB,KAAK81B,IAAIt2B,EAAE2wB,KAAM1wB,EAAE0wB,MAAOnwB,KAAKuC,IAAI/C,EAAEszB,OAAQrzB,EAAEqzB,QAAU9yB,KAAK81B,IAAIt2B,EAAEqzB,IAAKpzB,EAAEozB,OAWxK/0B,EAAOS,UAAU0/B,KAAO,SAAUnD,EAAQrJ,QAE1B5uB,IAAR4uB,IAEAA,EAAM,IAAI3zB,EAAOS,WAGrB,IAAIw3B,EAAOsG,OAAO6B,kBACdrI,EAAOwG,OAAO8B,kBACdlI,EAAOoG,OAAO6B,kBACdlI,EAAOqG,OAAO8B,kBAyBlB,OAvBArD,EAAO3N,QAAQ,SAAUyF,GAEjBA,EAAMvyB,EAAI01B,IAEVA,EAAOnD,EAAMvyB,GAEbuyB,EAAMvyB,EAAIw1B,IAEVA,EAAOjD,EAAMvyB,GAGbuyB,EAAMtyB,EAAI21B,IAEVA,EAAOrD,EAAMtyB,GAEbsyB,EAAMtyB,EAAI01B,IAEVA,EAAOpD,EAAMtyB,KAIrBmxB,EAAIG,MAAMiE,EAAMG,EAAMD,EAAOF,EAAMI,EAAOD,GAEnCvE,GAIX32B,KAAKyD,UAAYT,EAAOS,UAOxBT,EAAOsgC,eAAiB,IAAItgC,EAAOS,UAAU,EAAG,EAAG,EAAG,GAqBtDT,EAAOugC,iBAAmB,SAAUh+B,EAAGC,EAAGpG,EAAOC,EAAQw3B,QAE3C9uB,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,QACbuC,IAAV3I,IAAuBA,EAAQ,QACpB2I,IAAX1I,IAAwBA,EAAS,QACtB0I,IAAX8uB,IAAwBA,EAAS,IAKrCr1B,KAAK+D,EAAIA,EAKT/D,KAAKgE,EAAIA,EAKThE,KAAKpC,MAAQA,EAKboC,KAAKnC,OAASA,EAKdmC,KAAKq1B,OAASA,GAAU,GAMxBr1B,KAAKwT,KAAOhS,EAAOssB,kBAGvBtsB,EAAOugC,iBAAiBz/B,WASpB8xB,MAAO,WAEH,OAAO,IAAI5yB,EAAOugC,iBAAiB/hC,KAAK+D,EAAG/D,KAAKgE,EAAGhE,KAAKpC,MAAOoC,KAAKnC,OAAQmC,KAAKq1B,SAWrF/qB,SAAU,SAAUvG,EAAGC,GAEnB,GAAIhE,KAAKpC,OAAS,GAAKoC,KAAKnC,QAAU,EAElC,OAAO,EAGX,IAAIyN,EAAKtL,KAAK+D,EAEd,GAAIA,GAAKuH,GAAMvH,GAAKuH,EAAKtL,KAAKpC,MAC9B,CACI,IAAI2N,EAAKvL,KAAKgE,EAEd,GAAIA,GAAKuH,GAAMvH,GAAKuH,EAAKvL,KAAKnC,OAE1B,OAAO,EAIf,OAAO,IAKf2D,EAAOugC,iBAAiBz/B,UAAUC,YAAcf,EAAOugC,iBAGvDvjC,KAAKujC,iBAAmBvgC,EAAOugC,iBAqB/BvgC,EAAOwgC,OAAS,SAAUj/B,EAAMmR,EAAInQ,EAAGC,EAAGpG,EAAOC,GAK7CmC,KAAK+C,KAAOA,EAKZ/C,KAAKiD,MAAQF,EAAKE,MAMlBjD,KAAKkU,GAAK,EASVlU,KAAKiX,KAAO,IAAIzV,EAAOS,UAAU8B,EAAGC,EAAGpG,EAAOC,GAS9CmC,KAAK8E,OAAS,IAAItD,EAAOS,UAAU8B,EAAGC,EAAGpG,EAAOC,GAKhDmC,KAAKiiC,SAAW,KAMhBjiC,KAAKkB,SAAU,EAMflB,KAAKkiC,SAAU,EAKfliC,KAAKmiC,SAAYp+B,GAAG,EAAOC,GAAG,GAM9BhE,KAAKgI,OAAS,KAKdhI,KAAKkb,cAAgB,KAKrBlb,KAAKc,MAAQ,KAMbd,KAAKoiC,YAAc,EAWnBpiC,KAAKqiC,KAAO,IAAI7gC,EAAOX,MAAM,EAAG,GAKhCb,KAAKsiC,gBAAkB,IAAI9gC,EAAO+gC,OAKlCviC,KAAKwiC,gBAAkB,IAAIhhC,EAAO+gC,OAUlCviC,KAAKyiC,eAAiB,IAAIjhC,EAAO+gC,OAOjCviC,KAAK0iC,GAAK,KAMV1iC,KAAK2iC,gBAAkB,IAAInhC,EAAOX,MAOlCb,KAAK4iC,MAAQ,EAOb5iC,KAAK6iC,UAAY,IAAIrhC,EAAOX,MAM5Bb,KAAK+a,QACD+nB,UAAW,EACXC,SAAU,EACVC,YAAY,EACZC,UAAU,EACVC,aAAa,EACbn/B,EAAG,EACHC,EAAG,GAOPhE,KAAKmjC,YAAc,EAMnBnjC,KAAKojC,QAAU,EAMfpjC,KAAKqjC,WAAa,IAAI7hC,EAAOS,WASjCT,EAAOwgC,OAAOsB,cAAgB,EAQ9B9hC,EAAOwgC,OAAOuB,kBAAoB,EAQlC/hC,EAAOwgC,OAAOwB,eAAiB,EAQ/BhiC,EAAOwgC,OAAOyB,qBAAuB,EAMrCjiC,EAAOwgC,OAAO0B,WAAa,EAM3BliC,EAAOwgC,OAAO2B,iBAAmB,EAMjCniC,EAAOwgC,OAAO4B,eAAiB,EAM/BpiC,EAAOwgC,OAAO6B,WAAY,EAM1BriC,EAAOwgC,OAAO8B,MAAQ,EAMtBtiC,EAAOwgC,OAAO+B,SAAW,EAMzBviC,EAAOwgC,OAAOgC,QAAU,EAExBxiC,EAAOwgC,OAAO1/B,WAQV2hC,KAAM,WAEFjkC,KAAKkb,cAAgBlb,KAAK+C,KAAKE,MAE/BjD,KAAKc,MAAQd,KAAK+C,KAAKE,MAAMnC,MAE7Bd,KAAK+C,KAAK+X,OAAS9a,KAEfwB,EAAO0iC,UAAY1iC,EAAOwgC,OAAO6B,YAEjC7jC,KAAK0iC,GAAK,IAAIlhC,EAAO0iC,SAASlkC,KAAK+C,MAEnC/C,KAAK+C,KAAKuX,MAAM7R,SAASzI,KAAK0iC,MAStCh+B,UAAW,WAEP1E,KAAKoiC,YAAc,GAkBvB+B,OAAQ,SAAUn8B,EAAQuT,EAAO6oB,EAAOC,QAEtB99B,IAAVgV,IAAuBA,EAAQ/Z,EAAOwgC,OAAOsB,oBACnC/8B,IAAV69B,IAAuBA,EAAQ,QACrB79B,IAAV89B,IAAuBA,EAAQ,GAEnCrkC,KAAKgI,OAASA,EACdhI,KAAKqiC,KAAKl7B,IAAIi9B,EAAOC,GAErB,IAAIC,EAEJ,OAAQ/oB,GAEJ,KAAK/Z,EAAOwgC,OAAOuB,kBACf,IAAIluB,EAAIrV,KAAKpC,MAAQ,EACjB4mB,EAAIxkB,KAAKnC,OAAS,EACtBmC,KAAKiiC,SAAW,IAAIzgC,EAAOS,WAAWjC,KAAKpC,MAAQyX,GAAK,GAAIrV,KAAKnC,OAAS2mB,GAAK,EAAQ,IAAJA,EAAUnP,EAAGmP,GAChG,MAEJ,KAAKhjB,EAAOwgC,OAAOwB,eACfc,EAAS5gC,KAAKuC,IAAIjG,KAAKpC,MAAOoC,KAAKnC,QAAU,EAC7CmC,KAAKiiC,SAAW,IAAIzgC,EAAOS,WAAWjC,KAAKpC,MAAQ0mC,GAAU,GAAItkC,KAAKnC,OAASymC,GAAU,EAAGA,EAAQA,GACpG,MAEJ,KAAK9iC,EAAOwgC,OAAOyB,qBACfa,EAAS5gC,KAAKuC,IAAIjG,KAAKpC,MAAOoC,KAAKnC,QAAU,EAC7CmC,KAAKiiC,SAAW,IAAIzgC,EAAOS,WAAWjC,KAAKpC,MAAQ0mC,GAAU,GAAItkC,KAAKnC,OAASymC,GAAU,EAAGA,EAAQA,GACpG,MAEJ,KAAK9iC,EAAOwgC,OAAOsB,cAInB,QACItjC,KAAKiiC,SAAW,OAU5BsC,SAAU,WAENvkC,KAAKgI,OAAS,MAQlBw8B,QAAS,SAAUtpB,GAEflb,KAAKykC,YAAY/gC,KAAKiyB,MAAMza,EAAcnX,EAAI/D,KAAKiX,KAAK6f,WAAYpzB,KAAKiyB,MAAMza,EAAclX,EAAIhE,KAAKiX,KAAK8f,cAS/G2N,UAAW,SAAU3gC,EAAGC,GAEpBhE,KAAKykC,YAAY/gC,KAAKiyB,MAAM5xB,EAAI/D,KAAKiX,KAAK6f,WAAYpzB,KAAKiyB,MAAM3xB,EAAIhE,KAAKiX,KAAK8f,cAkBnF4N,MAAO,SAAU7B,EAAWC,EAAU6B,EAAOC,EAAW3B,GAQpD,YANkB38B,IAAdu8B,IAA2BA,EAAY,UAC1Bv8B,IAAbw8B,IAA0BA,EAAW,UAC3Bx8B,IAAVq+B,IAAuBA,GAAQ,QACjBr+B,IAAds+B,IAA2BA,EAAYrjC,EAAOwgC,OAAO0B,iBACrCn9B,IAAhB28B,IAA6BA,GAAc,MAE1C0B,GAAS5kC,KAAK+a,OAAOgoB,SAAW,KAMrC/iC,KAAK+a,OAAO+nB,UAAYA,EACxB9iC,KAAK+a,OAAOgoB,SAAWA,EACvB/iC,KAAK+a,OAAOmoB,YAAcA,EAE1BljC,KAAK+a,OAAOhX,EAAI,EAChB/D,KAAK+a,OAAO/W,EAAI,EAEhBhE,KAAK+a,OAAOioB,WAAc6B,IAAcrjC,EAAOwgC,OAAO0B,YAAcmB,IAAcrjC,EAAOwgC,OAAO2B,iBAChG3jC,KAAK+a,OAAOkoB,SAAY4B,IAAcrjC,EAAOwgC,OAAO0B,YAAcmB,IAAcrjC,EAAOwgC,OAAO4B,gBAEvF,IAkBXkB,MAAO,SAAUzuB,EAAO0sB,EAAU6B,EAAO3jC,GAOrC,YALcsF,IAAV8P,IAAuBA,EAAQ,eAClB9P,IAAbw8B,IAA0BA,EAAW,UAC3Bx8B,IAAVq+B,IAAuBA,GAAQ,QACrBr+B,IAAVtF,IAAuBA,EAAQ,MAE9BjB,KAAK0iC,KAAQkC,GAAS5kC,KAAKmjC,YAAc,KAK9CnjC,KAAK0iC,GAAG9nB,QAER5a,KAAK0iC,GAAGqC,UAAU1uB,EAAOpV,GACzBjB,KAAK0iC,GAAGsC,SAAS,EAAG,EAAGhlC,KAAKpC,MAAOoC,KAAKnC,QACxCmC,KAAK0iC,GAAGuC,UAERjlC,KAAK0iC,GAAGzhC,MAAQ,EAEhBjB,KAAKmjC,YAAcJ,EACnB/iC,KAAKojC,QAAU,GAER,IAuBX8B,KAAM,SAAU7uB,EAAO0sB,EAAU6B,EAAO3jC,GAEpC,OAAOjB,KAAKmlC,WAAW9uB,EAAO0sB,EAAU6B,EAAO3jC,EAAOO,EAAOwgC,OAAO+B,WAgBxEqB,OAAQ,SAAU/uB,EAAO0sB,EAAU6B,EAAO3jC,GAEtC,OAAOjB,KAAKmlC,WAAW9uB,EAAO0sB,EAAU6B,EAAO3jC,EAAOO,EAAOwgC,OAAOgC,UAexEmB,WAAY,SAAU9uB,EAAO0sB,EAAU6B,EAAO3jC,EAAOuS,GAOjD,QALcjN,IAAV8P,IAAuBA,EAAQ,QAClB9P,IAAbw8B,IAA0BA,EAAW,UAC3Bx8B,IAAVq+B,IAAuBA,GAAQ,QACrBr+B,IAAVtF,IAAuBA,EAAQ,IAE9BjB,KAAK0iC,KAAQkC,GAAS5kC,KAAKmjC,YAAc,EAE1C,OAAO,EASX,GANAnjC,KAAK0iC,GAAG9nB,QAER5a,KAAK0iC,GAAGqC,UAAU1uB,EAAOpV,GACzBjB,KAAK0iC,GAAGsC,SAAS,EAAG,EAAGhlC,KAAKpC,MAAOoC,KAAKnC,QACxCmC,KAAK0iC,GAAGuC,UAEJzxB,EAAO,GAAKA,EAAO,EAAK,MAAM,IAAIzK,MAAM,yBAO5C,OALA/I,KAAK0iC,GAAGzhC,MAASuS,IAAShS,EAAOwgC,OAAOgC,QAAW,EAAI,EAEvDhkC,KAAKmjC,YAAcJ,EACnB/iC,KAAKojC,QAAU5vB,GAER,GASX6xB,OAAQ,WAEArlC,KAAKmjC,YAAc,GAEnBnjC,KAAKslC,WAGLtlC,KAAK+a,OAAOgoB,SAAW,GAEvB/iC,KAAKulC,cAGLvlC,KAAK8E,QAEL9E,KAAKwlC,cAGLxlC,KAAKkiC,UAELliC,KAAKiX,KAAK8Y,QACV/vB,KAAK+a,OAAOhX,EAAIL,KAAKqsB,MAAM/vB,KAAK+a,OAAOhX,GACvC/D,KAAK+a,OAAO/W,EAAIN,KAAKqsB,MAAM/vB,KAAK+a,OAAO/W,IAG3ChE,KAAKkb,cAActa,SAASmD,GAAK/D,KAAKiX,KAAKlT,EAC3C/D,KAAKkb,cAActa,SAASoD,GAAKhE,KAAKiX,KAAKjT,GAS/CshC,SAAU,WAEFtlC,KAAKojC,UAAY5hC,EAAOwgC,OAAO8B,OAG/B9jC,KAAK0iC,GAAGzhC,OAASjB,KAAK+C,KAAK0iC,KAAKC,MAAQ1lC,KAAKmjC,YAEzCnjC,KAAK0iC,GAAGzhC,OAAS,IAEjBjB,KAAKmjC,YAAc,EACnBnjC,KAAK0iC,GAAGzhC,MAAQ,EAChBjB,KAAKwiC,gBAAgBmD,aAGpB3lC,KAAKojC,UAAY5hC,EAAOwgC,OAAOgC,SAGpChkC,KAAK0iC,GAAGzhC,OAASjB,KAAK+C,KAAK0iC,KAAKC,MAAQ1lC,KAAKmjC,YAEzCnjC,KAAK0iC,GAAGzhC,OAAS,IAEjBjB,KAAKmjC,YAAc,EACnBnjC,KAAK0iC,GAAGzhC,MAAQ,EAChBjB,KAAKyiC,eAAekD,cAMxB3lC,KAAK0iC,GAAGzhC,OAASjB,KAAK+C,KAAK0iC,KAAKC,MAAQ1lC,KAAKmjC,YAEzCnjC,KAAK0iC,GAAGzhC,OAAS,IAEjBjB,KAAKmjC,YAAc,EACnBnjC,KAAK0iC,GAAGzhC,MAAQ,EAChBjB,KAAKyiC,eAAekD,cAWhCJ,YAAa,WAETvlC,KAAK+a,OAAOgoB,UAAY/iC,KAAK+C,KAAK0iC,KAAKC,MAEnC1lC,KAAK+a,OAAOgoB,UAAY,GAExB/iC,KAAKsiC,gBAAgBqD,WACrB3lC,KAAK+a,OAAOhX,EAAI,EAChB/D,KAAK+a,OAAO/W,EAAI,IAIZhE,KAAK+a,OAAOioB,aAEZhjC,KAAK+a,OAAOhX,EAAI/D,KAAK+C,KAAK6iC,IAAIC,OAAS7lC,KAAK+a,OAAO+nB,UAAY9iC,KAAKiX,KAAKrZ,MAAQ,EAAIoC,KAAK+a,OAAO+nB,UAAY9iC,KAAKiX,KAAKrZ,OAGvHoC,KAAK+a,OAAOkoB,WAEZjjC,KAAK+a,OAAO/W,EAAIhE,KAAK+C,KAAK6iC,IAAIC,OAAS7lC,KAAK+a,OAAO+nB,UAAY9iC,KAAKiX,KAAKpZ,OAAS,EAAImC,KAAK+a,OAAO+nB,UAAY9iC,KAAKiX,KAAKpZ,UAWpIioC,aAAc,WAEV9lC,KAAK2iC,gBAAgB5+B,EAAI/D,KAAKiX,KAAKlT,EAAI/D,KAAKgI,OAAOtG,cAAcqC,EACjE/D,KAAK2iC,gBAAgB3+B,EAAIhE,KAAKiX,KAAKjT,EAAIhE,KAAKgI,OAAOtG,cAAcsC,EAE7DhE,KAAKiiC,UAELjiC,KAAK4iC,MAAQ5iC,KAAK2iC,gBAAgB5+B,EAAI/D,KAAKiX,KAAKlT,EAE5C/D,KAAK4iC,MAAQ5iC,KAAKiiC,SAASpO,KAE3B7zB,KAAKiX,KAAKlT,EAAI/D,KAAK+C,KAAKgjC,KAAK3P,OAAOp2B,KAAKiX,KAAKlT,EAAG/D,KAAK2iC,gBAAgB5+B,EAAI/D,KAAKiiC,SAASpO,KAAM7zB,KAAKqiC,KAAKt+B,GAEnG/D,KAAK4iC,MAAQ5iC,KAAKiiC,SAASrO,QAEhC5zB,KAAKiX,KAAKlT,EAAI/D,KAAK+C,KAAKgjC,KAAK3P,OAAOp2B,KAAKiX,KAAKlT,EAAG/D,KAAK2iC,gBAAgB5+B,EAAI/D,KAAKiiC,SAASrO,MAAO5zB,KAAKqiC,KAAKt+B,IAG7G/D,KAAK4iC,MAAQ5iC,KAAK2iC,gBAAgB3+B,EAAIhE,KAAKiX,KAAKjT,EAE5ChE,KAAK4iC,MAAQ5iC,KAAKiiC,SAAS1L,IAE3Bv2B,KAAKiX,KAAKjT,EAAIhE,KAAK+C,KAAKgjC,KAAK3P,OAAOp2B,KAAKiX,KAAKjT,EAAGhE,KAAK2iC,gBAAgB3+B,EAAIhE,KAAKiiC,SAAS1L,IAAKv2B,KAAKqiC,KAAKr+B,GAElGhE,KAAK4iC,MAAQ5iC,KAAKiiC,SAASzL,SAEhCx2B,KAAKiX,KAAKjT,EAAIhE,KAAK+C,KAAKgjC,KAAK3P,OAAOp2B,KAAKiX,KAAKjT,EAAGhE,KAAK2iC,gBAAgB3+B,EAAIhE,KAAKiiC,SAASzL,OAAQx2B,KAAKqiC,KAAKr+B,MAK9GhE,KAAKiX,KAAKlT,EAAI/D,KAAK+C,KAAKgjC,KAAK3P,OAAOp2B,KAAKiX,KAAKlT,EAAG/D,KAAK2iC,gBAAgB5+B,EAAI/D,KAAKiX,KAAK6f,UAAW92B,KAAKqiC,KAAKt+B,GACzG/D,KAAKiX,KAAKjT,EAAIhE,KAAK+C,KAAKgjC,KAAK3P,OAAOp2B,KAAKiX,KAAKjT,EAAGhE,KAAK2iC,gBAAgB3+B,EAAIhE,KAAKiX,KAAK8f,WAAY/2B,KAAKqiC,KAAKr+B,IAG1GhE,KAAK8E,QAEL9E,KAAKwlC,cAGLxlC,KAAKkiC,SAELliC,KAAKiX,KAAK8Y,QAGd/vB,KAAKkb,cAActa,SAASmD,GAAK/D,KAAKiX,KAAKlT,EAC3C/D,KAAKkb,cAActa,SAASoD,GAAKhE,KAAKiX,KAAKjT,GAQ/CgiC,iBAAkB,WAEVhmC,KAAK8E,QAEL9E,KAAK8E,OAAOywB,SAASv1B,KAAK+C,KAAKE,MAAM6B,SAW7C0gC,YAAa,WAETxlC,KAAKmiC,QAAQp+B,GAAI,EACjB/D,KAAKmiC,QAAQn+B,GAAI,EAEjB,IAAIiiC,EAAKjmC,KAAKiX,KAAKlT,EAAI/D,KAAK+a,OAAOhX,EAC/BmiC,EAAKlmC,KAAKiX,KAAK2c,MAAQ5zB,KAAK+a,OAAOhX,EACnCoiC,EAAKnmC,KAAKiX,KAAKjT,EAAIhE,KAAK+a,OAAO/W,EAC/BoiC,EAAKpmC,KAAKiX,KAAKuf,OAASx2B,KAAK+a,OAAO/W,EAGpCiiC,GAAMjmC,KAAK8E,OAAOf,EAAI/D,KAAKc,MAAMiD,GAEjC/D,KAAKmiC,QAAQp+B,GAAI,EACjB/D,KAAKiX,KAAKlT,EAAI/D,KAAK8E,OAAOf,EAAI/D,KAAKc,MAAMiD,EAEpC/D,KAAK+a,OAAOmoB,cAGbljC,KAAK+a,OAAOhX,EAAI,IAGfmiC,GAAMlmC,KAAK8E,OAAO8uB,MAAQ5zB,KAAKc,MAAMiD,IAE1C/D,KAAKmiC,QAAQp+B,GAAI,EACjB/D,KAAKiX,KAAKlT,EAAK/D,KAAK8E,OAAO8uB,MAAQ5zB,KAAKc,MAAMiD,EAAK/D,KAAKpC,MAEnDoC,KAAK+a,OAAOmoB,cAGbljC,KAAK+a,OAAOhX,EAAI,IAIpBoiC,GAAMnmC,KAAK8E,OAAOyxB,IAAMv2B,KAAKc,MAAMkD,GAEnChE,KAAKmiC,QAAQn+B,GAAI,EACjBhE,KAAKiX,KAAKjT,EAAIhE,KAAK8E,OAAOyxB,IAAMv2B,KAAKc,MAAMkD,EAEtChE,KAAK+a,OAAOmoB,cAGbljC,KAAK+a,OAAO/W,EAAI,IAGfoiC,GAAMpmC,KAAK8E,OAAO0xB,OAASx2B,KAAKc,MAAMkD,IAE3ChE,KAAKmiC,QAAQn+B,GAAI,EACjBhE,KAAKiX,KAAKjT,EAAKhE,KAAK8E,OAAO0xB,OAASx2B,KAAKc,MAAMkD,EAAKhE,KAAKnC,OAEpDmC,KAAK+a,OAAOmoB,cAGbljC,KAAK+a,OAAO/W,EAAI,KAa5BygC,YAAa,SAAU1gC,EAAGC,GAEtBhE,KAAKiX,KAAKlT,EAAIA,EACd/D,KAAKiX,KAAKjT,EAAIA,EAEVhE,KAAK8E,QAEL9E,KAAKwlC,eAWba,QAAS,SAAUzoC,EAAOC,GAEtBmC,KAAKiX,KAAKrZ,MAAQA,EAClBoC,KAAKiX,KAAKpZ,OAASA,GAUvByoC,MAAO,WAEHtmC,KAAKgI,OAAS,KAEdhI,KAAKiX,KAAKlT,EAAI,EACd/D,KAAKiX,KAAKjT,EAAI,EAEdhE,KAAK+a,OAAOgoB,SAAW,EACvB/iC,KAAK+a,OAAOhX,EAAI,EAChB/D,KAAK+a,OAAO/W,EAAI,EAEhBhE,KAAKumC,WASTA,QAAS,WAEDvmC,KAAK0iC,KAEL1iC,KAAK0iC,GAAG9nB,QACR5a,KAAK0iC,GAAGzhC,MAAQ,GAGpBjB,KAAKmjC,YAAc,IAK3B3hC,EAAOwgC,OAAO1/B,UAAUC,YAAcf,EAAOwgC,OAO7Ch7B,OAAOyF,eAAejL,EAAOwgC,OAAO1/B,UAAW,KAE3C4E,IAAK,WAED,OAAOlH,KAAKiX,KAAKlT,GAGrBoD,IAAK,SAAUC,GAEXpH,KAAKiX,KAAKlT,EAAIqD,EAEVpH,KAAK8E,QAEL9E,KAAKwlC,iBAWjBx+B,OAAOyF,eAAejL,EAAOwgC,OAAO1/B,UAAW,KAE3C4E,IAAK,WAED,OAAOlH,KAAKiX,KAAKjT,GAGrBmD,IAAK,SAAUC,GAEXpH,KAAKiX,KAAKjT,EAAIoD,EAEVpH,KAAK8E,QAEL9E,KAAKwlC,iBAWjBx+B,OAAOyF,eAAejL,EAAOwgC,OAAO1/B,UAAW,YAE3C4E,IAAK,WAID,OAFAlH,KAAK6iC,UAAU17B,IAAInH,KAAKiX,KAAKlT,EAAG/D,KAAKiX,KAAKjT,GAEnChE,KAAK6iC,WAGhB17B,IAAK,SAAUC,QAEY,IAAZA,EAAMrD,IAAqB/D,KAAKiX,KAAKlT,EAAIqD,EAAMrD,QACnC,IAAZqD,EAAMpD,IAAqBhE,KAAKiX,KAAKjT,EAAIoD,EAAMpD,GAEtDhE,KAAK8E,QAEL9E,KAAKwlC,iBAWjBx+B,OAAOyF,eAAejL,EAAOwgC,OAAO1/B,UAAW,SAE3C4E,IAAK,WAED,OAAOlH,KAAKiX,KAAKrZ,OAGrBuJ,IAAK,SAAUC,GAEXpH,KAAKiX,KAAKrZ,MAAQwJ,KAU1BJ,OAAOyF,eAAejL,EAAOwgC,OAAO1/B,UAAW,UAE3C4E,IAAK,WAED,OAAOlH,KAAKiX,KAAKpZ,QAGrBsJ,IAAK,SAAUC,GAEXpH,KAAKiX,KAAKpZ,OAASuJ,KAU3BJ,OAAOyF,eAAejL,EAAOwgC,OAAO1/B,UAAW,kBAE3C4E,IAAK,WAED,OAAOlH,KAAK+a,OAAO+nB,WAGvB37B,IAAK,SAAUC,GAEXpH,KAAK+a,OAAO+nB,UAAY17B,KAWhCJ,OAAOyF,eAAejL,EAAOwgC,OAAO1/B,UAAW,aAE3C4E,IAAK,WAID,OAFAlH,KAAKqjC,WAAW/N,MAAM,EAAG,EAAGt1B,KAAKiX,KAAKrZ,MAAOoC,KAAKiX,KAAKpZ,QAEhDmC,KAAKqjC,cAWpBr8B,OAAOyF,eAAejL,EAAOwgC,OAAO1/B,UAAW,WAE3C4E,IAAK,WAED,OAAQlH,KAAK+D,EAAK,GAAM/D,KAAKpC,SAWrCoJ,OAAOyF,eAAejL,EAAOwgC,OAAO1/B,UAAW,WAE3C4E,IAAK,WAED,OAAQlH,KAAKgE,EAAK,GAAMhE,KAAKnC,UAmCrC2D,EAAOglC,MAAQ,WAKXxmC,KAAK+C,KAAO,KAKZ/C,KAAKgT,IAAM,GAKXhT,KAAKm5B,IAAM,KAKXn5B,KAAKymC,KAAO,KAKZzmC,KAAK8a,OAAS,KAKd9a,KAAKga,MAAQ,KAKbha,KAAK0mC,MAAQ,KAKb1mC,KAAK2mC,KAAO,KAKZ3mC,KAAK+lC,KAAO,KAKZ/lC,KAAK4mC,MAAQ,KAKb5mC,KAAKc,MAAQ,KAKbd,KAAKsa,MAAQ,KAKbta,KAAK6mC,MAAQ,KAKb7mC,KAAKylC,KAAO,KAKZzlC,KAAK8mC,OAAS,KAKd9mC,KAAKiD,MAAQ,KAKbjD,KAAK+mC,UAAY,KAKjB/mC,KAAKgnC,QAAU,KAKfhnC,KAAK4lC,IAAM,MAGfpkC,EAAOglC,MAAMlkC,WAUToP,KAAM,aAYNu1B,QAAS,aAUTC,WAAY,aAWZC,WAAY,aAWZ3+B,OAAQ,aAYR68B,OAAQ,aAaR+B,WAAY,aAUZC,UAAW,aAYXliC,OAAQ,aAWRgB,OAAQ,aAURmhC,OAAQ,aAURC,QAAS,aAUTC,YAAa,aAUbC,SAAU,cAMdjmC,EAAOglC,MAAMlkC,UAAUC,YAAcf,EAAOglC,MAgB5ChlC,EAAOkmC,aAAe,SAAU3kC,EAAM4kC,GAKlC3nC,KAAK+C,KAAOA,EAKZ/C,KAAK4nC,UAML5nC,KAAK6nC,cAAgB,UAEO,IAAjBF,GAAiD,OAAjBA,IAEvC3nC,KAAK6nC,cAAgBF,GAOzB3nC,KAAK8nC,aAAc,EAMnB9nC,KAAK+nC,aAAc,EAMnB/nC,KAAKgoC,UAAW,EAMhBhoC,KAAKioC,SAMLjoC,KAAKkoC,QAAU,GAcfloC,KAAKmoC,cAAgB,IAAI3mC,EAAO+gC,OAMhCviC,KAAKooC,eAAiB,KAMtBpoC,KAAKqoC,kBAAoB,KAMzBroC,KAAKsoC,iBAAmB,KAMxBtoC,KAAKuoC,iBAAmB,KAMxBvoC,KAAKwoC,iBAAmB,KAMxBxoC,KAAKyoC,iBAAmB,KAMxBzoC,KAAK0oC,oBAAsB,KAM3B1oC,KAAK2oC,qBAAuB,KAM5B3oC,KAAK4oC,qBAAuB,KAM5B5oC,KAAK6oC,iBAAmB,KAMxB7oC,KAAK8oC,kBAAoB,KAMzB9oC,KAAK+oC,sBAAwB,KAM7B/oC,KAAKgpC,mBAAqB,MAG9BxnC,EAAOkmC,aAAaplC,WAOhB2hC,KAAM,WAEFjkC,KAAK+C,KAAKkmC,QAAQ9P,IAAIn5B,KAAKkpC,MAAOlpC,MAClCA,KAAK+C,KAAKomC,SAAShQ,IAAIn5B,KAAKopC,OAAQppC,MAET,OAAvBA,KAAK6nC,eAAwD,iBAAvB7nC,KAAK6nC,eAE3C7nC,KAAKm5B,IAAI,UAAWn5B,KAAK6nC,eAAe,IAqBhD1O,IAAK,SAAUnmB,EAAK6zB,EAAOwC,QAEL9iC,IAAd8iC,IAA2BA,GAAY,GAE3C,IAAIC,EA8BJ,OA5BIzC,aAAiBrlC,EAAOglC,MAExB8C,EAAWzC,EAEW,iBAAVA,GAEZyC,EAAWzC,GACF9jC,KAAO/C,KAAK+C,KAEC,mBAAV8jC,IAEZyC,EAAW,IAAIzC,EAAM7mC,KAAK+C,OAG9B/C,KAAK4nC,OAAO50B,GAAOs2B,EAEfD,IAEIrpC,KAAK+C,KAAKwmC,SAEVvpC,KAAKsM,MAAM0G,GAIXhT,KAAK6nC,cAAgB70B,GAItBs2B,GAQXltB,OAAQ,SAAUpJ,GAEVhT,KAAKkoC,UAAYl1B,IAEjBhT,KAAKwpC,gBAAkB,KAEvBxpC,KAAKooC,eAAiB,KACtBpoC,KAAKgpC,mBAAqB,KAE1BhpC,KAAKqoC,kBAAoB,KACzBroC,KAAK4oC,qBAAuB,KAC5B5oC,KAAK2oC,qBAAuB,KAC5B3oC,KAAKsoC,iBAAmB,KACxBtoC,KAAKuoC,iBAAmB,KACxBvoC,KAAK0oC,oBAAsB,KAC3B1oC,KAAKwoC,iBAAmB,KACxBxoC,KAAKyoC,iBAAmB,KACxBzoC,KAAK6oC,iBAAmB,KACxB7oC,KAAK8oC,kBAAoB,KACzB9oC,KAAK+oC,sBAAwB,aAG1B/oC,KAAK4nC,OAAO50B,IAYvB1G,MAAO,SAAU0G,EAAKy2B,EAAYC,QAEXnjC,IAAfkjC,IAA4BA,GAAa,QAC1BljC,IAAfmjC,IAA4BA,GAAa,GAEzC1pC,KAAK2pC,WAAW32B,KAGhBhT,KAAK6nC,cAAgB70B,EACrBhT,KAAK8nC,YAAc2B,EACnBzpC,KAAK+nC,YAAc2B,EAEflZ,UAAU7tB,OAAS,IAEnB3C,KAAKioC,MAAQxgC,MAAMnF,UAAUwG,OAAOtE,KAAKgsB,UAAW,MAahEoZ,QAAS,SAAUH,EAAYC,QAERnjC,IAAfkjC,IAA4BA,GAAa,QAC1BljC,IAAfmjC,IAA4BA,GAAa,GAG7C1pC,KAAK6nC,cAAgB7nC,KAAKkoC,QAC1BloC,KAAK8nC,YAAc2B,EACnBzpC,KAAK+nC,YAAc2B,EAEflZ,UAAU7tB,OAAS,IAEnB3C,KAAKioC,MAAQxgC,MAAMnF,UAAU4tB,MAAM1rB,KAAKgsB,UAAW,KAS3DqZ,MAAO,aASPnlC,UAAW,WAEP,GAAI1E,KAAK6nC,eAAiB7nC,KAAK+C,KAAKwmC,SACpC,CAMI,GAJAvpC,KAAK8pC,oBAEL9pC,KAAK+pC,gBAAgB/pC,KAAK6nC,eAEtB7nC,KAAKkoC,UAAYloC,KAAK6nC,cAEtB,OAIA7nC,KAAK6nC,cAAgB,KAOrB7nC,KAAKqoC,mBAELroC,KAAK+C,KAAK4jC,KAAKL,OAAM,GACrBtmC,KAAKqoC,kBAAkB7jC,KAAKxE,KAAKwpC,gBAAiBxpC,KAAK+C,MAGb,IAAtC/C,KAAK+C,KAAK4jC,KAAKqD,oBAAkE,IAAtChqC,KAAK+C,KAAK4jC,KAAKsD,mBAE1DjqC,KAAKkqC,eAKLlqC,KAAK+C,KAAK4jC,KAAKr6B,SAMnBtM,KAAKkqC,iBAWjBJ,kBAAmB,WAEX9pC,KAAKkoC,UAEDloC,KAAKgpC,oBAELhpC,KAAKgpC,mBAAmBxkC,KAAKxE,KAAKwpC,gBAAiBxpC,KAAK+C,MAG5D/C,KAAK+C,KAAK+jC,OAAOqD,YAEjBnqC,KAAK+C,KAAK+X,OAAOwrB,QAEjBtmC,KAAK+C,KAAK2jC,MAAMJ,OAAM,GAEtBtmC,KAAK+C,KAAKikC,QAAQpsB,QAElB5a,KAAK+C,KAAK0iC,KAAK0E,YAEfnqC,KAAK+C,KAAKjC,MAAMwlC,MAAMtmC,KAAK8nC,aAEvB9nC,KAAK+C,KAAKqnC,OAEVpqC,KAAK+C,KAAKqnC,MAAM9D,QAGhBtmC,KAAK8nC,cAEL9nC,KAAK+C,KAAKE,MAAMwkC,WAEZznC,KAAK+nC,aAEL/nC,KAAK+C,KAAKiX,MAAMxX,aAahCmnC,WAAY,SAAU32B,GAElB,IAAI6zB,EAAQ7mC,KAAK4nC,OAAO50B,GAExB,OAAI6zB,KAEIA,EAAMI,SAAWJ,EAAMr+B,QAAUq+B,EAAMxB,QAAUwB,EAAM1hC,UAMvD7E,QAAQ+Z,KAAK,8HACN,IAKX/Z,QAAQ+Z,KAAK,sDAAwDrH,IAC9D,IAWfq3B,KAAM,SAAUr3B,GAEZ,IAAI6zB,EAAQ7mC,KAAK4nC,OAAO50B,GAExB6zB,EAAM9jC,KAAO/C,KAAK+C,KAClB8jC,EAAM1N,IAAMn5B,KAAK+C,KAAKo2B,IACtB0N,EAAMJ,KAAOzmC,KAAK+C,KAAK0jC,KACvBI,EAAM/rB,OAAS9a,KAAK+C,KAAK+X,OACzB+rB,EAAM7sB,MAAQha,KAAK+C,KAAKiX,MACxB6sB,EAAMH,MAAQ1mC,KAAK+C,KAAK2jC,MACxBG,EAAMF,KAAO3mC,KAAK+C,KAAK4jC,KACvBE,EAAMd,KAAO/lC,KAAK+C,KAAKgjC,KACvBc,EAAMD,MAAQ5mC,KAAK+C,KAAK6jC,MACxBC,EAAM/lC,MAAQd,KAAK+C,KAAKjC,MACxB+lC,EAAMA,MAAQ7mC,KACd6mC,EAAMvsB,MAAQta,KAAK+C,KAAKuX,MACxBusB,EAAMpB,KAAOzlC,KAAK+C,KAAK0iC,KACvBoB,EAAMC,OAAS9mC,KAAK+C,KAAK+jC,OACzBD,EAAM5jC,MAAQjD,KAAK+C,KAAKE,MACxB4jC,EAAME,UAAY/mC,KAAK+C,KAAKgkC,UAC5BF,EAAMjB,IAAM5lC,KAAK+C,KAAK6iC,IACtBiB,EAAMG,QAAUhnC,KAAK+C,KAAKikC,QAC1BH,EAAM7zB,IAAMA,GAUhBs3B,OAAQ,SAAUt3B,GAEd,IAAI6zB,EAAQ7mC,KAAK4nC,OAAO50B,GAEpB6zB,IAEAA,EAAM9jC,KAAO,KACb8jC,EAAM1N,IAAM,KACZ0N,EAAMJ,KAAO,KACbI,EAAM/rB,OAAS,KACf+rB,EAAM7sB,MAAQ,KACd6sB,EAAMH,MAAQ,KACdG,EAAMF,KAAO,KACbE,EAAMd,KAAO,KACbc,EAAMD,MAAQ,KACdC,EAAM/lC,MAAQ,KACd+lC,EAAMA,MAAQ,KACdA,EAAMvsB,MAAQ,KACdusB,EAAMpB,KAAO,KACboB,EAAMC,OAAS,KACfD,EAAM5jC,MAAQ,KACd4jC,EAAME,UAAY,KAClBF,EAAMjB,IAAM,KACZiB,EAAMG,QAAU,OAWxB+C,gBAAiB,SAAU/2B,GAEvB,IAAIu3B,EAAmBvqC,KAAKkoC,QACxBrB,EAAQ7mC,KAAK4nC,OAAO50B,GAExBhT,KAAKwpC,gBAAkB3C,EAEvB7mC,KAAKqqC,KAAKr3B,GAGVhT,KAAKooC,eAAiBvB,EAAMn1B,MAAQ1R,KAAK6pC,MAEzC7pC,KAAKqoC,kBAAoBxB,EAAMI,SAAW,KAC1CjnC,KAAK4oC,qBAAuB/B,EAAMM,YAAc,KAChDnnC,KAAK2oC,qBAAuB9B,EAAMK,YAAc,KAChDlnC,KAAKsoC,iBAAmBzB,EAAMr+B,QAAU,KACxCxI,KAAKuoC,iBAAmB1B,EAAMxB,QAAU,KACxCrlC,KAAKwqC,qBAAuB3D,EAAMO,YAAc,KAChDpnC,KAAK0oC,oBAAsB7B,EAAMQ,WAAa,KAC9CrnC,KAAKwoC,iBAAmB3B,EAAM1hC,QAAU,KACxCnF,KAAKyoC,iBAAmB5B,EAAM1gC,QAAU,KACxCnG,KAAK6oC,iBAAmBhC,EAAMS,QAAU,KACxCtnC,KAAK8oC,kBAAoBjC,EAAMU,SAAW,KAC1CvnC,KAAK+oC,sBAAwBlC,EAAMW,aAAe,KAGlDxnC,KAAKgpC,mBAAqBnC,EAAMY,UAAYznC,KAAK6pC,MAG5B,KAAjB7pC,KAAKkoC,SAELloC,KAAK+C,KAAKikC,QAAQV,QAGtBtmC,KAAKkoC,QAAUl1B,EACfhT,KAAKgoC,UAAW,EAEhBhoC,KAAKmoC,cAAcxC,SAAS3lC,KAAKkoC,QAASqC,GAG1CvqC,KAAKooC,eAAe7iC,MAAMvF,KAAKwpC,gBAAiBxpC,KAAKioC,OAGjDj1B,IAAQhT,KAAK6nC,gBAEb7nC,KAAKioC,UAGTjoC,KAAK+C,KAAK0nC,YAAa,GAU3BC,gBAAiB,WAEb,OAAO1qC,KAAK4nC,OAAO5nC,KAAKkoC,UAQ5BgC,aAAc,YAEY,IAAlBlqC,KAAKgoC,UAAsBhoC,KAAKsoC,kBAEhCtoC,KAAKgoC,UAAW,EAChBhoC,KAAKsoC,iBAAiB9jC,KAAKxE,KAAKwpC,gBAAiBxpC,KAAK+C,OAItD/C,KAAKgoC,UAAW,GASxBd,WAAY,YAEc,IAAlBlnC,KAAKgoC,UAAsBhoC,KAAK2oC,sBAEhC3oC,KAAK2oC,qBAAqBnkC,KAAKxE,KAAKwpC,gBAAiBxpC,KAAK+C,OAQlEmmC,MAAO,WAEClpC,KAAKgoC,UAAYhoC,KAAK6oC,kBAEtB7oC,KAAK6oC,iBAAiBrkC,KAAKxE,KAAKwpC,gBAAiBxpC,KAAK+C,OAQ9DqmC,OAAQ,WAEAppC,KAAKgoC,UAAYhoC,KAAK8oC,mBAEtB9oC,KAAK8oC,kBAAkBtkC,KAAKxE,KAAKwpC,gBAAiBxpC,KAAK+C,OAQ/DsiC,OAAQ,WAEArlC,KAAKgoC,SAEDhoC,KAAKuoC,kBAELvoC,KAAKuoC,iBAAiB/jC,KAAKxE,KAAKwpC,gBAAiBxpC,KAAK+C,MAI1D/C,KAAK2oC,sBAEL3oC,KAAK2oC,qBAAqBnkC,KAAKxE,KAAKwpC,gBAAiBxpC,KAAK+C,OAIlEqkC,WAAY,WAEJpnC,KAAKgoC,UAAYhoC,KAAKwqC,sBAEtBxqC,KAAKwqC,qBAAqBhmC,KAAKxE,KAAKwpC,gBAAiBxpC,KAAK+C,OAQlEykC,YAAa,WAELxnC,KAAKgoC,SAEDhoC,KAAK+oC,uBAEL/oC,KAAK+oC,sBAAsBvkC,KAAKxE,KAAKwpC,gBAAiBxpC,KAAK+C,MAI/D/C,KAAK2oC,sBAEL3oC,KAAK2oC,qBAAqBnkC,KAAKxE,KAAKwpC,gBAAiBxpC,KAAK+C,OAQlEskC,UAAW,WAEHrnC,KAAKgoC,UAAYhoC,KAAK0oC,qBAEtB1oC,KAAK0oC,oBAAoBlkC,KAAKxE,KAAKwpC,gBAAiBxpC,KAAK+C,OAQjEoD,OAAQ,SAAUvI,EAAOC,GAEjBmC,KAAKyoC,kBAELzoC,KAAKyoC,iBAAiBjkC,KAAKxE,KAAKwpC,gBAAiB5rC,EAAOC,IAQhEsH,OAAQ,WAEAnF,KAAKgoC,SAEDhoC,KAAKwoC,mBAEDxoC,KAAK+C,KAAK4nC,aAAenpC,EAAOioB,QAEhCzpB,KAAK+C,KAAK+K,QAAQsa,OAClBpoB,KAAK+C,KAAK+K,QAAQe,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GAC9C7O,KAAKwoC,iBAAiBhkC,KAAKxE,KAAKwpC,gBAAiBxpC,KAAK+C,MACtD/C,KAAK+C,KAAK+K,QAAQ4a,WAIlB1oB,KAAKwoC,iBAAiBhkC,KAAKxE,KAAKwpC,gBAAiBxpC,KAAK+C,OAK9D/C,KAAK4oC,sBAEL5oC,KAAK4oC,qBAAqBpkC,KAAKxE,KAAKwpC,gBAAiBxpC,KAAK+C,OASlEP,QAAS,WAELxC,KAAK8nC,aAAc,EACnB9nC,KAAK+nC,aAAc,EAEnB/nC,KAAK8pC,oBAEL9pC,KAAKwpC,gBAAkB,KAEvBxpC,KAAKooC,eAAiB,KACtBpoC,KAAKgpC,mBAAqB,KAE1BhpC,KAAKqoC,kBAAoB,KACzBroC,KAAK4oC,qBAAuB,KAC5B5oC,KAAK2oC,qBAAuB,KAC5B3oC,KAAKsoC,iBAAmB,KACxBtoC,KAAKuoC,iBAAmB,KACxBvoC,KAAKwqC,qBAAuB,KAC5BxqC,KAAKwoC,iBAAmB,KACxBxoC,KAAK6oC,iBAAmB,KACxB7oC,KAAK8oC,kBAAoB,KACzB9oC,KAAK+oC,sBAAwB,KAE7B/oC,KAAK+C,KAAO,KACZ/C,KAAK4nC,UACL5nC,KAAK6nC,cAAgB,KACrB7nC,KAAKkoC,QAAU,KAKvB1mC,EAAOkmC,aAAaplC,UAAUC,YAAcf,EAAOkmC,aAOnD1gC,OAAOyF,eAAejL,EAAOkmC,aAAaplC,UAAW,WAEjD4E,IAAK,WAED,OAAOlH,KAAKgoC,YAwEpBxmC,EAAO+gC,OAAS,aAEhB/gC,EAAO+gC,OAAOjgC,WAMVsoC,UAAW,KAMXC,YAAa,KAUbC,UAAU,EAMVC,kBAAkB,EAUlBC,QAAQ,EAMRC,gBAAgB,EAQhBC,iBAAkB,SAAUC,EAAUC,GAElC,GAAwB,mBAAbD,EAEP,MAAM,IAAIpiC,MAAM,kFAAkFyrB,QAAQ,OAAQ4W,KAa1HC,kBAAmB,SAAUF,EAAUG,EAAQC,EAAiBC,EAAUnb,GAEtE,IACIob,EADAC,EAAY1rC,KAAK2rC,iBAAiBR,EAAUI,GAGhD,IAAmB,IAAfG,GAIA,IAFAD,EAAUzrC,KAAK4qC,UAAUc,IAEbJ,WAAaA,EAErB,MAAM,IAAIviC,MAAM,kBAAoBuiC,EAAS,GAAK,QAAU,eAAkBA,EAAc,OAAL,IAAe,sEAK1GG,EAAU,IAAIjqC,EAAOoqC,cAAc5rC,KAAMmrC,EAAUG,EAAQC,EAAiBC,EAAUnb,GACtFrwB,KAAK6rC,YAAYJ,GAQrB,OALIzrC,KAAK8qC,UAAY9qC,KAAK6qC,aAEtBY,EAAQK,QAAQ9rC,KAAK6qC,aAGlBY,GAQXI,YAAa,SAAUJ,GAEdzrC,KAAK4qC,YAEN5qC,KAAK4qC,cAIT,IAAIrT,EAAIv3B,KAAK4qC,UAAUjoC,OAEvB,GAEI40B,UAEGv3B,KAAK4qC,UAAUrT,IAAMkU,EAAQM,WAAa/rC,KAAK4qC,UAAUrT,GAAGwU,WAEnE/rC,KAAK4qC,UAAU9hC,OAAOyuB,EAAI,EAAG,EAAGkU,IAUpCE,iBAAkB,SAAUR,EAAUr9B,GAElC,IAAK9N,KAAK4qC,UAEN,OAAQ,OAGIrkC,IAAZuH,IAAyBA,EAAU,MAKvC,IAHA,IACIk+B,EADAzU,EAAIv3B,KAAK4qC,UAAUjoC,OAGhB40B,KAIH,IAFAyU,EAAMhsC,KAAK4qC,UAAUrT,IAEb0U,YAAcd,GAAYa,EAAIl+B,UAAYA,EAE9C,OAAOypB,EAIf,OAAQ,GAWZ2U,IAAK,SAAUf,EAAUr9B,GAErB,OAAqD,IAA9C9N,KAAK2rC,iBAAiBR,EAAUr9B,IA6B3CqrB,IAAK,SAAUgS,EAAUI,EAAiBC,GAEtCxrC,KAAKkrC,iBAAiBC,EAAU,OAEhC,IAAI9a,KAEJ,GAAIG,UAAU7tB,OAAS,EAEnB,IAAK,IAAID,EAAI,EAAGA,EAAI8tB,UAAU7tB,OAAQD,IAElC2tB,EAAKvoB,KAAK0oB,UAAU9tB,IAI5B,OAAO1C,KAAKqrC,kBAAkBF,GAAU,EAAOI,EAAiBC,EAAUnb,IAgB9E8b,QAAS,SAAUhB,EAAUI,EAAiBC,GAE1CxrC,KAAKkrC,iBAAiBC,EAAU,WAEhC,IAAI9a,KAEJ,GAAIG,UAAU7tB,OAAS,EAEnB,IAAK,IAAID,EAAI,EAAGA,EAAI8tB,UAAU7tB,OAAQD,IAElC2tB,EAAKvoB,KAAK0oB,UAAU9tB,IAI5B,OAAO1C,KAAKqrC,kBAAkBF,GAAU,EAAMI,EAAiBC,EAAUnb,IAW7EjU,OAAQ,SAAU+uB,EAAUr9B,GAExB9N,KAAKkrC,iBAAiBC,EAAU,UAEhC,IAAIzoC,EAAI1C,KAAK2rC,iBAAiBR,EAAUr9B,GAQxC,OANW,IAAPpL,IAEA1C,KAAK4qC,UAAUloC,GAAG0pC,WAClBpsC,KAAK4qC,UAAU9hC,OAAOpG,EAAG,IAGtByoC,GASXhB,UAAW,SAAUr8B,GAIjB,QAFgBvH,IAAZuH,IAAyBA,EAAU,MAElC9N,KAAK4qC,UAAV,CAOA,IAFA,IAAIrT,EAAIv3B,KAAK4qC,UAAUjoC,OAEhB40B,KAECzpB,EAEI9N,KAAK4qC,UAAUrT,GAAGzpB,UAAYA,IAE9B9N,KAAK4qC,UAAUrT,GAAG6U,WAClBpsC,KAAK4qC,UAAU9hC,OAAOyuB,EAAG,IAK7Bv3B,KAAK4qC,UAAUrT,GAAG6U,WAIrBt+B,IAED9N,KAAK4qC,UAAUjoC,OAAS,KAUhC0pC,gBAAiB,WAEb,OAAOrsC,KAAK4qC,UAAY5qC,KAAK4qC,UAAUjoC,OAAS,GAWpD2pC,KAAM,WAEFtsC,KAAK+qC,kBAAmB,GAW5BpF,SAAU,WAEN,GAAK3lC,KAAKgrC,SAAYhrC,KAAK4qC,WAAc5qC,KAAK8qC,UAA9C,CAKA,IAAIyB,EAAY9kC,MAAMnF,UAAU4tB,MAAM1rB,KAAKgsB,WAEvCxwB,KAAK8qC,WAEL9qC,KAAK6qC,YAAc0B,GAGvB,IAAIhV,EAAIv3B,KAAK4qC,UAAY5qC,KAAK4qC,UAAUjoC,OAAS,EAEjD,GAAK40B,EAAL,CAMA,IAAIiV,EAAWxsC,KAAK4qC,UAAU1a,QAC9BlwB,KAAK+qC,kBAAmB,EAMxB,GAEIxT,UAEGiV,EAASjV,IAAMv3B,KAAK+qC,mBAAuD,IAAnCyB,EAASjV,GAAGuU,QAAQS,OAQvEE,OAAQ,WAEAzsC,KAAK6qC,cAEL7qC,KAAK6qC,YAAc,OAY3B6B,QAAS,WAEL1sC,KAAKmqC,YAELnqC,KAAK4qC,UAAY,KACb5qC,KAAK6qC,cAEL7qC,KAAK6qC,YAAc,OAU3B/hB,SAAU,WAEN,MAAO,yBAA2B9oB,KAAKgrC,OAAS,iBAAmBhrC,KAAKqsC,kBAAoB,MAcpGrlC,OAAOyF,eAAejL,EAAO+gC,OAAOjgC,UAAW,iBAE3C4E,IAAK,WAED,IAAIylC,EAAQ3sC,KACZ,OAAOA,KAAKirC,iBAAmBjrC,KAAKirC,eAAiB,WAEjD,OAAO0B,EAAMhH,SAASpgC,MAAMonC,EAAOnc,gBAM/ChvB,EAAO+gC,OAAOjgC,UAAUC,YAAcf,EAAO+gC,OAuB7C/gC,EAAOoqC,cAAgB,SAAUgB,EAAQzB,EAAUG,EAAQC,EAAiBC,EAAUnb,GAMlFrwB,KAAKisC,UAAYd,EAEbG,IAEAtrC,KAAK6sC,SAAU,GAGI,MAAnBtB,IAEAvrC,KAAK8N,QAAUy9B,GAOnBvrC,KAAK8sC,QAAUF,EAEXpB,IAEAxrC,KAAK+rC,UAAYP,GAGjBnb,GAAQA,EAAK1tB,SAEb3C,KAAKioC,MAAQ5X,IAIrB7uB,EAAOoqC,cAActpC,WAKjBwL,QAAS,KAMT++B,SAAS,EAMTd,UAAW,EAMX9D,MAAO,KAKP8E,UAAW,EAOX/B,QAAQ,EAORgC,OAAQ,KASRlB,QAAS,SAAUS,GAEf,IAAIU,EAAeD,EAqBnB,OAnBIhtC,KAAKgrC,QAAYhrC,KAAKisC,YAEtBe,EAAShtC,KAAKgtC,OAAShtC,KAAKgtC,OAAOzc,OAAOgc,GAAaA,EAEnDvsC,KAAKioC,QAEL+E,EAASA,EAAOzc,OAAOvwB,KAAKioC,QAGhCgF,EAAgBjtC,KAAKisC,UAAU1mC,MAAMvF,KAAK8N,QAASk/B,GAEnDhtC,KAAK+sC,YAED/sC,KAAK6sC,SAEL7sC,KAAKktC,UAIND,GASXC,OAAQ,WAEJ,OAAOltC,KAAKmtC,UAAYntC,KAAK8sC,QAAQ1wB,OAAOpc,KAAKisC,UAAWjsC,KAAK8N,SAAW,MAOhFq/B,QAAS,WAEL,QAAUntC,KAAK8sC,WAAa9sC,KAAKisC,WAOrCX,OAAQ,WAEJ,OAAOtrC,KAAK6sC,SAOhBO,YAAa,WAET,OAAOptC,KAAKisC,WAOhBoB,UAAW,WAEP,OAAOrtC,KAAK8sC,SAQhBV,SAAU,kBAECpsC,KAAK8sC,eACL9sC,KAAKisC,iBACLjsC,KAAK8N,SAOhBgb,SAAU,WAEN,MAAO,gCAAkC9oB,KAAK6sC,QAAU,aAAe7sC,KAAKmtC,UAAY,YAAcntC,KAAKgrC,OAAS,MAK5HxpC,EAAOoqC,cAActpC,UAAUC,YAAcf,EAAOoqC,cAoCpDpqC,EAAOyhB,OAAS,SAAUlgB,EAAMkQ,EAAUxC,GAKtCzQ,KAAK+C,KAAOA,EAMZ/C,KAAKwT,KAAOhS,EAAO2rB,aAQnBntB,KAAK2H,QAAW3H,MAMhBA,KAAK+iB,WAML/iB,KAAKwR,OAAQ,EAMbxR,KAAK0mB,QAAU,EAKf1mB,KAAKstC,UAAY,IAAI9rC,EAAOX,MAM5B,IAAIwC,EAAI,IAAIkqC,KAoBZ,GAfAvtC,KAAKiT,UAEDrO,YAAc4O,KAAM,KAAMpM,OAASrD,EAAG,IAAKC,EAAG,MAC9CyhC,MAAQjyB,KAAM,KAAMpM,MAAO,GAC3BomC,OAASh6B,KAAM,KAAMpM,OAASrD,EAAG,EAAKC,EAAG,IACzCypC,MAAQj6B,KAAM,MAAOpM,OAAS/D,EAAEqqC,cAAerqC,EAAEsqC,WAAYtqC,EAAEuqC,UAA0B,GAAfvqC,EAAEwqC,WAAkB,GAAsB,GAAjBxqC,EAAEyqC,aAAoBzqC,EAAE0qC,eAC3HC,YAAcx6B,KAAM,KAAMpM,MAAO,OACjC6mC,WAAaz6B,KAAM,YAAapM,MAAO,KAAM+M,aAAeQ,QAAQ,IACpEu5B,WAAa16B,KAAM,YAAapM,MAAO,KAAM+M,aAAeQ,QAAQ,IACpEw5B,WAAa36B,KAAM,YAAapM,MAAO,KAAM+M,aAAeQ,QAAQ,IACpEy5B,WAAa56B,KAAM,YAAapM,MAAO,KAAM+M,aAAeQ,QAAQ,KAKpE1B,EAEA,IAAK,IAAID,KAAOC,EAEZjT,KAAKiT,SAASD,GAAOC,EAASD,GAKX,iBAAhBvC,IAEPA,EAAcA,EAAYshB,MAAM,OAMpC/xB,KAAKyQ,YAAcA,OAGvBjP,EAAOyhB,OAAO3gB,WAOVoP,KAAM,aAcN28B,cAAe,SAAUzwC,EAAOC,GAE5BmC,KAAKiT,SAASrO,WAAWwC,MAAMrD,EAAInG,EACnCoC,KAAKiT,SAASrO,WAAWwC,MAAMpD,EAAInG,GASvCwnC,OAAQ,SAAUiJ,GAEd,GAAIA,EACJ,CACI,IAAIvqC,EAAIuqC,EAAQvqC,EAAI/D,KAAK+C,KAAKnF,MAC1BoG,EAAI,EAAIsqC,EAAQtqC,EAAIhE,KAAK+C,KAAKlF,OAE9BkG,IAAM/D,KAAKstC,UAAUvpC,GAAKC,IAAMhE,KAAKstC,UAAUtpC,IAE/ChE,KAAKiT,SAASu6B,MAAMpmC,MAAMrD,EAAIA,EAAEwqC,QAAQ,GACxCvuC,KAAKiT,SAASu6B,MAAMpmC,MAAMpD,EAAIA,EAAEuqC,QAAQ,GACxCvuC,KAAKstC,UAAUnmC,IAAIpD,EAAGC,IAI9BhE,KAAKiT,SAASwyB,KAAKr+B,MAAQpH,KAAK+C,KAAK0iC,KAAK+I,uBAqB9CC,WAAY,SAAU1qC,EAAGC,EAAGpG,EAAOC,EAAQ6wC,EAASC,QAEhCpoC,IAAZmoC,IAAyBA,EAAU,QACvBnoC,IAAZooC,IAAyBA,EAAU,QAEzBpoC,IAAV3I,GAAiC,OAAVA,EAEvBoC,KAAKpC,MAAQA,EAIbA,EAAQoC,KAAKpC,WAGF2I,IAAX1I,GAAmC,OAAXA,EAExBmC,KAAKnC,OAASA,EAIdA,EAASmC,KAAKnC,OAGlB,IAAIqc,EAAQla,KAAK+C,KAAKo2B,IAAIjf,MAAMnW,EAAGC,EAAGxC,EAAOotC,MAAMhnB,SASnD,OAPA1N,EAAMtc,MAAQA,EACdsc,EAAMrc,OAASA,EAEfqc,EAAMvT,OAAOQ,IAAIunC,EAASC,GAE1Bz0B,EAAMxT,SAAY1G,MAEXka,GAQXhF,aAAc,WAEV,IAAK,IAAIxS,EAAI,EAAGA,EAAI1C,KAAK+iB,QAAQpgB,OAAQD,IAErC1C,KAAK+iB,QAAQrgB,GAAG8O,OAAQ,GAShChP,QAAS,WAELxC,KAAK2H,OAAOhF,OAAS,EACrB3C,KAAK+iB,QAAQpgB,OAAS,EACtB3C,KAAKyQ,YAAY9N,OAAS,EAE1B3C,KAAK+C,KAAO,KACZ/C,KAAKiT,SAAW,KAChBjT,KAAKstC,UAAY,OAKzB9rC,EAAOyhB,OAAO3gB,UAAUC,YAAcf,EAAOyhB,OAM7Cjc,OAAOyF,eAAejL,EAAOyhB,OAAO3gB,UAAW,SAE3C4E,IAAK,WAED,OAAOlH,KAAKiT,SAASrO,WAAWwC,MAAMrD,GAG1CoD,IAAK,SAAUC,GAEXpH,KAAKiT,SAASrO,WAAWwC,MAAMrD,EAAIqD,KAS3CJ,OAAOyF,eAAejL,EAAOyhB,OAAO3gB,UAAW,UAE3C4E,IAAK,WAED,OAAOlH,KAAKiT,SAASrO,WAAWwC,MAAMpD,GAG1CmD,IAAK,SAAUC,GAEXpH,KAAKiT,SAASrO,WAAWwC,MAAMpD,EAAIoD,KA+B3C5F,EAAOqtC,OAAS,SAAU9rC,EAAM1B,QAEbkF,IAAXlF,IAAwBA,EAAS,MAKrCrB,KAAK+C,KAAOA,EAKZ/C,KAAKqB,OAASA,EAMdrB,KAAKgrC,QAAS,EAMdhrC,KAAKkB,SAAU,EAMflB,KAAK8uC,cAAe,EAMpB9uC,KAAK+uC,WAAY,EAMjB/uC,KAAKgvC,eAAgB,EAMrBhvC,KAAKivC,WAAY,EAMjBjvC,KAAKkvC,eAAgB,GAGzB1tC,EAAOqtC,OAAOvsC,WAOVoC,UAAW,aASX2gC,OAAQ,aASRlgC,OAAQ,aASR8V,WAAY,aAQZzY,QAAS,WAELxC,KAAK+C,KAAO,KACZ/C,KAAKqB,OAAS,KACdrB,KAAKgrC,QAAS,EACdhrC,KAAKkB,SAAU,IAKvBM,EAAOqtC,OAAOvsC,UAAUC,YAAcf,EAAOqtC,OAe7CrtC,EAAO2tC,cAAgB,SAAUpsC,GAK7B/C,KAAK+C,KAAOA,EAKZ/C,KAAKovC,WAMLpvC,KAAKqvC,KAAO,EAMZrvC,KAAKsvC,GAAK,GAGd9tC,EAAO2tC,cAAc7sC,WAWjB62B,IAAK,SAAUoW,GAEX,IAAIlf,EAAO5oB,MAAMnF,UAAU4tB,MAAM1rB,KAAKgsB,UAAW,GAC7CsI,GAAS,EA6Cb,MA1CsB,mBAAXyW,EAEPA,EAAS,IAAIA,EAAOvvC,KAAK+C,KAAM/C,OAI/BuvC,EAAOxsC,KAAO/C,KAAK+C,KACnBwsC,EAAOluC,OAASrB,MAIY,mBAArBuvC,EAAO7qC,YAEd6qC,EAAOT,cAAe,EACtBhW,GAAS,GAGgB,mBAAlByW,EAAOlK,SAEdkK,EAAOR,WAAY,EACnBjW,GAAS,GAGoB,mBAAtByW,EAAOnI,aAEdmI,EAAOP,eAAgB,EACvBlW,GAAS,GAGgB,mBAAlByW,EAAOpqC,SAEdoqC,EAAON,WAAY,EACnBnW,GAAS,GAGoB,mBAAtByW,EAAOt0B,aAEds0B,EAAOL,eAAgB,EACvBpW,GAAS,GAITA,IAEIyW,EAAOT,cAAgBS,EAAOR,WAAaQ,EAAOP,iBAElDO,EAAOvE,QAAS,IAGhBuE,EAAON,WAAaM,EAAOL,iBAE3BK,EAAOruC,SAAU,GAGrBlB,KAAKqvC,KAAOrvC,KAAKovC,QAAQtnC,KAAKynC,GAGH,mBAAhBA,EAAO79B,MAEd69B,EAAO79B,KAAKnM,MAAMgqC,EAAQlf,GAGvBkf,GAIA,MAWfnzB,OAAQ,SAAUmzB,EAAQ/sC,GAMtB,SAJgB+D,IAAZ/D,IAAyBA,GAAU,GAEvCxC,KAAKsvC,GAAKtvC,KAAKqvC,KAERrvC,KAAKsvC,MAER,GAAItvC,KAAKovC,QAAQpvC,KAAKsvC,MAAQC,EAS1B,OAPI/sC,GAEA+sC,EAAO/sC,UAGXxC,KAAKovC,QAAQtmC,OAAO9I,KAAKsvC,GAAI,QAC7BtvC,KAAKqvC,QAWjBlF,UAAW,WAIP,IAFAnqC,KAAKsvC,GAAKtvC,KAAKqvC,KAERrvC,KAAKsvC,MAERtvC,KAAKovC,QAAQpvC,KAAKsvC,IAAI9sC,UAG1BxC,KAAKovC,QAAQzsC,OAAS,EACtB3C,KAAKqvC,KAAO,GAShB3qC,UAAW,WAIP,IAFA1E,KAAKsvC,GAAKtvC,KAAKqvC,KAERrvC,KAAKsvC,MAEJtvC,KAAKovC,QAAQpvC,KAAKsvC,IAAItE,QAAUhrC,KAAKovC,QAAQpvC,KAAKsvC,IAAIR,cAEtD9uC,KAAKovC,QAAQpvC,KAAKsvC,IAAI5qC,aAWlC2gC,OAAQ,WAIJ,IAFArlC,KAAKsvC,GAAKtvC,KAAKqvC,KAERrvC,KAAKsvC,MAEJtvC,KAAKovC,QAAQpvC,KAAKsvC,IAAItE,QAAUhrC,KAAKovC,QAAQpvC,KAAKsvC,IAAIP,WAEtD/uC,KAAKovC,QAAQpvC,KAAKsvC,IAAIjK,UAYlC+B,WAAY,WAIR,IAFApnC,KAAKsvC,GAAKtvC,KAAKqvC,KAERrvC,KAAKsvC,MAEJtvC,KAAKovC,QAAQpvC,KAAKsvC,IAAItE,QAAUhrC,KAAKovC,QAAQpvC,KAAKsvC,IAAIN,eAEtDhvC,KAAKovC,QAAQpvC,KAAKsvC,IAAIlI,cAWlCjiC,OAAQ,WAIJ,IAFAnF,KAAKsvC,GAAKtvC,KAAKqvC,KAERrvC,KAAKsvC,MAEJtvC,KAAKovC,QAAQpvC,KAAKsvC,IAAIpuC,SAAWlB,KAAKovC,QAAQpvC,KAAKsvC,IAAIL,WAEvDjvC,KAAKovC,QAAQpvC,KAAKsvC,IAAInqC,UAWlC8V,WAAY,WAIR,IAFAjb,KAAKsvC,GAAKtvC,KAAKqvC,KAERrvC,KAAKsvC,MAEJtvC,KAAKovC,QAAQpvC,KAAKsvC,IAAIpuC,SAAWlB,KAAKovC,QAAQpvC,KAAKsvC,IAAIJ,eAEvDlvC,KAAKovC,QAAQpvC,KAAKsvC,IAAIr0B,cAUlCzY,QAAS,WAELxC,KAAKmqC,YAELnqC,KAAK+C,KAAO,OAKpBvB,EAAO2tC,cAAc7sC,UAAUC,YAAcf,EAAO2tC,cAiBpD3tC,EAAOguC,MAAQ,SAAUzsC,GAKrB/C,KAAK+C,KAAOA,EAEZvE,KAAK8J,uBAAuB9D,KAAKxE,MAMjCA,KAAKkyB,KAAO,cAWZlyB,KAAKyvC,yBAA0B,EAM/BzvC,KAAKkN,QAAS,EAOdlN,KAAKuB,eAAiB,IAAIC,EAAOC,OAOjCzB,KAAKsa,MAAQta,KAKbA,KAAK0vC,qBAAuB,EAM5B1vC,KAAK2vC,WAAa,SAMlB3vC,KAAK4vC,UAAY,KAMjB5vC,KAAK0a,UAAaxW,EAAG,EAAGyW,EAAG,EAAGxX,EAAG,EAAGD,EAAG,EAAGmT,MAAO,EAAG2T,KAAM,WAErDhqB,KAAK+C,KAAK6T,cAGX5W,KAAK0a,SAASxX,EAAI,GAGlBH,EAAKyT,QAELxW,KAAK6vC,YAAY9sC,EAAKyT,SAI9BhV,EAAOguC,MAAMltC,UAAY0E,OAAOwB,OAAOhK,KAAK8J,uBAAuBhG,WACnEd,EAAOguC,MAAMltC,UAAUC,YAAcf,EAAOguC,MAS5ChuC,EAAOguC,MAAMltC,UAAUutC,YAAc,SAAUr5B,GAEvCA,EAAOi5B,0BAEPzvC,KAAKyvC,wBAA0Bj5B,EAAOi5B,yBAGtCj5B,EAAOs5B,iBAEP9vC,KAAK+vC,mBAAmBv5B,EAAOs5B,kBASvCtuC,EAAOguC,MAAMltC,UAAU2hC,KAAO,WAE1BziC,EAAOwuC,IAAIC,UAAUjwC,KAAK+C,KAAKmU,OAAQlX,KAAKyX,QAE5CjW,EAAOmoB,OAAOumB,cAAclwC,KAAK+C,KAAKmU,OAAQ,QAC9C1V,EAAOmoB,OAAOwmB,eAAenwC,KAAK+C,KAAKmU,OAAQ,QAE/ClX,KAAKowC,mBAST5uC,EAAOguC,MAAMltC,UAAUoC,UAAY,WAE/B1E,KAAK0vC,qBAAuB,EAK5B,IAFA,IAAIhtC,EAAI,EAEDA,EAAI1C,KAAKyC,SAASE,QACzB,CACI,IAAI+F,EAAQ1I,KAAKyC,SAASC,GAE1BgG,EAAMhE,YAEF1E,OAAS0I,EAAMrH,QAEfqB,MAUZlB,EAAOguC,MAAMltC,UAAU+iC,OAAS,WAK5B,IAFA,IAAI3iC,EAAI1C,KAAKyC,SAASE,OAEfD,KAEH1C,KAAKyC,SAASC,GAAG2iC,UAWzB7jC,EAAOguC,MAAMltC,UAAU8kC,WAAa,WAGhCpnC,KAAK+C,KAAK+X,OAAOuqB,SAGbrlC,KAAK+C,KAAK+X,OAAO9S,SAEjBhI,KAAK+C,KAAK+X,OAAO9S,OAAOo/B,aAExBpnC,KAAK8C,kBAEL9C,KAAK+C,KAAK+X,OAAOgrB,gBAGrB,IAAK,IAAIpjC,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAG0kC,aAGrBpnC,KAAK8C,mBASTtB,EAAOguC,MAAMltC,UAAUQ,gBAAkB,WAErC9C,KAAKsB,WAAa,EAElB,IAAK,IAAIoB,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGI,mBAUzBtB,EAAOguC,MAAMltC,UAAU8tC,gBAAkB,gBAEb7pC,IAApB8pC,SAASC,OAETtwC,KAAK2vC,WAAa,wBAEappC,IAA1B8pC,SAASE,aAEdvwC,KAAK2vC,WAAa,8BAEUppC,IAAvB8pC,SAASG,UAEdxwC,KAAK2vC,WAAa,2BAESppC,IAAtB8pC,SAASI,SAEdzwC,KAAK2vC,WAAa,qBAIlB3vC,KAAK2vC,WAAa,KAGtB,IAAIhD,EAAQ3sC,KAEZA,KAAK4vC,UAAY,SAAUc,GAEvB,OAAO/D,EAAMgE,iBAAiBD,IAGlC1wC,KAAK4wC,eAAiB,WAElB,OAAOjE,EAAMiD,WAAYp8B,KAAM,WAGnCxT,KAAK6wC,gBAAkB,WAEnB,OAAOlE,EAAMiD,WAAYp8B,KAAM,YAGnCxT,KAAK8wC,SAAW,SAAUJ,QAEKnqC,IAAtB8pC,SAASU,UAA4BV,SAASU,YAE/CpE,EAAMgE,iBAAiBD,IAK3B1wC,KAAK2vC,YAELU,SAASW,iBAAiBhxC,KAAK2vC,WAAY3vC,KAAK4vC,WAAW,GAG/Dx/B,OAAO6gC,OAASjxC,KAAK4vC,UACrBx/B,OAAO8gC,QAAUlxC,KAAK4vC,UAEtBx/B,OAAO+gC,WAAanxC,KAAK4vC,UACzBx/B,OAAOghC,WAAapxC,KAAK4vC,UAEzBx/B,OAAO4gC,iBAAiB,QAAShxC,KAAK8wC,UAElC9wC,KAAK+C,KAAKonB,OAAOknB,aAAeC,SAASC,MAErCD,SAASC,IAAIC,aAEbF,SAASC,IAAIC,YAAYR,iBAAiBhxC,KAAK4wC,gBAG/CU,SAASC,IAAIE,aAEbH,SAASC,IAAIE,YAAYT,iBAAiBhxC,KAAK6wC,iBAG/CS,SAASC,IAAIG,KAEbJ,SAASC,IAAIG,GAAG,YAAa1xC,KAAK6wC,iBAClCS,SAASC,IAAIG,GAAG,YAAa1xC,KAAK4wC,mBAgB9CpvC,EAAOguC,MAAMltC,UAAUquC,iBAAmB,SAAUD,GAIhD,OAAQA,EAAMl9B,MAEV,IAAK,OACL,IAAK,WAED,YADAxT,KAAK+C,KAAK4uC,UAAUjB,GAExB,IAAK,QACL,IAAK,QACL,IAAK,WAED,YADA1wC,KAAK+C,KAAK6uC,UAAUlB,GAIxB1wC,KAAKyvC,0BAKLY,SAASC,QAAUD,SAASG,WAAaH,SAASI,UAAYJ,SAASE,cAA+B,UAAfG,EAAMl9B,KAE7FxT,KAAK+C,KAAK8uC,WAAWnB,GAIrB1wC,KAAK+C,KAAK+uC,YAAYpB,KAkB9BlvC,EAAOguC,MAAMltC,UAAUytC,mBAAqB,SAAU15B,GAE9CrW,KAAK+C,KAAK6T,cAEdpV,EAAO4e,MAAM2xB,aAAa17B,EAAOrW,KAAK0a,UACtClZ,EAAO4e,MAAM4xB,YAAYhyC,KAAK0a,UAG9B1a,KAAK0a,SAASxW,GAAK,IACnBlE,KAAK0a,SAASC,GAAK,IACnB3a,KAAK0a,SAASvX,GAAK,IACnBnD,KAAK0a,SAASxX,EAAI,IAQtB1B,EAAOguC,MAAMltC,UAAUE,QAAU,WAEzBxC,KAAK2vC,YAELU,SAAS4B,oBAAoBjyC,KAAK2vC,WAAY3vC,KAAK4vC,WAAW,GAGlEx/B,OAAO+gC,WAAa,KACpB/gC,OAAOghC,WAAa,KAEpBhhC,OAAO6gC,OAAS,KAChB7gC,OAAO8gC,QAAU,KAEjB9gC,OAAO6hC,oBAAoB,QAASjyC,KAAK8wC,WAkB7CtvC,EAAOguC,MAAMltC,UAAU62B,IAAM,SAAUzwB,EAAOwpC,EAAQtpC,GAElD,OAAIF,EAAMrH,SAAWrB,KAEV0I,GAGPA,EAAMypC,MAAQzpC,EAAMrH,QAAUqH,EAAMrH,OAAO+wC,MAE3C1pC,EAAMrH,OAAOgxC,eAAe3pC,QAGlBnC,IAAVqC,EAEA5I,KAAKyI,SAASC,GAId1I,KAAK2I,WAAWD,EAAOE,GAGpBF,IAQX1B,OAAOyF,eAAejL,EAAOguC,MAAMltC,UAAW,mBAE1C4E,IAAK,WAED,OAAOlH,KAAK0a,SAASrE,OAGzBlP,IAAK,SAAUkP,GAEXrW,KAAK+vC,mBAAmB15B,MAWhCrP,OAAOyF,eAAejL,EAAOguC,MAAMltC,UAAW,YAE1C4E,IAAK,WAED,OAAO1I,KAAKC,WAAWmpB,UAAYppB,KAAKC,WAAWC,QAGvDyI,IAAK,SAAUC,GAIP5I,KAAKC,WAAWmpB,QAFhBxgB,EAE0B5I,KAAKC,WAAWC,OAIhBF,KAAKC,WAAWE,WAgCtD6C,EAAO8wC,MAAQ,SAAUvvC,EAAM1B,EAAQ6wB,EAAMqgB,EAAYC,EAAYC,QAE9ClsC,IAAfgsC,IAA4BA,GAAa,QAC1BhsC,IAAfisC,IAA4BA,GAAa,QACrBjsC,IAApBksC,IAAiCA,EAAkBjxC,EAAOkxC,QAAQC,QAOtE3yC,KAAK+C,KAAOA,OAEGwD,IAAXlF,IAEAA,EAAS0B,EAAKE,OAOlBjD,KAAKkyB,KAAOA,GAAQ,QAQpBlyB,KAAKoV,EAAI,EAET5W,KAAK8J,uBAAuB9D,KAAKxE,MAE7BuyC,GAEAvyC,KAAK+C,KAAKuX,MAAM7R,SAASzI,MACzBA,KAAKoV,EAAIpV,KAAK+C,KAAKuX,MAAM7X,SAASE,QAGlCtB,IAEAA,EAAOoH,SAASzI,MAChBA,KAAKoV,EAAI/T,EAAOoB,SAASE,QAQ7B3C,KAAKwT,KAAOhS,EAAOmrB,MAMnB3sB,KAAK4yC,YAAcpxC,EAAOmrB,MAO1B3sB,KAAK6yC,OAAQ,EAOb7yC,KAAKkN,QAAS,EAOdlN,KAAK8yC,eAAgB,EAYrB9yC,KAAK+yC,gBAAiB,EAUtB/yC,KAAKgzC,UAAYxxC,EAAOsE,OAQxB9F,KAAKizC,OAAS,KAWdjzC,KAAKkzC,qBAAsB,EAQ3BlzC,KAAKmzC,4BAA6B,EAYlCnzC,KAAKozC,iBAAmB,IAAI5xC,EAAO+gC,OAanCviC,KAAKqzC,eAAiB,IAAI7xC,EAAO+gC,OAYjCviC,KAAKszC,iBAAmB,IAAI9xC,EAAO+gC,OAYnCviC,KAAKuzC,gBAAkB,IAAI/xC,EAAO+gC,OAUlCviC,KAAKwyC,WAAaA,EASlBxyC,KAAKwzC,iBAAkB,EAQvBxzC,KAAKyyC,gBAAkBA,EAkBvBzyC,KAAKyzC,qBAAuB,KAM5BzzC,KAAK0zC,UAAY,IAAIlyC,EAAO+gC,OAM5BviC,KAAK2zC,YAAc,EAUnB3zC,KAAK4zC,eAAgB,EAOrB5zC,KAAK6zC,aAAe,IAAIryC,EAAOX,MAa/Bb,KAAKoyC,QAOLpyC,KAAK8zC,cAAgB,KAGzBtyC,EAAO8wC,MAAMhwC,UAAY0E,OAAOwB,OAAOhK,KAAK8J,uBAAuBhG,WACnEd,EAAO8wC,MAAMhwC,UAAUC,YAAcf,EAAO8wC,MAO5C9wC,EAAO8wC,MAAMyB,YAAc,EAO3BvyC,EAAO8wC,MAAM0B,aAAe,EAO5BxyC,EAAO8wC,MAAM2B,aAAe,EAO5BzyC,EAAO8wC,MAAM4B,WAAa,EAO1B1yC,EAAO8wC,MAAM6B,gBAAkB,EAO/B3yC,EAAO8wC,MAAM8B,gBAAkB,EAwB/B5yC,EAAO8wC,MAAMhwC,UAAU62B,IAAM,SAAUzwB,EAAOwpC,EAAQtpC,GAIlD,YAFerC,IAAX2rC,IAAwBA,GAAS,GAEjCxpC,EAAMrH,SAAWrB,KAEV0I,GAGPA,EAAMypC,MAAQzpC,EAAMrH,QAAUqH,EAAMrH,OAAO+wC,MAE3C1pC,EAAMrH,OAAOgxC,eAAe3pC,QAGlBnC,IAAVqC,GAEAF,EAAM0M,EAAIpV,KAAKyC,SAASE,OAExB3C,KAAKyI,SAASC,KAId1I,KAAK2I,WAAWD,EAAOE,GAEvB5I,KAAKq0C,WAGLr0C,KAAKwyC,YAAc9pC,EAAM6oB,eAAe,SAA0B,OAAf7oB,EAAMypC,KAEzDnyC,KAAK+C,KAAKikC,QAAQhuB,OAAOtQ,EAAO1I,KAAKyyC,iBAEhC/pC,EAAMypC,MAEXnyC,KAAKs0C,UAAU5rC,IAGf1I,KAAKkzC,qBAAyBxqC,EAAMg+B,QAASh+B,EAAM6rC,eAEnD7rC,EAAM6rC,cAAe,IAGpBrC,GAAUxpC,EAAM8rC,QAEjB9rC,EAAM8rC,OAAOC,wBAAwB/rC,EAAO1I,MAG5B,OAAhBA,KAAKizC,SAELjzC,KAAKizC,OAASvqC,GAGXA,IAkBXlH,EAAO8wC,MAAMhwC,UAAUoyC,MAAQ,SAAUhsC,EAAOE,EAAOspC,GAEnD,OAAOlyC,KAAKm5B,IAAIzwB,EAAOwpC,EAAQtpC,IAWnCpH,EAAO8wC,MAAMhwC,UAAUgyC,UAAY,SAAU5rC,GAEzC,OAAIA,EAAMrH,SAAWrB,OAIF,IAFHA,KAAKoyC,KAAK/oC,QAAQX,KAI1B1I,KAAKoyC,KAAKtqC,KAAKY,IACR,IAenBlH,EAAO8wC,MAAMhwC,UAAU+vC,eAAiB,SAAU3pC,GAE9C,GAAIA,EACJ,CACI,IAAIE,EAAQ5I,KAAKoyC,KAAK/oC,QAAQX,GAE9B,IAAe,IAAXE,EAGA,OADA5I,KAAKoyC,KAAKtpC,OAAOF,EAAO,IACjB,EAIf,OAAO,GAoBXpH,EAAO8wC,MAAMhwC,UAAUqyC,YAAc,SAAUlyC,EAAUyvC,GAErD,GAAIzvC,aAAoBjB,EAAO8wC,MAE3B7vC,EAASmyC,QAAQ50C,KAAMkyC,QAEtB,GAAIzqC,MAAMC,QAAQjF,GAEnB,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAASE,OAAQD,IAEjC1C,KAAKm5B,IAAI12B,EAASC,GAAIwvC,GAI9B,OAAOzvC,GAUXjB,EAAO8wC,MAAMhwC,UAAUuyC,MAAQ,SAAUjsC,GAErC,OAAIA,EAAQ,GAAKA,GAAS5I,KAAKyC,SAASE,QAE5B,EAID3C,KAAKwJ,WAAWZ,IA2B/BpH,EAAO8wC,MAAMhwC,UAAUkG,OAAS,SAAUzE,EAAGC,EAAGgP,EAAK3F,EAAOH,EAAQtE,QAEjDrC,IAAX2G,IAAwBA,GAAS,GAErC,IAAIxE,EAAQ,IAAI1I,KAAKgzC,UAAUhzC,KAAK+C,KAAMgB,EAAGC,EAAGgP,EAAK3F,GAMrD,OAJA3E,EAAMwE,OAASA,EACfxE,EAAMxH,QAAUgM,EAChBxE,EAAMmqC,MAAQ3lC,EAEPlN,KAAKm5B,IAAIzwB,GAAO,EAAOE,IAoDlCpH,EAAO8wC,MAAMhwC,UAAUwyC,eAAiB,SAAUC,EAAU/hC,EAAK3F,EAAOH,EAAQ8nC,EAAUxL,QAExEjjC,IAAV8G,IAAuBA,EAAQ,QACpB9G,IAAX2G,IAAwBA,GAAS,GAEhCzF,MAAMC,QAAQsL,KAEfA,GAAQA,IAGPvL,MAAMC,QAAQ2F,KAEfA,GAAUA,IAGd,IAAIs/B,EAAQ3sC,KACRyC,KAiBJ,OAfAuQ,EAAI6d,QAAQ,SAAUokB,GAElB5nC,EAAMwjB,QAAQ,SAAUqkB,GAEpB,IAAK,IAAIxyC,EAAI,EAAGA,EAAIqyC,EAAUryC,IAC9B,CACI,IAAIgG,EAAQikC,EAAMnkC,OAAO,EAAG,EAAGysC,EAAWC,EAAahoC,GAEnD8nC,GAAYA,EAASxwC,KAAKglC,GAAmB9gC,EAAOA,EAAOhG,GAE/DD,EAASqF,KAAKY,QAKnBjG,GAWXjB,EAAO8wC,MAAMhwC,UAAU+xC,QAAU,WAI7B,IAFA,IAAI3xC,EAAI1C,KAAKyC,SAASE,OAEfD,KAEH1C,KAAKyC,SAASC,GAAG0S,EAAI1S,GAwD7BlB,EAAO8wC,MAAMhwC,UAAU6yC,MAAQ,SAAUv3C,EAAOC,EAAQu3C,EAAWC,EAAYz0C,EAAU6W,GAKrF,QAHiBlR,IAAb3F,IAA0BA,EAAWY,EAAOstB,eACjCvoB,IAAXkR,IAAwBA,EAAS,GAER,IAAzBzX,KAAKyC,SAASE,QAAgB8U,EAASzX,KAAKyC,SAASE,SAAsB,IAAX/E,IAA4B,IAAZC,EAEhF,OAAO,EAOX,IAAK,IAJDqG,EAAI,IAAI1C,EAAOS,UAAU,EAAG,EAAGmzC,EAAWC,GAC1ChgC,EAAKzX,EAAQw3C,EACb5wB,EAAK3mB,EAASw3C,EAET3yC,EAAI+U,EAAQ/U,EAAI1C,KAAKyC,SAASE,OAAQD,IAC/C,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAE1B,GAAIgG,EAAM4sC,QASV,GAPI5sC,EAAM4sC,QAAQpxC,EAAGtD,IAON,IAAXhD,EAGAsG,EAAEF,GAAKqxC,EAEHnxC,EAAEF,IAAMwgB,IAERtgB,EAAEH,GAAKqxC,EACPlxC,EAAEF,EAAI,QAGT,IAAgB,IAAZnG,EAGLqG,EAAEH,GAAKqxC,EAEHlxC,EAAEH,IAAMsR,IAERnR,EAAEH,EAAI,EACNG,EAAEF,GAAKqxC,QAQX,GAFAnxC,EAAEH,GAAKqxC,EAEHlxC,EAAEH,IAAMsR,IAERnR,EAAEH,EAAI,EACNG,EAAEF,GAAKqxC,EAEHnxC,EAAEF,IAAMwgB,GAGR,OAAO,EAMvB,OAAO,GAYXhjB,EAAO8wC,MAAMhwC,UAAUizC,YAAc,SAAU3sC,GAS3C,QAPcrC,IAAVqC,IAAuBA,EAAQ,GAE/BA,EAAQ5I,KAAKyC,SAASE,OAAS,IAE/BiG,EAAQ,GAGR5I,KAAKizC,OAIL,OAFAjzC,KAAK2zC,YAAc/qC,EACnB5I,KAAKizC,OAASjzC,KAAKyC,SAASzC,KAAK2zC,aAC1B3zC,KAAKizC,QAYpBzxC,EAAO8wC,MAAMhwC,UAAUkzC,KAAO,WAE1B,GAAIx1C,KAAKizC,OAcL,OAXIjzC,KAAK2zC,aAAe3zC,KAAKyC,SAASE,OAAS,EAE3C3C,KAAK2zC,YAAc,EAInB3zC,KAAK2zC,cAGT3zC,KAAKizC,OAASjzC,KAAKyC,SAASzC,KAAK2zC,aAE1B3zC,KAAKizC,QAYpBzxC,EAAO8wC,MAAMhwC,UAAUmzC,SAAW,WAE9B,GAAIz1C,KAAKizC,OAcL,OAXyB,IAArBjzC,KAAK2zC,YAEL3zC,KAAK2zC,YAAc3zC,KAAKyC,SAASE,OAAS,EAI1C3C,KAAK2zC,cAGT3zC,KAAKizC,OAASjzC,KAAKyC,SAASzC,KAAK2zC,aAE1B3zC,KAAKizC,QAapBzxC,EAAO8wC,MAAMhwC,UAAUozC,KAAO,SAAUC,EAAQ1sC,GAE5CjJ,KAAKgJ,aAAa2sC,EAAQ1sC,GAC1BjJ,KAAKq0C,WAUT7yC,EAAO8wC,MAAMhwC,UAAUszC,WAAa,SAAUltC,GAQ1C,OANIA,EAAMrH,SAAWrB,MAAQA,KAAK61C,SAASntC,GAAS1I,KAAKyC,SAASE,SAE9D3C,KAAKoc,OAAO1T,GAAO,GAAO,GAC1B1I,KAAKm5B,IAAIzwB,GAAO,IAGbA,GAOXlH,EAAO8wC,MAAMhwC,UAAUoH,gBAAkBlI,EAAO8wC,MAAMhwC,UAAUszC,WAShEp0C,EAAO8wC,MAAMhwC,UAAUwzC,WAAa,SAAUptC,GAQ1C,OANIA,EAAMrH,SAAWrB,MAAQA,KAAK61C,SAASntC,GAAS,IAEhD1I,KAAKoc,OAAO1T,GAAO,GAAO,GAC1B1I,KAAK00C,MAAMhsC,EAAO,GAAG,IAGlBA,GAOXlH,EAAO8wC,MAAMhwC,UAAUqH,gBAAkBnI,EAAO8wC,MAAMhwC,UAAUwzC,WAShEt0C,EAAO8wC,MAAMhwC,UAAUyzC,OAAS,SAAUrtC,GAEtC,GAAIA,EAAMrH,SAAWrB,MAAQA,KAAK61C,SAASntC,GAAS1I,KAAKyC,SAASE,OAAS,EAC3E,CACI,IAAIO,EAAIlD,KAAK61C,SAASntC,GAClBvF,EAAInD,KAAK60C,MAAM3xC,EAAI,GAEnBC,GAEAnD,KAAK01C,KAAKhtC,EAAOvF,GAIzB,OAAOuF,GAUXlH,EAAO8wC,MAAMhwC,UAAU0zC,SAAW,SAAUttC,GAExC,GAAIA,EAAMrH,SAAWrB,MAAQA,KAAK61C,SAASntC,GAAS,EACpD,CACI,IAAIxF,EAAIlD,KAAK61C,SAASntC,GAClBvF,EAAInD,KAAK60C,MAAM3xC,EAAI,GAEnBC,GAEAnD,KAAK01C,KAAKhtC,EAAOvF,GAIzB,OAAOuF,GAWXlH,EAAO8wC,MAAMhwC,UAAU2zC,GAAK,SAAUrtC,EAAO7E,EAAGC,GAE5C,GAAI4E,EAAQ,GAAKA,EAAQ5I,KAAKyC,SAASE,OAEnC,OAAQ,EAIR3C,KAAKwJ,WAAWZ,GAAO7E,EAAIA,EAC3B/D,KAAKwJ,WAAWZ,GAAO5E,EAAIA,GAWnCxC,EAAO8wC,MAAMhwC,UAAUic,QAAU,WAE7Bve,KAAKyC,SAAS8b,UACdve,KAAKq0C,WAUT7yC,EAAO8wC,MAAMhwC,UAAUuzC,SAAW,SAAUntC,GAExC,OAAO1I,KAAKyC,SAAS4G,QAAQX,IAYjClH,EAAO8wC,MAAMhwC,UAAU4zC,UAAY,SAAUhkB,GAEzC,OAAOlyB,KAAKm2C,SAAS,OAAQjkB,IAejC1wB,EAAO8wC,MAAMhwC,UAAUkyB,QAAU,SAAU4hB,EAAUC,GAEjD,IAAIztC,EAAQ5I,KAAK61C,SAASO,GAE1B,IAAe,IAAXxtC,EAkBA,OAhBIytC,EAASh1C,SAELg1C,EAASh1C,kBAAkBG,EAAO8wC,MAElC+D,EAASh1C,OAAO+a,OAAOi6B,GAIvBA,EAASh1C,OAAOwH,YAAYwtC,IAIpCr2C,KAAKoc,OAAOg6B,GAEZp2C,KAAK00C,MAAM2B,EAAUztC,GAEdwtC,GAcf50C,EAAO8wC,MAAMhwC,UAAUg0C,YAAc,SAAU5tC,EAAOsK,GAElD,IAAIge,EAAMhe,EAAIrQ,OAEd,OAAY,IAARquB,GAAahe,EAAI,KAAMtK,IAIV,IAARsoB,GAAahe,EAAI,KAAMtK,GAASsK,EAAI,KAAMtK,EAAMsK,EAAI,MAI5C,IAARge,GAAahe,EAAI,KAAMtK,GAASsK,EAAI,KAAMtK,EAAMsK,EAAI,KAAOA,EAAI,KAAMtK,EAAMsK,EAAI,IAAIA,EAAI,KAI/E,IAARge,GAAahe,EAAI,KAAMtK,GAASsK,EAAI,KAAMtK,EAAMsK,EAAI,KAAOA,EAAI,KAAMtK,EAAMsK,EAAI,IAAIA,EAAI,KAAOA,EAAI,KAAMtK,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,OA0B/IxR,EAAO8wC,MAAMhwC,UAAUiwB,YAAc,SAAU7pB,EAAOsK,EAAK5L,EAAOmvC,EAAW3R,GAoBzE,QAlBcr+B,IAAVq+B,IAAuBA,GAAQ,GAEnC2R,EAAYA,GAAa,GAgBpBv2C,KAAKs2C,YAAY5tC,EAAOsK,MAAU4xB,GAAS2R,EAAY,GAExD,OAAO,EAGX,IAAIvlB,EAAMhe,EAAIrQ,OAmCd,OAjCY,IAARquB,EAEkB,IAAdulB,EAAmB7tC,EAAMsK,EAAI,IAAM5L,EAChB,IAAdmvC,EAAmB7tC,EAAMsK,EAAI,KAAO5L,EACtB,IAAdmvC,EAAmB7tC,EAAMsK,EAAI,KAAO5L,EACtB,IAAdmvC,EAAmB7tC,EAAMsK,EAAI,KAAO5L,EACtB,IAAdmvC,IAAmB7tC,EAAMsK,EAAI,KAAO5L,GAEhC,IAAR4pB,EAEa,IAAdulB,EAAmB7tC,EAAMsK,EAAI,IAAIA,EAAI,IAAM5L,EACxB,IAAdmvC,EAAmB7tC,EAAMsK,EAAI,IAAIA,EAAI,KAAO5L,EAC9B,IAAdmvC,EAAmB7tC,EAAMsK,EAAI,IAAIA,EAAI,KAAO5L,EAC9B,IAAdmvC,EAAmB7tC,EAAMsK,EAAI,IAAIA,EAAI,KAAO5L,EAC9B,IAAdmvC,IAAmB7tC,EAAMsK,EAAI,IAAIA,EAAI,KAAO5L,GAExC,IAAR4pB,EAEa,IAAdulB,EAAmB7tC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAM5L,EAChC,IAAdmvC,EAAmB7tC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO5L,EACtC,IAAdmvC,EAAmB7tC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO5L,EACtC,IAAdmvC,EAAmB7tC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO5L,EACtC,IAAdmvC,IAAmB7tC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO5L,GAEhD,IAAR4pB,IAEa,IAAdulB,EAAmB7tC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAM5L,EACxC,IAAdmvC,EAAmB7tC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO5L,EAC9C,IAAdmvC,EAAmB7tC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO5L,EAC9C,IAAdmvC,EAAmB7tC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO5L,EAC9C,IAAdmvC,IAAmB7tC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO5L,KAGlE,GAaX5F,EAAO8wC,MAAMhwC,UAAUk0C,cAAgB,SAAU9tC,EAAOsK,EAAK5L,EAAOw9B,GAIhE,QAFcr+B,IAAVq+B,IAAuBA,GAAQ,GAE/B5kC,OAAS0I,EAAMrH,OAEf,OAAO,EAGX,IAAIy3B,EAASt3B,EAAOkwB,MAAMM,YAAYtpB,EAAOsK,GAE7C,aAAiBzM,IAAXuyB,GAAyB8L,GAAW9L,IAAW1xB,IAuBzD5F,EAAO8wC,MAAMhwC,UAAU6E,IAAM,SAAUuB,EAAOsK,EAAK5L,EAAOqvC,EAAYC,EAAcH,EAAW3R,GAS3F,QAPcr+B,IAAVq+B,IAAuBA,GAAQ,GAEnC5xB,EAAMA,EAAI+e,MAAM,UAEGxrB,IAAfkwC,IAA4BA,GAAa,QACxBlwC,IAAjBmwC,IAA8BA,GAAe,KAE7B,IAAfD,GAAyBA,GAAc/tC,EAAMmqC,UAA6B,IAAjB6D,GAA2BA,GAAgBhuC,EAAMxH,SAE3G,OAAOlB,KAAKuyB,YAAY7pB,EAAOsK,EAAK5L,EAAOmvC,EAAW3R,IAoB9DpjC,EAAO8wC,MAAMhwC,UAAUq0C,OAAS,SAAU3jC,EAAK5L,EAAOqvC,EAAYC,EAAcH,EAAW3R,QAEpEr+B,IAAfkwC,IAA4BA,GAAa,QACxBlwC,IAAjBmwC,IAA8BA,GAAe,QACnCnwC,IAAVq+B,IAAuBA,GAAQ,GAEnC5xB,EAAMA,EAAI+e,MAAM,KAChBwkB,EAAYA,GAAa,EAIzB,IAAK,IAFDvlB,EAAMhxB,KAAKyC,SAASE,OAEfD,EAAI,EAAGA,EAAIsuB,EAAKtuB,IACzB,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAEpB+zC,IAAc/tC,EAAMmqC,OAAY6D,IAAgBhuC,EAAMxH,SAExDlB,KAAKuyB,YAAY7pB,EAAOsK,EAAK5L,EAAOmvC,EAAW3R,KAqB3DpjC,EAAO8wC,MAAMhwC,UAAUs0C,eAAiB,SAAU5jC,EAAK5L,EAAOqvC,EAAYC,EAAcH,EAAW3R,QAE5Er+B,IAAfkwC,IAA4BA,GAAa,QACxBlwC,IAAjBmwC,IAA8BA,GAAe,QACnCnwC,IAAVq+B,IAAuBA,GAAQ,GAEnC2R,EAAYA,GAAa,EAIzB,IAAK,IAFDvlB,EAAMhxB,KAAKyC,SAASE,OAEfD,EAAI,EAAGA,EAAIsuB,EAAKtuB,IACzB,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAEpB+zC,IAAc/tC,EAAMmqC,OAAY6D,IAAgBhuC,EAAMxH,UAEpDwH,aAAiBlH,EAAO8wC,MAExB5pC,EAAMkuC,eAAe5jC,EAAK5L,EAAOqvC,EAAYC,EAAcH,EAAW3R,GAItE5kC,KAAKuyB,YAAY7pB,EAAOsK,EAAI+e,MAAM,KAAM3qB,EAAOmvC,EAAW3R,MAmB1EpjC,EAAO8wC,MAAMhwC,UAAUu0C,SAAW,SAAU7jC,EAAK5L,EAAOqvC,EAAYC,EAAc9R,QAE3Dr+B,IAAfkwC,IAA4BA,GAAa,QACxBlwC,IAAjBmwC,IAA8BA,GAAe,QACnCnwC,IAAVq+B,IAAuBA,GAAQ,GAEnC,IAAK,IAAIliC,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAC1C,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAE1B,KAAM+zC,GAAc/tC,EAAMmqC,UAAY6D,GAAgBhuC,EAAMxH,WAEnDlB,KAAKw2C,cAAc9tC,EAAOsK,EAAK5L,EAAOw9B,GAEvC,OAAO,EAKnB,OAAO,GAeXpjC,EAAO8wC,MAAMhwC,UAAUw0C,SAAW,SAAU9jC,EAAK5L,EAAOqvC,EAAYC,QAE7CnwC,IAAfkwC,IAA4BA,GAAa,QACxBlwC,IAAjBmwC,IAA8BA,GAAe,GAEjD,IAAK,IAAIh0C,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAC1C,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAE1B,KAAM+zC,GAAc/tC,EAAMmqC,UAAY6D,GAAgBhuC,EAAMxH,UAEpDlB,KAAKw2C,cAAc9tC,EAAOsK,EAAK5L,GAE/B,OAAO,EAKnB,OAAO,GAcX5F,EAAO8wC,MAAMhwC,UAAUy0C,OAAS,SAAUC,EAAUC,EAAQR,EAAYC,GAEpE12C,KAAK22C,OAAOK,EAAUC,EAAQR,EAAYC,EAAc,IAc5Dl1C,EAAO8wC,MAAMhwC,UAAU40C,OAAS,SAAUF,EAAUC,EAAQR,EAAYC,GAEpE12C,KAAK22C,OAAOK,EAAUC,EAAQR,EAAYC,EAAc,IAc5Dl1C,EAAO8wC,MAAMhwC,UAAU60C,YAAc,SAAUH,EAAUC,EAAQR,EAAYC,GAEzE12C,KAAK22C,OAAOK,EAAUC,EAAQR,EAAYC,EAAc,IAc5Dl1C,EAAO8wC,MAAMhwC,UAAU80C,UAAY,SAAUJ,EAAUC,EAAQR,EAAYC,GAEvE12C,KAAK22C,OAAOK,EAAUC,EAAQR,EAAYC,EAAc,IAQ5Dl1C,EAAO8wC,MAAMhwC,UAAU+0C,KAAO,WAE1Br3C,KAAK6yC,OAAQ,EACb7yC,KAAKkN,QAAS,EACdlN,KAAKkB,SAAU,GAQnBM,EAAO8wC,MAAMhwC,UAAUg1C,QAAU,WAE7Bt3C,KAAKu3C,cAAc,QAAQ,IAQ/B/1C,EAAO8wC,MAAMhwC,UAAUk1C,OAAS,WAE5Bx3C,KAAK6yC,OAAQ,EACb7yC,KAAKkN,QAAS,EACdlN,KAAKkB,SAAU,GAQnBM,EAAO8wC,MAAMhwC,UAAUm1C,UAAY,WAE/Bz3C,KAAKu3C,cAAc,UAAU,IAajC/1C,EAAO8wC,MAAMhwC,UAAUo1C,SAAW,SAAU3zC,EAAGC,EAAGgP,EAAK3F,EAAOsqC,GAE1D33C,KAAK6wB,QAAQ7wB,KAAK43C,WAAY53C,KAAM23C,EAAa5zC,EAAGC,EAAGgP,EAAK3F,IAahE7L,EAAO8wC,MAAMhwC,UAAUi1C,cAAgB,SAAUvC,EAAU6C,GAEvD,IAAIxnB,EAEJ,GAAIG,UAAU7tB,OAAS,EACvB,CACI0tB,KAEA,IAAS3tB,EAAI,EAAGA,EAAI8tB,UAAU7tB,OAAQD,IAElC2tB,EAAKvoB,KAAK0oB,UAAU9tB,IAI5B,IAAK,IAAIA,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAC1C,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAEtBgG,EAAMwE,SAAW2qC,GAAenvC,EAAMssC,IAEtCtsC,EAAMssC,GAAUzvC,MAAMmD,EAAO2nB,KAczC7uB,EAAO8wC,MAAMhwC,UAAUw1C,kBAAoB,SAAUpvC,EAAOssC,EAAUryC,GAIlE,GAAe,IAAXA,GAEA,GAAI+F,EAAMssC,EAAS,IAEf,OAAOtsC,EAAMssC,EAAS,SAGzB,GAAe,IAAXryC,GAEL,GAAI+F,EAAMssC,EAAS,IAAIA,EAAS,IAE5B,OAAOtsC,EAAMssC,EAAS,IAAIA,EAAS,SAGtC,GAAe,IAAXryC,GAEL,GAAI+F,EAAMssC,EAAS,IAAIA,EAAS,IAAIA,EAAS,IAEzC,OAAOtsC,EAAMssC,EAAS,IAAIA,EAAS,IAAIA,EAAS,SAGnD,GAAe,IAAXryC,GAEL,GAAI+F,EAAMssC,EAAS,IAAIA,EAAS,IAAIA,EAAS,IAAIA,EAAS,IAEtD,OAAOtsC,EAAMssC,EAAS,IAAIA,EAAS,IAAIA,EAAS,IAAIA,EAAS,SAGhE,GAAItsC,EAAMssC,GAEX,OAAOtsC,EAAMssC,GAGjB,OAAO,GAcXxzC,EAAO8wC,MAAMhwC,UAAUy1C,QAAU,SAAUC,EAAQlqC,GAE/C,QAAevH,IAAXyxC,EAAJ,CAQA,IAAIC,GAFJD,EAASA,EAAOjmB,MAAM,MAEIpvB,OAE1B,QAAgB4D,IAAZuH,GAAqC,OAAZA,GAAgC,KAAZA,EAE7CA,EAAU,UAKV,GAAuB,iBAAZA,EAGP,IAAIoqC,GADJpqC,EAAUA,EAAQikB,MAAM,MACIpvB,OAIpC,IAAI0tB,EAEJ,GAAIG,UAAU7tB,OAAS,EACvB,CACI0tB,KAEA,IAAS3tB,EAAI,EAAGA,EAAI8tB,UAAU7tB,OAAQD,IAElC2tB,EAAKvoB,KAAK0oB,UAAU9tB,IAO5B,IAAK,IAHDsyC,EAAW,KACXxL,EAAkB,KAEb9mC,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAC1C,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAE1BsyC,EAAWh1C,KAAK83C,kBAAkBpvC,EAAOsvC,EAAQC,GAE7CnqC,GAAWknC,GAEXxL,EAAkBxpC,KAAK83C,kBAAkBpvC,EAAOoF,EAASoqC,GAEzDlD,EAASzvC,MAAMikC,EAAiBnZ,IAE3B2kB,GAELA,EAASzvC,MAAMmD,EAAO2nB,MAUlC7uB,EAAO8wC,MAAMhwC,UAAUoC,UAAY,WAE/B,GAAI1E,KAAK+yC,eAGL,OADA/yC,KAAKwC,WACE,EAGX,IAAKxC,KAAKkN,SAAWlN,KAAKqB,OAAO6L,OAG7B,OADAlN,KAAKm4C,eAAiB,GACf,EASX,IAFA,IAAIz1C,EAAI,EAEDA,EAAI1C,KAAKyC,SAASE,QACzB,CACI,IAAI+F,EAAQ1I,KAAKyC,SAASC,GAE1BgG,EAAMhE,YAEF1E,OAAS0I,EAAMrH,QAEfqB,IAIR,OAAO,GAWXlB,EAAO8wC,MAAMhwC,UAAU+iC,OAAS,WAK5B,IAFA,IAAI3iC,EAAI1C,KAAKyC,SAASE,OAEfD,KACP,CACI,IAAIsuB,EAAMhxB,KAAKyC,SAASE,OAEpBD,GAAKsuB,IAAOtuB,EAAIsuB,EAAM,GAE1B,IAAItoB,EAAQ1I,KAAKyC,SAASC,GAErB1C,KAAKmzC,6BAA8BzqC,EAAMwE,QAE1CxE,EAAM28B,WAUlB7jC,EAAO8wC,MAAMhwC,UAAU8kC,WAAa,WAG5BpnC,KAAK4zC,gBAEL5zC,KAAK+D,GAAK/D,KAAK+C,KAAK+X,OAAO7D,KAAKlT,EAAI/D,KAAK6zC,aAAa9vC,GAAK/D,KAAK+C,KAAK+X,OAAOha,MAAMiD,EAClF/D,KAAKgE,GAAKhE,KAAK+C,KAAK+X,OAAO7D,KAAKjT,EAAIhE,KAAK6zC,aAAa7vC,GAAKhE,KAAK+C,KAAK+X,OAAOha,MAAMkD,GAGtF,IAAK,IAAItB,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAG0kC,cAqBzB5lC,EAAO8wC,MAAMhwC,UAAUkkB,OAAS,SAAU4xB,EAAWT,GAMjD,IAJA,IAAI/uC,GAAS,EACTjG,EAAS3C,KAAKyC,SAASE,OACvBm3B,OAEKlxB,EAAQjG,GACjB,CACI,IAAI+F,EAAQ1I,KAAKyC,SAASmG,GAErB+uC,IAAejvC,EAAMwE,QAElBkrC,EAAU1vC,EAAOE,EAAO5I,KAAKyC,WAE7Bq3B,EAAQhyB,KAAKY,GAKzB,OAAO,IAAIlH,EAAO62C,SAASve,IAoB/Bt4B,EAAO8wC,MAAMhwC,UAAUuuB,QAAU,SAAUmkB,EAAUxL,EAAiBmO,GAIlE,QAFoBpxC,IAAhBoxC,IAA6BA,GAAc,GAE3CnnB,UAAU7tB,QAAU,EAEpB,IAASD,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAC1C,CACQgG,EAAQ1I,KAAKyC,SAASC,GAErBi1C,IAAejvC,EAAMwE,QAEtB8nC,EAASxwC,KAAKglC,EAAiB9gC,OAK3C,CAOI,IAAK,IAFD2nB,GAAS,MAEJ3tB,EAAI,EAAGA,EAAI8tB,UAAU7tB,OAAQD,IAElC2tB,EAAKvoB,KAAK0oB,UAAU9tB,IAGxB,IAASA,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAC1C,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAErBi1C,IAAejvC,EAAMwE,SAEtBmjB,EAAK,GAAK3nB,EACVssC,EAASzvC,MAAMikC,EAAiBnZ,OAgBhD7uB,EAAO8wC,MAAMhwC,UAAUg2C,cAAgB,SAAUtD,EAAUxL,GAEvD,IAAInZ,EAEJ,GAAIG,UAAU7tB,OAAS,EACvB,CACI0tB,GAAS,MAET,IAAK,IAAI3tB,EAAI,EAAGA,EAAI8tB,UAAU7tB,OAAQD,IAElC2tB,EAAKvoB,KAAK0oB,UAAU9tB,IAI5B1C,KAAKu4C,QAAQ,UAAU,EAAM/2C,EAAO8wC,MAAM0B,aAAcgB,EAAUxL,EAAiBnZ,IAavF7uB,EAAO8wC,MAAMhwC,UAAUk2C,aAAe,SAAUxD,EAAUxL,GAEtD,IAAInZ,EAEJ,GAAIG,UAAU7tB,OAAS,EACvB,CACI0tB,GAAS,MAET,IAAK,IAAI3tB,EAAI,EAAGA,EAAI8tB,UAAU7tB,OAAQD,IAElC2tB,EAAKvoB,KAAK0oB,UAAU9tB,IAI5B1C,KAAKu4C,QAAQ,SAAS,EAAM/2C,EAAO8wC,MAAM0B,aAAcgB,EAAUxL,EAAiBnZ,IAatF7uB,EAAO8wC,MAAMhwC,UAAUm2C,YAAc,SAAUzD,EAAUxL,GAErD,IAAInZ,EAEJ,GAAIG,UAAU7tB,OAAS,EACvB,CACI0tB,GAAS,MAET,IAAK,IAAI3tB,EAAI,EAAGA,EAAI8tB,UAAU7tB,OAAQD,IAElC2tB,EAAKvoB,KAAK0oB,UAAU9tB,IAI5B1C,KAAKu4C,QAAQ,SAAS,EAAO/2C,EAAO8wC,MAAM0B,aAAcgB,EAAUxL,EAAiBnZ,IAiBvF7uB,EAAO8wC,MAAMhwC,UAAU28B,KAAO,SAAUjsB,EAAK0lC,GAErC14C,KAAKyC,SAASE,OAAS,SAMf4D,IAARyM,IAAqBA,EAAM,UACjBzM,IAAVmyC,IAAuBA,EAAQl3C,EAAO8wC,MAAM6B,gBAEhDn0C,KAAK8zC,cAAgB9gC,EAEjB0lC,IAAUl3C,EAAO8wC,MAAM6B,eAEvBn0C,KAAKyC,SAASw8B,KAAKj/B,KAAK24C,qBAAqB1oB,KAAKjwB,OAIlDA,KAAKyC,SAASw8B,KAAKj/B,KAAK44C,sBAAsB3oB,KAAKjwB,OAGvDA,KAAKq0C,YAaT7yC,EAAO8wC,MAAMhwC,UAAUu2C,WAAa,SAAUC,EAAahrC,GAEnD9N,KAAKyC,SAASE,OAAS,IAM3B3C,KAAKyC,SAASw8B,KAAK6Z,EAAY7oB,KAAKniB,IAEpC9N,KAAKq0C,YAWT7yC,EAAO8wC,MAAMhwC,UAAUq2C,qBAAuB,SAAUz1C,EAAGC,GAEvD,OAAID,EAAElD,KAAK8zC,eAAiB3wC,EAAEnD,KAAK8zC,gBAEvB,EAEH5wC,EAAElD,KAAK8zC,eAAiB3wC,EAAEnD,KAAK8zC,eAE7B,EAGP5wC,EAAEkS,EAAIjS,EAAEiS,GAEA,EAID,GAYf5T,EAAO8wC,MAAMhwC,UAAUs2C,sBAAwB,SAAU11C,EAAGC,GAExD,OAAID,EAAElD,KAAK8zC,eAAiB3wC,EAAEnD,KAAK8zC,eAExB,EAEF5wC,EAAElD,KAAK8zC,eAAiB3wC,EAAEnD,KAAK8zC,gBAE5B,EAID,GAgCftyC,EAAO8wC,MAAMhwC,UAAUi2C,QAAU,SAAUvlC,EAAK5L,EAAO2xC,EAAY/D,EAAUxL,EAAiBnZ,GAE1F,GAA6B,IAAzBrwB,KAAKyC,SAASE,OAClB,CACI,GAAIo2C,IAAev3C,EAAO8wC,MAAM0B,aAE5B,OAAO,EAEN,GAAI+E,IAAev3C,EAAO8wC,MAAM4B,WAEjC,SAIR,IAAI8E,EAAQ,EAEZ,GAAID,IAAev3C,EAAO8wC,MAAM4B,WAE5B,IAAIte,KAGR,IAAK,IAAIlzB,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC,GAAI1C,KAAKyC,SAASC,GAAGsQ,KAAS5L,EAC9B,CAgBI,GAfA4xC,IAEIhE,IAEI3kB,GAEAA,EAAK,GAAKrwB,KAAKyC,SAASC,GACxBsyC,EAASzvC,MAAMikC,EAAiBnZ,IAIhC2kB,EAASxwC,KAAKglC,EAAiBxpC,KAAKyC,SAASC,KAIjDq2C,IAAev3C,EAAO8wC,MAAM2B,aAE5B,OAAOj0C,KAAKyC,SAASC,GAEhBq2C,IAAev3C,EAAO8wC,MAAM4B,YAEjCte,EAAO9tB,KAAK9H,KAAKyC,SAASC,IAKtC,OAAIq2C,IAAev3C,EAAO8wC,MAAM0B,aAErBgF,EAEFD,IAAev3C,EAAO8wC,MAAM4B,WAE1Bte,EAKA,MAYfp0B,EAAO8wC,MAAMhwC,UAAU6zC,SAAW,SAAUnjC,EAAK5L,GAE7C,OAAOpH,KAAKu4C,QAAQvlC,EAAK5L,EAAO5F,EAAO8wC,MAAM2B,eAsBjDzyC,EAAO8wC,MAAMhwC,UAAU22C,eAAiB,SAAU/rC,EAAQgsC,EAAcn1C,EAAGC,EAAGgP,EAAK3F,QAE1D9G,IAAjB2yC,IAA8BA,GAAe,GAE3B,kBAAXhsC,IAEPA,GAAS,GAGb,IAAIxE,EAAQ1I,KAAKm2C,SAAS,SAAUjpC,GAEpC,OAAkB,OAAVxE,GAAkBwwC,EAAgBl5C,KAAKwI,OAAOzE,EAAGC,EAAGgP,EAAK3F,GAASrN,KAAK43C,WAAWlvC,EAAO3E,EAAGC,EAAGgP,EAAK3F,IAuBhH7L,EAAO8wC,MAAMhwC,UAAU62C,cAAgB,SAAUD,EAAcn1C,EAAGC,EAAGgP,EAAK3F,QAEjD9G,IAAjB2yC,IAA8BA,GAAe,GAEjD,IAAIxwC,EAAQ1I,KAAKm2C,SAAS,SAAS,GAEnC,OAAkB,OAAVztC,GAAkBwwC,EAAgBl5C,KAAKwI,OAAOzE,EAAGC,EAAGgP,EAAK3F,GAASrN,KAAK43C,WAAWlvC,EAAO3E,EAAGC,EAAGgP,EAAK3F,IAuBhH7L,EAAO8wC,MAAMhwC,UAAU82C,aAAe,SAAUF,EAAcn1C,EAAGC,EAAGgP,EAAK3F,QAEhD9G,IAAjB2yC,IAA8BA,GAAe,GAEjD,IAAIxwC,EAAQ1I,KAAKm2C,SAAS,SAAS,GAEnC,OAAkB,OAAVztC,GAAkBwwC,EAAgBl5C,KAAKwI,OAAOzE,EAAGC,EAAGgP,EAAK3F,GAASrN,KAAK43C,WAAWlvC,EAAO3E,EAAGC,EAAGgP,EAAK3F,IAkBhH7L,EAAO8wC,MAAMhwC,UAAUs1C,WAAa,SAAUlvC,EAAO3E,EAAGC,EAAGgP,EAAK3F,GAE5D,OAAc,OAAV3E,EAEO,WAGDnC,IAANxC,IAAmBA,EAAI,WACjBwC,IAANvC,IAAmBA,EAAI,MAEjB,OAAND,GAAoB,OAANC,GAEd0E,EAAM49B,MAAMviC,EAAGC,QAGPuC,IAARyM,GAEAtK,EAAM2wC,YAAYrmC,EAAK3F,GAGpB3E,IAWXlH,EAAO8wC,MAAMhwC,UAAUg3C,OAAS,WAE5B,GAAIt5C,KAAKyC,SAASE,OAAS,EAEvB,OAAO3C,KAAKyC,SAASzC,KAAKyC,SAASE,OAAS,IAYpDnB,EAAO8wC,MAAMhwC,UAAUi3C,UAAY,WAE/B,GAAIv5C,KAAKyC,SAASE,OAAS,EAEvB,OAAO3C,KAAKyC,SAAS,IAsB7BjB,EAAO8wC,MAAMhwC,UAAUk3C,aAAe,SAAUC,EAAQzE,EAAUxL,GAM9D,IAAK,IAJD9T,EAAWqK,OAAOC,UAClB0Z,EAAe,EACf5gB,EAAS,KAEJp2B,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAC1C,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAEtBgG,EAAMwE,SAENwsC,EAAeh2C,KAAKmzB,IAAIr1B,EAAOX,MAAM60B,SAAS+jB,EAAQ/wC,KAEnCgtB,KAAcsf,GAAYA,EAASxwC,KAAKglC,EAAiB9gC,EAAOgxC,MAE/EhkB,EAAWgkB,EACX5gB,EAASpwB,GAKrB,OAAOowB,GAqBXt3B,EAAO8wC,MAAMhwC,UAAUq3C,gBAAkB,SAAUF,EAAQzE,EAAUxL,GAMjE,IAAK,IAJD9T,EAAW,EACXgkB,EAAe,EACf5gB,EAAS,KAEJp2B,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAC1C,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAEtBgG,EAAMwE,SAENwsC,EAAeh2C,KAAKmzB,IAAIr1B,EAAOX,MAAM60B,SAAS+jB,EAAQ/wC,KAEnCgtB,KAAcsf,GAAYA,EAASxwC,KAAKglC,EAAiB9gC,EAAOgxC,MAE/EhkB,EAAWgkB,EACX5gB,EAASpwB,GAKrB,OAAOowB,GAWXt3B,EAAO8wC,MAAMhwC,UAAUkc,MAAQ,SAAUxL,EAAK5L,GAE1C,OAAOpH,KAAKu4C,QAAQvlC,EAAK5L,EAAO5F,EAAO8wC,MAAM0B,eASjDxyC,EAAO8wC,MAAMhwC,UAAUs3C,YAAc,WAEjC,OAAO55C,KAAKwe,MAAM,SAAS,IAS/Bhd,EAAO8wC,MAAMhwC,UAAUu3C,UAAY,WAE/B,OAAO75C,KAAKwe,MAAM,SAAS,IAW/Bhd,EAAO8wC,MAAMhwC,UAAUw3C,UAAY,SAAUl0B,EAAYjjB,GAKrD,YAHmB4D,IAAfqf,IAA4BA,EAAa,QAC9Brf,IAAX5D,IAAwBA,EAAS3C,KAAKyC,SAASE,QAEpC,IAAXA,EAEO,KAGJnB,EAAOu4C,WAAWC,cAAch6C,KAAKyC,SAAUmjB,EAAYjjB,IAetEnB,EAAO8wC,MAAMhwC,UAAU23C,gBAAkB,SAAUr0B,EAAY9b,GAE3D,IAAIowC,EAAOl6C,KAAKm6C,OAAO,UAAU,EAAMv0B,EAAY9b,GAEnD,OAAO9J,KAAK+C,KAAK6iC,IAAIwU,KAAKF,IAqB9B14C,EAAO8wC,MAAMhwC,UAAU63C,OAAS,SAAUnD,EAAU5vC,EAAOwe,EAAY9b,QAEhDvD,IAAfqf,IAA4BA,EAAa,QAC5Brf,IAAbuD,IAA0BA,EAAW9J,KAAKyC,SAASE,QAIvD,IAAK,IAFDizB,KAEKlzB,EAAIkjB,EAAYljB,EAAIoH,EAAUpH,IACvC,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAEtBs0C,EAEItuC,EAAMsuC,KAAc5vC,GAEpBwuB,EAAO9tB,KAAKY,GAKhBktB,EAAO9tB,KAAKY,GAIpB,OAAOktB,GAgBXp0B,EAAO8wC,MAAMhwC,UAAU8Z,OAAS,SAAU1T,EAAOlG,EAAS0vC,GAKtD,QAHgB3rC,IAAZ/D,IAAyBA,GAAU,QACxB+D,IAAX2rC,IAAwBA,GAAS,GAER,IAAzBlyC,KAAKyC,SAASE,SAAkD,IAAlC3C,KAAKyC,SAAS4G,QAAQX,GAEpD,OAAO,EAGNwpC,IAAUxpC,EAAM8rC,QAAW9rC,EAAM2xC,cAElC3xC,EAAM8rC,OAAO8F,4BAA4B5xC,EAAO1I,MAGpD,IAAIgK,EAAUhK,KAAK6I,YAAYH,GAgB/B,OAdA1I,KAAKqyC,eAAe3pC,GAEpB1I,KAAKq0C,UAEDr0C,KAAKizC,SAAWvqC,GAEhB1I,KAAKw1C,OAGLhzC,GAAWwH,GAEXA,EAAQxH,SAAQ,IAGb,GAWXhB,EAAO8wC,MAAMhwC,UAAUsyC,QAAU,SAAU2F,EAAOrI,GAI9C,QAFe3rC,IAAX2rC,IAAwBA,GAAS,GAEjClyC,KAAKyC,SAASE,OAAS,GAAK43C,aAAiB/4C,EAAO8wC,MACxD,CACI,GAEIiI,EAAMphB,IAAIn5B,KAAKyC,SAAS,GAAIyvC,SAEzBlyC,KAAKyC,SAASE,OAAS,GAE9B3C,KAAKoyC,QAELpyC,KAAKizC,OAAS,KAGlB,OAAOsH,GAgBX/4C,EAAO8wC,MAAMhwC,UAAU6nC,UAAY,SAAU3nC,EAAS0vC,EAAQsI,GAM1D,QAJgBj0C,IAAZ/D,IAAyBA,GAAU,QACxB+D,IAAX2rC,IAAwBA,GAAS,QACd3rC,IAAnBi0C,IAAgCA,GAAiB,GAExB,IAAzBx6C,KAAKyC,SAASE,OAAlB,CAKA,EACA,EACSuvC,GAAUlyC,KAAKyC,SAAS,GAAG+xC,QAE5Bx0C,KAAKyC,SAAS,GAAG+xC,OAAO8F,4BAA4Bt6C,KAAKyC,SAAS,GAAIzC,MAG1E,IAAIgK,EAAUhK,KAAK6I,YAAY7I,KAAKyC,SAAS,IAE7CzC,KAAKqyC,eAAeroC,GAEhBxH,GAAWwH,GAEXA,EAAQxH,SAAQ,EAAMg4C,SAGvBx6C,KAAKyC,SAASE,OAAS,GAE9B3C,KAAKoyC,QAELpyC,KAAKizC,OAAS,OAYlBzxC,EAAO8wC,MAAMhwC,UAAUm4C,cAAgB,SAAU70B,EAAY9b,EAAUtH,EAAS0vC,GAM5E,QAJiB3rC,IAAbuD,IAA0BA,EAAW9J,KAAKyC,SAASE,OAAS,QAChD4D,IAAZ/D,IAAyBA,GAAU,QACxB+D,IAAX2rC,IAAwBA,GAAS,GAER,IAAzBlyC,KAAKyC,SAASE,OAAlB,CAKA,GAAIijB,EAAa9b,GAAY8b,EAAa,GAAK9b,EAAW9J,KAAKyC,SAASE,OAEpE,OAAO,EAKX,IAFA,IAAID,EAAIoH,EAEDpH,GAAKkjB,GACZ,EACSssB,GAAUlyC,KAAKyC,SAASC,GAAG8xC,QAE5Bx0C,KAAKyC,SAASC,GAAG8xC,OAAO8F,4BAA4Bt6C,KAAKyC,SAASC,GAAI1C,MAG1E,IAAIgK,EAAUhK,KAAK6I,YAAY7I,KAAKyC,SAASC,IAE7C1C,KAAKqyC,eAAeroC,GAEhBxH,GAAWwH,GAEXA,EAAQxH,SAAQ,GAGhBxC,KAAKizC,SAAWjzC,KAAKyC,SAASC,KAE9B1C,KAAKizC,OAAS,MAGlBvwC,IAGJ1C,KAAKq0C,YAUT7yC,EAAO8wC,MAAMhwC,UAAUo4C,QAAU,SAAU5f,EAAM6c,GAEjC,MAAR7c,IAAgBA,EAAO96B,KAAK+C,KAAKE,MAAM6B,QAE3C9E,KAAK6wB,QAAQ,SAAUnoB,GAEnBA,EAAM9H,SAASuG,IAAI2zB,EAAK+F,QAAS/F,EAAKgG,UACvC,KAAM6W,IAUbn2C,EAAO8wC,MAAMhwC,UAAUq4C,QAAU,WAE7Bn5C,EAAOu4C,WAAWY,QAAQ36C,KAAKyC,UAC/BzC,KAAKq0C,WAYT7yC,EAAO8wC,MAAMhwC,UAAUE,QAAU,SAAUo4C,EAAiBC,GAEtC,OAAd76C,KAAK+C,MAAiB/C,KAAK8yC,qBAEPvsC,IAApBq0C,IAAiCA,GAAkB,QAC1Cr0C,IAATs0C,IAAsBA,GAAO,GAEjC76C,KAAK0zC,UAAU/N,SAAS3lC,KAAM46C,EAAiBC,GAE/C76C,KAAKmqC,UAAUyQ,GAEf56C,KAAKizC,OAAS,KACdjzC,KAAK0G,QAAU,KACf1G,KAAK+yC,gBAAiB,EAEjB8H,IAEG76C,KAAKqB,QAELrB,KAAKqB,OAAOwH,YAAY7I,MAG5BA,KAAK+C,KAAO,KACZ/C,KAAKkN,QAAS,KAWtBlG,OAAOyF,eAAejL,EAAO8wC,MAAMhwC,UAAW,SAE1C4E,IAAK,WAED,OAAOlH,KAAKu4C,QAAQ,UAAU,EAAM/2C,EAAO8wC,MAAM0B,iBAYzDhtC,OAAOyF,eAAejL,EAAO8wC,MAAMhwC,UAAW,UAE1C4E,IAAK,WAED,OAAOlH,KAAKyC,SAASE,UAgB7BqE,OAAOyF,eAAejL,EAAO8wC,MAAMhwC,UAAW,SAE1C4E,IAAK,WAED,OAAO1F,EAAOkC,KAAKw5B,SAASl9B,KAAKgB,WAGrCmG,IAAK,SAAUC,GAEXpH,KAAKgB,SAAWQ,EAAOkC,KAAKizB,SAASvvB,MAc7CJ,OAAOyF,eAAejL,EAAO8wC,MAAMhwC,UAAW,WAE1C4E,IAAK,WAED,OAAOlH,KAAKkK,UAAUlK,KAAKqB,QAAQ02B,SAGvC5wB,IAAK,SAAUC,GAEX,IAAIlD,EAAIlE,KAAKkK,UAAUlK,KAAKqB,QACxBoW,EAASzX,KAAK+D,EAAIG,EAAEH,EAExB/D,KAAK+D,EAAKqD,EAAQqQ,EAAUvT,EAAE4yB,aActC9vB,OAAOyF,eAAejL,EAAO8wC,MAAMhwC,UAAW,WAE1C4E,IAAK,WAED,OAAOlH,KAAKkK,UAAUlK,KAAKqB,QAAQ22B,SAGvC7wB,IAAK,SAAUC,GAEX,IAAIlD,EAAIlE,KAAKkK,UAAUlK,KAAKqB,QACxBoW,EAASzX,KAAKgE,EAAIE,EAAEF,EAExBhE,KAAKgE,EAAKoD,EAAQqQ,EAAUvT,EAAE6yB,cActC/vB,OAAOyF,eAAejL,EAAO8wC,MAAMhwC,UAAW,QAE1C4E,IAAK,WAED,OAAOlH,KAAKkK,UAAUlK,KAAKqB,QAAQwyB,MAGvC1sB,IAAK,SAAUC,GAEX,IAAIlD,EAAIlE,KAAKkK,UAAUlK,KAAKqB,QACxBoW,EAASzX,KAAK+D,EAAIG,EAAEH,EAExB/D,KAAK+D,EAAIqD,EAAQqQ,KAczBzQ,OAAOyF,eAAejL,EAAO8wC,MAAMhwC,UAAW,SAE1C4E,IAAK,WAED,OAAOlH,KAAKkK,UAAUlK,KAAKqB,QAAQuyB,OAGvCzsB,IAAK,SAAUC,GAEX,IAAIlD,EAAIlE,KAAKkK,UAAUlK,KAAKqB,QACxBoW,EAASzX,KAAK+D,EAAIG,EAAEH,EAExB/D,KAAK+D,EAAKqD,EAAQqQ,EAAUvT,EAAEtG,SActCoJ,OAAOyF,eAAejL,EAAO8wC,MAAMhwC,UAAW,OAE1C4E,IAAK,WAED,OAAOlH,KAAKkK,UAAUlK,KAAKqB,QAAQk1B,KAGvCpvB,IAAK,SAAUC,GAEX,IAAIlD,EAAIlE,KAAKkK,UAAUlK,KAAKqB,QACxBoW,EAASzX,KAAKgE,EAAIE,EAAEF,EAExBhE,KAAKgE,EAAKoD,EAAQqQ,KAc1BzQ,OAAOyF,eAAejL,EAAO8wC,MAAMhwC,UAAW,UAE1C4E,IAAK,WAED,OAAOlH,KAAKkK,UAAUlK,KAAKqB,QAAQm1B,QAGvCrvB,IAAK,SAAUC,GAEX,IAAIlD,EAAIlE,KAAKkK,UAAUlK,KAAKqB,QACxBoW,EAASzX,KAAKgE,EAAIE,EAAEF,EAExBhE,KAAKgE,EAAKoD,EAAQqQ,EAAUvT,EAAErG,UAmLtC2D,EAAOs5C,MAAQ,SAAU/3C,GAErBvB,EAAO8wC,MAAM9tC,KAAKxE,KAAM+C,EAAM,KAAM,WAAW,GAS/C/C,KAAK8E,OAAS,IAAItD,EAAOS,UAAU,EAAG,EAAGc,EAAKnF,MAAOmF,EAAKlF,QAK1DmC,KAAK8a,OAAS,KAMd9a,KAAK+6C,cAAe,EAKpB/6C,KAAK0M,OAAS3J,EAAKnF,MAKnBoC,KAAK2M,QAAU5J,EAAKlF,OAEpBmC,KAAK+C,KAAK8jC,MAAMsB,cAAchP,IAAIn5B,KAAKg7C,YAAah7C,OAGxDwB,EAAOs5C,MAAMx4C,UAAY0E,OAAOwB,OAAOhH,EAAO8wC,MAAMhwC,WACpDd,EAAOs5C,MAAMx4C,UAAUC,YAAcf,EAAOs5C,MAQ5Ct5C,EAAOs5C,MAAMx4C,UAAU2hC,KAAO,WAE1BjkC,KAAK8a,OAAS,IAAItZ,EAAOwgC,OAAOhiC,KAAK+C,KAAM,EAAG,EAAG,EAAG/C,KAAK+C,KAAKnF,MAAOoC,KAAK+C,KAAKlF,QAE/EmC,KAAK+C,KAAKuX,MAAM7R,SAASzI,MAEzBA,KAAK8a,OAAOmpB,QAYhBziC,EAAOs5C,MAAMx4C,UAAU04C,YAAc,WAEjCh7C,KAAK+D,EAAI,EACT/D,KAAKgE,EAAI,EAEThE,KAAK8a,OAAOwrB,SAahB9kC,EAAOs5C,MAAMx4C,UAAU24C,UAAY,SAAUl3C,EAAGC,EAAGpG,EAAOC,GAEtDmC,KAAK+6C,cAAe,EACpB/6C,KAAK0M,OAAS9O,EACdoC,KAAK2M,QAAU9O,EAEfmC,KAAK8E,OAAOwwB,MAAMvxB,EAAGC,EAAGpG,EAAOC,GAE/BmC,KAAK+D,EAAIA,EACT/D,KAAKgE,EAAIA,EAELhE,KAAK8a,OAAOhW,QAGZ9E,KAAK8a,OAAOhW,OAAOwwB,MAAMvxB,EAAGC,EAAGN,KAAKuC,IAAIrI,EAAOoC,KAAK+C,KAAKnF,OAAQ8F,KAAKuC,IAAIpI,EAAQmC,KAAK+C,KAAKlF,SAGhGmC,KAAK+C,KAAKikC,QAAQhB,oBAatBxkC,EAAOs5C,MAAMx4C,UAAU6D,OAAS,SAAUvI,EAAOC,GAIzCmC,KAAK+6C,eAEDn9C,EAAQoC,KAAK0M,SAEb9O,EAAQoC,KAAK0M,QAGb7O,EAASmC,KAAK2M,UAEd9O,EAASmC,KAAK2M,UAItB3M,KAAK8E,OAAOlH,MAAQA,EACpBoC,KAAK8E,OAAOjH,OAASA,EAErBmC,KAAK+C,KAAK+X,OAAOkrB,mBAEjBhmC,KAAK+C,KAAKikC,QAAQhB,oBAQtBxkC,EAAOs5C,MAAMx4C,UAAUmlC,SAAW,WAG9BznC,KAAKwC,SAAQ,GAAM,IAkBvBhB,EAAOs5C,MAAMx4C,UAAU63B,KAAO,SAAU5W,EAAQmD,EAASw0B,EAAWlY,EAAYC,QAE5D18B,IAAZmgB,IAAyBA,EAAU,QACrBngB,IAAd20C,IAA2BA,GAAY,QACxB30C,IAAfy8B,IAA4BA,GAAa,QAC5Bz8B,IAAb08B,IAA0BA,GAAW,GAEpCiY,GAsBD33B,EAAOrZ,YAEH84B,IAEKzf,EAAOxf,EAAIwf,EAAOrhB,eAAetE,MAASoC,KAAK8E,OAAOf,EAEvDwf,EAAOxf,EAAI/D,KAAK8E,OAAO8uB,MAElBrQ,EAAOxf,EAAI/D,KAAK8E,OAAO8uB,QAE5BrQ,EAAOxf,EAAI/D,KAAK8E,OAAO+uB,OAI3BoP,IAEK1f,EAAOvf,EAAIuf,EAAOrhB,eAAerE,OAAUmC,KAAK8E,OAAOyxB,IAExDhT,EAAOvf,EAAIhE,KAAK8E,OAAO0xB,OAElBjT,EAAOvf,EAAIhE,KAAK8E,OAAO0xB,SAE5BjT,EAAOvf,EAAIhE,KAAK8E,OAAOyxB,QA1C3ByM,GAAczf,EAAOxf,EAAI2iB,EAAU1mB,KAAK8E,OAAOf,EAE/Cwf,EAAOxf,EAAI/D,KAAK8E,OAAO8uB,MAAQlN,EAE1Bsc,GAAczf,EAAOxf,EAAI2iB,EAAU1mB,KAAK8E,OAAO8uB,QAEpDrQ,EAAOxf,EAAI/D,KAAK8E,OAAO+uB,KAAOnN,GAG9Buc,GAAY1f,EAAOvf,EAAI0iB,EAAU1mB,KAAK8E,OAAOyxB,IAE7ChT,EAAOvf,EAAIhE,KAAK8E,OAAO0xB,OAAS9P,EAE3Buc,GAAY1f,EAAOvf,EAAI0iB,EAAU1mB,KAAK8E,OAAO0xB,SAElDjT,EAAOvf,EAAIhE,KAAK8E,OAAOyxB,IAAM7P,KA0CzCllB,EAAOs5C,MAAMx4C,UAAU64C,QAAU,SAAUZ,EAAO5C,EAAajxB,EAASw0B,EAAWlY,EAAYC,GAE3FsX,EAAM1pB,QAAQ7wB,KAAKm6B,KAAMn6B,KAAM23C,EAAajxB,EAASw0B,EAAWlY,EAAYC,IAOhFj8B,OAAOyF,eAAejL,EAAOs5C,MAAMx4C,UAAW,SAE1C4E,IAAK,WAED,OAAOlH,KAAK8E,OAAOlH,OAGvBuJ,IAAK,SAAUC,GAEPA,EAAQpH,KAAK+C,KAAKnF,QAElBwJ,EAAQpH,KAAK+C,KAAKnF,OAGtBoC,KAAK8E,OAAOlH,MAAQwJ,EACpBpH,KAAK0M,OAAStF,EACdpH,KAAK+6C,cAAe,KAS5B/zC,OAAOyF,eAAejL,EAAOs5C,MAAMx4C,UAAW,UAE1C4E,IAAK,WAED,OAAOlH,KAAK8E,OAAOjH,QAGvBsJ,IAAK,SAAUC,GAEPA,EAAQpH,KAAK+C,KAAKlF,SAElBuJ,EAAQpH,KAAK+C,KAAKlF,QAGtBmC,KAAK8E,OAAOjH,OAASuJ,EACrBpH,KAAK2M,QAAUvF,EACfpH,KAAK+6C,cAAe,KAU5B/zC,OAAOyF,eAAejL,EAAOs5C,MAAMx4C,UAAW,WAE1C4E,IAAK,WAED,OAAOlH,KAAK8E,OAAOgyB,UAAY92B,KAAK8E,OAAOf,KAUnDiD,OAAOyF,eAAejL,EAAOs5C,MAAMx4C,UAAW,WAE1C4E,IAAK,WAED,OAAOlH,KAAK8E,OAAOiyB,WAAa/2B,KAAK8E,OAAOd,KAUpDgD,OAAOyF,eAAejL,EAAOs5C,MAAMx4C,UAAW,WAE1C4E,IAAK,WAED,OAAIlH,KAAK8E,OAAOf,EAAI,EAET/D,KAAK+C,KAAK6iC,IAAIwV,QAAQp7C,KAAK8E,OAAOf,EAAI/D,KAAK8E,OAAOlH,MAAQ8F,KAAKmzB,IAAI72B,KAAK8E,OAAOf,IAI/E/D,KAAK+C,KAAK6iC,IAAIwV,QAAQp7C,KAAK8E,OAAOf,EAAG/D,KAAK8E,OAAOlH,UAWpEoJ,OAAOyF,eAAejL,EAAOs5C,MAAMx4C,UAAW,WAE1C4E,IAAK,WAED,OAAIlH,KAAK8E,OAAOd,EAAI,EAEThE,KAAK+C,KAAK6iC,IAAIwV,QAAQp7C,KAAK8E,OAAOd,EAAIhE,KAAK8E,OAAOjH,OAAS6F,KAAKmzB,IAAI72B,KAAK8E,OAAOd,IAIhFhE,KAAK+C,KAAK6iC,IAAIwV,QAAQp7C,KAAK8E,OAAOd,EAAGhE,KAAK8E,OAAOjH,WA8EpE2D,EAAO65C,KAAO,SAAUz9C,EAAOC,EAAQgH,EAAUxD,EAAQwlC,EAAOjwB,EAAaQ,EAAWkkC,GAkdpF,OA5cAt7C,KAAKkU,GAAK1S,EAAOmqB,MAAM7jB,KAAK9H,MAAQ,EAKpCA,KAAKwW,OAAS,KAKdxW,KAAKs7C,cAAgBA,EAOrBt7C,KAAKqB,OAAS,GAWdrB,KAAKpC,MAAQ,IAWboC,KAAKnC,OAAS,IASdmC,KAAK4E,WAAa,EAMlB5E,KAAK0M,OAAS,IAMd1M,KAAK2M,QAAU,IAMf3M,KAAK4W,aAAc,EAOnB5W,KAAKoX,WAAY,EAajBpX,KAAKu7C,cAAe,EAMpBv7C,KAAK8W,uBAAwB,EAW7B9W,KAAK+W,mBAAoB,EAMzB/W,KAAK6E,SAAW,KAMhB7E,KAAK2qC,WAAanpC,EAAOoqB,KAKzB5rB,KAAK6mC,MAAQ,KAMb7mC,KAAKupC,UAAW,EAMhBvpC,KAAKw7C,WAAY,EAMjBx7C,KAAKy7C,IAAM,KAKXz7C,KAAKm5B,IAAM,KAKXn5B,KAAKymC,KAAO,KAKZzmC,KAAKga,MAAQ,KAKbha,KAAK0mC,MAAQ,KAKb1mC,KAAK2mC,KAAO,KAKZ3mC,KAAK+lC,KAAO,KAKZ/lC,KAAKc,MAAQ,KAKbd,KAAK4mC,MAAQ,KAKb5mC,KAAKsa,MAAQ,KAKbta,KAAKylC,KAAO,KAKZzlC,KAAK8mC,OAAS,KAKd9mC,KAAKiD,MAAQ,KAKbjD,KAAKgnC,QAAU,KAKfhnC,KAAKovC,QAAU,KAKfpvC,KAAK4lC,IAAM,KAKX5lC,KAAKmqB,OAAS3oB,EAAOk6C,OAKrB17C,KAAK8a,OAAS,KAKd9a,KAAKkX,OAAS,KAKdlX,KAAK8N,QAAU,KAKf9N,KAAKoqC,MAAQ,KAKbpqC,KAAK+mC,UAAY,KAKjB/mC,KAAKwI,OAAS,KASdxI,KAAK27C,YAAa,EAMlB37C,KAAK+yC,gBAAiB,EAOtB/yC,KAAK47C,UAAW,EAOhB57C,KAAK67C,aAAc,EAOnB77C,KAAK87C,UAAY,EAKjB97C,KAAKipC,QAAU,KAKfjpC,KAAKmpC,SAAW,KAKhBnpC,KAAK+7C,OAAS,KAKd/7C,KAAKg8C,QAAU,KAKfh8C,KAAKi8C,OAAS,IAAIz6C,EAAO+gC,OAMzBviC,KAAKk8C,SAAU,EAMfl8C,KAAKm8C,aAAc,EAMnBn8C,KAAKo8C,cAAe,EAQpBp8C,KAAKq8C,gBAAkB,EAOvBr8C,KAAKs8C,iBAAmB,EAOxBt8C,KAAKu8C,iBAAmB,EAMxBv8C,KAAKw8C,WAAa,EAMlBx8C,KAAKy8C,WAAa,EAMlBz8C,KAAK08C,WAAa,EAMlB18C,KAAKyqC,YAAa,EAQlBzqC,KAAK28C,mBAAqB,IAAIn7C,EAAO+gC,OAMrCviC,KAAK48C,mBAAoB,EAMzB58C,KAAK68C,mBAAoB,EAMzB78C,KAAK88C,YAAa,EAOlB98C,KAAKgX,gBAAkB,UAMvBhX,KAAK+8C,qBAAuB,EAGH,IAArBvsB,UAAU7tB,QAAwC,iBAAjB6tB,UAAU,GAE3CxwB,KAAK6vC,YAAYrf,UAAU,KAI3BxwB,KAAKwW,QAAWwmC,aAAa,QAER,IAAVp/C,IAEPoC,KAAK0M,OAAS9O,QAGI,IAAXC,IAEPmC,KAAK2M,QAAU9O,QAGK,IAAbgH,IAEP7E,KAAK2qC,WAAa9lC,QAGA,IAAXxD,IAEPrB,KAAKqB,OAASA,QAGS,IAAhBuV,IAEP5W,KAAK4W,YAAcA,QAGE,IAAdQ,IAEPpX,KAAKoX,UAAYA,GAGrBpX,KAAK4lC,IAAM,IAAIpkC,EAAOy7C,sBAAuB1P,KAAK2P,MAAQx5C,KAAKmvB,UAAU/J,aAEzE9oB,KAAK6mC,MAAQ,IAAIrlC,EAAOkmC,aAAa1nC,KAAM6mC,IAG/C7mC,KAAKmqB,OAAOgzB,UAAUn9C,KAAKikC,KAAMjkC,MAE1BA,MAmDXwB,EAAO65C,KAAK/4C,WAQRutC,YAAa,SAAUr5B,GAEnBxW,KAAKwW,OAASA,OAEajQ,IAAvBiQ,EAAOwmC,cAEPh9C,KAAKwW,OAAOwmC,aAAc,GAG1BxmC,EAAO5Y,QAEPoC,KAAK0M,OAAS8J,EAAO5Y,OAGrB4Y,EAAO3Y,SAEPmC,KAAK2M,QAAU6J,EAAO3Y,QAGtB2Y,EAAO3R,WAEP7E,KAAK2qC,WAAan0B,EAAO3R,UAGzB2R,EAAOnV,SAEPrB,KAAKqB,OAASmV,EAAOnV,aAGEkF,IAAvBiQ,EAAOI,cAEP5W,KAAK4W,YAAcJ,EAAOI,kBAGLrQ,IAArBiQ,EAAOY,YAEPpX,KAAKoX,UAAYZ,EAAOY,gBAGK7Q,IAA7BiQ,EAAOO,oBAEP/W,KAAK+W,kBAAoBP,EAAOO,wBAGRxQ,IAAxBiQ,EAAO+kC,eAEPv7C,KAAKu7C,aAAe/kC,EAAO+kC,cAG3B/kC,EAAO5R,aAEP5E,KAAK4E,WAAa4R,EAAO5R,iBAGQ2B,IAAjCiQ,EAAOM,wBAEP9W,KAAK8W,sBAAwBN,EAAOM,4BAGTvQ,IAA3BiQ,EAAOQ,kBAEPhX,KAAKgX,gBAAkBR,EAAOQ,iBAG9BR,EAAO8kC,gBAEPt7C,KAAKs7C,cAAgB9kC,EAAO8kC,eAGhC,IAAI8B,IAAU7P,KAAK2P,MAAQx5C,KAAKmvB,UAAU/J,YAEtCtS,EAAO4mC,OAEPA,EAAO5mC,EAAO4mC,MAGlBp9C,KAAK4lC,IAAM,IAAIpkC,EAAOy7C,oBAAoBG,GAE1C,IAAIvW,EAAQ,KAERrwB,EAAOqwB,QAEPA,EAAQrwB,EAAOqwB,OAGnB7mC,KAAK6mC,MAAQ,IAAIrlC,EAAOkmC,aAAa1nC,KAAM6mC,IAS/C5C,KAAM,WAEF,IAAIjkC,KAAKupC,SAAT,CA2CA,GAtCAvpC,KAAKipC,QAAU,IAAIznC,EAAO+gC,OAC1BviC,KAAKmpC,SAAW,IAAI3nC,EAAO+gC,OAC3BviC,KAAK+7C,OAAS,IAAIv6C,EAAO+gC,OACzBviC,KAAKg8C,QAAU,IAAIx6C,EAAO+gC,OAE1BviC,KAAKupC,UAAW,EAEhB/qC,KAAKuE,KAAO/C,KAEZA,KAAK+lC,KAAOvkC,EAAOkC,KAEnB1D,KAAKc,MAAQ,IAAIU,EAAO67C,aAAar9C,KAAMA,KAAK0M,OAAQ1M,KAAK2M,SAC7D3M,KAAKsa,MAAQ,IAAI9Y,EAAOguC,MAAMxvC,MAE9BA,KAAKs9C,gBAELt9C,KAAKiD,MAAQ,IAAIzB,EAAOs5C,MAAM96C,MAC9BA,KAAKm5B,IAAM,IAAI33B,EAAO+7C,kBAAkBv9C,MACxCA,KAAKymC,KAAO,IAAIjlC,EAAOg8C,kBAAkBx9C,MACzCA,KAAKga,MAAQ,IAAIxY,EAAOotC,MAAM5uC,MAC9BA,KAAK2mC,KAAO,IAAInlC,EAAOi8C,OAAOz9C,MAC9BA,KAAKylC,KAAO,IAAIjkC,EAAOk8C,KAAK19C,MAC5BA,KAAK8mC,OAAS,IAAItlC,EAAOm8C,aAAa39C,MACtCA,KAAK0mC,MAAQ,IAAIllC,EAAOo8C,MAAM59C,MAC9BA,KAAK4mC,MAAQ,IAAIplC,EAAOq8C,aAAa79C,MACrCA,KAAKgnC,QAAU,IAAIxlC,EAAOkxC,QAAQ1yC,KAAMA,KAAKs7C,eAC7Ct7C,KAAK+mC,UAAY,IAAIvlC,EAAOs8C,UAAU99C,MACtCA,KAAKwI,OAAS,IAAIhH,EAAOu8C,OAAO/9C,MAChCA,KAAKovC,QAAU,IAAI5tC,EAAO2tC,cAAcnvC,MAExCA,KAAKylC,KAAKxB,OACVjkC,KAAKsa,MAAM2pB,OACXjkC,KAAKiD,MAAMghC,OACXjkC,KAAKc,MAAMmjC,OACXjkC,KAAK0mC,MAAMzC,KAAKjkC,KAAKwW,QACrBxW,KAAK4mC,MAAM3C,OACXjkC,KAAK6mC,MAAM5C,OAEPjkC,KAAKwW,OAAOwmC,YAEZh9C,KAAKoqC,MAAQ,IAAI5oC,EAAOkwB,MAAMssB,MAAMh+C,MACpCA,KAAKoqC,MAAMnG,WAGf,CACI,IAAIga,EAAO,aAEXj+C,KAAKoqC,OAAU1lC,UAAWu5C,EAAM5Y,OAAQ4Y,EAAM3X,MAAO2X,EAAMz7C,QAASy7C,EAAMC,YAAY,GAG1Fl+C,KAAKm+C,kBAELn+C,KAAKw7C,WAAY,EAEbx7C,KAAKwW,QAAUxW,KAAKwW,OAAO4nC,gBAE3Bp+C,KAAKy7C,IAAM,IAAIj6C,EAAO68C,sBAAsBr+C,KAAMA,KAAKwW,OAAO4nC,iBAI9Dp+C,KAAKy7C,IAAM,IAAIj6C,EAAO68C,sBAAsBr+C,MAAM,GAGtDA,KAAKyqC,YAAa,EAElBzqC,KAAKs+C,cAELt+C,KAAKi8C,OAAOtW,SAAS3lC,MAEjBA,KAAKwW,OAAO+nC,eAKZv+C,KAAKga,MAAMwkC,QAEXx+C,KAAKy7C,IAAInvC,QAITtM,KAAKga,MAAMykC,QAAQtS,QAAQ,WAEvBnsC,KAAKy7C,IAAInvC,SACVtM,SAUXm+C,gBAAiB,WAEb,IAAI/tC,OAAOsuC,eAAgBtuC,OAAOsuC,aAAaC,WAA/C,CAKA,IAAIC,EAAIp9C,EAAOkqB,QACXxnB,EAAI,SACJhB,EAAI,aACJE,EAAI,EAkBR,GAhBIpD,KAAK2qC,aAAenpC,EAAOmV,OAE3BzS,EAAI,QACJd,KAEKpD,KAAK2qC,aAAenpC,EAAOqqB,WAEhC3nB,EAAI,YAGJlE,KAAKmqB,OAAO00B,WAEZ37C,EAAI,WACJE,KAGCpD,KAAKmqB,OAAO20B,GA0BR1uC,OAAO9P,SAEZA,QAAQ+P,IAAI,WAAauuC,EAAI,gBAAkB16C,EAAI,MAAQhB,EAAI,2BA3BnE,CAWI,IAAK,IAVDmtB,GACA,uBAAyBuuB,EAAI,gBAAkB16C,EAAI,MAAQhB,EAAI,wCAC/D,sBACA,sBACA,uCACA,sBACA,sBACA,uBAGKR,EAAI,EAAGA,EAAI,EAAGA,IAEfA,EAAIU,EAEJitB,EAAKvoB,KAAK,oCAIVuoB,EAAKvoB,KAAK,oCAIlBxH,QAAQ+P,IAAI9K,MAAMjF,QAAS+vB,MAcnCitB,cAAe,WAEX,IAAKt9C,KAAKmqB,OAAOjT,OAGb,MAAM,IAAInO,MAAM,4DA0BpB,GAvBI/I,KAAKwW,OAAOU,OAEZlX,KAAKkX,OAASlX,KAAKwW,OAAOU,OAI1BlX,KAAKkX,OAAS1V,EAAOmoB,OAAOnhB,OAAOxI,KAAMA,KAAKpC,MAAOoC,KAAKnC,OAAQmC,KAAKwW,OAAOuoC,UAAU,GAGxF/+C,KAAKwW,OAAOwoC,YAEZh/C,KAAKkX,OAAOqE,MAAQvb,KAAKwW,OAAOwoC,YAIhCh/C,KAAKkX,OAAOqE,MAAM,uBAAyB,4BAG3Cvb,KAAKwW,OAAOyoC,OAEZz9C,EAAOmoB,OAAOu1B,uBAAuBl/C,KAAKkX,QAGzClX,KAAK2qC,aAAenpC,EAAOmV,OAC3B3W,KAAK2qC,aAAenpC,EAAOsqB,aAC3B9rB,KAAK2qC,aAAenpC,EAAOoqB,MAAQ5rB,KAAKmqB,OAAOg1B,MACpD,EACQn/C,KAAKu7C,cAAgBv7C,KAAK2qC,aAAenpC,EAAOsqB,eAEhDttB,KAAKof,qBACL5d,KAAKu7C,cAAe,GAGxB,IAEIv7C,KAAK6E,SAAW,IAAIrG,KAAK+X,cAAcvW,KAAMA,KAAKwW,QAClDxW,KAAK2qC,WAAanpC,EAAOmV,MACzB3W,KAAK8N,QAAU,KACf9N,KAAKkX,OAAO85B,iBAAiB,mBAAoBhxC,KAAKua,YAAY0V,KAAKjwB,OAAO,GAC9EA,KAAKkX,OAAO85B,iBAAiB,uBAAwBhxC,KAAKo/C,gBAAgBnvB,KAAKjwB,OAAO,GAE1F,MAAOq/C,GAOH,GALA7gD,KAAKiY,gBAAkB,KACvBzW,KAAK6E,SAAW,KAChB7E,KAAKu7C,cAAe,EACpB/8C,KAAK6H,2BAA4B,EAE7BrG,KAAK2qC,aAAenpC,EAAOmV,MAG3B,MAAM0oC,GAKbr/C,KAAK6E,WAEN7E,KAAK6E,SAAW,IAAIrG,KAAKgrB,eAAexpB,KAAMA,KAAKwW,QACnDxW,KAAK8N,QAAU9N,KAAK6E,SAASiJ,QAEzB9N,KAAK2qC,aAAenpC,EAAOoqB,OAE3B5rB,KAAK2qC,WAAanpC,EAAOioB,SAI7BzpB,KAAKmqB,OAAOm1B,WAEZt/C,KAAKkX,OAAO6S,aAAgB/pB,KAAK2qC,aAAenpC,EAAOioB,QAGvDzpB,KAAK2qC,aAAenpC,EAAOqqB,WAE3B7rB,KAAKsa,MAAMilC,SAAWv/C,KAAKoX,UAE3B5V,EAAOmoB,OAAO61B,SAASx/C,KAAKkX,OAAQlX,KAAKqB,QAAQ,GACjDG,EAAOmoB,OAAOwmB,eAAenwC,KAAKkX,UAW1CqD,YAAa,SAAUm2B,GAEnBA,EAAM+O,iBAENz/C,KAAK6E,SAAS0V,aAAc,GAShC6kC,gBAAiB,WAEbp/C,KAAK6E,SAASyT,cAEdtY,KAAKga,MAAM0lC,kBAEX1/C,KAAK6E,SAAS0V,aAAc,GAUhC8qB,OAAQ,SAAUI,GAEd,GAAIzlC,KAAK+yC,eAEL/yC,KAAKwC,eAKT,GAAKxC,KAAKupC,SAAV,CAQA,GAFAvpC,KAAKylC,KAAKJ,OAAOI,GAEbzlC,KAAKyqC,WAOL,OALAzqC,KAAK2/C,YAAY3/C,KAAKylC,KAAKma,gBAC3B5/C,KAAK6/C,oBAEL7/C,KAAKyqC,YAAa,GAKtB,GAAIzqC,KAAKo8C,aAELp8C,KAAKo8C,cAAe,MAFxB,CASA,IAAI0D,EAAU9/C,KAAKylC,KAAKqa,QAExB,KAAIA,GAAW,GAAf,CAKA,GAAIA,EAAU9/C,KAAKylC,KAAKsa,SACxB,CAGI,GAAI//C,KAAK88C,WAEL,OAIAgD,EAAU9/C,KAAKylC,KAAKsa,SAI5B,GAAI//C,KAAK48C,kBAEL58C,KAAKs8C,iBAAmB,EACxBt8C,KAAKu8C,iBAAmB,EAExBv8C,KAAK2/C,YAAY,KAAQG,EAAU9/C,KAAKylC,KAAKua,YAC7ChgD,KAAK6/C,oBAEJ,GAAI7/C,KAAK08C,WAAa,EAGvB18C,KAAKs8C,iBAAmB,EACxBt8C,KAAKu8C,iBAAmB,EAGpBv8C,KAAKylC,KAAKA,KAAOzlC,KAAK+8C,uBAEtB/8C,KAAK+8C,qBAAuB/8C,KAAKylC,KAAKA,KAAO,IAC7CzlC,KAAK28C,mBAAmBhX,YAI5B3lC,KAAKw8C,WAAa,EAClBx8C,KAAK08C,WAAa,MAGtB,CACI,IAAIl+B,EAAQ,EACRyhC,EAAgB,IAAOjgD,KAAKylC,KAAKma,eAOrC,IALA5/C,KAAKw8C,YAAcsD,EAEnB9/C,KAAKs8C,iBAAmB54C,KAAKqsB,MAAM/vB,KAAKw8C,WAAayD,GACrDjgD,KAAKu8C,iBAAmBv8C,KAAK68C,kBAAoB,EAAIn5C,KAAK81B,IAAI,EAAGx5B,KAAKs8C,kBAE/Dt8C,KAAKw8C,YAAcyD,GAEtBjgD,KAAKw8C,YAAcyD,EACnBjgD,KAAKq8C,gBAAkB79B,EAEvBxe,KAAK2/C,YAAY3/C,KAAKylC,KAAKma,eAAiB5/C,KAAKylC,KAAKua,YACtDhgD,KAAKylC,KAAK/b,UAEVlL,IAGAA,EAAQxe,KAAKy8C,WAEbz8C,KAAK08C,aAEAl+B,EAAQxe,KAAKy8C,aAElBz8C,KAAK08C,WAAa,GAGtB18C,KAAKy8C,WAAaj+B,EAEdxe,KAAKu8C,iBAAmB,GAExBv8C,KAAK6/C,oBAYjBF,YAAa,SAAUja,GAEd1lC,KAAKk8C,SAAYl8C,KAAK67C,aAgCvB77C,KAAKc,MAAM0mC,cACXxnC,KAAK6mC,MAAMW,YAAY9B,GACvB1lC,KAAKoqC,MAAM1lC,YACX1E,KAAK0mC,MAAMc,gBAjCPxnC,KAAK47C,WAEL57C,KAAK67C,aAAc,GAGvB77C,KAAKylC,KAAK/gC,UAAUghC,GAEpB1lC,KAAKc,MAAM4D,YACX1E,KAAKoqC,MAAM1lC,YACX1E,KAAK8a,OAAOpW,YACZ1E,KAAKgnC,QAAQtiC,YACb1E,KAAK6mC,MAAMniC,UAAUghC,GACrB1lC,KAAKovC,QAAQ1qC,UAAUghC,GACvB1lC,KAAKsa,MAAM5V,YAEX1E,KAAK6mC,MAAMxB,SACXrlC,KAAKsa,MAAM+qB,SACXrlC,KAAK8mC,OAAOzB,SACZrlC,KAAK4mC,MAAMvB,SACXrlC,KAAK0mC,MAAMrB,SACXrlC,KAAKgnC,QAAQ3B,SACbrlC,KAAKovC,QAAQ/J,SAEbrlC,KAAKsa,MAAM8sB,aACXpnC,KAAK6mC,MAAMO,aACXpnC,KAAKovC,QAAQhI,cAWjBpnC,KAAKsa,MAAMxX,mBAiBf+8C,aAAc,WAEN7/C,KAAK27C,YAAc37C,KAAK2qC,aAAenpC,EAAOqqB,WAKlD7rB,KAAKylC,KAAK4B,YACVrnC,KAAK6mC,MAAMQ,YAEXrnC,KAAK6E,SAASM,OAAOnF,KAAKsa,OAC1Bta,KAAKovC,QAAQjqC,SACbnF,KAAK6mC,MAAM1hC,SAEXnF,KAAKovC,QAAQn0B,aACbjb,KAAK6E,SAASoW,eASlBilC,WAAY,WAERlgD,KAAK47C,UAAW,EAChB57C,KAAK67C,aAAc,EACnB77C,KAAK87C,UAAY,GAQrBqE,YAAa,WAETngD,KAAK47C,UAAW,EAChB57C,KAAK67C,aAAc,GASvBuE,KAAM,WAEFpgD,KAAK67C,aAAc,EACnB77C,KAAK87C,aAeTt5C,QAAS,WAELxC,KAAKy7C,IAAItvC,OAETnM,KAAKoqC,MAAM5nC,UACXxC,KAAK6mC,MAAMrkC,UACXxC,KAAK4mC,MAAMpkC,UACXxC,KAAKc,MAAM0B,UACXxC,KAAKsa,MAAM9X,UACXxC,KAAK0mC,MAAMlkC,UACXxC,KAAKgnC,QAAQxkC,UACbxC,KAAKovC,QAAQ5sC,UACbxC,KAAK8mC,OAAOtkC,UAEZxC,KAAKoqC,MAAQ,KACbpqC,KAAK6mC,MAAQ,KACb7mC,KAAK4mC,MAAQ,KACb5mC,KAAKc,MAAQ,KACbd,KAAKsa,MAAQ,KACbta,KAAK0mC,MAAQ,KACb1mC,KAAKgnC,QAAU,KACfhnC,KAAKovC,QAAU,KACfpvC,KAAK8mC,OAAS,KAEd9mC,KAAKga,MAAQ,KACbha,KAAK2mC,KAAO,KACZ3mC,KAAKylC,KAAO,KACZzlC,KAAKiD,MAAQ,KAEbjD,KAAKupC,UAAW,EAEhBvpC,KAAK6E,SAASrC,SAAQ,GAEtBhB,EAAOmoB,OAAO02B,cAAcrgD,KAAKkX,QAE7B1Y,KAAKuE,OAAS/C,OAEdxB,KAAKuE,KAAO,MAEhBvE,KAAKiY,gBAAkB,KAEvBjV,EAAOmqB,MAAM3rB,KAAKkU,IAAM,MAU5B29B,WAAY,SAAUnB,GAGb1wC,KAAKk8C,UAENl8C,KAAKk8C,SAAU,EAEfl8C,KAAKylC,KAAKoM,aACV7xC,KAAK4mC,MAAMiL,aACX7xC,KAAKipC,QAAQtD,SAAS+K,GAGlB1wC,KAAKmqB,OAAOm2B,SAAWtgD,KAAKmqB,OAAOo2B,MAEnCvgD,KAAK27C,YAAa,KAY9B7J,YAAa,SAAUpB,GAGf1wC,KAAKk8C,UAAYl8C,KAAKm8C,cAEtBn8C,KAAKk8C,SAAU,EAEfl8C,KAAKylC,KAAKqM,cACV9xC,KAAK0mC,MAAMJ,QACXtmC,KAAK4mC,MAAMkL,cACX9xC,KAAKmpC,SAASxD,SAAS+K,GAGnB1wC,KAAKmqB,OAAOm2B,SAAWtgD,KAAKmqB,OAAOo2B,MAEnCvgD,KAAK27C,YAAa,KAY9BhK,UAAW,SAAUjB,GAEjB1wC,KAAK+7C,OAAOpW,SAAS+K,GAEhB1wC,KAAKsa,MAAMm1B,yBAEZzvC,KAAK6xC,WAAWnB,IAWxBkB,UAAW,SAAUlB,GAEjB1wC,KAAKo8C,cAAe,EAEpBp8C,KAAKs+C,cAELt+C,KAAKg8C,QAAQrW,SAAS+K,GAEjB1wC,KAAKsa,MAAMm1B,yBAEZzvC,KAAK8xC,YAAYpB,IASzB4N,YAAa,WAELluC,OAAOowC,SAEFpwC,OAAOsuC,cAAiBtuC,OAAOsuC,eAAiBtuC,OAAOsuC,aAAa+B,YAErErwC,OAAOowC,UAOvBh/C,EAAO65C,KAAK/4C,UAAUC,YAAcf,EAAO65C,KAQ3Cr0C,OAAOyF,eAAejL,EAAO65C,KAAK/4C,UAAW,UAEzC4E,IAAK,WAED,OAAOlH,KAAKk8C,SAGhB/0C,IAAK,SAAUC,IAEG,IAAVA,IAEqB,IAAjBpH,KAAKk8C,UAELl8C,KAAKk8C,SAAU,EACXl8C,KAAK4mC,MAAM8Z,aAEX1gD,KAAK4mC,MAAM+Z,UAEf3gD,KAAKylC,KAAKoM,aACV7xC,KAAKipC,QAAQtD,SAAS3lC,OAE1BA,KAAKm8C,aAAc,IAIfn8C,KAAKk8C,UAELl8C,KAAKk8C,SAAU,EACfl8C,KAAK0mC,MAAMJ,QACXtmC,KAAK4mC,MAAMga,YACX5gD,KAAKylC,KAAKqM,cACV9xC,KAAKmpC,SAASxD,SAAS3lC,OAE3BA,KAAKm8C,aAAc,MA4B/B36C,EAAOo8C,MAAQ,SAAU76C,GAKrB/C,KAAK+C,KAAOA,EAMZ/C,KAAK6gD,UAAY,KAMjB7gD,KAAK8gD,WAAa,KAQlB9gD,KAAK+gD,iBAML/gD,KAAKghD,uBAAyB,KAM9BhhD,KAAKihD,8BAAgC,KAMrCjhD,KAAKkhD,SAAW,EAShBlhD,KAAKmhD,SAAU,EAMfnhD,KAAKohD,mBAAqB5/C,EAAOo8C,MAAMyD,oBAMvCrhD,KAAKY,SAAW,KAKhBZ,KAAKshD,MAAQ,KAObthD,KAAKuhD,OAAS,KAKdvhD,KAAKc,MAAQ,KAUbd,KAAKwhD,aAAe,EAMpBxhD,KAAKyhD,QAAU,IAMfzhD,KAAK0hD,cAAgB,IAMrB1hD,KAAK2hD,SAAW,IAMhB3hD,KAAK4hD,gBAAkB,IAMvB5hD,KAAK6hD,iBAAmB,IASxB7hD,KAAK8hD,sBAAuB,EAM5B9hD,KAAK+hD,WAAa,IAQlB/hD,KAAKgiD,YAAc,IASnBhiD,KAAKiiD,sBAKLjiD,KAAKkiD,SAAW,KAKhBliD,KAAKmiD,SAAW,KAKhBniD,KAAKoiD,SAAW,KAKhBpiD,KAAKqiD,SAAW,KAKhBriD,KAAKsiD,SAAW,KAKhBtiD,KAAKuiD,SAAW,KAKhBviD,KAAKwiD,SAAW,KAKhBxiD,KAAKyiD,SAAW,KAKhBziD,KAAK0iD,SAAW,KAKhB1iD,KAAK2iD,UAAY,KAUjB3iD,KAAK4iD,YASL5iD,KAAK6iD,cAAgB,KASrB7iD,KAAK8iD,aAAe,KAUpB9iD,KAAKwtC,MAAQ,KAObxtC,KAAK+iD,SAAW,KAUhB/iD,KAAKgjD,MAAQ,KAUbhjD,KAAKijD,UAAY,KAOjBjjD,KAAKkjD,QAAU,KAQfljD,KAAKmjD,aAAc,EAWnBnjD,KAAKojD,OAAS,KAWdpjD,KAAKqjD,KAAO,KAWZrjD,KAAKsjD,MAAQ,KAUbtjD,KAAKujD,OAAS,KAQdvjD,KAAKwjD,cAAgB,EAMrBxjD,KAAKyjD,iBAAmB,IAAIjiD,EAAO62C,SAMnCr4C,KAAK0jD,YAAc,IAAIliD,EAAOX,MAM9Bb,KAAK2jD,aAAe,EAMpB3jD,KAAK4jD,aAAe,KAMpB5jD,KAAK6jD,GAAK,EAMV7jD,KAAK8jD,GAAK,GAOdtiD,EAAOo8C,MAAMmG,sBAAwB,EAMrCviD,EAAOo8C,MAAMoG,sBAAwB,EAMrCxiD,EAAOo8C,MAAMyD,oBAAsB,EAOnC7/C,EAAOo8C,MAAMqG,aAAe,GAE5BziD,EAAOo8C,MAAMt7C,WAoBT2hC,KAAM,SAAUztB,GAER,gBAAiBA,IAEjBxW,KAAKwhD,YAAchrC,EAAOgrC,aAG9BxhD,KAAK8iD,aAAe,IAAIthD,EAAO0iD,QAAQlkD,KAAK+C,KAAM,EAAGvB,EAAO2iD,YAAYC,QACxEpkD,KAAKqkD,aACLrkD,KAAKqkD,aAELrkD,KAAKwtC,MAAQ,IAAIhsC,EAAO8iD,MAAMtkD,KAAK+C,MACnC/C,KAAKgjD,MAAQ,IAAIxhD,EAAO+iD,MAAMvkD,KAAK+C,MACnC/C,KAAKijD,UAAY,IAAIzhD,EAAOgjD,UAAUxkD,KAAK+C,MAC3C/C,KAAKykD,WAAa,IAAIjjD,EAAOkjD,WAAW1kD,KAAK+C,MAC7C/C,KAAK2kD,YAAc,IAAInjD,EAAOojD,YAAY5kD,KAAK+C,MAE3CvB,EAAOqjD,WAEP7kD,KAAK+iD,SAAW,IAAIvhD,EAAOqjD,SAAS7kD,KAAK+C,OAGzCvB,EAAOsjD,UAEP9kD,KAAKkjD,QAAU,IAAI1hD,EAAOsjD,QAAQ9kD,KAAK+C,OAG3C/C,KAAKojD,OAAS,IAAI5hD,EAAO+gC,OACzBviC,KAAKqjD,KAAO,IAAI7hD,EAAO+gC,OACvBviC,KAAKsjD,MAAQ,IAAI9hD,EAAO+gC,OACxBviC,KAAKujD,OAAS,IAAI/hD,EAAO+gC,OAEzBviC,KAAKc,MAAQ,IAAIU,EAAOX,MAAM,EAAG,GACjCb,KAAKshD,MAAQ,IAAI9/C,EAAOX,MACxBb,KAAKY,SAAW,IAAIY,EAAOX,MAC3Bb,KAAK4jD,aAAe,IAAIpiD,EAAOX,MAE/Bb,KAAKuhD,OAAS,IAAI//C,EAAOqzB,OAAO,EAAG,EAAG,IAEtC70B,KAAK6iD,cAAgB7iD,KAAK8iD,aAE1B9iD,KAAK6gD,UAAYr/C,EAAOqF,WAAW2B,OAAOxI,KAAM,EAAG,GACnDA,KAAK8gD,WAAa9gD,KAAK6gD,UAAUroC,WAAW,MAExCxY,KAAK+C,KAAKonB,OAAO84B,YAAmC,IAArBzsC,EAAOysC,UAEtCjjD,KAAKijD,UAAU32C,QAEVtM,KAAK+C,KAAKonB,OAAO64B,QAA2B,IAAjBxsC,EAAOwsC,OAEvChjD,KAAKgjD,MAAM12C,QAGVtM,KAAKijD,UAAUjY,SAA4B,IAAjBx0B,EAAOg3B,OAElCxtC,KAAKwtC,MAAMlhC,QAGftM,KAAK8iD,aAAa9X,QAAS,GAED,IAAtBx0B,EAAOiuC,YAEPzkD,KAAKykD,WAAWn4C,SAGO,IAAvBkK,EAAOmuC,aAEP3kD,KAAK2kD,YAAYr4C,QAGjBtM,KAAK+iD,WAAiC,IAApBvsC,EAAOusC,UAEzB/iD,KAAK+iD,SAASz2C,QAGlB,IAAIqgC,EAAQ3sC,KAEZA,KAAK+kD,mBAAqB,SAAUrU,GAEhC/D,EAAMqY,kBAAkBtU,IAG5B1wC,KAAK+C,KAAKmU,OAAO85B,iBAAiB,QAAShxC,KAAK+kD,oBAAoB,IAQxEviD,QAAS,WAELxC,KAAKwtC,MAAMrhC,OACXnM,KAAKykD,WAAWt4C,OAChBnM,KAAKgjD,MAAM72C,OACXnM,KAAKijD,UAAU92C,OACfnM,KAAK2kD,YAAYx4C,OAEbnM,KAAK+iD,UAEL/iD,KAAK+iD,SAAS52C,OAGdnM,KAAKkjD,SAELljD,KAAKkjD,QAAQ/2C,OAGjBnM,KAAK+gD,iBAELv/C,EAAOqF,WAAWuV,OAAOpc,MAEzBA,KAAK+C,KAAKmU,OAAO+6B,oBAAoB,QAASjyC,KAAK+kD,qBAyBvDE,+BAAgC,SAAUjQ,EAAUlnC,GAEhD9N,KAAKghD,uBAAyBhM,EAC9Bh1C,KAAKihD,8BAAgCnzC,GAuBzCo3C,gBAAiB,SAAUlQ,EAAUlnC,GAEjC9N,KAAK+gD,cAAcj5C,MAAOktC,SAAUA,EAAUlnC,QAASA,KAiB3Dq3C,qBAAsB,SAAUnQ,EAAUlnC,EAASs3C,QAEjC7+C,IAAV6+C,IAAuBA,GAAQ,GAEnCplD,KAAKiiD,mBAAmBn6C,MAAOktC,SAAUA,EAAUlnC,QAASA,EAASs3C,MAAOA,KAWhFC,wBAAyB,SAAUrQ,EAAUlnC,GAIzC,IAFA,IAAIpL,EAAI1C,KAAKiiD,mBAAmBt/C,OAEzBD,KAEH,GAAI1C,KAAKiiD,mBAAmBv/C,GAAGsyC,WAAaA,GAAYh1C,KAAKiiD,mBAAmBv/C,GAAGoL,UAAYA,EAG3F,OADA9N,KAAKiiD,mBAAmBn5C,OAAOpG,EAAG,IAC3B,EAIf,OAAO,GAWX4iD,0BAA2B,SAAUF,EAAO1U,GAIxC,IAFA,IAAIhuC,EAAI1C,KAAKiiD,mBAAmBt/C,OAEzBD,KACP,CACI,IAAI6iD,EAAKvlD,KAAKiiD,mBAAmBv/C,GAE7B6iD,EAAGH,QAAUA,GAASG,EAAGvQ,SAASxwC,KAAK+gD,EAAGz3C,QAAS9N,KAAM0wC,IAEzD1wC,KAAKiiD,mBAAmBn5C,OAAOpG,EAAG,KAY9C8iD,mBAAoB,SAAUxQ,EAAUlnC,GAIpC,IAFA,IAAIpL,EAAI1C,KAAK+gD,cAAcp+C,OAEpBD,KAEH,GAAI1C,KAAK+gD,cAAcr+C,GAAGsyC,WAAaA,GAAYh1C,KAAK+gD,cAAcr+C,GAAGoL,UAAYA,EAGjF,YADA9N,KAAK+gD,cAAcj4C,OAAOpG,EAAG,IAczC2hD,WAAY,WAER,GAAIrkD,KAAK4iD,SAASjgD,QAAUnB,EAAOo8C,MAAMqG,aAGrC,OADA3jD,QAAQ+Z,KAAK,6CAA+C7Y,EAAOo8C,MAAMqG,aAAe,sBACjF,KAGX,IAAI/vC,EAAKlU,KAAK4iD,SAASjgD,OAAS,EAC5B2rC,EAAU,IAAI9sC,EAAO0iD,QAAQlkD,KAAK+C,KAAMmR,EAAI1S,EAAO2iD,YAAYsB,SAKnE,OAHAzlD,KAAK4iD,SAAS96C,KAAKwmC,GACnBtuC,KAAK,UAAYkU,GAAMo6B,EAEhBA,GASXjJ,OAAQ,WAOJ,GALIrlC,KAAK+iD,UAEL/iD,KAAK+iD,SAAS1d,SAGdrlC,KAAKkhD,SAAW,GAAKlhD,KAAK2jD,aAAe3jD,KAAKkhD,SAE9ClhD,KAAK2jD,mBAFT,CAMA3jD,KAAKshD,MAAMv9C,EAAI/D,KAAKY,SAASmD,EAAI/D,KAAK4jD,aAAa7/C,EACnD/D,KAAKshD,MAAMt9C,EAAIhE,KAAKY,SAASoD,EAAIhE,KAAK4jD,aAAa5/C,EAEnDhE,KAAK4jD,aAAaruB,SAASv1B,KAAKY,UAChCZ,KAAK8iD,aAAazd,SAEdrlC,KAAKkjD,SAAWljD,KAAKkjD,QAAQlY,QAE7BhrC,KAAKkjD,QAAQ7d,SAGjB,IAAK,IAAI3iC,EAAI,EAAGA,EAAI1C,KAAK4iD,SAASjgD,OAAQD,IAEtC1C,KAAK4iD,SAASlgD,GAAG2iC,SAGrBrlC,KAAK2jD,aAAe,IASxBnc,YAAa,WAELxnC,KAAKkjD,SAAWljD,KAAKkjD,QAAQlY,QAE7BhrC,KAAKkjD,QAAQ7d,UAerBiB,MAAO,SAAUof,GAEb,GAAK1lD,KAAK+C,KAAKwmC,WAAYvpC,KAAKmjD,YAAhC,MAKa58C,IAATm/C,IAAsBA,GAAO,GAEjC1lD,KAAK8iD,aAAaxc,QAEdtmC,KAAK+iD,UAEL/iD,KAAK+iD,SAASzc,MAAMof,GAGxB,IAAK,IAAIhjD,EAAI,EAAGA,EAAI1C,KAAK4iD,SAASjgD,OAAQD,IAEtC1C,KAAK4iD,SAASlgD,GAAG4jC,QAGiB,SAAlCtmC,KAAK+C,KAAKmU,OAAOqE,MAAM03B,SAEvBjzC,KAAK+C,KAAKmU,OAAOqE,MAAM03B,OAAS,IAGhCyS,IAEA1lD,KAAKojD,OAAO1W,UACZ1sC,KAAKqjD,KAAK3W,UACV1sC,KAAKsjD,MAAM5W,UACX1sC,KAAKujD,OAAO7W,UACZ1sC,KAAKojD,OAAS,IAAI5hD,EAAO+gC,OACzBviC,KAAKqjD,KAAO,IAAI7hD,EAAO+gC,OACvBviC,KAAKsjD,MAAQ,IAAI9hD,EAAO+gC,OACxBviC,KAAKujD,OAAS,IAAI/hD,EAAO+gC,OACzBviC,KAAK+gD,kBAGT/gD,KAAK2jD,aAAe,IAUxBgC,WAAY,SAAU5hD,EAAGC,GAErBhE,KAAK4jD,aAAatuB,MAAMvxB,EAAGC,GAC3BhE,KAAKshD,MAAMhsB,MAAM,EAAG,IAYxBswB,aAAc,SAAUlV,GAEpB,GAAI1wC,KAAKwhD,aAAe,GAAKxhD,KAAK6lD,oBAAoB7lD,KAAKwhD,cAAgBxhD,KAAKwhD,YAE5E,OAAO,KAGX,IAAKxhD,KAAKkiD,SAASlX,OAEf,OAAOhrC,KAAKkiD,SAAS51C,MAAMokC,GAG/B,IAAK1wC,KAAKmiD,SAASnX,OAEf,OAAOhrC,KAAKmiD,SAAS71C,MAAMokC,GAG/B,IAAK,IAAIhuC,EAAI,EAAGA,EAAI1C,KAAK4iD,SAASjgD,OAAQD,IAC1C,CACI,IAAI4rC,EAAUtuC,KAAK4iD,SAASlgD,GAE5B,IAAK4rC,EAAQtD,OAET,OAAOsD,EAAQhiC,MAAMokC,GAI7B,OAAO,MAYXoV,cAAe,SAAUpV,GAErB,GAAI1wC,KAAKkiD,SAASlX,QAAUhrC,KAAKkiD,SAAS6D,aAAerV,EAAMqV,WAE3D,OAAO/lD,KAAKkiD,SAAS8D,KAAKtV,GAG9B,GAAI1wC,KAAKmiD,SAASnX,QAAUhrC,KAAKmiD,SAAS4D,aAAerV,EAAMqV,WAE3D,OAAO/lD,KAAKmiD,SAAS6D,KAAKtV,GAG9B,IAAK,IAAIhuC,EAAI,EAAGA,EAAI1C,KAAK4iD,SAASjgD,OAAQD,IAC1C,CACI,IAAI4rC,EAAUtuC,KAAK4iD,SAASlgD,GAE5B,GAAI4rC,EAAQtD,QAAUsD,EAAQyX,aAAerV,EAAMqV,WAE/C,OAAOzX,EAAQ0X,KAAKtV,GAI5B,OAAO,MAWXuV,YAAa,SAAUvV,GAEnB,GAAI1wC,KAAKkiD,SAASlX,QAAUhrC,KAAKkiD,SAAS6D,aAAerV,EAAMqV,WAE3D,OAAO/lD,KAAKkiD,SAAS/1C,KAAKukC,GAG9B,GAAI1wC,KAAKmiD,SAASnX,QAAUhrC,KAAKmiD,SAAS4D,aAAerV,EAAMqV,WAE3D,OAAO/lD,KAAKmiD,SAASh2C,KAAKukC,GAG9B,IAAK,IAAIhuC,EAAI,EAAGA,EAAI1C,KAAK4iD,SAASjgD,OAAQD,IAC1C,CACI,IAAI4rC,EAAUtuC,KAAK4iD,SAASlgD,GAE5B,GAAI4rC,EAAQtD,QAAUsD,EAAQyX,aAAerV,EAAMqV,WAE/C,OAAOzX,EAAQniC,KAAKukC,GAI5B,OAAO,MAWXmV,oBAAqB,SAAUnoB,QAEbn3B,IAAVm3B,IAAuBA,EAAQ19B,KAAK4iD,SAASjgD,QAIjD,IAAK,IAFD6b,EAAQkf,EAEHh7B,EAAI,EAAGA,EAAI1C,KAAK4iD,SAASjgD,QAAU6b,EAAQ,EAAG9b,IAErC1C,KAAK4iD,SAASlgD,GAEhBsoC,QAERxsB,IAIR,OAAQkf,EAAQlf,GAUpB0nC,WAAY,SAAUC,QAED5/C,IAAb4/C,IAA0BA,GAAW,GAEzC,IAAK,IAAIzjD,EAAI,EAAGA,EAAI1C,KAAK4iD,SAASjgD,OAAQD,IAC1C,CACI,IAAI4rC,EAAUtuC,KAAK4iD,SAASlgD,GAE5B,GAAI4rC,EAAQtD,SAAWmb,EAEnB,OAAO7X,EAIf,OAAO,MAcX8X,yBAA0B,SAAUL,GAEhC,IAAK,IAAIrjD,EAAI,EAAGA,EAAI1C,KAAK4iD,SAASjgD,OAAQD,IAC1C,CACI,IAAI4rC,EAAUtuC,KAAK4iD,SAASlgD,GAE5B,GAAI4rC,EAAQyX,aAAeA,EAEvB,OAAOzX,EAIf,OAAO,MAaX+X,iBAAkB,SAAUC,GAExB,IAAK,IAAI5jD,EAAI,EAAGA,EAAI1C,KAAK4iD,SAASjgD,OAAQD,IAC1C,CACI,IAAI4rC,EAAUtuC,KAAK4iD,SAASlgD,GAE5B,GAAI4rC,EAAQgY,YAAcA,EAEtB,OAAOhY,EAIf,OAAO,MAWXiY,iBAAkB,SAAUrrC,EAAeozB,EAAS1Y,QAEjCrvB,IAAXqvB,IAAwBA,EAAS,IAAIp0B,EAAOX,OAEhD,IAAI4C,EAAKyX,EAAc3Z,eACnB2S,EAAK,GAAKzQ,EAAGP,EAAIO,EAAGJ,EAAII,EAAGL,GAAKK,EAAGN,GAEvC,OAAOyyB,EAAON,MACV7xB,EAAGJ,EAAI6Q,EAAKo6B,EAAQvqC,GAAKN,EAAGL,EAAI8Q,EAAKo6B,EAAQtqC,GAAKP,EAAGF,GAAKE,EAAGL,EAAIK,EAAGH,GAAKG,EAAGJ,GAAK6Q,EACjFzQ,EAAGP,EAAIgR,EAAKo6B,EAAQtqC,GAAKP,EAAGN,EAAI+Q,EAAKo6B,EAAQvqC,IAAMN,EAAGF,GAAKE,EAAGP,EAAIO,EAAGH,GAAKG,EAAGN,GAAK+Q,IAY1FsyC,QAAS,SAAUtrC,EAAeozB,EAASmY,GAEvC,IAAKvrC,EAAc7T,aAEf,OAAO,EAOX,GAJArH,KAAKumD,iBAAiBrrC,EAAeozB,EAAStuC,KAAK0jD,aAEnD+C,EAAWlxB,SAASv1B,KAAK0jD,aAErBxoC,EAAc/Z,SAAW+Z,EAAc/Z,QAAQmJ,SAE/C,OAAQ4Q,EAAc/Z,QAAQmJ,SAAStK,KAAK0jD,YAAY3/C,EAAG/D,KAAK0jD,YAAY1/C,GAE3E,GAAIxC,EAAOklD,UAAYxrC,aAAyB1Z,EAAOklD,SAC5D,CACI,IAAI9oD,EAAQ8F,KAAKmzB,IAAI3b,EAActd,OAC/BC,EAAS6F,KAAKmzB,IAAI3b,EAAcrd,QAChCyN,EAAK4P,EAAcnX,EAAKnG,EAAQsd,EAAcwzB,QAElD,GAAI1uC,KAAK+C,KAAK+X,OAAO/W,EAAIuqC,EAAQvqC,GAAKuH,GAAMtL,KAAK+C,KAAK+X,OAAO/W,EAAIuqC,EAAQvqC,EAAIuH,EAAK1N,EAClF,CACQ2N,EAAK2P,EAAclX,EAAKnG,EAASqd,EAAcyzB,QAEnD,GAAI3uC,KAAK+C,KAAK+X,OAAO9W,EAAIsqC,EAAQtqC,GAAKuH,GAAMvL,KAAK+C,KAAK+X,OAAO9W,EAAIsqC,EAAQtqC,EAAIuH,EAAK1N,EAE9E,OAAO,QAId,GAAIqd,aAAyB1Z,EAAOmlD,WACzC,CACI,IAAI/oD,EAAQsd,EAActd,MACtBC,EAASqd,EAAcrd,OACvByN,GAAM1N,EAAQsd,EAAcvU,OAAO5C,EAEvC,GAAI/D,KAAK0jD,YAAY3/C,GAAKuH,GAAMtL,KAAK0jD,YAAY3/C,EAAIuH,EAAK1N,EAC1D,CACQ2N,GAAM1N,EAASqd,EAAcvU,OAAO3C,EAExC,GAAIhE,KAAK0jD,YAAY1/C,GAAKuH,GAAMvL,KAAK0jD,YAAY1/C,EAAIuH,EAAK1N,EAEtD,OAAO,QAId,GAAIqd,aAAyB1c,KAAKsH,OACvC,CACI,IAAIlI,EAAQsd,EAAcnd,QAAQsP,MAAMzP,MAAQsd,EAAcnd,QAAQqI,YAAYxB,WAC9E/G,EAASqd,EAAcnd,QAAQsP,MAAMxP,OAASqd,EAAcnd,QAAQqI,YAAYxB,WAChF0G,GAAM1N,EAAQsd,EAAcvU,OAAO5C,EAEvC,GAAI/D,KAAK0jD,YAAY3/C,GAAKuH,GAAMtL,KAAK0jD,YAAY3/C,EAAIuH,EAAK1N,EAC1D,CACI,IAAI2N,GAAM1N,EAASqd,EAAcvU,OAAO3C,EAExC,GAAIhE,KAAK0jD,YAAY1/C,GAAKuH,GAAMvL,KAAK0jD,YAAY1/C,EAAIuH,EAAK1N,EAEtD,OAAO,QAId,GAAIqd,aAAyB1Z,EAAO0iC,SAErC,IAASxhC,EAAI,EAAGA,EAAIwY,EAAc0rC,aAAajkD,OAAQD,IACvD,CACI,IAAI0R,EAAO8G,EAAc0rC,aAAalkD,GAEtC,GAAK0R,EAAKyyC,OAMNzyC,EAAK0yC,OAAS1yC,EAAK0yC,MAAMx8C,SAAStK,KAAK0jD,YAAY3/C,EAAG/D,KAAK0jD,YAAY1/C,IAEvE,OAAO,EAOnB,IAAK,IAAItB,EAAI,EAAGA,EAAIwY,EAAczY,SAASE,OAAQD,IAE/C,GAAI1C,KAAKwmD,QAAQtrC,EAAczY,SAASC,GAAI4rC,EAASmY,GAEjD,OAAO,EAIf,OAAO,GASXzB,kBAAmB,WAMfhlD,KAAK6iD,cAAckE,2BAWvBhP,QAAS,SAAUiP,EAAS1Y,GAKxB,IAHA,IAAI4L,EAAOl6C,KAAKyjD,iBAAiBvJ,KAC7Bx3C,EAAIw3C,EAAKv3C,OAEND,KACP,CACI,IAAI4E,EAAO4yC,EAAKx3C,GAEZ4E,GAAQA,EAAK65C,SAEb75C,EAAK0/C,GAAS1Y,MAO9B9sC,EAAOo8C,MAAMt7C,UAAUC,YAAcf,EAAOo8C,MAQ5C52C,OAAOyF,eAAejL,EAAOo8C,MAAMt7C,UAAW,KAE1C4E,IAAK,WAED,OAAOlH,KAAK6jD,IAGhB18C,IAAK,SAAUC,GAEXpH,KAAK6jD,GAAKngD,KAAKqsB,MAAM3oB,MAW7BJ,OAAOyF,eAAejL,EAAOo8C,MAAMt7C,UAAW,KAE1C4E,IAAK,WAED,OAAOlH,KAAK8jD,IAGhB38C,IAAK,SAAUC,GAEXpH,KAAK8jD,GAAKpgD,KAAKqsB,MAAM3oB,MAW7BJ,OAAOyF,eAAejL,EAAOo8C,MAAMt7C,UAAW,cAE1C4E,IAAK,WAED,OAAQlH,KAAKkhD,SAAW,GAAKlhD,KAAK2jD,aAAe3jD,KAAKkhD,YAW9Dl6C,OAAOyF,eAAejL,EAAOo8C,MAAMt7C,UAAW,yBAE1C4E,IAAK,WAED,OAAOlH,KAAK4iD,SAASjgD,OAAS3C,KAAK6lD,yBAW3C7+C,OAAOyF,eAAejL,EAAOo8C,MAAMt7C,UAAW,uBAE1C4E,IAAK,WAED,OAAOlH,KAAK6lD,yBAWpB7+C,OAAOyF,eAAejL,EAAOo8C,MAAMt7C,UAAW,UAE1C4E,IAAK,WAED,OAAOlH,KAAK+C,KAAK+X,OAAO7D,KAAKlT,EAAI/D,KAAK+D,KAW9CiD,OAAOyF,eAAejL,EAAOo8C,MAAMt7C,UAAW,UAE1C4E,IAAK,WAED,OAAOlH,KAAK+C,KAAK+X,OAAO7D,KAAKjT,EAAIhE,KAAKgE,KAyB9CxC,EAAO8iD,MAAQ,SAAUvhD,GAKrB/C,KAAK+C,KAAOA,EAMZ/C,KAAK0mC,MAAQ3jC,EAAK2jC,MAKlB1mC,KAAKwpC,gBAAkBxpC,KAAK+C,KAO5B/C,KAAKinD,kBAAoB,KAOzBjnD,KAAKknD,gBAAkB,KAQvBlnD,KAAKmnD,iBAAmB,KAOxBnnD,KAAKonD,kBAAoB,KAKzBpnD,KAAKqnD,SAAU,EAQfrnD,KAAKgrC,QAAS,EASdhrC,KAAKmhD,SAAU,EAQfnhD,KAAKsnD,eAAgB,EAQrBtnD,KAAK0wC,MAAQ,KAMb1wC,KAAKunD,aAAe,KAMpBvnD,KAAKwnD,aAAe,KAMpBxnD,KAAKynD,WAAa,KAMlBznD,KAAK0nD,YAAc,KAMnB1nD,KAAK2nD,aAAe,MAOxBnmD,EAAO8iD,MAAMsD,WAAa,EAM1BpmD,EAAO8iD,MAAMuD,YAAc,EAM3BrmD,EAAO8iD,MAAMwD,cAAgB,EAM7BtmD,EAAO8iD,MAAMyD,aAAe,EAM5BvmD,EAAO8iD,MAAM0D,YAAc,EAM3BxmD,EAAO8iD,MAAM2D,eAAiB,EAE9BzmD,EAAO8iD,MAAMhiD,WAOTgK,MAAO,WAEH,IAAI6d,EAASnqB,KAAK+C,KAAKonB,OAEvB,GAAIA,EAAO+9B,yBAA2BloD,KAAK0mC,MAAMsc,MAAMhY,OAGnD,OAAO,EAGX,GAA0B,OAAtBhrC,KAAKunD,aAGL,OAAO,EAGX,IAAI5a,EAAQ3sC,KAEZA,KAAKunD,aAAe,SAAU7W,GAE1B,OAAO/D,EAAMwb,YAAYzX,IAG7B1wC,KAAKwnD,aAAe,SAAU9W,GAE1B,OAAO/D,EAAMyb,YAAY1X,IAG7B1wC,KAAKynD,WAAa,SAAU/W,GAExB,OAAO/D,EAAM0b,UAAU3X,IAG3B1wC,KAAKsoD,iBAAmB,SAAU5X,GAE9B,OAAO/D,EAAM4b,gBAAgB7X,IAGjC1wC,KAAKwoD,kBAAoB,SAAU9X,GAE/B,OAAO/D,EAAM8b,iBAAiB/X,IAGlC1wC,KAAK0nD,YAAc,SAAUhX,GAEzB,OAAO/D,EAAM+b,WAAWhY,IAG5B1wC,KAAK2nD,aAAe,SAAUjX,GAE1B,OAAO/D,EAAMgc,YAAYjY,IAG7B,IAAIx5B,EAASlX,KAAK+C,KAAKmU,OAgBvB,OAdAA,EAAO85B,iBAAiB,YAAahxC,KAAKunD,cAAc,GACxDrwC,EAAO85B,iBAAiB,YAAahxC,KAAKwnD,cAAc,GACxDtwC,EAAO85B,iBAAiB,UAAWhxC,KAAKynD,YAAY,GAE/Ct9B,EAAOm1B,WAERlvC,OAAO4gC,iBAAiB,UAAWhxC,KAAKsoD,kBAAkB,GAC1Dl4C,OAAO4gC,iBAAiB,WAAYhxC,KAAKwoD,mBAAmB,GAC5DtxC,EAAO85B,iBAAiB,YAAahxC,KAAK2nD,cAAc,GACxDzwC,EAAO85B,iBAAiB,WAAYhxC,KAAK0nD,aAAa,IAG1D1nD,KAAKgrC,QAAS,GAEP,GAQXmd,YAAa,SAAUzX,GAEnB1wC,KAAK0wC,MAAQA,EAET1wC,KAAKqnD,SAEL3W,EAAM+O,iBAGNz/C,KAAKinD,mBAELjnD,KAAKinD,kBAAkBziD,KAAKxE,KAAKwpC,gBAAiBkH,GAGjD1wC,KAAK0mC,MAAMya,SAAYnhD,KAAKmhD,UAKjCzQ,EAAMqV,WAAa,EAEnB/lD,KAAK0mC,MAAMoc,aAAax2C,MAAMokC,KAQlC0X,YAAa,SAAU1X,GAEnB1wC,KAAK0wC,MAAQA,EAET1wC,KAAKqnD,SAEL3W,EAAM+O,iBAGNz/C,KAAK4oD,mBAEL5oD,KAAK4oD,kBAAkBpkD,KAAKxE,KAAKwpC,gBAAiBkH,GAGjD1wC,KAAK0mC,MAAMya,SAAYnhD,KAAKmhD,UAKjCzQ,EAAMqV,WAAa,EAEnB/lD,KAAK0mC,MAAMoc,aAAakD,KAAKtV,KAQjC2X,UAAW,SAAU3X,GAEjB1wC,KAAK0wC,MAAQA,EAET1wC,KAAKqnD,SAEL3W,EAAM+O,iBAGNz/C,KAAKknD,iBAELlnD,KAAKknD,gBAAgB1iD,KAAKxE,KAAKwpC,gBAAiBkH,GAG/C1wC,KAAK0mC,MAAMya,SAAYnhD,KAAKmhD,UAKjCzQ,EAAMqV,WAAa,EAEnB/lD,KAAK0mC,MAAMoc,aAAa32C,KAAKukC,KASjC6X,gBAAiB,SAAU7X,GAElB1wC,KAAK0mC,MAAMoc,aAAa+F,aAErB7oD,KAAKknD,iBAELlnD,KAAKknD,gBAAgB1iD,KAAKxE,KAAKwpC,gBAAiBkH,GAGpDA,EAAMqV,WAAa,EAEnB/lD,KAAK0mC,MAAMoc,aAAa32C,KAAKukC,KAUrC+X,iBAAkB,SAAU/X,GAExB1wC,KAAK0wC,MAAQA,EAET1wC,KAAKqnD,SAEL3W,EAAM+O,iBAGVz/C,KAAK0mC,MAAMoc,aAAa+F,YAAa,EAEhC7oD,KAAK0mC,MAAMya,SAAYnhD,KAAKmhD,UAejCnhD,KAAK0mC,MAAMoc,aAAa32C,KAAKukC,GAG7B1wC,KAAK0mC,MAAMoc,aAAagG,iBAS5BJ,WAAY,SAAUhY,GAElB1wC,KAAK0wC,MAAQA,EAET1wC,KAAKqnD,SAEL3W,EAAM+O,iBAGVz/C,KAAK0mC,MAAMoc,aAAa+F,YAAa,EAEjC7oD,KAAKmnD,kBAELnnD,KAAKmnD,iBAAiB3iD,KAAKxE,KAAKwpC,gBAAiBkH,GAGhD1wC,KAAK0mC,MAAMya,SAAYnhD,KAAKmhD,UAKjCnhD,KAAK0mC,MAAMoc,aAAaiG,cAAcrY,GAElC1wC,KAAKsnD,gBAEL5W,EAAMqV,WAAa,EAEnB/lD,KAAK0mC,MAAMoc,aAAa32C,KAAKukC,GAE7B1wC,KAAK0mC,MAAMqR,QAAQ,qBAAsB/3C,KAAK0mC,MAAMoc,iBAU5D6F,YAAa,SAAUjY,GAEnB1wC,KAAK0wC,MAAQA,EAET1wC,KAAKqnD,SAEL3W,EAAM+O,iBAGVz/C,KAAK0mC,MAAMoc,aAAa+F,YAAa,EAEjC7oD,KAAKonD,mBAELpnD,KAAKonD,kBAAkB5iD,KAAKxE,KAAKwpC,gBAAiBkH,GAGjD1wC,KAAK0mC,MAAMya,SAAYnhD,KAAKmhD,SAKjCnhD,KAAK0mC,MAAMoc,aAAaiG,cAAcrY,IAO1CvkC,KAAM,WAEF,IAAI+K,EAASlX,KAAK+C,KAAKmU,OAEvBA,EAAO+6B,oBAAoB,YAAajyC,KAAKunD,cAAc,GAC3DrwC,EAAO+6B,oBAAoB,YAAajyC,KAAKwnD,cAAc,GAC3DtwC,EAAO+6B,oBAAoB,UAAWjyC,KAAKynD,YAAY,GACvDvwC,EAAO+6B,oBAAoB,YAAajyC,KAAK2nD,cAAc,GAC3DzwC,EAAO+6B,oBAAoB,WAAYjyC,KAAK0nD,aAAa,GAEzDt3C,OAAO6hC,oBAAoB,UAAWjyC,KAAKsoD,kBAAkB,GAC7Dl4C,OAAO6hC,oBAAoB,WAAYjyC,KAAKwoD,mBAAmB,GAE/DxoD,KAAKgrC,QAAS,IAKtBxpC,EAAO8iD,MAAMhiD,UAAUC,YAAcf,EAAO8iD,MAQ5C9iD,EAAOkjD,WAAa,SAAU3hD,GAM1B/C,KAAK+C,KAAOA,EAMZ/C,KAAK0mC,MAAQ3jC,EAAK2jC,MAMlB1mC,KAAKgpD,QAAUjmD,EAAKmU,OAOpBlX,KAAKy/C,gBAAiB,EAStBz/C,KAAKgrC,QAAS,EAOdhrC,KAAKg1C,SAAW,KAOhBh1C,KAAKwpC,gBAAkBzmC,EASvB/C,KAAK0lC,MAAQ,EAWb1lC,KAAKipD,eAAiBlmD,EAAKonB,OAAO++B,WAQlClpD,KAAKmpD,oBAAsBnpD,KAAKopD,eAAen5B,KAAKjwB,MAOpDA,KAAKqpD,WAAa,MAOtB7nD,EAAOkjD,WAAWx4B,GAAK,EAMvB1qB,EAAOkjD,WAAWv4B,MAAQ,EAO1B3qB,EAAOkjD,WAAWpiD,UAAUgK,MAAQ,WAEhC,SAAKtM,KAAKipD,gBAAkBjpD,KAAKgrC,UAKjChrC,KAAKgpD,QAAQhY,iBAAiBhxC,KAAKipD,eAAgBjpD,KAAKmpD,qBAAqB,GAEjD,eAAxBnpD,KAAKipD,eAELjpD,KAAKqpD,WAAa,IAAI7nD,EAAO8nD,iBAAgB,KAAS,GAEzB,mBAAxBtpD,KAAKipD,iBAEVjpD,KAAKqpD,WAAa,IAAI7nD,EAAO8nD,gBAAgB,EAAG,IAGpDtpD,KAAKgrC,QAAS,GAEP,IAOXxpC,EAAOkjD,WAAWpiD,UAAU6J,KAAO,WAE1BnM,KAAKgrC,SAKVhrC,KAAKgpD,QAAQ/W,oBAAoBjyC,KAAKipD,eAAgBjpD,KAAKmpD,qBAAqB,GAEhFnpD,KAAKgrC,QAAS,IASlBxpC,EAAOkjD,WAAWpiD,UAAU8mD,eAAiB,SAAU1Y,GAE/C1wC,KAAKqpD,aAEL3Y,EAAQ1wC,KAAKqpD,WAAWE,UAAU7Y,IAGlC1wC,KAAKy/C,gBAEL/O,EAAM+O,iBAIVz/C,KAAK0lC,MAAQlkC,EAAOkC,KAAKi5B,OAAO+T,EAAM8Y,QAAS,EAAG,GAE9CxpD,KAAKg1C,UAELh1C,KAAKg1C,SAASxwC,KAAKxE,KAAKwpC,gBAAiBkH,IA8BjDlvC,EAAOgjD,UAAY,SAAUzhD,GAKzB/C,KAAK+C,KAAOA,EAMZ/C,KAAK0mC,MAAQ3jC,EAAK2jC,MAKlB1mC,KAAKwpC,gBAAkBxpC,KAAK+C,KAK5B/C,KAAKypD,oBAAsB,KAK3BzpD,KAAK0pD,oBAAsB,KAK3B1pD,KAAK2pD,kBAAoB,KAKzB3pD,KAAK4pD,mBAAqB,KAK1B5pD,KAAK6pD,oBAAsB,KAK3B7pD,KAAK8pD,sBAAwB,KAgB7B9pD,KAAKqnD,SAAU,EAQfrnD,KAAK0wC,MAAQ,KAQb1wC,KAAKgrC,QAAS,EAOdhrC,KAAKmhD,SAAU,EAOfnhD,KAAKsnD,eAAgB,EAMrBtnD,KAAK+pD,iBAAmB,KAMxB/pD,KAAKgqD,iBAAmB,KAMxBhqD,KAAKiqD,eAAiB,KAMtBjqD,KAAKkqD,qBAAuB,KAM5BlqD,KAAKmqD,gBAAkB,KAMvBnqD,KAAKoqD,iBAAmB,MAG5B5oD,EAAOgjD,UAAUliD,WAMbgK,MAAO,WAEH,IAAKtM,KAAK+C,KAAKonB,OAAO84B,UAElB,OAAO,EAGX,GAA8B,OAA1BjjD,KAAK+pD,iBAGL,OAAO,EAGX,IAAIpd,EAAQ3sC,KAEZA,KAAK+pD,iBAAmB,SAAUrZ,GAE9B,OAAO/D,EAAM0d,cAAc3Z,IAG/B1wC,KAAKgqD,iBAAmB,SAAUtZ,GAE9B,OAAO/D,EAAM2d,cAAc5Z,IAG/B1wC,KAAKiqD,eAAiB,SAAUvZ,GAE5B,OAAO/D,EAAM4d,YAAY7Z,IAG7B1wC,KAAKkqD,qBAAuB,SAAUxZ,GAElC,OAAO/D,EAAM6d,kBAAkB9Z,IAGnC1wC,KAAKmqD,gBAAkB,SAAUzZ,GAE7B,OAAO/D,EAAM8d,aAAa/Z,IAG9B1wC,KAAKoqD,iBAAmB,SAAU1Z,GAE9B,OAAO/D,EAAM+d,cAAcha,IAG/B1wC,KAAK2qD,mBAAqB,SAAUja,GAEhC,OAAO/D,EAAMie,gBAAgBla,IAGjC,IAAIx5B,EAASlX,KAAK+C,KAAKmU,OA8BvB,OA5BAA,EAAO85B,iBAAiB,gBAAiBhxC,KAAK+pD,kBAAkB,GAChE7yC,EAAO85B,iBAAiB,gBAAiBhxC,KAAKgqD,kBAAkB,GAChE9yC,EAAO85B,iBAAiB,cAAehxC,KAAKiqD,gBAAgB,GAC5D/yC,EAAO85B,iBAAiB,kBAAmBhxC,KAAK2qD,oBAAoB,GAGpEzzC,EAAO85B,iBAAiB,cAAehxC,KAAK+pD,kBAAkB,GAC9D7yC,EAAO85B,iBAAiB,cAAehxC,KAAKgqD,kBAAkB,GAC9D9yC,EAAO85B,iBAAiB,YAAahxC,KAAKiqD,gBAAgB,GAC1D/yC,EAAO85B,iBAAiB,gBAAiBhxC,KAAK2qD,oBAAoB,GAElEzzC,EAAOqE,MAAM,uBAAyB,OACtCrE,EAAOqE,MAAM,oBAAsB,OAE9Bvb,KAAK+C,KAAKonB,OAAOm1B,WAElBlvC,OAAO4gC,iBAAiB,cAAehxC,KAAKkqD,sBAAsB,GAClEhzC,EAAO85B,iBAAiB,gBAAiBhxC,KAAKoqD,kBAAkB,GAChElzC,EAAO85B,iBAAiB,eAAgBhxC,KAAKmqD,iBAAiB,GAG9D/5C,OAAO4gC,iBAAiB,YAAahxC,KAAKkqD,sBAAsB,GAChEhzC,EAAO85B,iBAAiB,cAAehxC,KAAKoqD,kBAAkB,GAC9DlzC,EAAO85B,iBAAiB,aAAchxC,KAAKmqD,iBAAiB,IAGhEnqD,KAAKgrC,QAAS,GAEP,GASXqf,cAAe,SAAU3Z,GAErB1wC,KAAK+C,KAAK2jC,MAAM4e,2BAA0B,EAAO5U,GAEjD1wC,KAAK0wC,MAAQA,EAET1wC,KAAKqnD,SAEL3W,EAAM+O,iBAGNz/C,KAAKypD,qBAELzpD,KAAKypD,oBAAoBjlD,KAAKxE,KAAKwpC,gBAAiBkH,GAGnD1wC,KAAK0mC,MAAMya,SAAYnhD,KAAKmhD,UAKjCzQ,EAAMqV,WAAarV,EAAM4V,UAErBtmD,KAAK6qD,oBAAoBna,GAEzB1wC,KAAK0mC,MAAMoc,aAAax2C,MAAMokC,GAI9B1wC,KAAK0mC,MAAMkf,aAAalV,KAShC4Z,cAAe,SAAU5Z,GAErB1wC,KAAK0wC,MAAQA,EAET1wC,KAAKqnD,SAEL3W,EAAM+O,iBAGNz/C,KAAK0pD,qBAEL1pD,KAAK0pD,oBAAoBllD,KAAKxE,KAAKwpC,gBAAiBkH,GAGnD1wC,KAAK0mC,MAAMya,SAAYnhD,KAAKmhD,UAKjCzQ,EAAMqV,WAAarV,EAAM4V,UAErBtmD,KAAK6qD,oBAAoBna,GAEzB1wC,KAAK0mC,MAAMoc,aAAakD,KAAKtV,GAI7B1wC,KAAK0mC,MAAMof,cAAcpV,KASjC6Z,YAAa,SAAU7Z,GAEnB1wC,KAAK+C,KAAK2jC,MAAM4e,2BAA0B,EAAM5U,GAEhD1wC,KAAK0wC,MAAQA,EAET1wC,KAAKqnD,SAEL3W,EAAM+O,iBAGNz/C,KAAK2pD,mBAEL3pD,KAAK2pD,kBAAkBnlD,KAAKxE,KAAKwpC,gBAAiBkH,GAGjD1wC,KAAK0mC,MAAMya,SAAYnhD,KAAKmhD,UAKjCzQ,EAAMqV,WAAarV,EAAM4V,UAErBtmD,KAAK6qD,oBAAoBna,GAEzB1wC,KAAK0mC,MAAMoc,aAAa32C,KAAKukC,GAI7B1wC,KAAK0mC,MAAMuf,YAAYvV,KAU/B8Z,kBAAmB,SAAU9Z,GAIzB,GAFAA,EAAMqV,WAAarV,EAAM4V,UAErBtmD,KAAK6qD,oBAAoBna,KAAW1wC,KAAK0mC,MAAMoc,aAAa+F,WAE5D7oD,KAAKuqD,YAAY7Z,OAGrB,CACI,IAAIpC,EAAUtuC,KAAK0mC,MAAM0f,yBAAyB1V,EAAMqV,YAEpDzX,GAAWA,EAAQua,YAEnB7oD,KAAKuqD,YAAY7Z,KAW7B+Z,aAAc,SAAU/Z,GAEpB1wC,KAAK0wC,MAAQA,EAET1wC,KAAKqnD,SAEL3W,EAAM+O,iBAGV/O,EAAMqV,WAAarV,EAAM4V,UAEzB,IAAIhY,EAAUtuC,KAAK8qD,oBAAoBpa,GAEnCpC,IAEAA,EAAQua,YAAa,GAGrB7oD,KAAK4pD,oBAEL5pD,KAAK4pD,mBAAmBplD,KAAKxE,KAAKwpC,gBAAiBkH,GAGlD1wC,KAAK0mC,MAAMya,SAAYnhD,KAAKmhD,SAK7BnhD,KAAKsnD,gBAEL5W,EAAMqV,WAAa,EAEdzX,IAEDA,EAAUtuC,KAAK0mC,MAAMoc,cAGzBxU,EAAQniC,KAAKukC,GAEb1wC,KAAK0mC,MAAMqR,QAAQ,qBAAsBzJ,KAUjDoc,cAAe,SAAUha,GAErB1wC,KAAK0wC,MAAQA,EAET1wC,KAAKqnD,SAEL3W,EAAM+O,iBAGV/O,EAAMqV,WAAarV,EAAM4V,UAEzB,IAAIhY,EAAUtuC,KAAK8qD,oBAAoBpa,GAEnCpC,IAEAA,EAAQua,YAAa,GAGrB7oD,KAAK6pD,qBAEL7pD,KAAK6pD,oBAAoBrlD,KAAKxE,KAAKwpC,gBAAiBkH,IAU5Dka,gBAAiB,SAAUla,GAEvB1wC,KAAK0wC,MAAQA,EAET1wC,KAAK8pD,uBAEL9pD,KAAK8pD,sBAAsBtlD,KAAKxE,KAAKwpC,gBAAiBkH,GAGrD1wC,KAAK+C,KAAK2jC,MAAMya,SAAYnhD,KAAKmhD,UAKtCzQ,EAAMqV,WAAarV,EAAM4V,UAErBtmD,KAAK6qD,oBAAoBna,GAEzB1wC,KAAK0mC,MAAMoc,aAAa32C,KAAKukC,GAI7B1wC,KAAK0mC,MAAMuf,YAAYvV,KAQ/BvkC,KAAM,WAEF,IAAI+K,EAASlX,KAAK+C,KAAKmU,OAEvBA,EAAO+6B,oBAAoB,gBAAiBjyC,KAAK+pD,kBAAkB,GACnE7yC,EAAO+6B,oBAAoB,gBAAiBjyC,KAAKgqD,kBAAkB,GACnE9yC,EAAO+6B,oBAAoB,cAAejyC,KAAKiqD,gBAAgB,GAG/D/yC,EAAO+6B,oBAAoB,cAAejyC,KAAK+pD,kBAAkB,GACjE7yC,EAAO+6B,oBAAoB,cAAejyC,KAAKgqD,kBAAkB,GACjE9yC,EAAO+6B,oBAAoB,YAAajyC,KAAKiqD,gBAAgB,GAE7D75C,OAAO6hC,oBAAoB,cAAejyC,KAAKkqD,sBAAsB,GACrEhzC,EAAO+6B,oBAAoB,gBAAiBjyC,KAAKoqD,kBAAkB,GACnElzC,EAAO+6B,oBAAoB,eAAgBjyC,KAAKmqD,iBAAiB,GAGjE/5C,OAAO6hC,oBAAoB,YAAajyC,KAAKkqD,sBAAsB,GACnEhzC,EAAO+6B,oBAAoB,cAAejyC,KAAKoqD,kBAAkB,GACjElzC,EAAO+6B,oBAAoB,aAAcjyC,KAAKmqD,iBAAiB,GAE/DnqD,KAAKgrC,QAAS,GAQlB6f,oBAAqB,SAAUna,GAE3B,MAA8B,UAAtBA,EAAMqa,aAAiD,IAAtBra,EAAMqa,aAQnDD,oBAAqB,SAAUpa,GAE3B,OAAO1wC,KAAK6qD,oBAAoBna,GAC1B1wC,KAAK0mC,MAAMoc,aACX9iD,KAAK0mC,MAAM0f,yBAAyB1V,EAAMqV,cAKxDvkD,EAAOgjD,UAAUliD,UAAUC,YAAcf,EAAOgjD,UAgChDhjD,EAAOwpD,aAAe,SAAU3pD,EAAQ4pD,GAKpCjrD,KAAKqB,OAASA,EAKdrB,KAAK+C,KAAO1B,EAAO0B,KAMnB/C,KAAK0wC,MAAQ,KAMb1wC,KAAKkrD,QAAS,EAMdlrD,KAAKmrD,MAAO,EAMZnrD,KAAKorD,SAAW,EAMhBprD,KAAKqrD,OAAS,EAQdrrD,KAAKsrD,QAAU,EAQftrD,KAAKurD,QAAS,EAQdvrD,KAAKwrD,UAAW,EAQhBxrD,KAAKyrD,SAAU,EAMfzrD,KAAKoH,MAAQ,EAKbpH,KAAKirD,WAAaA,EAQlBjrD,KAAKojD,OAAS,IAAI5hD,EAAO+gC,OAQzBviC,KAAKqjD,KAAO,IAAI7hD,EAAO+gC,OAQvBviC,KAAK0rD,QAAU,IAAIlqD,EAAO+gC,QAG9B/gC,EAAOwpD,aAAa1oD,WAWhBgK,MAAO,SAAUokC,EAAOtpC,GAEhBpH,KAAKkrD,SAKTlrD,KAAKkrD,QAAS,EACdlrD,KAAKmrD,MAAO,EACZnrD,KAAKorD,SAAWprD,KAAK+C,KAAK0iC,KAAKA,KAC/BzlC,KAAKsrD,QAAU,EAEftrD,KAAK0wC,MAAQA,EACb1wC,KAAKoH,MAAQA,EAETspC,IAEA1wC,KAAKurD,OAAS7a,EAAM6a,OACpBvrD,KAAKwrD,SAAW9a,EAAM8a,SACtBxrD,KAAKyrD,QAAU/a,EAAM+a,SAGzBzrD,KAAKojD,OAAOzd,SAAS3lC,KAAMoH,KAY/B+E,KAAM,SAAUukC,EAAOtpC,GAEfpH,KAAKmrD,OAKTnrD,KAAKkrD,QAAS,EACdlrD,KAAKmrD,MAAO,EACZnrD,KAAKqrD,OAASrrD,KAAK+C,KAAK0iC,KAAKA,KAE7BzlC,KAAK0wC,MAAQA,EACb1wC,KAAKoH,MAAQA,EAETspC,IAEA1wC,KAAKurD,OAAS7a,EAAM6a,OACpBvrD,KAAKwrD,SAAW9a,EAAM8a,SACtBxrD,KAAKyrD,QAAU/a,EAAM+a,SAGzBzrD,KAAKqjD,KAAK1d,SAAS3lC,KAAMoH,KAa7BukD,UAAW,SAAUC,EAAWlb,EAAOtpC,GAE/BwkD,EAEA5rD,KAAKsM,MAAMokC,EAAOtpC,GAIlBpH,KAAKmM,KAAKukC,EAAOtpC,IAWzBykD,SAAU,SAAUzkD,GAEhBpH,KAAKkrD,QAAS,EACdlrD,KAAKmrD,MAAO,EAEZnrD,KAAKoH,MAAQA,EAEbpH,KAAK0rD,QAAQ/lB,SAAS3lC,KAAMoH,IAWhC0kD,YAAa,SAAU/oB,GAInB,OAFAA,EAAWA,GAAY,IAEf/iC,KAAKkrD,QAAWlrD,KAAKorD,SAAWroB,EAAY/iC,KAAK+C,KAAK0iC,KAAKA,MAWvEsmB,aAAc,SAAUhpB,GAIpB,OAFAA,EAAWA,GAAY,IAEf/iC,KAAKmrD,MAASnrD,KAAKqrD,OAAStoB,EAAY/iC,KAAK+C,KAAK0iC,KAAKA,MAQnEa,MAAO,WAEHtmC,KAAKkrD,QAAS,EACdlrD,KAAKmrD,MAAO,EAEZnrD,KAAKorD,SAAWprD,KAAK+C,KAAK0iC,KAAKA,KAC/BzlC,KAAKsrD,QAAU,EAEftrD,KAAKurD,QAAS,EACdvrD,KAAKwrD,UAAW,EAChBxrD,KAAKyrD,SAAU,GASnBjpD,QAAS,WAELxC,KAAKojD,OAAO1W,UACZ1sC,KAAKqjD,KAAK3W,UACV1sC,KAAK0rD,QAAQhf,UAEb1sC,KAAKqB,OAAS,KACdrB,KAAK+C,KAAO,OAKpBvB,EAAOwpD,aAAa1oD,UAAUC,YAAcf,EAAOwpD,aAUnDhkD,OAAOyF,eAAejL,EAAOwpD,aAAa1oD,UAAW,YAEjD4E,IAAK,WAED,OAAIlH,KAAKmrD,MAEG,EAGLnrD,KAAK+C,KAAK0iC,KAAKA,KAAOzlC,KAAKorD,YAoB1C5pD,EAAO0iD,QAAU,SAAUnhD,EAAMmR,EAAI83C,GAKjChsD,KAAK+C,KAAOA,EAKZ/C,KAAKkU,GAAKA,EAMVlU,KAAKwT,KAAOhS,EAAO+rB,QAMnBvtB,KAAKkN,QAAS,EAMdlN,KAAK+lD,WAAa,EAMlB/lD,KAAKsmD,UAAY,KAKjBtmD,KAAKgsD,YAAcA,GAAgBxqD,EAAO2iD,YAAYC,OAAS5iD,EAAO2iD,YAAYsB,QAMlFzlD,KAAKgI,OAAS,KASdhI,KAAKisD,OAAS,KAWdjsD,KAAKksD,WAAa,IAAI1qD,EAAOwpD,aAAahrD,KAAMwB,EAAO0iD,QAAQ2D,aAa/D7nD,KAAKmsD,aAAe,IAAI3qD,EAAOwpD,aAAahrD,KAAMwB,EAAO0iD,QAAQ4D,eAajE9nD,KAAKosD,YAAc,IAAI5qD,EAAOwpD,aAAahrD,KAAMwB,EAAO0iD,QAAQ6D,cAahE/nD,KAAKqsD,WAAa,IAAI7qD,EAAOwpD,aAAahrD,KAAMwB,EAAO0iD,QAAQ8D,aAa/DhoD,KAAKssD,cAAgB,IAAI9qD,EAAOwpD,aAAahrD,KAAMwB,EAAO0iD,QAAQ+D,gBAalEjoD,KAAKusD,aAAe,IAAI/qD,EAAOwpD,aAAahrD,KAAMwB,EAAO0iD,QAAQsI,eAOjExsD,KAAKysD,WAAY,EAMjBzsD,KAAK0sD,YAML1sD,KAAK2sD,UAAY,EAMjB3sD,KAAK4sD,aAAc,EAKnB5sD,KAAK6oD,YAAa,EAKlB7oD,KAAK6sD,SAAW,EAKhB7sD,KAAK8sD,SAAW,EAKhB9sD,KAAK+sD,OAAS,EAKd/sD,KAAKgtD,OAAS,EAKdhtD,KAAKitD,SAAW,EAKhBjtD,KAAKktD,SAAW,EAOhBltD,KAAKmtD,aAAe,EAOpBntD,KAAKotD,aAAe,EAMpBptD,KAAKqtD,UAAY,EAMjBrtD,KAAKstD,UAAY,EAMjBttD,KAAK+D,GAAK,EAMV/D,KAAKgE,GAAK,EAKVhE,KAAKutD,QAAkB,IAAPr5C,EAQhBlU,KAAKkrD,QAAS,EAQdlrD,KAAKmrD,MAAO,EAMZnrD,KAAKorD,SAAW,EAMhBprD,KAAKqrD,OAAS,EAMdrrD,KAAKwtD,gBAAkB,EAMvBxtD,KAAKytD,aAAe,EAMpBztD,KAAK0tD,iBAAmB3tB,OAAOC,UAM/BhgC,KAAK2tD,aAAe,KAWpB3tD,KAAK4tD,yBAML5tD,KAAKgrC,QAAS,EAMdhrC,KAAKwR,OAAQ,EAKbxR,KAAKY,SAAW,IAAIY,EAAOX,MAK3Bb,KAAK6tD,aAAe,IAAIrsD,EAAOX,MAK/Bb,KAAK8tD,WAAa,IAAItsD,EAAOX,MAO7Bb,KAAKuhD,OAAS,IAAI//C,EAAOqzB,OAAO,EAAG,EAAG,IAOtC70B,KAAK+tD,kBAAoB,KAQzB/tD,KAAKguD,wBAA0B,MAQnCxsD,EAAO0iD,QAAQ0D,UAAY,EAO3BpmD,EAAO0iD,QAAQ2D,YAAc,EAO7BrmD,EAAO0iD,QAAQ6D,aAAe,EAO9BvmD,EAAO0iD,QAAQ4D,cAAgB,EAQ/BtmD,EAAO0iD,QAAQ8D,YAAc,EAQ7BxmD,EAAO0iD,QAAQ+D,eAAiB,GAOhCzmD,EAAO0iD,QAAQsI,cAAgB,GAE/BhrD,EAAO0iD,QAAQ5hD,WAQXwmD,aAAc,WAEV9oD,KAAKkrD,QAAS,EACdlrD,KAAKmrD,MAAO,EAERnrD,KAAKutD,UAELvtD,KAAKksD,WAAW5lB,QAChBtmC,KAAKmsD,aAAa7lB,QAClBtmC,KAAKosD,YAAY9lB,QACjBtmC,KAAKqsD,WAAW/lB,QAChBtmC,KAAKssD,cAAchmB,QACnBtmC,KAAKusD,aAAajmB,UAY1B2nB,mBAAoB,SAAUhC,EAAQvb,GAElC,OAAQub,GAEJ,KAAMzqD,EAAO8iD,MAAiB,YAC1BtkD,KAAKksD,WAAW5/C,MAAMokC,GACtB,MAEJ,KAAMlvC,EAAO8iD,MAAkB,aAC3BtkD,KAAKosD,YAAY9/C,MAAMokC,GACvB,MAEJ,KAAMlvC,EAAO8iD,MAAmB,cAC5BtkD,KAAKmsD,aAAa7/C,MAAMokC,GACxB,MAEJ,KAAMlvC,EAAO8iD,MAAiB,YAC1BtkD,KAAKqsD,WAAW//C,MAAMokC,GACtB,MAEJ,KAAMlvC,EAAO8iD,MAAoB,eAC7BtkD,KAAKssD,cAAchgD,MAAMokC,KAarCwd,iBAAkB,SAAUjC,EAAQvb,GAEhC,OAAQub,GAEJ,KAAMzqD,EAAO8iD,MAAiB,YAC1BtkD,KAAKksD,WAAW//C,KAAKukC,GACrB,MAEJ,KAAMlvC,EAAO8iD,MAAkB,aAC3BtkD,KAAKosD,YAAYjgD,KAAKukC,GACtB,MAEJ,KAAMlvC,EAAO8iD,MAAmB,cAC5BtkD,KAAKmsD,aAAahgD,KAAKukC,GACvB,MAEJ,KAAMlvC,EAAO8iD,MAAiB,YAC1BtkD,KAAKqsD,WAAWlgD,KAAKukC,GACrB,MAEJ,KAAMlvC,EAAO8iD,MAAoB,eAC7BtkD,KAAKssD,cAAcngD,KAAKukC,KAapCyd,qBAAsB,SAAUC,EAAS1d,GAErC,IAAIl9B,EAAOk9B,EAAMl9B,KAAK66C,cAActlC,QAAQ,GACxCulC,EAAiB,SAAT96C,EACRwyC,EAAiB,SAATxyC,OAEIjN,IAAZ6nD,GAGIE,GAAoB,IAAZF,GAAiB1d,EAAM+a,UAE/B2C,EAAU,GAIdpuD,KAAKksD,WAAWP,UAAUnqD,EAAO0iD,QAAQ2D,YAAcuG,EAAS1d,GAChE1wC,KAAKosD,YAAYT,UAAUnqD,EAAO0iD,QAAQ6D,aAAeqG,EAAS1d,GAClE1wC,KAAKmsD,aAAaR,UAAUnqD,EAAO0iD,QAAQ4D,cAAgBsG,EAAS1d,GACpE1wC,KAAKqsD,WAAWV,UAAUnqD,EAAO0iD,QAAQ8D,YAAcoG,EAAS1d,GAChE1wC,KAAKssD,cAAcX,UAAUnqD,EAAO0iD,QAAQ+D,eAAiBmG,EAAS1d,GACtE1wC,KAAKusD,aAAaZ,UAAUnqD,EAAO0iD,QAAQsI,cAAgB4B,EAAS1d,SAQ/CnqC,IAAjBmqC,EAAMub,OAGFqC,GAAQ5d,EAAM+a,SAA4B,IAAjB/a,EAAMub,OAE/BjsD,KAAKosD,YAAY9/C,MAAMokC,GAGvB4d,EAEAtuD,KAAKiuD,mBAAmBvd,EAAMub,OAAQvb,GAEhCsV,GAENhmD,KAAKkuD,iBAAiBxd,EAAMub,OAAQvb,GAIxC4d,EAGI5d,EAAM+a,QAENzrD,KAAKosD,YAAY9/C,MAAMokC,GAIvB1wC,KAAKksD,WAAW5/C,MAAMokC,IAK1B1wC,KAAKksD,WAAW//C,KAAKukC,GACrB1wC,KAAKosD,YAAYjgD,KAAKukC,KAalCqY,cAAe,SAAUrY,GAErB1wC,KAAKisD,OAASvb,EAAMub,OACpBjsD,KAAKmuD,qBAAqBzd,EAAM0d,QAAS1d,GAEzC1wC,KAAKmrD,MAAO,EACZnrD,KAAKkrD,QAAS,GAEVlrD,KAAKksD,WAAWhB,QAAUlrD,KAAKosD,YAAYlB,QAAUlrD,KAAKmsD,aAAajB,QAAUlrD,KAAKqsD,WAAWnB,QAAUlrD,KAAKssD,cAAcpB,QAAUlrD,KAAKusD,aAAarB,UAE1JlrD,KAAKmrD,MAAO,EACZnrD,KAAKkrD,QAAS,IAStB5+C,MAAO,SAAUokC,GAEb,IAAIhK,EAAQ1mC,KAAK+C,KAAK2jC,MA2DtB,OAzDIgK,EAAM4V,YAENtmD,KAAKsmD,UAAY5V,EAAM4V,WAG3BtmD,KAAK+lD,WAAarV,EAAMqV,WACxB/lD,KAAKgI,OAAS0oC,EAAM1oC,OAEhBhI,KAAKutD,QAELvtD,KAAK+oD,cAAcrY,IAInB1wC,KAAKkrD,QAAS,EACdlrD,KAAKmrD,MAAO,GAGhBnrD,KAAKgrC,QAAS,EACdhrC,KAAK6oD,YAAa,EAClB7oD,KAAKwR,OAAQ,EAEbxR,KAAK0sD,YACL1sD,KAAK+tD,kBAAoB,KACzB/tD,KAAKguD,wBAA0B,KAG/BhuD,KAAK0tD,iBAAmB1tD,KAAK+C,KAAK0iC,KAAKA,KAAOzlC,KAAKorD,SACnDprD,KAAKorD,SAAWprD,KAAK+C,KAAK0iC,KAAKA,KAC/BzlC,KAAKysD,WAAY,EAGjBzsD,KAAKgmD,KAAKtV,GAAO,GAGjB1wC,KAAK6tD,aAAav4B,MAAMt1B,KAAK+D,EAAG/D,KAAKgE,IAEjC0iC,EAAM0a,qBAAuB5/C,EAAOo8C,MAAMmG,uBAC1Crd,EAAM0a,qBAAuB5/C,EAAOo8C,MAAMyD,qBACzC3a,EAAM0a,qBAAuB5/C,EAAOo8C,MAAMoG,uBAAuD,IAA9Btd,EAAM6nB,uBAE1E7nB,EAAM3iC,EAAI/D,KAAK+D,EACf2iC,EAAM1iC,EAAIhE,KAAKgE,EACf0iC,EAAM9lC,SAAS00B,MAAMt1B,KAAK+D,EAAG/D,KAAKgE,GAClC0iC,EAAM0c,OAAOzd,SAAS3lC,KAAM0wC,GAC5BhK,EAAMif,WAAW3lD,KAAK+D,EAAG/D,KAAKgE,IAGlChE,KAAK4sD,aAAc,EAEnB5sD,KAAKytD,eAEqB,OAAtBztD,KAAK2tD,cAEL3tD,KAAK2tD,aAAaa,gBAAgBxuD,MAG/BA,MAOXqlC,OAAQ,WAEJ,IAAIqB,EAAQ1mC,KAAK+C,KAAK2jC,MAElB1mC,KAAKgrC,SAGDhrC,KAAKwR,QAEDk1B,EAAM+c,iBAAiBzK,MAAQ,GAE/Bh5C,KAAKyuD,2BAA0B,GAGnCzuD,KAAKwR,OAAQ,IAGM,IAAnBxR,KAAKysD,WAAuBzsD,KAAK+iC,UAAY2D,EAAMib,YAE/Cjb,EAAM0a,qBAAuB5/C,EAAOo8C,MAAMmG,uBAC1Crd,EAAM0a,qBAAuB5/C,EAAOo8C,MAAMyD,qBACzC3a,EAAM0a,qBAAuB5/C,EAAOo8C,MAAMoG,uBAAuD,IAA9Btd,EAAM6nB,sBAE1E7nB,EAAM6c,OAAO5d,SAAS3lC,MAG1BA,KAAKysD,WAAY,GAIjB/lB,EAAMob,sBAAwB9hD,KAAK+C,KAAK0iC,KAAKA,MAAQzlC,KAAK2sD,YAE1D3sD,KAAK2sD,UAAY3sD,KAAK+C,KAAK0iC,KAAKA,KAAOiB,EAAMqb,WAE7C/hD,KAAK0sD,SAAS5kD,MACV/D,EAAG/D,KAAKY,SAASmD,EACjBC,EAAGhE,KAAKY,SAASoD,IAGjBhE,KAAK0sD,SAAS/pD,OAAS+jC,EAAMsb,aAE7BhiD,KAAK0sD,SAASgC,WAa9B1I,KAAM,SAAUtV,EAAOie,GAEnB,IAAIjoB,EAAQ1mC,KAAK+C,KAAK2jC,MAEtB,IAAIA,EAAMkoB,WAAV,MAKkBroD,IAAdooD,IAA2BA,GAAY,QAEtBpoD,IAAjBmqC,EAAMub,SAENjsD,KAAKisD,OAASvb,EAAMub,QAGpBjsD,KAAKutD,SAELvtD,KAAK+oD,cAAcrY,GAGvB1wC,KAAK6sD,QAAUnc,EAAMmc,QACrB7sD,KAAK8sD,QAAUpc,EAAMoc,QAErB9sD,KAAK+sD,MAAQrc,EAAMqc,MACnB/sD,KAAKgtD,MAAQtc,EAAMsc,MAEnBhtD,KAAKitD,QAAUvc,EAAMuc,QACrBjtD,KAAKktD,QAAUxc,EAAMwc,QAEjBltD,KAAKutD,SAAW7mB,EAAMie,YAAYkK,SAAWF,IAE7C3uD,KAAKmtD,aAAezc,EAAM2c,WAAa3c,EAAMoe,cAAgBpe,EAAMqe,iBAAmB,EACtF/uD,KAAKotD,aAAe1c,EAAM4c,WAAa5c,EAAMse,cAAgBte,EAAMue,iBAAmB,EAEtFjvD,KAAKqtD,WAAartD,KAAKmtD,aACvBntD,KAAKstD,WAAattD,KAAKotD,cAG3BptD,KAAK+D,GAAK/D,KAAK+sD,MAAQ/sD,KAAK+C,KAAKjC,MAAM2W,OAAO1T,GAAK2iC,EAAM5lC,MAAMiD,EAC/D/D,KAAKgE,GAAKhE,KAAKgtD,MAAQhtD,KAAK+C,KAAKjC,MAAM2W,OAAOzT,GAAK0iC,EAAM5lC,MAAMkD,EAE/DhE,KAAKY,SAAS00B,MAAMt1B,KAAK+D,EAAG/D,KAAKgE,GACjChE,KAAKuhD,OAAOx9C,EAAI/D,KAAK+D,EACrB/D,KAAKuhD,OAAOv9C,EAAIhE,KAAKgE,GAEjB0iC,EAAM0a,qBAAuB5/C,EAAOo8C,MAAMmG,uBAC1Crd,EAAM0a,qBAAuB5/C,EAAOo8C,MAAMyD,qBACzC3a,EAAM0a,qBAAuB5/C,EAAOo8C,MAAMoG,uBAAuD,IAA9Btd,EAAM6nB,uBAE1E7nB,EAAMmc,cAAgB7iD,KACtB0mC,EAAM3iC,EAAI/D,KAAK+D,EACf2iC,EAAM1iC,EAAIhE,KAAKgE,EACf0iC,EAAM9lC,SAAS00B,MAAMoR,EAAM3iC,EAAG2iC,EAAM1iC,GACpC0iC,EAAM6a,OAAOx9C,EAAI2iC,EAAM3iC,EACvB2iC,EAAM6a,OAAOv9C,EAAI0iC,EAAM1iC,GAG3BhE,KAAK6oD,WAAa7oD,KAAK+C,KAAKjC,MAAMgE,OAAOwF,SAAStK,KAAK+sD,MAAO/sD,KAAKgtD,OAInE,IAFA,IAAItqD,EAAIgkC,EAAMqa,cAAcp+C,OAErBD,KAEHgkC,EAAMqa,cAAcr+C,GAAGsyC,SAASxwC,KAAKkiC,EAAMqa,cAAcr+C,GAAGoL,QAAS9N,KAAMA,KAAK+D,EAAG/D,KAAKgE,EAAG2qD,EAAWje,GAgB1G,OAZ0B,OAAtB1wC,KAAK2tD,cAA2B3tD,KAAK+C,KAAKukC,SAAUtnC,KAAK2tD,aAAauB,UAA4C,IAAhClvD,KAAK2tD,aAAawB,UAO/FzoB,EAAM+c,iBAAiBzK,MAAQ,GAEpCh5C,KAAKyuD,0BAA0BE,IAPQ,IAAnC3uD,KAAK2tD,aAAatoB,OAAOrlC,QAEzBA,KAAK2tD,aAAe,MAQrB3tD,OAWXyuD,0BAA2B,SAAUE,GAGjC,IAAIS,EAAuB,EACvBC,GAA0B,EAC1BC,EAAkB,KAOlBC,EAAcvvD,KAAK+C,KAAK2jC,MAAM+c,iBAAiB+L,MAInD,IAFAxvD,KAAK4tD,yBAEE2B,GAGHA,EAAYE,SAAU,GAElBF,EAAYG,cAAcL,EAAwBD,GAAsB,IAAYpvD,KAAK+C,KAAKukC,SAAUioB,EAAYhsC,OAAO2rC,UAG3HK,EAAYE,SAAU,GAEjBd,GAAaY,EAAYI,iBAAiB3vD,MAAM,KAC/C2uD,GAAaY,EAAYK,iBAAiB5vD,MAAM,MAElDovD,EAAuBG,EAAYhsC,OAAO40B,cAC1CkX,EAAyBE,EAAYM,WACrCP,EAAkBC,EAClBvvD,KAAK4tD,sBAAsB9lD,KAAKynD,KAIxCA,EAAcvvD,KAAK+C,KAAK2jC,MAAM+c,iBAAiBjO,KAWnD,IAFA+Z,EAAcvvD,KAAK+C,KAAK2jC,MAAM+c,iBAAiB+L,MAExCD,IAEEA,EAAYE,SACbF,EAAYG,cAAcL,EAAwBD,GAAsB,KAEnET,GAAaY,EAAYI,iBAAiB3vD,MAAM,KAC/C2uD,GAAaY,EAAYK,iBAAiB5vD,MAAM,MAElDovD,EAAuBG,EAAYhsC,OAAO40B,cAC1CkX,EAAyBE,EAAYM,WACrCP,EAAkBC,EAClBvvD,KAAK4tD,sBAAsB9lD,KAAKynD,IAIxCA,EAAcvvD,KAAK+C,KAAK2jC,MAAM+c,iBAAiBjO,KAUnD,OAPIx1C,KAAK+C,KAAK2jC,MAAMsa,yBAEhBsO,EAAkBtvD,KAAK+C,KAAK2jC,MAAMsa,uBAAuBx8C,KAAKxE,KAAK+C,KAAK2jC,MAAMua,8BAA+BjhD,KAAMA,KAAK4tD,sBAAuB0B,IAGnJtvD,KAAK8vD,WAAWR,GAAiB,GAEH,OAAtBtvD,KAAK2tD,cAejBmC,WAAY,SAAUC,EAAW7d,QAEd3rC,IAAX2rC,IAAwBA,GAAS,GAGnB,OAAd6d,EAGI/vD,KAAK2tD,eAEL3tD,KAAK2tD,aAAaqC,mBAAmBhwD,KAAMkyC,GAC3ClyC,KAAK2tD,aAAe,MAIF,OAAtB3tD,KAAK2tD,cAGL3tD,KAAK2tD,aAAeoC,EACpBA,EAAUE,oBAAoBjwD,KAAMkyC,IAKhClyC,KAAK2tD,eAAiBoC,GAGS,IAA3BA,EAAU1qB,OAAOrlC,QAEjBA,KAAK2tD,aAAe,OAMxB3tD,KAAK2tD,aAAaqC,mBAAmBhwD,KAAMkyC,GAG3ClyC,KAAK2tD,aAAeoC,EACpB/vD,KAAK2tD,aAAasC,oBAAoBjwD,KAAMkyC,KAWxDge,MAAO,SAAUxf,GAEb1wC,KAAK6oD,YAAa,EAClB7oD,KAAKgmD,KAAKtV,GAAO,IASrBvkC,KAAM,SAAUukC,GAEZ,IAAIhK,EAAQ1mC,KAAK+C,KAAK2jC,MAEtB,CAAA,IAAI1mC,KAAK4sD,cAAe5sD,KAAK6oD,WAA7B,CAQA,GAFA7oD,KAAKqrD,OAASrrD,KAAK+C,KAAK0iC,KAAKA,MAEzBiB,EAAM0a,qBAAuB5/C,EAAOo8C,MAAMmG,uBAC1Crd,EAAM0a,qBAAuB5/C,EAAOo8C,MAAMyD,qBACzC3a,EAAM0a,qBAAuB5/C,EAAOo8C,MAAMoG,uBAAuD,IAA9Btd,EAAM6nB,uBAE1E7nB,EAAM2c,KAAK1d,SAAS3lC,KAAM0wC,GAGtB1wC,KAAK+iC,UAAY,GAAK/iC,KAAK+iC,UAAY2D,EAAM+a,SACjD,CAEI,IAAI0O,EAAanwD,KAAKqrD,OAASrrD,KAAKwtD,gBAAkB9mB,EAAMgb,cAE5Dhb,EAAM4c,MAAM3d,SAAS3lC,KAAMmwD,EAAWzf,GAEtC1wC,KAAKwtD,gBAAkBxtD,KAAKqrD,OAwCpC,OApCIrrD,KAAKutD,QAELvtD,KAAK+oD,cAAcrY,IAInB1wC,KAAKkrD,QAAS,EACdlrD,KAAKmrD,MAAO,GAIZnrD,KAAKkU,GAAK,IAEVlU,KAAKgrC,QAAS,GAGlBhrC,KAAK6oD,WAAa7oD,KAAK+C,KAAKjC,MAAMgE,OAAOwF,SAASomC,EAAMqc,MAAOrc,EAAMsc,OACrEhtD,KAAKsmD,UAAY,KACjBtmD,KAAK+lD,WAAa,KAElB/lD,KAAK8tD,WAAWx4B,MAAMt1B,KAAK+D,EAAG/D,KAAKgE,IAEd,IAAjBhE,KAAKutD,SAEL7mB,EAAM0pB,kBAGV1pB,EAAMqR,QAAQ,mBAAoB/3C,MAE9BA,KAAK+tD,oBAEL/tD,KAAKguD,wBAA0BhuD,KAAK2tD,cAGxC3tD,KAAK2tD,aAAe,KAEb3tD,KA5DH0wC,EAAM+O,mBAuEdqM,YAAa,SAAU/oB,GAInB,OAFAA,EAAWA,GAAY/iC,KAAK+C,KAAK2jC,MAAMkb,iBAEf,IAAhB5hD,KAAKkrD,QAAoBlrD,KAAKorD,SAAWroB,EAAY/iC,KAAK+C,KAAK0iC,KAAKA,MAWhFsmB,aAAc,SAAUhpB,GAIpB,OAFAA,EAAWA,GAAY/iC,KAAK+C,KAAK2jC,MAAMmb,iBAE/B7hD,KAAKmrD,MAASnrD,KAAKqrD,OAAStoB,EAAY/iC,KAAK+C,KAAK0iC,KAAKA,MAoBnE4qB,mBAAoB,SAAUn+B,EAAM8iB,EAAUxL,EAAiB8mB,GAE3D,GAAKtwD,KAAKkrD,OAAV,CAOA,IAAK,IAFDqF,EAAevwD,KAAK+tD,kBAAoB/tD,KAAK+tD,sBAExCrrD,EAAI,EAAGA,EAAI6tD,EAAY5tD,OAAQD,IAEpC,GAAI6tD,EAAY7tD,GAAGwvB,OAASA,EAC5B,CACIq+B,EAAYznD,OAAOpG,EAAG,GACtB,MAIR6tD,EAAYzoD,MACRoqB,KAAMA,EACNy7B,aAAc3tD,KAAK2tD,aACnB3Y,SAAUA,EACVxL,gBAAiBA,EACjB8mB,aAAcA,MAStBvJ,wBAAyB,WAErB,IAAIwJ,EAAcvwD,KAAK+tD,kBAEvB,GAAKwC,EAAL,CAKA,IAAK,IAAI7tD,EAAI,EAAGA,EAAI6tD,EAAY5tD,OAAQD,IACxC,CACI,IAAI8tD,EAAaD,EAAY7tD,GAEzB8tD,EAAW7C,eAAiB3tD,KAAKguD,yBAEjCwC,EAAWxb,SAASzvC,MAAMirD,EAAWhnB,gBAAiBgnB,EAAWF,cAIzEtwD,KAAK+tD,kBAAoB,KACzB/tD,KAAKguD,wBAA0B,OAOnC1nB,MAAO,YAEkB,IAAjBtmC,KAAKutD,UAELvtD,KAAKgrC,QAAS,GAGlBhrC,KAAKsmD,UAAY,KACjBtmD,KAAK+lD,WAAa,KAClB/lD,KAAKwR,OAAQ,EACbxR,KAAKytD,aAAe,EACpBztD,KAAKysD,WAAY,EACjBzsD,KAAK0sD,SAAS/pD,OAAS,EACvB3C,KAAK4sD,aAAc,EAEnB5sD,KAAK8oD,eAED9oD,KAAK2tD,cAEL3tD,KAAK2tD,aAAa8C,iBAAiBzwD,MAGvCA,KAAK2tD,aAAe,MAOxB+C,cAAe,WAEX1wD,KAAKqtD,UAAY,EACjBrtD,KAAKstD,UAAY,IAKzB9rD,EAAO0iD,QAAQ5hD,UAAUC,YAAcf,EAAO0iD,QAW9Cl9C,OAAOyF,eAAejL,EAAO0iD,QAAQ5hD,UAAW,YAE5C4E,IAAK,WAED,OAAIlH,KAAKmrD,MAEG,EAGLnrD,KAAK+C,KAAK0iC,KAAKA,KAAOzlC,KAAKorD,YAW1CpkD,OAAOyF,eAAejL,EAAO0iD,QAAQ5hD,UAAW,UAE5C4E,IAAK,WAED,OAAOlH,KAAK+C,KAAKE,MAAM6X,OAAO/W,EAAI/D,KAAK+D,KAW/CiD,OAAOyF,eAAejL,EAAO0iD,QAAQ5hD,UAAW,UAE5C4E,IAAK,WAED,OAAOlH,KAAK+C,KAAKE,MAAM6X,OAAO9W,EAAIhE,KAAKgE,KAe/CxC,EAAO2iD,aASHC,OAAQ,EAMRqB,QAAS,GAIbjkD,EAAOmvD,gBAEPnvD,EAAOmvD,aAAanvD,EAAO2iD,YAAYC,QAAU,SAEjD5iD,EAAOmvD,aAAanvD,EAAO2iD,YAAYsB,SAAW,UAiBlDjkD,EAAO+iD,MAAQ,SAAUxhD,GAKrB/C,KAAK+C,KAAOA,EAOZ/C,KAAKgrC,QAAS,EAOdhrC,KAAKmhD,SAAU,EAKfnhD,KAAKwpC,gBAAkBxpC,KAAK+C,KAK5B/C,KAAK4wD,mBAAqB,KAK1B5wD,KAAK6wD,kBAAoB,KAKzB7wD,KAAK8wD,iBAAmB,KAKxB9wD,KAAK+wD,mBAAqB,KAK1B/wD,KAAKgxD,mBAAqB,KAK1BhxD,KAAKixD,oBAAsB,KAM3BjxD,KAAKy/C,gBAAiB,EAMtBz/C,KAAK0wC,MAAQ,KAMb1wC,KAAKkxD,cAAgB,KAMrBlxD,KAAKmxD,aAAe,KAMpBnxD,KAAKoxD,YAAc,KAMnBpxD,KAAKqxD,cAAgB,KAMrBrxD,KAAKsxD,cAAgB,KAMrBtxD,KAAKuxD,eAAiB,KAMtBvxD,KAAKmxD,aAAe,MAGxB3vD,EAAO+iD,MAAMjiD,WAMTgK,MAAO,WAEH,IAAKtM,KAAK+C,KAAKonB,OAAO64B,MAElB,OAAO,EAGX,GAA2B,OAAvBhjD,KAAKkxD,cAGL,OAAO,EAGX,IAAIvkB,EAAQ3sC,KA6CZ,OA3CAA,KAAKkxD,cAAgB,SAAUxgB,GAE3B,OAAO/D,EAAM6kB,aAAa9gB,IAG9B1wC,KAAKmxD,aAAe,SAAUzgB,GAE1B,OAAO/D,EAAM8kB,YAAY/gB,IAG7B1wC,KAAKoxD,YAAc,SAAU1gB,GAEzB,OAAO/D,EAAM+kB,WAAWhhB,IAG5B1wC,KAAKqxD,cAAgB,SAAU3gB,GAE3B,OAAO/D,EAAMglB,aAAajhB,IAG9B1wC,KAAKsxD,cAAgB,SAAU5gB,GAE3B,OAAO/D,EAAMilB,aAAalhB,IAG9B1wC,KAAKuxD,eAAiB,SAAU7gB,GAE5B,OAAO/D,EAAMklB,cAAcnhB,IAG/B1wC,KAAK+C,KAAKmU,OAAO85B,iBAAiB,aAAchxC,KAAKkxD,eAAe,GACpElxD,KAAK+C,KAAKmU,OAAO85B,iBAAiB,YAAahxC,KAAKmxD,cAAc,GAClEnxD,KAAK+C,KAAKmU,OAAO85B,iBAAiB,WAAYhxC,KAAKoxD,aAAa,GAChEpxD,KAAK+C,KAAKmU,OAAO85B,iBAAiB,cAAehxC,KAAKuxD,gBAAgB,GAEjEvxD,KAAK+C,KAAKonB,OAAOm1B,WAElBt/C,KAAK+C,KAAKmU,OAAO85B,iBAAiB,aAAchxC,KAAKqxD,eAAe,GACpErxD,KAAK+C,KAAKmU,OAAO85B,iBAAiB,aAAchxC,KAAKsxD,eAAe,IAGxEtxD,KAAKgrC,QAAS,GAEP,GAOX8mB,uBAAwB,WAEpB9xD,KAAK+xD,mBAAqB,SAAUrhB,GAEhCA,EAAM+O,kBAGVpP,SAASW,iBAAiB,YAAahxC,KAAK+xD,oBAAoB,IAQpEP,aAAc,SAAU9gB,GAMpB,GAJA1wC,KAAK+C,KAAK2jC,MAAM4e,2BAA0B,EAAO5U,GAEjD1wC,KAAK0wC,MAAQA,EAER1wC,KAAK+C,KAAK2jC,MAAMya,SAAYnhD,KAAKmhD,QAAtC,CAKInhD,KAAK4wD,oBAEL5wD,KAAK4wD,mBAAmBpsD,KAAKxE,KAAKwpC,gBAAiBkH,GAGnD1wC,KAAKy/C,gBAEL/O,EAAM+O,iBAQV,IAAK,IAAI/8C,EAAI,EAAGA,EAAIguC,EAAMshB,eAAervD,OAAQD,IAE7C1C,KAAK+C,KAAK2jC,MAAMkf,aAAalV,EAAMshB,eAAetvD,MAU1DmvD,cAAe,SAAUnhB,GASrB,GAPA1wC,KAAK0wC,MAAQA,EAET1wC,KAAKixD,qBAELjxD,KAAKixD,oBAAoBzsD,KAAKxE,KAAKwpC,gBAAiBkH,GAGnD1wC,KAAK+C,KAAK2jC,MAAMya,SAAYnhD,KAAKmhD,QAAtC,CAKInhD,KAAKy/C,gBAEL/O,EAAM+O,iBAOV,IAAK,IAAI/8C,EAAI,EAAGA,EAAIguC,EAAMshB,eAAervD,OAAQD,IAE7C1C,KAAK+C,KAAK2jC,MAAMuf,YAAYvV,EAAMshB,eAAetvD,MAUzDivD,aAAc,SAAUjhB,GAEpB1wC,KAAK0wC,MAAQA,EAET1wC,KAAK+wD,oBAEL/wD,KAAK+wD,mBAAmBvsD,KAAKxE,KAAKwpC,gBAAiBkH,GAGlD1wC,KAAK+C,KAAK2jC,MAAMya,SAAYnhD,KAAKmhD,SAKlCnhD,KAAKy/C,gBAEL/O,EAAM+O,kBAUdmS,aAAc,SAAUlhB,GAEpB1wC,KAAK0wC,MAAQA,EAET1wC,KAAKgxD,oBAELhxD,KAAKgxD,mBAAmBxsD,KAAKxE,KAAKwpC,gBAAiBkH,GAGnD1wC,KAAKy/C,gBAEL/O,EAAM+O,kBASdgS,YAAa,SAAU/gB,GAEnB1wC,KAAK0wC,MAAQA,EAET1wC,KAAK6wD,mBAEL7wD,KAAK6wD,kBAAkBrsD,KAAKxE,KAAKwpC,gBAAiBkH,GAGlD1wC,KAAKy/C,gBAEL/O,EAAM+O,iBAGV,IAAK,IAAI/8C,EAAI,EAAGA,EAAIguC,EAAMshB,eAAervD,OAAQD,IAE7C1C,KAAK+C,KAAK2jC,MAAMof,cAAcpV,EAAMshB,eAAetvD,KAS3DgvD,WAAY,SAAUhhB,GAElB1wC,KAAK+C,KAAK2jC,MAAM4e,2BAA0B,EAAM5U,GAEhD1wC,KAAK0wC,MAAQA,EAET1wC,KAAK8wD,kBAEL9wD,KAAK8wD,iBAAiBtsD,KAAKxE,KAAKwpC,gBAAiBkH,GAGjD1wC,KAAKy/C,gBAEL/O,EAAM+O,iBAQV,IAAK,IAAI/8C,EAAI,EAAGA,EAAIguC,EAAMshB,eAAervD,OAAQD,IAE7C1C,KAAK+C,KAAK2jC,MAAMuf,YAAYvV,EAAMshB,eAAetvD,KAQzDyJ,KAAM,WAEGnM,KAAK+C,KAAKonB,OAAO64B,QAKtBhjD,KAAK+C,KAAKmU,OAAO+6B,oBAAoB,aAAcjyC,KAAKkxD,eACxDlxD,KAAK+C,KAAKmU,OAAO+6B,oBAAoB,YAAajyC,KAAKmxD,cACvDnxD,KAAK+C,KAAKmU,OAAO+6B,oBAAoB,WAAYjyC,KAAKoxD,aACtDpxD,KAAK+C,KAAKmU,OAAO+6B,oBAAoB,aAAcjyC,KAAKqxD,eACxDrxD,KAAK+C,KAAKmU,OAAO+6B,oBAAoB,aAAcjyC,KAAKsxD,eACxDtxD,KAAK+C,KAAKmU,OAAO+6B,oBAAoB,cAAejyC,KAAKuxD,gBAEzDvxD,KAAKgrC,QAAS,KAKtBxpC,EAAO+iD,MAAMjiD,UAAUC,YAAcf,EAAO+iD,MAe5C/iD,EAAOywD,aAAe,SAAU1uC,GAK5BvjB,KAAKujB,OAASA,EAKdvjB,KAAK+C,KAAOwgB,EAAOxgB,KAMnB/C,KAAKmhD,SAAU,EAMfnhD,KAAKyvD,SAAU,EASfzvD,KAAK6vD,WAAa,EAMlB7vD,KAAKkyD,eAAgB,EAMrBlyD,KAAKmyD,gBAAiB,EAMtBnyD,KAAKmvD,WAAY,EAMjBnvD,KAAKoyD,qBAAsB,EAM3BpyD,KAAKqyD,mBAAoB,EAMzBryD,KAAK41C,YAAa,EAMlB51C,KAAKsyD,WAAa,KAMlBtyD,KAAKuyD,YAAa,EAMlBvyD,KAAKwyD,eAAgB,EAMrBxyD,KAAKyyD,MAAQ,EAMbzyD,KAAK0yD,MAAQ,EAMb1yD,KAAK2yD,YAAc,EAMnB3yD,KAAK4yD,YAAc,EAUnB5yD,KAAK6yD,kBAAmB,EAUxB7yD,KAAK8yD,mBAAoB,EAMzB9yD,KAAK+yD,kBAAoB,IAMzB/yD,KAAKgzD,WAAY,EAMjBhzD,KAAKizD,WAAa,KAMlBjzD,KAAKkzD,aAAe,KAKpBlzD,KAAKmzD,YAAa,EAKlBnzD,KAAKozD,WAAa,IAAI5xD,EAAOX,MAK7Bb,KAAKqzD,gBAAiB,EAKtBrzD,KAAKszD,uBAAwB,EAK7BtzD,KAAKuzD,eAAiB,IAAI/xD,EAAOX,MAKjCb,KAAKwzD,sBAAwB,EAK7BxzD,KAAKyzD,kBAAoB,EAKzBzzD,KAAK0zD,UAAY,IAAIlyD,EAAOX,MAK5Bb,KAAK2zD,UAAY,IAAInyD,EAAOX,MAM5Bb,KAAK4zD,WAAa,IAAIpyD,EAAOX,MAM7Bb,KAAK6zD,YAAa,EAMlB7zD,KAAK8zD,cAAe,EAMpB9zD,KAAK+zD,eAAgB,EAMrB/zD,KAAKg0D,mBAAoB,EAMzBh0D,KAAKi0D,aAAc,EAMnBj0D,KAAKk0D,WAAa,IAAI1yD,EAAOX,MAM7Bb,KAAKm0D,gBAELn0D,KAAKm0D,aAAarsD,MACdoM,GAAI,EACJnQ,EAAG,EACHC,EAAG,EACHowD,KAAM,EACNC,KAAM,EACNnJ,QAAQ,EACRC,MAAM,EACNmJ,QAAQ,EACRC,OAAO,EACPC,SAAU,EACVC,QAAS,EACTrJ,SAAU,EACVC,OAAQ,EACRqJ,aAAc,EACdvF,WAAW,KAInB3tD,EAAOywD,aAAa3vD,WAUhBgK,MAAO,SAAUk/B,EAAU0mB,GAMvB,GAJA1mB,EAAWA,GAAY,OACDjlC,IAAlB2rD,IAA+BA,GAAgB,IAG9B,IAAjBlyD,KAAKmhD,QACT,CAEInhD,KAAK+C,KAAK2jC,MAAM+c,iBAAiBtqB,IAAIn5B,MACrCA,KAAKkyD,cAAgBA,EACrBlyD,KAAK6vD,WAAarkB,EAElB,IAAK,IAAI9oC,EAAI,EAAGA,EAAI,GAAIA,IAEpB1C,KAAKm0D,aAAazxD,IACdwR,GAAIxR,EACJqB,EAAG,EACHC,EAAG,EACHknD,QAAQ,EACRC,MAAM,EACNmJ,QAAQ,EACRC,OAAO,EACPC,SAAU,EACVC,QAAS,EACTrJ,SAAU,EACVC,OAAQ,EACRqJ,aAAc,EACdvF,WAAW,GAInBnvD,KAAKsyD,WAAa,IAAI9wD,EAAOX,MAC7Bb,KAAKmhD,SAAU,EACfnhD,KAAKi0D,aAAc,EAMvB,OAHAj0D,KAAKujB,OAAOixB,OAAOmgB,eAAex7B,IAAIn5B,KAAK40D,aAAc50D,MACzDA,KAAKujB,OAAOixB,OAAOqgB,mBAAmB17B,IAAIn5B,KAAK80D,iBAAkB90D,MAE1DA,KAAKujB,QAShBqxC,aAAc,WAEN50D,KAAK6zD,YAKL7zD,KAAKi0D,cAAgBj0D,KAAKmhD,SAE1BnhD,KAAKsM,SAUbwoD,iBAAkB,WAEV90D,KAAK6zD,aAKL7zD,KAAKmhD,SAELnhD,KAAKi0D,aAAc,EACnBj0D,KAAKmM,QAILnM,KAAKi0D,aAAc,IAQ3B3tB,MAAO,WAEHtmC,KAAKmhD,SAAU,EAEf,IAAK,IAAIz+C,EAAI,EAAGA,EAAI,GAAIA,IAEpB1C,KAAKm0D,aAAazxD,IACdwR,GAAIxR,EACJqB,EAAG,EACHC,EAAG,EACHknD,QAAQ,EACRC,MAAM,EACNmJ,QAAQ,EACRC,OAAO,EACPC,SAAU,EACVC,QAAS,EACTrJ,SAAU,EACVC,OAAQ,EACRqJ,aAAc,EACdvF,WAAW,IASvBhjD,KAAM,YAGmB,IAAjBnM,KAAKmhD,UAOLnhD,KAAKmhD,SAAU,EACfnhD,KAAK+C,KAAK2jC,MAAM+c,iBAAiBrnC,OAAOpc,QAQhDwC,QAAS,WAEDxC,KAAKujB,SAEDvjB,KAAKmyD,iBAELnyD,KAAK+C,KAAKmU,OAAOqE,MAAM03B,OAAS,GAChCjzC,KAAKmyD,gBAAiB,GAG1BnyD,KAAKmhD,SAAU,EAEfnhD,KAAK+C,KAAK2jC,MAAM+c,iBAAiBrnC,OAAOpc,MAExCA,KAAKm0D,aAAaxxD,OAAS,EAC3B3C,KAAKizD,WAAa,KAClBjzD,KAAKkzD,aAAe,KACpBlzD,KAAKujB,OAAS,OAetBmsC,cAAe,SAAUqF,EAAWC,EAAiBC,GAIjD,YAF4B1uD,IAAxB0uD,IAAqCA,GAAsB,MAE1Dj1D,KAAKmhD,SACkB,IAAxBnhD,KAAKujB,OAAOziB,MAAMiD,GACM,IAAxB/D,KAAKujB,OAAOziB,MAAMkD,GAClBhE,KAAK6vD,WAAa7vD,KAAK+C,KAAK2jC,MAAM8c,eACjCxjD,KAAKujB,OAAOliB,QAAUrB,KAAKujB,OAAOliB,OAAOkH,uBAMzC0sD,IAAwBj1D,KAAK8yD,mBAAqB9yD,KAAK6yD,qBAKxD7yD,KAAK6vD,WAAakF,GAAc/0D,KAAK6vD,aAAekF,GAAa/0D,KAAKujB,OAAO40B,cAAgB6c,KAcrGE,eAAgB,WAEZ,OAAQl1D,KAAK8yD,mBAAqB9yD,KAAK6yD,kBAW3CsC,SAAU,SAAU7O,GAIhB,OAFAA,EAAYA,GAAa,EAElBtmD,KAAKm0D,aAAa7N,GAAWviD,GAWxCqxD,SAAU,SAAU9O,GAIhB,OAFAA,EAAYA,GAAa,EAElBtmD,KAAKm0D,aAAa7N,GAAWtiD,GAWxCqxD,YAAa,SAAU/O,GAInB,OAFAA,EAAYA,GAAa,EAElBtmD,KAAKm0D,aAAa7N,GAAW4E,QAWxCoK,UAAW,SAAUhP,GAIjB,OAFAA,EAAYA,GAAa,EAElBtmD,KAAKm0D,aAAa7N,GAAW6E,MAUxCoK,gBAAiB,SAAUjP,GAIvB,OAFAA,EAAYA,GAAa,EAElBtmD,KAAKm0D,aAAa7N,GAAW8E,UAUxCoK,cAAe,SAAUlP,GAIrB,OAFAA,EAAYA,GAAa,EAElBtmD,KAAKm0D,aAAa7N,GAAW+E,QAUxCoK,YAAa,SAAUnP,GAEnB,IAAKtmD,KAAKmhD,QAEN,OAAO,EAGX,QAAkB56C,IAAd+/C,EACJ,CACI,IAAK,IAAI5jD,EAAI,EAAGA,EAAI,GAAIA,IAEpB,GAAI1C,KAAKm0D,aAAazxD,GAAG4xD,OAErB,OAAO,EAIf,OAAO,EAIP,OAAOt0D,KAAKm0D,aAAa7N,GAAWgO,QAW5CoB,WAAY,SAAUpP,GAElB,IAAKtmD,KAAKmhD,QAEN,OAAO,EAGX,QAAkB56C,IAAd+/C,EAYA,OAAOtmD,KAAKm0D,aAAa7N,GAAWiO,MAVpC,IAAK,IAAI7xD,EAAI,EAAGA,EAAI,GAAIA,IAEpB,GAAI1C,KAAKm0D,aAAazxD,GAAG6xD,MAErB,OAAO,GAiBvBoB,gBAAiB,SAAUrP,GAIvB,OAFAA,EAAYA,GAAa,EAElBtmD,KAAKm0D,aAAa7N,GAAWkO,UAUxCoB,eAAgB,SAAUtP,GAItB,OAFAA,EAAYA,GAAa,EAElBtmD,KAAKm0D,aAAa7N,GAAWmO,SAUxCoB,eAAgB,SAAUvP,GAItB,OAFAA,EAAYA,GAAa,EAElBtmD,KAAKm0D,aAAa7N,GAAW6I,WAYxCQ,iBAAkB,SAAUrhB,EAASwnB,GAEjC,SAAKxnB,EAAQ4c,QACRlrD,KAAKmhD,SACLnhD,KAAKujB,QACLvjB,KAAKujB,OAAOliB,QACZrB,KAAKujB,OAAOriB,SACZlB,KAAKujB,OAAOliB,OAAOH,SACS,IAA7BlB,KAAKujB,OAAO5hB,WAAWoC,GACM,IAA7B/D,KAAKujB,OAAO5hB,WAAWqC,OAMvBhE,KAAK+C,KAAK2jC,MAAM8f,QAAQxmD,KAAKujB,OAAQ+qB,EAAStuC,KAAKk0D,mBAElC3tD,IAAbuvD,IAEAA,GAAW,MAGVA,GAAY91D,KAAK8yD,oBAEX9yD,KAAK+1D,WAAW/1D,KAAKk0D,WAAWnwD,EAAG/D,KAAKk0D,WAAWlwD,MAoBtE4rD,iBAAkB,SAAUthB,EAASwnB,GAEjC,SAAK91D,KAAKmhD,SACLnhD,KAAKujB,QACLvjB,KAAKujB,OAAOliB,QACZrB,KAAKujB,OAAOriB,SACZlB,KAAKujB,OAAOliB,OAAOH,SACS,IAA7BlB,KAAKujB,OAAO5hB,WAAWoC,GACM,IAA7B/D,KAAKujB,OAAO5hB,WAAWqC,OAMvBhE,KAAK+C,KAAK2jC,MAAM8f,QAAQxmD,KAAKujB,OAAQ+qB,EAAStuC,KAAKk0D,mBAElC3tD,IAAbuvD,IAEAA,GAAW,MAGVA,GAAY91D,KAAK6yD,mBAEX7yD,KAAK+1D,WAAW/1D,KAAKk0D,WAAWnwD,EAAG/D,KAAKk0D,WAAWlwD,MAqBtE+xD,WAAY,SAAUhyD,EAAGC,EAAGsqC,GAGxB,GAAItuC,KAAKujB,OAAOxlB,QAAQqI,YAAYgJ,OACpC,CACI,GAAU,OAANrL,GAAoB,OAANC,EAClB,CAEIhE,KAAK+C,KAAK2jC,MAAM6f,iBAAiBvmD,KAAKujB,OAAQ+qB,EAAStuC,KAAKk0D,YAE5D,IAAInwD,EAAI/D,KAAKk0D,WAAWnwD,EACpBC,EAAIhE,KAAKk0D,WAAWlwD,EAgB5B,GAb6B,IAAzBhE,KAAKujB,OAAO5c,OAAO5C,IAEnBA,IAAM/D,KAAKujB,OAAOxlB,QAAQsP,MAAMzP,MAAQoC,KAAKujB,OAAO5c,OAAO5C,GAGlC,IAAzB/D,KAAKujB,OAAO5c,OAAO3C,IAEnBA,IAAMhE,KAAKujB,OAAOxlB,QAAQsP,MAAMxP,OAASmC,KAAKujB,OAAO5c,OAAO3C,GAGhED,GAAK/D,KAAKujB,OAAOxlB,QAAQsP,MAAMtJ,EAC/BC,GAAKhE,KAAKujB,OAAOxlB,QAAQsP,MAAMrJ,EAE3BhE,KAAKujB,OAAOxlB,QAAQqQ,OAEpBrK,GAAK/D,KAAKujB,OAAOxlB,QAAQqQ,KAAKrK,EAC9BC,GAAKhE,KAAKujB,OAAOxlB,QAAQqQ,KAAKpK,EAG1BD,EAAI/D,KAAKujB,OAAOxlB,QAAQ6P,KAAK7J,GAAKA,EAAI/D,KAAKujB,OAAOxlB,QAAQ6P,KAAKgmB,OAAS5vB,EAAIhE,KAAKujB,OAAOxlB,QAAQ6P,KAAK5J,GAAKA,EAAIhE,KAAKujB,OAAOxlB,QAAQ6P,KAAK4oB,QAIvI,OAFAx2B,KAAKg2D,IAAMjyD,EACX/D,KAAKi2D,IAAMjyD,GACJ,EAYf,GARAhE,KAAKg2D,IAAMjyD,EACX/D,KAAKi2D,IAAMjyD,EAEXhE,KAAK+C,KAAK2jC,MAAMoa,WAAW54B,UAAU,EAAG,EAAG,EAAG,GAC9CloB,KAAK+C,KAAK2jC,MAAMoa,WAAW7xC,UAAUjP,KAAKujB,OAAOxlB,QAAQqI,YAAYgJ,OAAQrL,EAAGC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAExFhE,KAAK+C,KAAK2jC,MAAMoa,WAAW13B,aAAa,EAAG,EAAG,EAAG,GAEnDhV,KAAK,IAAMpU,KAAK+yD,kBAEpB,OAAO,EAIf,OAAO,GAYX1tB,OAAQ,SAAUiJ,GAEd,GAAoB,OAAhBtuC,KAAKujB,aAA0Chd,IAAvBvG,KAAKujB,OAAOliB,OAMxC,OAAKrB,KAAKmhD,SAAYnhD,KAAKujB,OAAOriB,SAAYlB,KAAKujB,OAAOliB,OAAOH,QAM7DlB,KAAK8zD,cAEA9zD,KAAKg0D,oBAENh0D,KAAKg0D,kBAAqBxyD,EAAOkC,KAAKgyB,SAAS4Y,EAAQvqC,EAAGuqC,EAAQtqC,EAAGhE,KAAK0zD,UAAU3vD,EAAG/D,KAAK0zD,UAAU1vD,IAAMhE,KAAKwzD,uBAGjHxzD,KAAKg0D,mBAAqBh0D,KAAK+zD,eAE/B/zD,KAAKk2D,UAAU5nB,IAGZ,GAEFtuC,KAAKgzD,WAAahzD,KAAKm2D,oBAAsB7nB,EAAQp6B,GAEnDlU,KAAKo2D,WAAW9nB,GAAS,GAE3BtuC,KAAKm0D,aAAa7lB,EAAQp6B,IAAIogD,OAE/Bt0D,KAAK4vD,iBAAiBthB,IAEtBtuC,KAAKm0D,aAAa7lB,EAAQp6B,IAAInQ,EAAIuqC,EAAQvqC,EAAI/D,KAAKujB,OAAOxf,EAC1D/D,KAAKm0D,aAAa7lB,EAAQp6B,IAAIlQ,EAAIsqC,EAAQtqC,EAAIhE,KAAKujB,OAAOvf,GACnD,IAIPhE,KAAKgwD,mBAAmB1hB,IACjB,QAXV,GAtBDtuC,KAAKgwD,mBAAmB1hB,IACjB,IA6Cf2hB,oBAAqB,SAAU3hB,EAAS4D,GAEpC,GAAoB,OAAhBlyC,KAAKujB,OAAT,CAMA,IAAInP,EAAOpU,KAAKm0D,aAAa7lB,EAAQp6B,IAErC,IAAoB,IAAhBE,EAAKkgD,QAAoBhmB,EAAQ98B,MACrC,CACI,IAAI6kD,GAA6B,IAAhBjiD,EAAKkgD,OAEtBlgD,EAAKkgD,QAAS,EACdlgD,EAAKmgD,OAAQ,EACbngD,EAAKogD,SAAWx0D,KAAK+C,KAAK0iC,KAAKA,KAC/BrxB,EAAKrQ,EAAIuqC,EAAQvqC,EAAI/D,KAAKujB,OAAOxf,EACjCqQ,EAAKpQ,EAAIsqC,EAAQtqC,EAAIhE,KAAKujB,OAAOvf,EAE7BhE,KAAKkyD,gBAAoC,IAAnB99C,EAAK+6C,YAE3BnvD,KAAK+C,KAAKmU,OAAOqE,MAAM03B,OAAS,UAChCjzC,KAAKmyD,gBAAiB,IAGrBjgB,GAAUmkB,GAAar2D,KAAKujB,QAAUvjB,KAAKujB,OAAOixB,QAEnDx0C,KAAKujB,OAAOixB,OAAO8hB,qBAAqBt2D,KAAKujB,OAAQ+qB,GAGrDtuC,KAAKujB,OAAOliB,QAAUrB,KAAKujB,OAAOliB,OAAOiyC,kBAEzCtzC,KAAKujB,OAAOliB,OAAOiyC,iBAAiB3N,SAAS3lC,KAAKujB,OAAQ+qB,MAatE0hB,mBAAoB,SAAU1hB,EAAS4D,GAEnC,GAAoB,OAAhBlyC,KAAKujB,OAAT,CAMA,IAAInP,EAAOpU,KAAKm0D,aAAa7lB,EAAQp6B,IAErCE,EAAKkgD,QAAS,EACdlgD,EAAKmgD,OAAQ,EACbngD,EAAKqgD,QAAUz0D,KAAK+C,KAAK0iC,KAAKA,KAE1BzlC,KAAKkyD,gBAAoC,IAAnB99C,EAAK+6C,YAE3BnvD,KAAK+C,KAAKmU,OAAOqE,MAAM03B,OAAS,GAChCjzC,KAAKmyD,gBAAiB,IAGrBjgB,GAAUlyC,KAAKujB,QAAUvjB,KAAKujB,OAAOixB,SAEtCx0C,KAAKujB,OAAOixB,OAAO+hB,oBAAoBv2D,KAAKujB,OAAQ+qB,GAEhDtuC,KAAKujB,QAAUvjB,KAAKujB,OAAOliB,QAAUrB,KAAKujB,OAAOliB,OAAOkyC,iBAExDvzC,KAAKujB,OAAOliB,OAAOkyC,gBAAgB5N,SAAS3lC,KAAKujB,OAAQ+qB,MAYrEkgB,gBAAiB,SAAUlgB,GAEvB,GAAoB,OAAhBtuC,KAAKujB,OAAT,CAMA,IAAInP,EAAOpU,KAAKm0D,aAAa7lB,EAAQp6B,IAErC,IAAKE,EAAK82C,QAAU92C,EAAKkgD,OACzB,CACI,GAAIt0D,KAAK8yD,oBAAsB9yD,KAAK+1D,WAAW,KAAM,KAAMznB,GAEvD,OAYJ,GATAl6B,EAAK82C,QAAS,EACd92C,EAAK+2C,MAAO,EACZ/2C,EAAKg3C,SAAWprD,KAAK+C,KAAK0iC,KAAKA,KAE/BzlC,KAAK0zD,UAAUvsD,IAAImnC,EAAQvqC,EAAGuqC,EAAQtqC,GAGtCsqC,EAAQ98B,OAAQ,EAEZxR,KAAKujB,QAAUvjB,KAAKujB,OAAOixB,SAE3Bx0C,KAAKujB,OAAOixB,OAAOgiB,qBAAqBx2D,KAAKujB,OAAQ+qB,GAGjDtuC,KAAKujB,QAAUvjB,KAAKujB,OAAOliB,QAAUrB,KAAKujB,OAAOliB,OAAO+xC,kBAExDpzC,KAAKujB,OAAOliB,OAAO+xC,iBAAiBzN,SAAS3lC,KAAKujB,OAAQ+qB,GAI1C,OAAhBtuC,KAAKujB,QAEL,OAKJvjB,KAAKgzD,YAAgC,IAAnBhzD,KAAKmvD,YAEQ,IAA3BnvD,KAAKyzD,mBAA0D,IAA/BzzD,KAAKwzD,sBAErCxzD,KAAKk2D,UAAU5nB,IAIftuC,KAAK8zD,cAAe,EAEpB9zD,KAAKg0D,kBAAoD,IAA/Bh0D,KAAKwzD,sBAE3BxzD,KAAKyzD,kBAAoB,GAEzBzzD,KAAK+zD,eAAgB,EACrB/zD,KAAK+C,KAAK0iC,KAAK+O,OAAOrb,IAAIn5B,KAAKyzD,kBAAmBzzD,KAAKy2D,gBAAiBz2D,KAAMsuC,IAI9EtuC,KAAK+zD,eAAgB,IAK7B/zD,KAAK41C,YAEL51C,KAAKujB,OAAOqyB,gBAYxB6gB,gBAAiB,SAAUnoB,GAEvBtuC,KAAK+zD,eAAgB,EAEjB/zD,KAAK8zD,cAAgB9zD,KAAKujB,QAEtBvjB,KAAKg0D,mBAELh0D,KAAKk2D,UAAU5nB,IAW3BmiB,iBAAkB,SAAUniB,GAExB,GAAoB,OAAhBtuC,KAAKujB,OAAT,CAMA,IAAInP,EAAOpU,KAAKm0D,aAAa7lB,EAAQp6B,IAGrC,GAAIE,EAAK82C,QAAU5c,EAAQ6c,KAC3B,CACI/2C,EAAK82C,QAAS,EACd92C,EAAK+2C,MAAO,EACZ/2C,EAAKi3C,OAASrrD,KAAK+C,KAAK0iC,KAAKA,KAC7BrxB,EAAKsgD,aAAetgD,EAAKi3C,OAASj3C,EAAKg3C,SAGvC,IAAIkJ,EAASt0D,KAAK4vD,iBAAiBthB,GAE/BtuC,KAAKujB,QAAUvjB,KAAKujB,OAAOixB,SAEtBx0C,KAAKszD,yBACNtzD,KAAKszD,uBAA2BtzD,KAAKgzD,WAAahzD,KAAKmvD,WAAanvD,KAAKm2D,oBAAsB7nB,EAAQp6B,KAEvGlU,KAAKujB,OAAOixB,OAAOkiB,mBAAmB12D,KAAKujB,OAAQ+qB,EAASgmB,GAG5Dt0D,KAAKujB,QAAUvjB,KAAKujB,OAAOliB,QAAUrB,KAAKujB,OAAOliB,OAAOgyC,gBAExDrzC,KAAKujB,OAAOliB,OAAOgyC,eAAe1N,SAAS3lC,KAAKujB,OAAQ+qB,EAASgmB,GAIjEA,IAEAA,EAASt0D,KAAK4vD,iBAAiBthB,KAIvCl6B,EAAKkgD,OAASA,GAETA,GAAUt0D,KAAKkyD,gBAEhBlyD,KAAK+C,KAAKmU,OAAOqE,MAAM03B,OAAS,UAChCjzC,KAAKmyD,gBAAiB,GAI1B7jB,EAAQ98B,OAAQ,EAEhBxR,KAAK8zD,cAAe,EAGhB9zD,KAAKgzD,WAAahzD,KAAKmvD,WAAanvD,KAAKm2D,oBAAsB7nB,EAAQp6B,IAEvElU,KAAK22D,SAASroB,MAc1B8nB,WAAY,SAAU9nB,EAASsoB,GAE3B,IAAI97C,EAAS9a,KAAK+C,KAAK+X,OACnBs4C,EAAapzD,KAAKozD,WAClByD,EAAY72D,KAAK4zD,WACjBkD,EAAc92D,KAAKm0D,aAAa7lB,EAAQp6B,IACxCy/C,EAAY3zD,KAAK2zD,UACjBpwC,EAASvjB,KAAKujB,OAIlB,QAFkBhd,IAAdqwD,IAA2BA,GAAY,GAEvCtoB,EAAQ6c,KAGR,OADAnrD,KAAK22D,SAASroB,IACP,EAGX,IAAIyoB,EAAoB/2D,KAAKg3D,cAAc1oB,GAE3C,GAAI/qB,EAAOqwB,cAEP,IAAIxgB,EAAKtY,EAAOha,MAAMiD,EAAIgzD,EAAkBhzD,EAAI8yD,EAAU9yD,EAAIqvD,EAAWrvD,EACrEkzD,EAAKn8C,EAAOha,MAAMkD,EAAI+yD,EAAkB/yD,EAAI6yD,EAAU7yD,EAAIovD,EAAWpvD,OAIzE,IAAIovB,EAAK2jC,EAAkBhzD,EAAI8yD,EAAU9yD,EAAIqvD,EAAWrvD,EACpDkzD,EAAKF,EAAkB/yD,EAAI6yD,EAAU7yD,EAAIovD,EAAWpvD,EAG5D,GAAIuf,EAAOqwB,cACX,CACI,IAAIC,EAAetwB,EAAOswB,aACtBqjB,EAAQrjB,EAAa9vC,EACrBozD,EAAQtjB,EAAa7vC,EAErBhE,KAAKoyD,sBAELve,EAAa9vC,EAAIqvB,EAAKtY,EAAO/W,GAG7B/D,KAAKqyD,oBAELxe,EAAa7vC,EAAIizD,EAAKn8C,EAAO9W,GAG7BhE,KAAKizD,YAELjzD,KAAKo3D,kBAGLp3D,KAAKkzD,cAELlzD,KAAKq3D,oBAGLr3D,KAAKuyD,aAEL1e,EAAa9vC,EAAIL,KAAKiyB,OAAOke,EAAa9vC,EAAK/D,KAAK2yD,YAAc3yD,KAAKyyD,OAAUzyD,KAAKyyD,OAASzyD,KAAKyyD,MAASzyD,KAAK2yD,YAAc3yD,KAAKyyD,MACrI5e,EAAa7vC,EAAIN,KAAKiyB,OAAOke,EAAa7vC,EAAKhE,KAAK4yD,YAAc5yD,KAAK0yD,OAAU1yD,KAAK0yD,OAAS1yD,KAAK0yD,MAAS1yD,KAAK4yD,YAAc5yD,KAAK0yD,MACrIiB,EAAUxsD,IAAI0sC,EAAa9vC,EAAG8vC,EAAa7vC,IAG/C,IAAImK,EAAK0lC,EAAa9vC,EAAImzD,EACtB7oD,EAAKwlC,EAAa7vC,EAAImzD,MAG9B,CACI,IAAIjoD,EAAK4L,EAAO/W,EAAI+yD,EAAY1C,KAC5BjlD,EAAK2L,EAAO9W,EAAI8yD,EAAYzC,KAC5B6C,EAAQ3zC,EAAOxf,EACfozD,EAAQ5zC,EAAOvf,EAEfhE,KAAKoyD,sBAEL7uC,EAAOxf,EAAIqvB,EAAKlkB,GAGhBlP,KAAKqyD,oBAEL9uC,EAAOvf,EAAIizD,EAAK9nD,GAGhBnP,KAAKizD,YAELjzD,KAAKo3D,kBAGLp3D,KAAKkzD,cAELlzD,KAAKq3D,oBAGLr3D,KAAKuyD,aAELhvC,EAAOxf,EAAIL,KAAKiyB,OAAOpS,EAAOxf,EAAK/D,KAAK2yD,YAAc3yD,KAAKyyD,OAAUzyD,KAAKyyD,OAASzyD,KAAKyyD,MAASzyD,KAAK2yD,YAAc3yD,KAAKyyD,MACzHlvC,EAAOvf,EAAIN,KAAKiyB,OAAOpS,EAAOvf,EAAKhE,KAAK4yD,YAAc5yD,KAAK0yD,OAAU1yD,KAAK0yD,OAAS1yD,KAAK0yD,MAAS1yD,KAAK4yD,YAAc5yD,KAAK0yD,MACzHiB,EAAUxsD,IAAIoc,EAAOxf,EAAGwf,EAAOvf,IAGnC,IAAImK,EAAKoV,EAAOxf,EAAImzD,EAChB7oD,EAAKkV,EAAOvf,EAAImzD,EAKxB,OAFAn3D,KAAKujB,OAAOixB,OAAO8iB,aAAa3xB,SAASpiB,EAAQ+qB,EAASlb,EAAI6jC,EAAItD,EAAWiD,EAAWzoD,EAAIE,IAErF,GAWXkpD,SAAU,SAAUjR,EAAWkR,GAK3B,OAHAlR,EAAYA,GAAa,EACzBkR,EAAQA,GAAS,IAETx3D,KAAKm0D,aAAa7N,GAAWgO,QAAUt0D,KAAKy3D,aAAanR,GAAakR,GAWlFE,QAAS,SAAUpR,EAAWkR,GAK1B,OAHAlR,EAAYA,GAAa,EACzBkR,EAAQA,GAAS,IAETx3D,KAAKm0D,aAAa7N,GAAWiO,OAAUv0D,KAAK+C,KAAK0iC,KAAKA,KAAOzlC,KAAKm0D,aAAa7N,GAAWmO,QAAU+C,GAWhH1L,YAAa,SAAUxF,EAAWkR,GAK9B,OAHAlR,EAAYA,GAAa,EACzBkR,EAAQA,GAAS,IAETx3D,KAAKm0D,aAAa7N,GAAW4E,QAAUlrD,KAAK00D,aAAapO,GAAakR,GAWlFzL,aAAc,SAAUzF,EAAWkR,GAK/B,OAHAlR,EAAYA,GAAa,EACzBkR,EAAQA,GAAS,IAETx3D,KAAKm0D,aAAa7N,GAAW6E,MAASnrD,KAAK+C,KAAK0iC,KAAKA,KAAOzlC,KAAKm0D,aAAa7N,GAAW+E,OAASmM,GAU9GC,aAAc,SAAUnR,GAIpB,OAFAA,EAAYA,GAAa,EAErBtmD,KAAKm0D,aAAa7N,GAAWgO,OAEtBt0D,KAAK+C,KAAK0iC,KAAKA,KAAOzlC,KAAKm0D,aAAa7N,GAAWkO,UAGtD,GAUZE,aAAc,SAAUpO,GAIpB,OAFAA,EAAYA,GAAa,EAErBtmD,KAAKm0D,aAAa7N,GAAW4E,OAEtBlrD,KAAK+C,KAAK0iC,KAAKA,KAAOzlC,KAAKm0D,aAAa7N,GAAW8E,UAGtD,GA+BZuM,WAAY,SAAUC,EAAYhiB,EAAYiiB,EAAcC,EAAgB7E,EAAYC,QAEjE3sD,IAAfqxD,IAA4BA,GAAa,QAC1BrxD,IAAfqvC,IAA4BA,GAAa,QACxBrvC,IAAjBsxD,IAA8BA,GAAe,QAC1BtxD,IAAnBuxD,IAAgCA,EAAiB,UAClCvxD,IAAf0sD,IAA4BA,EAAa,WACxB1sD,IAAjB2sD,IAA8BA,EAAe,MAEjDlzD,KAAK4zD,WAAa,IAAIpyD,EAAOX,MAC7Bb,KAAKgzD,WAAY,EACjBhzD,KAAK41C,WAAaA,EAClB51C,KAAKozD,WAAa,IAAI5xD,EAAOX,MAC7Bb,KAAKqzD,eAAiBuE,EAEtB53D,KAAK8yD,kBAAoB+E,EACzB73D,KAAK+yD,kBAAoB+E,EAErB7E,IAEAjzD,KAAKizD,WAAaA,GAGlBC,IAEAlzD,KAAKkzD,aAAeA,IAU5B6E,YAAa,WAET,GAAI/3D,KAAKm0D,aAEL,IAAK,IAAIzxD,EAAI,EAAGA,EAAI,GAAIA,IAEpB1C,KAAKm0D,aAAazxD,GAAGysD,WAAY,EAIzCnvD,KAAKgzD,WAAY,EACjBhzD,KAAKmvD,WAAY,EACjBnvD,KAAKm2D,mBAAqB,EAC1Bn2D,KAAK8zD,cAAe,GASxBoC,UAAW,SAAU5nB,GAEjB,IAAIvqC,EAAI/D,KAAKujB,OAAOxf,EAChBC,EAAIhE,KAAKujB,OAAOvf,EAChB+yD,EAAoB/2D,KAAKg3D,cAAc1oB,GAU3C,GARAtuC,KAAKmvD,WAAY,EACjBnvD,KAAKm2D,kBAAoB7nB,EAAQp6B,GAEjClU,KAAKm0D,aAAa7lB,EAAQp6B,IAAIkgD,KAAOp0D,KAAK+C,KAAK+X,OAAO/W,EACtD/D,KAAKm0D,aAAa7lB,EAAQp6B,IAAImgD,KAAOr0D,KAAK+C,KAAK+X,OAAO9W,EAEtDhE,KAAKm0D,aAAa7lB,EAAQp6B,IAAIi7C,WAAY,EAEtCnvD,KAAKujB,OAAOqwB,cAChB,CACI,GAAI5zC,KAAKqzD,eACT,CACI,IAAIvuD,EAAS9E,KAAKujB,OAAOrZ,YACrB8tD,EAAyBh4D,KAAKg3D,cAAc,IAAIx1D,EAAOX,MAAMiE,EAAOizB,QAASjzB,EAAOkzB,UAExFh4B,KAAKujB,OAAOswB,aAAa9vC,EAAIgzD,EAAkBhzD,GAAK/D,KAAKujB,OAAOswB,aAAa9vC,EAAIi0D,EAAuBj0D,GACxG/D,KAAKujB,OAAOswB,aAAa7vC,EAAI+yD,EAAkB/yD,GAAKhE,KAAKujB,OAAOswB,aAAa7vC,EAAIg0D,EAAuBh0D,GAG5GhE,KAAK4zD,WAAWt+B,MAAMt1B,KAAKujB,OAAOswB,aAAa9vC,EAAIuqC,EAAQvqC,EAAG/D,KAAKujB,OAAOswB,aAAa7vC,EAAIsqC,EAAQtqC,OAGvG,CACI,GAAIhE,KAAKqzD,eACT,CACI,IAAIvuD,EAAS9E,KAAKujB,OAAOrZ,YACrB8tD,EAAyBh4D,KAAKg3D,cAAc,IAAIx1D,EAAOX,MAAMiE,EAAOizB,QAASjzB,EAAOkzB,UAExFh4B,KAAKujB,OAAOxf,EAAIgzD,EAAkBhzD,GAAK/D,KAAKujB,OAAOxf,EAAIi0D,EAAuBj0D,GAC9E/D,KAAKujB,OAAOvf,EAAI+yD,EAAkB/yD,GAAKhE,KAAKujB,OAAOvf,EAAIg0D,EAAuBh0D,GAGlFhE,KAAK4zD,WAAWt+B,MAAMt1B,KAAKujB,OAAOxf,EAAIgzD,EAAkBhzD,EAAG/D,KAAKujB,OAAOvf,EAAI+yD,EAAkB/yD,GAGjGhE,KAAKo2D,WAAW9nB,GAAS,GAErBtuC,KAAK41C,aAEL51C,KAAK6zD,YAAa,EAClB7zD,KAAKujB,OAAOqyB,cAGhB51C,KAAKuzD,eAAepsD,IAAIpD,EAAGC,GAE3BhE,KAAKujB,OAAOixB,OAAOyjB,qBAAqBj4D,KAAKujB,OAAQ+qB,EAASvqC,EAAGC,GAEjEhE,KAAK8zD,cAAe,GASxBoE,eAAgB,SAAUn0D,GAQtB,OANI/D,KAAKmzD,aAELpvD,GAAK/D,KAAK+C,KAAKjC,MAAMq3D,KAAKC,YAAYr0D,EACtCA,GAAK/D,KAAK+C,KAAKjC,MAAMq3D,KAAKE,mBAAmBt0D,GAG1CA,GASXu0D,eAAgB,SAAUt0D,GAQtB,OANIhE,KAAKmzD,aAELnvD,GAAKhE,KAAK+C,KAAKjC,MAAMq3D,KAAKC,YAAYp0D,EACtCA,GAAKhE,KAAK+C,KAAKjC,MAAMq3D,KAAKE,mBAAmBr0D,GAG1CA,GAUXgzD,cAAe,SAAUuB,GAErB,OAAIv4D,KAAKujB,OAAOliB,OAELrB,KAAK+C,KAAK2jC,MAAM6f,iBAAiBvmD,KAAKujB,OAAOliB,QAAS0C,EAAGw0D,EAAYx0D,EAAGC,EAAGu0D,EAAYv0D,IAIvFu0D,GAUf5B,SAAU,SAAUroB,GAEhBtuC,KAAKmvD,WAAY,EACjBnvD,KAAKm2D,mBAAqB,EAC1Bn2D,KAAKm0D,aAAa7lB,EAAQp6B,IAAIi7C,WAAY,EAC1CnvD,KAAK6zD,YAAa,EAClB7zD,KAAK8zD,cAAe,EAEhB9zD,KAAKwyD,gBAEDxyD,KAAKujB,OAAOqwB,eAEZ5zC,KAAKujB,OAAOswB,aAAa9vC,EAAIL,KAAKiyB,OAAO31B,KAAKujB,OAAOswB,aAAa9vC,EAAK/D,KAAK2yD,YAAc3yD,KAAKyyD,OAAUzyD,KAAKyyD,OAASzyD,KAAKyyD,MAASzyD,KAAK2yD,YAAc3yD,KAAKyyD,MAC7JzyD,KAAKujB,OAAOswB,aAAa7vC,EAAIN,KAAKiyB,OAAO31B,KAAKujB,OAAOswB,aAAa7vC,EAAKhE,KAAK4yD,YAAc5yD,KAAK0yD,OAAU1yD,KAAK0yD,OAAS1yD,KAAK0yD,MAAS1yD,KAAK4yD,YAAc5yD,KAAK0yD,QAI7J1yD,KAAKujB,OAAOxf,EAAIL,KAAKiyB,OAAO31B,KAAKujB,OAAOxf,EAAK/D,KAAK2yD,YAAc3yD,KAAKyyD,OAAUzyD,KAAKyyD,OAASzyD,KAAKyyD,MAASzyD,KAAK2yD,YAAc3yD,KAAKyyD,MACnIzyD,KAAKujB,OAAOvf,EAAIN,KAAKiyB,OAAO31B,KAAKujB,OAAOvf,EAAKhE,KAAK4yD,YAAc5yD,KAAK0yD,OAAU1yD,KAAK0yD,OAAS1yD,KAAK0yD,MAAS1yD,KAAK4yD,YAAc5yD,KAAK0yD,QAI3I1yD,KAAKujB,OAAOixB,OAAOgkB,oBAAoBx4D,KAAKujB,OAAQ+qB,IAEb,IAAnCtuC,KAAK4vD,iBAAiBthB,IAEtBtuC,KAAKgwD,mBAAmB1hB,IAWhCmqB,YAAa,SAAUC,EAAiBC,QAEZpyD,IAApBmyD,IAAiCA,GAAkB,QACjCnyD,IAAlBoyD,IAA+BA,GAAgB,GAEnD34D,KAAKoyD,oBAAsBsG,EAC3B14D,KAAKqyD,kBAAoBsG,GAe7BC,WAAY,SAAUnG,EAAOC,EAAOmG,EAAQC,EAAWnG,EAAaC,QAEjDrsD,IAAXsyD,IAAwBA,GAAS,QACnBtyD,IAAduyD,IAA2BA,GAAY,QACvBvyD,IAAhBosD,IAA6BA,EAAc,QAC3BpsD,IAAhBqsD,IAA6BA,EAAc,GAE/C5yD,KAAKyyD,MAAQA,EACbzyD,KAAK0yD,MAAQA,EACb1yD,KAAK2yD,YAAcA,EACnB3yD,KAAK4yD,YAAcA,EACnB5yD,KAAKuyD,WAAasG,EAClB74D,KAAKwyD,cAAgBsG,GAQzBC,YAAa,WAET/4D,KAAKuyD,YAAa,EAClBvyD,KAAKwyD,eAAgB,GAQzB4E,gBAAiB,WAETp3D,KAAKujB,OAAOqwB,eAER5zC,KAAKujB,OAAOswB,aAAa9vC,EAAI/D,KAAKizD,WAAWp/B,KAE7C7zB,KAAKujB,OAAOswB,aAAa9vC,EAAI/D,KAAKizD,WAAWp/B,KAEvC7zB,KAAKujB,OAAOswB,aAAa9vC,EAAI/D,KAAKujB,OAAO3lB,MAASoC,KAAKizD,WAAWr/B,QAExE5zB,KAAKujB,OAAOswB,aAAa9vC,EAAI/D,KAAKizD,WAAWr/B,MAAQ5zB,KAAKujB,OAAO3lB,OAGjEoC,KAAKujB,OAAOswB,aAAa7vC,EAAIhE,KAAKizD,WAAW18B,IAE7Cv2B,KAAKujB,OAAOswB,aAAa7vC,EAAIhE,KAAKizD,WAAW18B,IAEvCv2B,KAAKujB,OAAOswB,aAAa7vC,EAAIhE,KAAKujB,OAAO1lB,OAAUmC,KAAKizD,WAAWz8B,SAEzEx2B,KAAKujB,OAAOswB,aAAa7vC,EAAIhE,KAAKizD,WAAWz8B,OAASx2B,KAAKujB,OAAO1lB,UAKlEmC,KAAKujB,OAAOsQ,KAAO7zB,KAAKizD,WAAWp/B,KAEnC7zB,KAAKujB,OAAOxf,EAAI/D,KAAKizD,WAAWlvD,EAAI/D,KAAKujB,OAAOoB,QAE3C3kB,KAAKujB,OAAOqQ,MAAQ5zB,KAAKizD,WAAWr/B,QAEzC5zB,KAAKujB,OAAOxf,EAAI/D,KAAKizD,WAAWr/B,OAAS5zB,KAAKujB,OAAO3lB,MAAQoC,KAAKujB,OAAOoB,UAGzE3kB,KAAKujB,OAAOgT,IAAMv2B,KAAKizD,WAAW18B,IAElCv2B,KAAKujB,OAAOvf,EAAIhE,KAAKizD,WAAW18B,IAAMv2B,KAAKujB,OAAOqB,QAE7C5kB,KAAKujB,OAAOiT,OAASx2B,KAAKizD,WAAWz8B,SAE1Cx2B,KAAKujB,OAAOvf,EAAIhE,KAAKizD,WAAWz8B,QAAUx2B,KAAKujB,OAAO1lB,OAASmC,KAAKujB,OAAOqB,YAUvFyyC,kBAAmB,WAEXr3D,KAAKujB,OAAOqwB,eAAiB5zC,KAAKkzD,aAAatf,eAE3C5zC,KAAKujB,OAAOswB,aAAa9vC,EAAI/D,KAAKkzD,aAAarf,aAAa9vC,EAE5D/D,KAAKujB,OAAOswB,aAAa9vC,EAAI/D,KAAKkzD,aAAarf,aAAa9vC,EAEtD/D,KAAKujB,OAAOswB,aAAa9vC,EAAI/D,KAAKujB,OAAO3lB,MAAUoC,KAAKkzD,aAAarf,aAAa9vC,EAAI/D,KAAKkzD,aAAat1D,QAE9GoC,KAAKujB,OAAOswB,aAAa9vC,EAAK/D,KAAKkzD,aAAarf,aAAa9vC,EAAI/D,KAAKkzD,aAAat1D,MAASoC,KAAKujB,OAAO3lB,OAGxGoC,KAAKujB,OAAOswB,aAAa7vC,EAAIhE,KAAKkzD,aAAarf,aAAa7vC,EAE5DhE,KAAKujB,OAAOswB,aAAa7vC,EAAIhE,KAAKkzD,aAAarf,aAAa7vC,EAEtDhE,KAAKujB,OAAOswB,aAAa7vC,EAAIhE,KAAKujB,OAAO1lB,OAAWmC,KAAKkzD,aAAarf,aAAa7vC,EAAIhE,KAAKkzD,aAAar1D,SAE/GmC,KAAKujB,OAAOswB,aAAa7vC,EAAKhE,KAAKkzD,aAAarf,aAAa7vC,EAAIhE,KAAKkzD,aAAar1D,OAAUmC,KAAKujB,OAAO1lB,UAKzGmC,KAAKujB,OAAOsQ,KAAO7zB,KAAKkzD,aAAar/B,KAErC7zB,KAAKujB,OAAOxf,EAAI/D,KAAKkzD,aAAar/B,KAAO7zB,KAAKujB,OAAOoB,QAEhD3kB,KAAKujB,OAAOqQ,MAAQ5zB,KAAKkzD,aAAat/B,QAE3C5zB,KAAKujB,OAAOxf,EAAI/D,KAAKkzD,aAAat/B,OAAS5zB,KAAKujB,OAAO3lB,MAAQoC,KAAKujB,OAAOoB,UAG3E3kB,KAAKujB,OAAOgT,IAAMv2B,KAAKkzD,aAAa38B,IAEpCv2B,KAAKujB,OAAOvf,EAAIhE,KAAKkzD,aAAa38B,IAAMv2B,KAAKujB,OAAOqB,QAE/C5kB,KAAKujB,OAAOiT,OAASx2B,KAAKkzD,aAAa18B,SAE5Cx2B,KAAKujB,OAAOvf,EAAIhE,KAAKkzD,aAAa18B,QAAUx2B,KAAKujB,OAAO1lB,OAASmC,KAAKujB,OAAOqB,aAO7FpjB,EAAOywD,aAAa3vD,UAAUC,YAAcf,EAAOywD,aAQnDzwD,EAAOojD,YAAc,SAAU7hD,GAM3B/C,KAAK+C,KAAOA,EAMZ/C,KAAK0mC,MAAQ3jC,EAAK2jC,MAMlB1mC,KAAKgpD,QAAUjmD,EAAKmU,OAOpBlX,KAAKgrC,QAAS,EAMdhrC,KAAK6uD,QAAS,EAOd7uD,KAAKg5D,SAAW,IAAIx3D,EAAO+gC,OAO3BviC,KAAKi5D,QAAU,IAAIz3D,EAAO+gC,OAO1BviC,KAAKk5D,qBAAuBl5D,KAAKm5D,gBAAgBlpC,KAAKjwB,MAOtDA,KAAKo5D,oBAAsBp5D,KAAKq5D,eAAeppC,KAAKjwB,MAEpD,IAAImqB,EAASpnB,EAAKonB,OAOlBnqB,KAAKs5D,mBAAqBnvC,EAAOmvC,mBAOjCt5D,KAAKu5D,kBAAoBpvC,EAAOovC,kBAOhCv5D,KAAKw5D,iBAAmBrvC,EAAOqvC,kBAQnCh4D,EAAOojD,YAAYtiD,UAAUgK,MAAQ,WAEjC,SAAKtM,KAAK+C,KAAKonB,OAAOw6B,aAAe3kD,KAAKgrC,UAKrChrC,KAAKgpD,QAAQyQ,qBAEdz5D,KAAKgpD,QAAQyQ,mBAAqBz5D,KAAKgpD,QAAQ0Q,uBAAyB15D,KAAKgpD,QAAQ2Q,0BAGpFtpB,SAASupB,kBAEVvpB,SAASupB,gBAAkBvpB,SAASwpB,oBAAsBxpB,SAASypB,uBAGvEzpB,SAASW,iBAAiBhxC,KAAKu5D,kBAAmBv5D,KAAKk5D,sBAAsB,GAC7E7oB,SAASW,iBAAiBhxC,KAAKw5D,iBAAkBx5D,KAAKo5D,qBAAqB,GAE3Ep5D,KAAKgrC,QAAS,GAEP,IAOXxpC,EAAOojD,YAAYtiD,UAAU6J,KAAO,WAE5BnM,KAAKgrC,SAELqF,SAAS4B,oBAAoBjyC,KAAKu5D,kBAAmBv5D,KAAKk5D,sBAAsB,GAChF7oB,SAAS4B,oBAAoBjyC,KAAKw5D,iBAAkBx5D,KAAKo5D,qBAAqB,GAE9Ep5D,KAAKgrC,QAAS,IAStBxpC,EAAOojD,YAAYtiD,UAAUy3D,QAAU,WAE9B/5D,KAAKgrC,SAAUhrC,KAAK6uD,QAKzB7uD,KAAKgpD,QAAQyQ,sBAQjBj4D,EAAOojD,YAAYtiD,UAAU03D,KAAO,WAEhC3pB,SAASupB,mBAUbp4D,EAAOojD,YAAYtiD,UAAU62D,gBAAkB,SAAUzoB,GAErD1wC,KAAK6uD,OAAUxe,SAASrwC,KAAKs5D,sBAAwBt5D,KAAKgpD,QAE1DhpD,KAAKg5D,SAASrzB,SAAS3lC,KAAK6uD,OAAQne,IAUxClvC,EAAOojD,YAAYtiD,UAAU+2D,eAAiB,SAAU3oB,GAEpD1wC,KAAKi5D,QAAQtzB,SAAS+K,IAuB1BlvC,EAAOsjD,QAAU,SAAU/hD,GAKvB/C,KAAK+C,KAAOA,EAMZ/C,KAAKi6D,oBAMLj6D,KAAKk6D,YAOLl6D,KAAKm6D,SAAU,EAOfn6D,KAAKmhD,SAAU,EAOfnhD,KAAKo6D,2BAA6BvwC,UAAUwwC,qBAAuBxwC,UAAUywC,iBAAgE,IAA7CzwC,UAAU0wC,UAAUlxD,QAAQ,eAAyBwgB,UAAU2wC,YAQ/Jx6D,KAAKy6D,wBAQLz6D,KAAK06D,mBAKL16D,KAAKwpC,gBAAkBxpC,KAKvBA,KAAK26D,kBAAoB,KAKzB36D,KAAK46D,qBAAuB,KAK5B56D,KAAK66D,eAAiB,KAKtB76D,KAAK86D,aAAe,KAKpB96D,KAAK+6D,eAAiB,KAKtB/6D,KAAKg7D,gBAAkB,KAMvBh7D,KAAKi7D,oBAAsB,KAM3Bj7D,KAAKk7D,qBAAuB,KAM5Bl7D,KAAKm7D,WACD,IAAI35D,EAAO45D,UAAUr4D,EAAM/C,MAC3B,IAAIwB,EAAO45D,UAAUr4D,EAAM/C,MAC3B,IAAIwB,EAAO45D,UAAUr4D,EAAM/C,MAC3B,IAAIwB,EAAO45D,UAAUr4D,EAAM/C,QAInCwB,EAAOsjD,QAAQxiD,WAUX+4D,aAAc,SAAUvtD,EAASwtD,QAEJ,IAAdA,IAEPt7D,KAAK26D,kBAAoD,mBAAxBW,EAAUC,UAA4BD,EAAUC,UAAYv7D,KAAK26D,kBAClG36D,KAAK46D,qBAA0D,mBAA3BU,EAAUE,aAA+BF,EAAUE,aAAex7D,KAAK46D,qBAC3G56D,KAAK66D,eAA8C,mBAArBS,EAAUlY,OAAyBkY,EAAUlY,OAASpjD,KAAK66D,eACzF76D,KAAK86D,aAA0C,mBAAnBQ,EAAUjY,KAAuBiY,EAAUjY,KAAOrjD,KAAK86D,aACnF96D,KAAK+6D,eAA8C,mBAArBO,EAAUG,OAAyBH,EAAUG,OAASz7D,KAAK+6D,eACzF/6D,KAAKg7D,gBAAgD,mBAAtBM,EAAU5P,QAA0B4P,EAAU5P,QAAU1rD,KAAKg7D,gBAC5Fh7D,KAAKwpC,gBAAkB17B,IAU/BxB,MAAO,WAEH,IAAItM,KAAKm6D,QAAT,CAMAn6D,KAAKm6D,SAAU,EAEf,IAAIxtB,EAAQ3sC,KAEZA,KAAK07D,oBAAsB,SAAUhrB,GAEjC,OAAO/D,EAAMgvB,mBAAmBjrB,IAGpC1wC,KAAK47D,uBAAyB,SAAUlrB,GAEpC,OAAO/D,EAAMkvB,sBAAsBnrB,IAGvCtgC,OAAO4gC,iBAAiB,mBAAoBhxC,KAAK07D,qBAAqB,GACtEtrD,OAAO4gC,iBAAiB,sBAAuBhxC,KAAK47D,wBAAwB,KAUhFD,mBAAoB,SAAUjrB,GAE1B,IAAIorB,EAASprB,EAAMwS,QACnBljD,KAAKk6D,SAASpyD,KAAKg0D,GACnB97D,KAAKm7D,UAAUW,EAAOlzD,OAAOmzD,QAAQD,IAUzCD,sBAAuB,SAAUnrB,GAE7B,IAAIsrB,EAAatrB,EAAMwS,QAEvB,IAAK,IAAIxgD,KAAK1C,KAAKk6D,SAEXl6D,KAAKk6D,SAASx3D,GAAGkG,QAAUozD,EAAWpzD,OAEtC5I,KAAKk6D,SAASpxD,OAAOpG,EAAE,GAI/B1C,KAAKm7D,UAAUa,EAAWpzD,OAAOqzD,cAQrC52B,OAAQ,WAEJrlC,KAAKk8D,gBAELl8D,KAAKm8D,KAAKC,aACVp8D,KAAKq8D,KAAKD,aACVp8D,KAAKs8D,KAAKF,aACVp8D,KAAKu8D,KAAKH,cASdF,cAAe,WAEX,GAAKl8D,KAAKm6D,QAAV,CAKA,GAAItwC,UAAU2wC,YAENgC,EAAc3yC,UAAU2wC,mBAE3B,GAAI3wC,UAAUwwC,kBAEXmC,EAAc3yC,UAAUwwC,yBAE3B,GAAIxwC,UAAUywC,eAEf,IAAIkC,EAAc3yC,UAAUywC,iBAGhC,GAAIkC,EACJ,CACIx8D,KAAKk6D,YAIL,IAAK,IAFDuC,GAAkB,EAEb/5D,EAAI,EAAGA,EAAI85D,EAAY75D,gBAEjB65D,EAAY95D,KAAO1C,KAAKy6D,qBAAqB/3D,KAEpD+5D,GAAkB,EAClBz8D,KAAKy6D,qBAAqB/3D,UAAY85D,EAAY95D,IAGlD85D,EAAY95D,IAEZ1C,KAAKk6D,SAASpyD,KAAK00D,EAAY95D,IAIzB,IAANA,GAdgCA,KAoBxC,IAAK,IAAIiY,EAAI,EAAGA,EAAI3a,KAAKm7D,UAAUx4D,OAAQgY,IAEvC3a,KAAKm7D,UAAUxgD,GAAG+hD,QAAU18D,KAAKk6D,SAASv/C,GAG9C,GAAI8hD,EACJ,CAII,IAAK,IAFDE,EADAC,GAAqBC,cAAgBC,eAGhCj1D,EAAI,EAAGA,EAAI7H,KAAKm7D,UAAUx4D,OAAQkF,IAIvC,IAFA80D,EAAY38D,KAAKm7D,UAAUtzD,IAEbk1D,UAEV,IAAK,IAAI1lC,EAAI,EAAGA,EAAIr3B,KAAKk6D,SAASv3D,OAAQ00B,IAElCr3B,KAAKk6D,SAAS7iC,GAAGzuB,QAAU+zD,EAAU/zD,QAErCg0D,EAAiBC,WAAWF,EAAU/zD,QAAS,EAC/Cg0D,EAAiBE,WAAWj1D,IAAK,GAMjD,IAAK,IAAIsvB,EAAI,EAAGA,EAAIn3B,KAAKm7D,UAAUx4D,OAAQw0B,IAIvC,GAFAwlC,EAAY38D,KAAKm7D,UAAUhkC,IAEvBylC,EAAiBE,WAAW3lC,GAAhC,CAKIn3B,KAAKk6D,SAASv3D,OAAS,GAEvBg6D,EAAUV,aAGd,IAAK,IAAI3kC,EAAI,EAAGA,EAAIt3B,KAAKk6D,SAASv3D,SAE1Bi6D,EAAiBE,WAAW3lC,GAFMG,IAC1C,CAMI,IAAI0lC,EAASh9D,KAAKk6D,SAAS5iC,GAE3B,GAAI0lC,EACJ,CACI,GAAIJ,EAAiBC,WAAWG,EAAOp0D,OACvC,CACI+zD,EAAUV,aACV,SAIAU,EAAUZ,QAAQiB,GAClBJ,EAAiBC,WAAWG,EAAOp0D,QAAS,EAC5Cg0D,EAAiBE,WAAW3lC,IAAK,OAKrCwlC,EAAUV,mBAYlCgB,aAAc,SAAU71D,GAEpB,IAAK,IAAI1E,EAAI,EAAGA,EAAI1C,KAAKm7D,UAAUx4D,OAAQD,IAEvC1C,KAAKm7D,UAAUz4D,GAAGw6D,SAAW91D,GASrC+E,KAAM,WAEFnM,KAAKm6D,SAAU,EAEf/pD,OAAO6hC,oBAAoB,mBAAoBjyC,KAAK07D,qBACpDtrD,OAAO6hC,oBAAoB,sBAAuBjyC,KAAK47D,yBAO3Dt1B,MAAO,WAEHtmC,KAAKqlC,SAEL,IAAK,IAAI3iC,EAAI,EAAGA,EAAI1C,KAAKm7D,UAAUx4D,OAAQD,IAEvC1C,KAAKm7D,UAAUz4D,GAAG4jC,SAW1BwlB,YAAa,SAAUb,EAAYloB,GAE/B,IAAK,IAAIrgC,EAAI,EAAGA,EAAI1C,KAAKm7D,UAAUx4D,OAAQD,IAEvC,IAA4D,IAAxD1C,KAAKm7D,UAAUz4D,GAAGopD,YAAYb,EAAYloB,GAE1C,OAAO,EAIf,OAAO,GAUXgpB,aAAc,SAAUd,EAAYloB,GAEhC,IAAK,IAAIrgC,EAAI,EAAGA,EAAI1C,KAAKm7D,UAAUx4D,OAAQD,IAEvC,IAA6D,IAAzD1C,KAAKm7D,UAAUz4D,GAAGqpD,aAAad,EAAYloB,GAE3C,OAAO,EAIf,OAAO,GASXmoB,OAAQ,SAAUD,GAEd,IAAK,IAAIvoD,EAAI,EAAGA,EAAI1C,KAAKm7D,UAAUx4D,OAAQD,IAEvC,IAA6C,IAAzC1C,KAAKm7D,UAAUz4D,GAAGwoD,OAAOD,GAEzB,OAAO,EAIf,OAAO,GAQXzoD,QAAS,WAELxC,KAAKmM,OAEL,IAAK,IAAIzJ,EAAI,EAAGA,EAAI1C,KAAKm7D,UAAUx4D,OAAQD,IAEvC1C,KAAKm7D,UAAUz4D,GAAGF,YAM9BhB,EAAOsjD,QAAQxiD,UAAUC,YAAcf,EAAOsjD,QAQ9C99C,OAAOyF,eAAejL,EAAOsjD,QAAQxiD,UAAW,UAE5C4E,IAAK,WAED,OAAOlH,KAAKm6D,WAWpBnzD,OAAOyF,eAAejL,EAAOsjD,QAAQxiD,UAAW,aAE5C4E,IAAK,WAED,OAAOlH,KAAKo6D,4BAWpBpzD,OAAOyF,eAAejL,EAAOsjD,QAAQxiD,UAAW,iBAE5C4E,IAAK,WAED,OAAOlH,KAAKk6D,SAASv3D,UAW7BqE,OAAOyF,eAAejL,EAAOsjD,QAAQxiD,UAAW,QAE5C4E,IAAK,WAED,OAAOlH,KAAKm7D,UAAU,MAW9Bn0D,OAAOyF,eAAejL,EAAOsjD,QAAQxiD,UAAW,QAE5C4E,IAAK,WAED,OAAOlH,KAAKm7D,UAAU,MAW9Bn0D,OAAOyF,eAAejL,EAAOsjD,QAAQxiD,UAAW,QAE5C4E,IAAK,WAED,OAAOlH,KAAKm7D,UAAU,MAW9Bn0D,OAAOyF,eAAejL,EAAOsjD,QAAQxiD,UAAW,QAE5C4E,IAAK,WAED,OAAOlH,KAAKm7D,UAAU,MAK9B35D,EAAOsjD,QAAQqY,SAAW,EAC1B37D,EAAOsjD,QAAQsY,SAAW,EAC1B57D,EAAOsjD,QAAQuY,SAAW,EAC1B77D,EAAOsjD,QAAQwY,SAAW,EAC1B97D,EAAOsjD,QAAQyY,SAAW,EAC1B/7D,EAAOsjD,QAAQ0Y,SAAW,EAC1Bh8D,EAAOsjD,QAAQ2Y,SAAW,EAC1Bj8D,EAAOsjD,QAAQ4Y,SAAW,EAC1Bl8D,EAAOsjD,QAAQ6Y,SAAW,EAC1Bn8D,EAAOsjD,QAAQ8Y,SAAW,EAC1Bp8D,EAAOsjD,QAAQ+Y,UAAY,GAC3Br8D,EAAOsjD,QAAQgZ,UAAY,GAC3Bt8D,EAAOsjD,QAAQiZ,UAAY,GAC3Bv8D,EAAOsjD,QAAQkZ,UAAY,GAC3Bx8D,EAAOsjD,QAAQmZ,UAAY,GAC3Bz8D,EAAOsjD,QAAQoZ,UAAY,GAE3B18D,EAAOsjD,QAAQqZ,OAAS,EACxB38D,EAAOsjD,QAAQsZ,OAAS,EACxB58D,EAAOsjD,QAAQuZ,OAAS,EACxB78D,EAAOsjD,QAAQwZ,OAAS,EACxB98D,EAAOsjD,QAAQyZ,OAAS,EACxB/8D,EAAOsjD,QAAQ0Z,OAAS,EACxBh9D,EAAOsjD,QAAQ2Z,OAAS,EACxBj9D,EAAOsjD,QAAQ4Z,OAAS,EACxBl9D,EAAOsjD,QAAQ6Z,OAAS,EACxBn9D,EAAOsjD,QAAQ8Z,OAAS,EAQxBp9D,EAAOsjD,QAAQ+Z,UAAY,EAC3Br9D,EAAOsjD,QAAQga,UAAY,EAC3Bt9D,EAAOsjD,QAAQia,UAAY,EAC3Bv9D,EAAOsjD,QAAQka,UAAY,EAC3Bx9D,EAAOsjD,QAAQma,oBAAsB,EACrCz9D,EAAOsjD,QAAQoa,qBAAuB,EACtC19D,EAAOsjD,QAAQqa,qBAAuB,EACtC39D,EAAOsjD,QAAQsa,sBAAwB,EACvC59D,EAAOsjD,QAAQua,aAAe,EAC9B79D,EAAOsjD,QAAQwa,cAAgB,EAC/B99D,EAAOsjD,QAAQya,0BAA4B,GAC3C/9D,EAAOsjD,QAAQ0a,2BAA6B,GAE5Ch+D,EAAOsjD,QAAQ2a,kBAAoB,GACnCj+D,EAAOsjD,QAAQ4a,mBAAqB,GACpCl+D,EAAOsjD,QAAQ6a,gBAAkB,GACjCn+D,EAAOsjD,QAAQ8a,kBAAoB,GAGnCp+D,EAAOsjD,QAAQ+a,qBAAuB,EACtCr+D,EAAOsjD,QAAQgb,qBAAuB,EACtCt+D,EAAOsjD,QAAQib,sBAAwB,EACvCv+D,EAAOsjD,QAAQkb,sBAAwB,EAIvCx+D,EAAOsjD,QAAQmb,QAAU,EACzBz+D,EAAOsjD,QAAQob,aAAe,EAC9B1+D,EAAOsjD,QAAQqb,aAAe,EAC9B3+D,EAAOsjD,QAAQsb,eAAiB,EAChC5+D,EAAOsjD,QAAQub,SAAW,EAC1B7+D,EAAOsjD,QAAQwb,SAAW,EAC1B9+D,EAAOsjD,QAAQyb,SAAW,EAC1B/+D,EAAOsjD,QAAQ0b,SAAW,EAC1Bh/D,EAAOsjD,QAAQ2b,aAAe,EAC9Bj/D,EAAOsjD,QAAQ4b,YAAc,EAC7Bl/D,EAAOsjD,QAAQ6b,wBAA0B,GACzCn/D,EAAOsjD,QAAQ8b,yBAA2B,GAC1Cp/D,EAAOsjD,QAAQ+b,cAAgB,GAC/Br/D,EAAOsjD,QAAQgc,gBAAkB,GACjCt/D,EAAOsjD,QAAQic,gBAAkB,GACjCv/D,EAAOsjD,QAAQkc,iBAAmB,GAClCx/D,EAAOsjD,QAAQmc,mBAAqB,EACpCz/D,EAAOsjD,QAAQoc,mBAAqB,EACpC1/D,EAAOsjD,QAAQqc,oBAAsB,EACrC3/D,EAAOsjD,QAAQsc,oBAAsB,EAiBrC5/D,EAAO45D,UAAY,SAAUr4D,EAAMs+D,GAK/BrhE,KAAK+C,KAAOA,EAMZ/C,KAAK4I,MAAQ,KAMb5I,KAAK+8D,WAAY,EAKjB/8D,KAAKwpC,gBAAkBxpC,KAKvBA,KAAK26D,kBAAoB,KAKzB36D,KAAK46D,qBAAuB,KAK5B56D,KAAK66D,eAAiB,KAKtB76D,KAAK86D,aAAe,KAKpB96D,KAAK+6D,eAAiB,KAKtB/6D,KAAKg7D,gBAAkB,KAKvBh7D,KAAKk9D,SAAW,IAMhBl9D,KAAKshE,WAAaD,EAMlBrhE,KAAK08D,QAAU,KAMf18D,KAAKuhE,eAAiB,KAMtBvhE,KAAKwhE,YAMLxhE,KAAKyhE,YAAc,EAMnBzhE,KAAK0hE,SAML1hE,KAAK2hE,SAAW,GAGpBngE,EAAO45D,UAAU94D,WAUb+4D,aAAc,SAAUvtD,EAASwtD,QAEJ,IAAdA,IAEPt7D,KAAK26D,kBAAoD,mBAAxBW,EAAUC,UAA4BD,EAAUC,UAAYv7D,KAAK26D,kBAClG36D,KAAK46D,qBAA0D,mBAA3BU,EAAUE,aAA+BF,EAAUE,aAAex7D,KAAK46D,qBAC3G56D,KAAK66D,eAA8C,mBAArBS,EAAUlY,OAAyBkY,EAAUlY,OAASpjD,KAAK66D,eACzF76D,KAAK86D,aAA0C,mBAAnBQ,EAAUjY,KAAuBiY,EAAUjY,KAAOrjD,KAAK86D,aACnF96D,KAAK+6D,eAA8C,mBAArBO,EAAUG,OAAyBH,EAAUG,OAASz7D,KAAK+6D,eACzF/6D,KAAKg7D,gBAAgD,mBAAtBM,EAAU5P,QAA0B4P,EAAU5P,QAAU1rD,KAAKg7D,gBAE5Fh7D,KAAKwpC,gBAAkB17B,IAY/B8zD,UAAW,SAAU3W,GAEjB,OAAIjrD,KAAKwhE,SAASvW,GAEPjrD,KAAKwhE,SAASvW,GAId,MASfmR,WAAY,WAER,GAAKp8D,KAAK+8D,WAAc/8D,KAAK+C,KAAK2jC,MAAMya,SAAYnhD,KAAK+C,KAAK2jC,MAAMwc,QAAQ/B,SAAYnhD,KAAK08D,WAAW18D,KAAK08D,QAAQmF,WAAa7hE,KAAK08D,QAAQmF,YAAc7hE,KAAKuhE,gBAAlK,CAKA,IAAK,IAAI7+D,EAAI,EAAGA,EAAI1C,KAAKyhE,YAAa/+D,IACtC,CACI,IAAIo/D,EAAeC,MAAM/hE,KAAK08D,QAAQtO,QAAQ1rD,IAAM1C,KAAK08D,QAAQtO,QAAQ1rD,GAAG0E,MAAQpH,KAAK08D,QAAQtO,QAAQ1rD,GAErGo/D,IAAiB9hE,KAAKwhE,SAAS9+D,GAAG0E,QAEb,IAAjB06D,EAEA9hE,KAAKgiE,kBAAkBt/D,EAAGo/D,GAEJ,IAAjBA,EAEL9hE,KAAKiiE,gBAAgBv/D,EAAGo/D,GAIxB9hE,KAAKkiE,mBAAmBx/D,EAAGo/D,IAKvC,IAAK,IAAIl5D,EAAQ,EAAGA,EAAQ5I,KAAK2hE,SAAU/4D,IAC3C,CACI,IAAIxB,EAAQpH,KAAK08D,QAAQyF,KAAKv5D,GAEzBxB,EAAQ,GAAKA,EAAQpH,KAAKk9D,UAAc91D,EAAQ,GAAKA,GAASpH,KAAKk9D,SAEpEl9D,KAAKoiE,kBAAkBx5D,EAAOxB,GAI9BpH,KAAKoiE,kBAAkBx5D,EAAO,GAItC5I,KAAKuhE,eAAiBvhE,KAAK08D,QAAQmF,YASvC9F,QAAS,SAAUiB,GAEf,IAAIqF,GAAmBriE,KAAK+8D,UAE5B/8D,KAAK+8D,WAAY,EACjB/8D,KAAK4I,MAAQo0D,EAAOp0D,MAEpB5I,KAAK08D,QAAUM,EAEfh9D,KAAKwhE,YACLxhE,KAAKyhE,YAAczE,EAAO5O,QAAQzrD,OAElC3C,KAAK0hE,SACL1hE,KAAK2hE,SAAW3E,EAAOmF,KAAKx/D,OAE5B,IAAK,IAAIO,EAAI,EAAGA,EAAIlD,KAAK2hE,SAAUz+D,IAE/BlD,KAAK0hE,MAAMx+D,GAAK85D,EAAOmF,KAAKj/D,GAGhC,IAAK,IAAI+nD,KAAc+R,EAAO5O,QAE1BnD,EAAa53B,SAAS43B,EAAY,IAClCjrD,KAAKwhE,SAASvW,GAAc,IAAIzpD,EAAOwpD,aAAahrD,KAAMirD,GAG1DoX,GAAmBriE,KAAKshE,WAAW3G,mBAEnC36D,KAAKshE,WAAW3G,kBAAkBn2D,KAAKxE,KAAKshE,WAAW93B,gBAAiBxpC,KAAK4I,OAG7Ey5D,GAAmBriE,KAAK26D,mBAExB36D,KAAK26D,kBAAkBn2D,KAAKxE,KAAKwpC,kBASzCyyB,WAAY,WAER,IAAIoG,EAAkBriE,KAAK+8D,UACvBuF,EAAqBtiE,KAAK4I,MAE9B5I,KAAK+8D,WAAY,EACjB/8D,KAAK4I,MAAQ,KAEb5I,KAAK08D,aAAUn2D,EAEf,IAAK,IAAI7D,EAAI,EAAGA,EAAI1C,KAAKyhE,YAAa/+D,IAElC1C,KAAKwhE,SAAS9+D,GAAGF,UAGrBxC,KAAKwhE,YACLxhE,KAAKyhE,YAAc,EAEnBzhE,KAAK0hE,SACL1hE,KAAK2hE,SAAW,EAEZU,GAAmBriE,KAAKshE,WAAW1G,sBAEnC56D,KAAKshE,WAAW1G,qBAAqBp2D,KAAKxE,KAAKshE,WAAW93B,gBAAiB84B,GAG3ED,GAAmBriE,KAAK46D,sBAExB56D,KAAK46D,qBAAqBp2D,KAAKxE,KAAKwpC,kBAS5ChnC,QAAS,WAELxC,KAAK08D,aAAUn2D,EAEf,IAAK,IAAI7D,EAAI,EAAGA,EAAI1C,KAAKyhE,YAAa/+D,IAElC1C,KAAKwhE,SAAS9+D,GAAGF,UAGrBxC,KAAKwhE,YACLxhE,KAAKyhE,YAAc,EAEnBzhE,KAAK0hE,SACL1hE,KAAK2hE,SAAW,EAEhB3hE,KAAK26D,kBAAoB,KACzB36D,KAAK46D,qBAAuB,KAC5B56D,KAAK66D,eAAiB,KACtB76D,KAAK86D,aAAe,KACpB96D,KAAK+6D,eAAiB,KACtB/6D,KAAKg7D,gBAAkB,MAS3BoH,kBAAmB,SAAUx5D,EAAOxB,GAE5BpH,KAAK0hE,MAAM94D,KAAWxB,IAK1BpH,KAAK0hE,MAAM94D,GAASxB,EAEhBpH,KAAKshE,WAAWvG,gBAEhB/6D,KAAKshE,WAAWvG,eAAev2D,KAAKxE,KAAKshE,WAAW93B,gBAAiBxpC,KAAM4I,EAAOxB,GAGlFpH,KAAK+6D,gBAEL/6D,KAAK+6D,eAAev2D,KAAKxE,KAAKwpC,gBAAiBxpC,KAAM4I,EAAOxB,KAWpE46D,kBAAmB,SAAU/W,EAAY7jD,GAEjCpH,KAAKwhE,SAASvW,IAEdjrD,KAAKwhE,SAASvW,GAAY3+C,MAAM,KAAMlF,GAGtCpH,KAAKshE,WAAWzG,gBAEhB76D,KAAKshE,WAAWzG,eAAer2D,KAAKxE,KAAKshE,WAAW93B,gBAAiByhB,EAAY7jD,EAAOpH,KAAK4I,OAG7F5I,KAAK66D,gBAEL76D,KAAK66D,eAAer2D,KAAKxE,KAAKwpC,gBAAiByhB,EAAY7jD,IAWnE66D,gBAAiB,SAAUhX,EAAY7jD,GAE/BpH,KAAKshE,WAAWxG,cAEhB96D,KAAKshE,WAAWxG,aAAat2D,KAAKxE,KAAKshE,WAAW93B,gBAAiByhB,EAAY7jD,EAAOpH,KAAK4I,OAG3F5I,KAAK86D,cAEL96D,KAAK86D,aAAat2D,KAAKxE,KAAKwpC,gBAAiByhB,EAAY7jD,GAGzDpH,KAAKwhE,SAASvW,IAEdjrD,KAAKwhE,SAASvW,GAAY9+C,KAAK,KAAM/E,IAW7C86D,mBAAoB,SAAUjX,EAAY7jD,GAElCpH,KAAKshE,WAAWtG,iBAEhBh7D,KAAKshE,WAAWtG,gBAAgBx2D,KAAKxE,KAAKshE,WAAW93B,gBAAiByhB,EAAY7jD,EAAOpH,KAAK4I,OAG9F5I,KAAKg7D,iBAELh7D,KAAKg7D,gBAAgBx2D,KAAKxE,KAAKwpC,gBAAiByhB,EAAY7jD,GAG5DpH,KAAKwhE,SAASvW,IAEdjrD,KAAKwhE,SAASvW,GAAYY,SAASzkD,IAW3Cm7D,KAAM,SAAUC,GAEZ,QAAIxiE,KAAK0hE,MAAMc,IAEJxiE,KAAK0hE,MAAMc,IAa1BtX,OAAQ,SAAUD,GAEd,QAAIjrD,KAAKwhE,SAASvW,IAEPjrD,KAAKwhE,SAASvW,GAAYC,QAazCC,KAAM,SAAUF,GAEZ,QAAIjrD,KAAKwhE,SAASvW,IAEPjrD,KAAKwhE,SAASvW,GAAYE,MAczCY,aAAc,SAAUd,EAAYloB,GAEhC,GAAI/iC,KAAKwhE,SAASvW,GAEd,OAAOjrD,KAAKwhE,SAASvW,GAAYc,aAAahpB,IAYtD+oB,YAAa,SAAUb,EAAYloB,GAE/B,GAAI/iC,KAAKwhE,SAASvW,GAEd,OAAOjrD,KAAKwhE,SAASvW,GAAYa,YAAY/oB,IAYrD0/B,YAAa,SAAUxX,GAEnB,OAAIjrD,KAAKwhE,SAASvW,GAEPjrD,KAAKwhE,SAASvW,GAAY7jD,MAG9B,MAQXk/B,MAAO,WAEH,IAAK,IAAIz+B,EAAI,EAAGA,EAAI7H,KAAK0hE,MAAM/+D,OAAQkF,IAEnC7H,KAAK0hE,MAAM75D,GAAK,IAM5BrG,EAAO45D,UAAU94D,UAAUC,YAAcf,EAAO45D,UAgBhD55D,EAAOkhE,IAAM,SAAU3/D,EAAM4/D,GAKzB3iE,KAAK+C,KAAOA,EAOZ/C,KAAK4iE,UAAW,EAMhB5iE,KAAK0wC,MAAQ,KAMb1wC,KAAKkrD,QAAS,EAMdlrD,KAAKmrD,MAAO,EAMZnrD,KAAKurD,QAAS,EAMdvrD,KAAKyrD,SAAU,EAMfzrD,KAAKwrD,UAAW,EAKhBxrD,KAAKorD,SAAW,EAQhBprD,KAAK+iC,SAAW,EAMhB/iC,KAAKqrD,QAAU,KAQfrrD,KAAK6iE,YAAc,KAMnB7iE,KAAKsrD,QAAU,EAKftrD,KAAK8iE,QAAUH,EAKf3iE,KAAKojD,OAAS,IAAI5hD,EAAO+gC,OAKzBviC,KAAK+iE,eAAiB,KAKtB/iE,KAAKgjE,cAAgB,KAKrBhjE,KAAKqjD,KAAO,IAAI7hD,EAAO+gC,OAMvBviC,KAAKijE,WAAY,EAMjBjjE,KAAKkjE,SAAU,GAGnB1hE,EAAOkhE,IAAIpgE,WAQP+iC,OAAQ,WAECrlC,KAAK4iE,WAEN5iE,KAAKkrD,QAELlrD,KAAK+iC,SAAW/iC,KAAK+C,KAAK0iC,KAAKA,KAAOzlC,KAAKorD,SAC3CprD,KAAKsrD,UAEDtrD,KAAK+iE,gBAEL/iE,KAAK+iE,eAAev+D,KAAKxE,KAAKgjE,cAAehjE,OAKjDA,KAAK6iE,WAAa7iE,KAAK+C,KAAK0iC,KAAKA,KAAOzlC,KAAKqrD,SAWrD8X,eAAgB,SAAUzyB,GAEjB1wC,KAAK4iE,WAEV5iE,KAAK0wC,MAAQA,EAGT1wC,KAAKkrD,SAKTlrD,KAAKurD,OAAS7a,EAAM6a,OACpBvrD,KAAKyrD,QAAU/a,EAAM+a,QACrBzrD,KAAKwrD,SAAW9a,EAAM8a,SAEtBxrD,KAAKkrD,QAAS,EACdlrD,KAAKmrD,MAAO,EACZnrD,KAAKorD,SAAWprD,KAAK+C,KAAK0iC,KAAKA,KAC/BzlC,KAAK+iC,SAAW,EAChB/iC,KAAK6iE,WAAa7iE,KAAK+C,KAAK0iC,KAAKA,KAAOzlC,KAAKqrD,OAC7CrrD,KAAKsrD,QAAU,EAMftrD,KAAKijE,WAAY,EAEjBjjE,KAAKojD,OAAOzd,SAAS3lC,SAUzBojE,aAAc,SAAU1yB,GAEf1wC,KAAK4iE,WAEV5iE,KAAK0wC,MAAQA,EAET1wC,KAAKmrD,OAKTnrD,KAAKkrD,QAAS,EACdlrD,KAAKmrD,MAAO,EACZnrD,KAAKqrD,OAASrrD,KAAK+C,KAAK0iC,KAAKA,KAC7BzlC,KAAK+iC,SAAW/iC,KAAK+C,KAAK0iC,KAAKA,KAAOzlC,KAAKorD,SAC3CprD,KAAK6iE,WAAa,EAMlB7iE,KAAKkjE,SAAU,EAEfljE,KAAKqjD,KAAK1d,SAAS3lC,SAYvBsmC,MAAO,SAAUof,QAEAn/C,IAATm/C,IAAsBA,GAAO,GAEjC1lD,KAAKkrD,QAAS,EACdlrD,KAAKmrD,MAAO,EACZnrD,KAAKqrD,OAASrrD,KAAK+C,KAAK0iC,KAAKA,KAC7BzlC,KAAK+iC,SAAW,EAChB/iC,KAAK6iE,YAAc,KACnB7iE,KAAK4iE,UAAW,EAChB5iE,KAAKijE,WAAY,EACjBjjE,KAAKkjE,SAAU,EAEXxd,IAEA1lD,KAAKojD,OAAOjZ,YACZnqC,KAAKqjD,KAAKlZ,YACVnqC,KAAK+iE,eAAiB,KACtB/iE,KAAKgjE,cAAgB,OAY7BtO,aAAc,SAAU3xB,GAIpB,YAFiBx8B,IAAbw8B,IAA0BA,EAAW,IAEjC/iC,KAAKkrD,QAAUlrD,KAAK+iC,SAAWA,GAW3CsgC,WAAY,SAAUtgC,GAIlB,YAFiBx8B,IAAbw8B,IAA0BA,EAAW,KAEhC/iC,KAAKkrD,QAAYlrD,KAAK+C,KAAK0iC,KAAKA,KAAOzlC,KAAKqrD,OAAUtoB,GAUnE+oB,YAAa,WAET,OAAQ9rD,KAAKkrD,QAA4B,IAAlBlrD,KAAK+iC,UAUhCgpB,aAAc,WAEV,OAAS/rD,KAAKkrD,QAA8B,IAApBlrD,KAAK6iE,aAgBrC77D,OAAOyF,eAAejL,EAAOkhE,IAAIpgE,UAAW,YAExC4E,IAAK,WAED,IAAIghC,EAAUloC,KAAKijE,UAEnB,OADAjjE,KAAKijE,WAAY,EACV/6B,KAgBflhC,OAAOyF,eAAejL,EAAOkhE,IAAIpgE,UAAW,UAExC4E,IAAK,WAED,IAAIghC,EAAUloC,KAAKkjE,QAEnB,OADAljE,KAAKkjE,SAAU,EACRh7B,KAaflhC,OAAOyF,eAAejL,EAAOkhE,IAAIpgE,UAAW,WAExC4E,IAAK,WAED,OAAOlH,KAAK4iE,UAGhBz7D,IAAK,SAAUC,IAEXA,IAAUA,KAEIpH,KAAK4iE,WAEVx7D,GAEDpH,KAAKsmC,OAAM,GAGftmC,KAAK4iE,SAAWx7D,MAM5B5F,EAAOkhE,IAAIpgE,UAAUC,YAAcf,EAAOkhE,IAsB1ClhE,EAAOqjD,SAAW,SAAU9hD,GAKxB/C,KAAK+C,KAAOA,EAOZ/C,KAAKgrC,QAAS,EAOdhrC,KAAKmhD,SAAU,EAKfnhD,KAAK0wC,MAAQ,KAKb1wC,KAAKsjE,WAAa,KAKlBtjE,KAAKwpC,gBAAkBxpC,KAKvBA,KAAK66D,eAAiB,KAKtB76D,KAAKujE,gBAAkB,KAKvBvjE,KAAK86D,aAAe,KAMpB96D,KAAKwjE,SAMLxjE,KAAKyjE,YAOLzjE,KAAK0jE,WAAa,KAOlB1jE,KAAK2jE,YAAc,KAOnB3jE,KAAK4jE,SAAW,KAMhB5jE,KAAKsvC,GAAK,EAMVtvC,KAAK6jE,GAAK,GAGdriE,EAAOqjD,SAASviD,WAWZ+4D,aAAc,SAAUvtD,EAASs1C,EAAQC,EAAMygB,GAE3C9jE,KAAKwpC,gBAAkB17B,OAERvH,IAAX68C,GAAmC,OAAXA,IAExBpjD,KAAK66D,eAAiBzX,QAGb78C,IAAT88C,GAA+B,OAATA,IAEtBrjD,KAAK86D,aAAezX,QAGR98C,IAAZu9D,GAAqC,OAAZA,IAEzB9jE,KAAKujE,gBAAkBO,IAS/BC,gBAAiB,WAEb/jE,KAAKwpC,gBAAkBxpC,KACvBA,KAAK66D,eAAiB,KACtB76D,KAAK86D,aAAe,KACpB96D,KAAKujE,gBAAkB,MAW3BS,OAAQ,SAAUrB,GASd,OAPK3iE,KAAKwjE,MAAMb,KAEZ3iE,KAAKwjE,MAAMb,GAAW,IAAInhE,EAAOkhE,IAAI1iE,KAAK+C,KAAM4/D,GAEhD3iE,KAAKikE,cAActB,IAGhB3iE,KAAKwjE,MAAMb,IAgBtBuB,QAAS,SAAUtyC,GAEf,IAAIgE,KAEJ,IAAK,IAAI5iB,KAAO4e,EAEZgE,EAAO5iB,GAAOhT,KAAKgkE,OAAOpyC,EAAK5e,IAGnC,OAAO4iB,GASXuuC,UAAW,SAAUxB,GAEb3iE,KAAKwjE,MAAMb,KAEX3iE,KAAKwjE,MAAMb,GAAW,KAEtB3iE,KAAKokE,iBAAiBzB,KAU9B0B,iBAAkB,WAEd,OAAOrkE,KAAKkkE,SAAUI,GAAI9iE,EAAO+iE,QAAQr4C,GAAIoiC,KAAM9sD,EAAO+iE,QAAQp4C,KAAM0H,KAAMryB,EAAO+iE,QAAQv4C,KAAM4H,MAAOpyB,EAAO+iE,QAAQt4C,SAW7H3f,MAAO,WAEH,GAAItM,KAAK+C,KAAKonB,OAAOm1B,SAEjB,OAAO,EAGX,GAAIt/C,KAAKgrC,OAGL,OAAO,EAGX,IAAI2B,EAAQ3sC,KAuBZ,OArBAA,KAAK0jE,WAAa,SAAUhzB,GAExB,OAAO/D,EAAMw2B,eAAezyB,IAGhC1wC,KAAK4jE,SAAW,SAAUlzB,GAEtB,OAAO/D,EAAMy2B,aAAa1yB,IAG9B1wC,KAAK2jE,YAAc,SAAUjzB,GAEzB,OAAO/D,EAAM63B,gBAAgB9zB,IAGjCtgC,OAAO4gC,iBAAiB,UAAWhxC,KAAK0jE,YAAY,GACpDtzD,OAAO4gC,iBAAiB,QAAShxC,KAAK4jE,UAAU,GAChDxzD,OAAO4gC,iBAAiB,WAAYhxC,KAAK2jE,aAAa,GAEtD3jE,KAAKgrC,QAAS,GAEP,GAQX7+B,KAAM,WAEFiE,OAAO6hC,oBAAoB,UAAWjyC,KAAK0jE,YAC3CtzD,OAAO6hC,oBAAoB,QAASjyC,KAAK4jE,UACzCxzD,OAAO6hC,oBAAoB,WAAYjyC,KAAK2jE,aAE5C3jE,KAAK0jE,WAAa,KAClB1jE,KAAK4jE,SAAW,KAChB5jE,KAAK2jE,YAAc,KAEnB3jE,KAAKgrC,QAAS,GASlBxoC,QAAS,WAELxC,KAAKmM,OAELnM,KAAKykE,gBAELzkE,KAAKwjE,MAAM7gE,OAAS,EACpB3C,KAAKsvC,GAAK,GAed20B,cAAe,SAAUtB,GAErB,GAAuB,iBAAZA,EAEP,IAAK,IAAI3vD,KAAO2vD,EAEZ3iE,KAAKyjE,SAASd,EAAQ3vD,KAAQ,OAKlChT,KAAKyjE,SAASd,IAAW,GAUjCyB,iBAAkB,SAAUzB,UAEjB3iE,KAAKyjE,SAASd,IAQzB8B,cAAe,WAEXzkE,KAAKyjE,aAQTp+B,OAAQ,WAIJ,IAFArlC,KAAKsvC,GAAKtvC,KAAKwjE,MAAM7gE,OAEd3C,KAAKsvC,MAEJtvC,KAAKwjE,MAAMxjE,KAAKsvC,KAEhBtvC,KAAKwjE,MAAMxjE,KAAKsvC,IAAIjK,UAYhC89B,eAAgB,SAAUzyB,GAItB,GAFA1wC,KAAK0wC,MAAQA,EAER1wC,KAAK+C,KAAK2jC,MAAMya,SAAYnhD,KAAKmhD,QAAtC,CAKA,IAAInuC,EAAM09B,EAAMoyB,QAGZ9iE,KAAKyjE,SAASzwD,IAEd09B,EAAM+O,iBAGLz/C,KAAKwjE,MAAMxwD,KAEZhT,KAAKwjE,MAAMxwD,GAAO,IAAIxR,EAAOkhE,IAAI1iE,KAAK+C,KAAMiQ,IAGhDhT,KAAKwjE,MAAMxwD,GAAKmwD,eAAezyB,GAE/B1wC,KAAK6jE,GAAK7wD,EAENhT,KAAK66D,gBAEL76D,KAAK66D,eAAer2D,KAAKxE,KAAKwpC,gBAAiBkH,KAWvD8zB,gBAAiB,SAAU9zB,GAEvB1wC,KAAKsjE,WAAa5yB,EAEb1wC,KAAK+C,KAAK2jC,MAAMya,SAAYnhD,KAAKmhD,SAKlCnhD,KAAKujE,iBAELvjE,KAAKujE,gBAAgB/+D,KAAKxE,KAAKwpC,gBAAiBk7B,OAAOC,aAAaj0B,EAAMk0B,UAAWl0B,IAW7F0yB,aAAc,SAAU1yB,GAIpB,GAFA1wC,KAAK0wC,MAAQA,EAER1wC,KAAK+C,KAAK2jC,MAAMya,SAAYnhD,KAAKmhD,QAAtC,CAKA,IAAInuC,EAAM09B,EAAMoyB,QAEZ9iE,KAAKyjE,SAASzwD,IAEd09B,EAAM+O,iBAGLz/C,KAAKwjE,MAAMxwD,KAEZhT,KAAKwjE,MAAMxwD,GAAO,IAAIxR,EAAOkhE,IAAI1iE,KAAK+C,KAAMiQ,IAGhDhT,KAAKwjE,MAAMxwD,GAAKowD,aAAa1yB,GAEzB1wC,KAAK86D,cAEL96D,KAAK86D,aAAat2D,KAAKxE,KAAKwpC,gBAAiBkH,KAUrDpK,MAAO,SAAUof,QAEAn/C,IAATm/C,IAAsBA,GAAO,GAEjC1lD,KAAK0wC,MAAQ,KAIb,IAFA,IAAIhuC,EAAI1C,KAAKwjE,MAAM7gE,OAEZD,KAEC1C,KAAKwjE,MAAM9gE,IAEX1C,KAAKwjE,MAAM9gE,GAAG4jC,MAAMof,IAchCgP,aAAc,SAAUiO,EAAS5/B,GAE7B,OAAI/iC,KAAKwjE,MAAMb,GAEJ3iE,KAAKwjE,MAAMb,GAASjO,aAAa3xB,GAIjC,MAafsgC,WAAY,SAAUV,EAAS5/B,GAE3B,OAAI/iC,KAAKwjE,MAAMb,GAEJ3iE,KAAKwjE,MAAMb,GAASU,WAAWtgC,GAI/B,MAIf+oB,YAAa,SAAU6W,GAEnB,OAAI3iE,KAAKwjE,MAAMb,GAEJ3iE,KAAKwjE,MAAMb,GAAS7W,cAIpB,MAIfC,aAAc,SAAU4W,GAEpB,OAAI3iE,KAAKwjE,MAAMb,GAEJ3iE,KAAKwjE,MAAMb,GAAS5W,eAIpB,MAWfb,OAAQ,SAAUyX,GAEd,OAAI3iE,KAAKwjE,MAAMb,GAEJ3iE,KAAKwjE,MAAMb,GAASzX,OAIpB,OAYnBlkD,OAAOyF,eAAejL,EAAOqjD,SAASviD,UAAW,YAE7C4E,IAAK,WAED,OAAIlH,KAAK0wC,OAAiC,KAAxB1wC,KAAK0wC,MAAMk0B,SAElB,GAEF5kE,KAAKsjE,WAEHoB,OAAOC,aAAa3kE,KAAKsjE,WAAWsB,UAIpC,QAYnB59D,OAAOyF,eAAejL,EAAOqjD,SAASviD,UAAW,WAE7C4E,IAAK,WAED,OAAOlH,KAAKwjE,MAAMxjE,KAAK6jE,OAK/BriE,EAAOqjD,SAASviD,UAAUC,YAAcf,EAAOqjD,SAiB/CrjD,EAAO+iE,SAEHM,EAAG,IAAIC,WAAW,GAGlBC,EAAG,IAAID,WAAW,GAGlBE,EAAG,IAAIF,WAAW,GAGlBG,EAAG,IAAIH,WAAW,GAGlBI,EAAG,IAAIJ,WAAW,GAGlBp0C,EAAG,IAAIo0C,WAAW,GAGlBK,EAAG,IAAIL,WAAW,GAGlBM,EAAG,IAAIN,WAAW,GAGlBO,EAAG,IAAIP,WAAW,GAGlBQ,EAAG,IAAIR,WAAW,GAGlBS,EAAG,IAAIT,WAAW,GAGlBU,EAAG,IAAIV,WAAW,GAGlBW,EAAG,IAAIX,WAAW,GAGlBY,EAAG,IAAIZ,WAAW,GAGlBa,EAAG,IAAIb,WAAW,GAGlBc,EAAG,IAAId,WAAW,GAGlBe,EAAG,IAAIf,WAAW,GAGlBgB,EAAG,IAAIhB,WAAW,GAGlBiB,EAAG,IAAIjB,WAAW,GAGlBkB,EAAG,IAAIlB,WAAW,GAGlBmB,EAAG,IAAInB,WAAW,GAGlBoB,EAAG,IAAIpB,WAAW,GAGlBqB,EAAG,IAAIrB,WAAW,GAGlBsB,EAAG,IAAItB,WAAW,GAGlBuB,EAAG,IAAIvB,WAAW,GAGlBwB,EAAG,IAAIxB,WAAW,GAGlByB,KAAM,IAAIzB,WAAW,GAGrBvoD,IAAK,IAAIuoD,WAAW,GAGpB0B,IAAK,IAAI1B,WAAW,GAGpB2B,MAAO,IAAI3B,WAAW,GAGtB4B,KAAM,IAAI5B,WAAW,GAGrB6B,KAAM,IAAI7B,WAAW,GAGrB8B,IAAK,IAAI9B,WAAW,GAGpB+B,MAAO,IAAI/B,WAAW,GAGtBgC,MAAO,IAAIhC,WAAW,GAGtBiC,KAAM,IAAIjC,WAAW,GAGrBkC,SAAU,GAGVC,SAAU,GAGVC,SAAU,GAGVC,SAAU,GAGVC,SAAU,IAGVC,SAAU,IAGVC,SAAU,IAGVC,SAAU,IAGVC,SAAU,IAGVC,SAAU,IAGVC,gBAAiB,IAGjBC,WAAY,IAGZC,aAAc,IAGdC,gBAAiB,IAGjBC,eAAgB,IAGhBC,cAAe,IAGfC,GAAI,IAGJC,GAAI,IAGJC,GAAI,IAGJC,GAAI,IAGJC,GAAI,IAGJC,GAAI,IAGJC,GAAI,IAGJC,GAAI,IAGJC,GAAI,IAGJC,IAAK,IAGLC,IAAK,IAGLC,IAAK,IAGLC,IAAK,IAGLC,IAAK,IAGLC,IAAK,IAGLC,MAAO,IAGPC,OAAQ,IAGRC,MAAO,IAGPC,WAAY,IAGZC,OAAQ,IAGRC,cAAe,IAGfC,MAAO,IAGPC,aAAc,IAGdC,eAAgB,IAGhBC,eAAgB,IAGhBC,OAAQ,IAGRC,UAAW,EAGXC,IAAK,EAGLC,MAAO,GAGPC,MAAO,GAGPC,MAAO,GAGPC,QAAS,GAGTC,IAAK,GAGLC,UAAW,GAGXC,IAAK,GAGLC,SAAU,GAGVC,QAAS,GAGTC,UAAW,GAGXC,IAAK,GAGLC,KAAM,GAGNv+C,KAAM,GAGNE,GAAI,GAGJD,MAAO,GAGPE,KAAM,GAGNq+C,KAAM,GAGNC,MAAO,GAGPC,OAAQ,GAGRC,OAAQ,GAGRC,KAAM,GAGNC,SAAU,KAId,IAAK,IAAI73D,KAAOxR,EAAO+iE,QAEf/iE,EAAO+iE,QAAQhzC,eAAeve,KAASA,EAAI83D,MAAM,WAEjDtpE,EAAOqjD,SAAS7xC,GAAOxR,EAAO+iE,QAAQvxD,IAU9CxR,EAAOupE,UAAY,aAanBvpE,EAAOupE,UAAUC,MAAQ,aAEzBxpE,EAAOupE,UAAUC,MAAM1oE,WAenBwzB,OAEI5uB,IAAK,WAED,OAAO1F,EAAOkC,KAAKunE,UAAUzpE,EAAOkC,KAAKw5B,SAASl9B,KAAKgB,YAG3DmG,IAAK,SAAUC,GAEXpH,KAAKgB,SAAWQ,EAAOkC,KAAKizB,SAASn1B,EAAOkC,KAAKunE,UAAU7jE,OAkBvE5F,EAAOupE,UAAUG,UAAY,aAE7B1pE,EAAOupE,UAAUG,UAAU5oE,WAiBvB6oE,KAAM,SAAUj5C,EAAMk5C,EAAWC,EAAMC,GAEnC,GAAItrE,KAAKurE,WAEL,OAAOvrE,KAAKurE,WAAWJ,KAAKj5C,EAAMk5C,EAAWC,EAAMC,KAkB/D9pE,EAAOupE,UAAUS,SAAW,aAE5BhqE,EAAOupE,UAAUS,SAASlpE,WAatBmpE,UAAU,EASVC,UAEIxkE,IAAK,WASD,OAPKlH,KAAKyrE,UAAazrE,KAAK2rE,mBAExB3rE,KAAKgC,QAAQuzB,SAASv1B,KAAKkK,aAC3BlK,KAAKgC,QAAQ+B,GAAK/D,KAAK+C,KAAK+X,OAAO7D,KAAKlT,EACxC/D,KAAKgC,QAAQgC,GAAKhE,KAAK+C,KAAK+X,OAAO7D,KAAKjT,GAGrChE,KAAK+C,KAAKE,MAAM6X,OAAO7D,KAAKyf,WAAW12B,KAAKgC,YAkB/DR,EAAOupE,UAAUa,OAAS,aAE1BpqE,EAAOupE,UAAUa,OAAOtpE,WAUpBqiB,SAEIzd,IAAK,WAED,OAAOlH,KAAK2G,OAAO5C,EAAI/D,KAAKpC,QAapCgnB,SAEI1d,IAAK,WAED,OAAOlH,KAAK2G,OAAO3C,EAAIhE,KAAKnC,SAWpCk6B,SAEI7wB,IAAK,WAED,OAAQlH,KAAK+D,EAAI/D,KAAK2kB,QAAyB,GAAb3kB,KAAKpC,OAG3CuJ,IAAK,SAAUC,GAEXpH,KAAK+D,EAAKqD,EAAQpH,KAAK2kB,QAAyB,GAAb3kB,KAAKpC,QAWhDo6B,SAEI9wB,IAAK,WAED,OAAQlH,KAAKgE,EAAIhE,KAAK4kB,QAA0B,GAAd5kB,KAAKnC,QAG3CsJ,IAAK,SAAUC,GAEXpH,KAAKgE,EAAKoD,EAAQpH,KAAK4kB,QAA0B,GAAd5kB,KAAKnC,SAWhDg2B,MAEI3sB,IAAK,WAED,OAAOlH,KAAK+D,EAAI/D,KAAK2kB,SAGzBxd,IAAK,SAAUC,GAEXpH,KAAK+D,EAAIqD,EAAQpH,KAAK2kB,UAW9BiP,OAEI1sB,IAAK,WAED,OAAQlH,KAAK+D,EAAI/D,KAAKpC,MAASoC,KAAK2kB,SAGxCxd,IAAK,SAAUC,GAEXpH,KAAK+D,EAAIqD,EAASpH,KAAU,MAAIA,KAAK2kB,UAW7C4R,KAEIrvB,IAAK,WAED,OAAOlH,KAAKgE,EAAIhE,KAAK4kB,SAGzBzd,IAAK,SAAUC,GAEXpH,KAAKgE,EAAIoD,EAAQpH,KAAK4kB,UAW9B4R,QAEItvB,IAAK,WAED,OAAQlH,KAAKgE,EAAIhE,KAAKnC,OAAUmC,KAAK4kB,SAGzCzd,IAAK,SAAUC,GAEXpH,KAAKgE,EAAIoD,EAASpH,KAAW,OAAIA,KAAK4kB,UA4C9C0wB,QAAS,SAAUu2B,EAAWjrE,EAAU+jB,EAASC,GAK7C,YAHgBre,IAAZoe,IAAyBA,EAAU,QACvBpe,IAAZqe,IAAyBA,EAAU,GAE/BhkB,GAEJ,QACA,KAAKY,EAAOstB,SACR9uB,KAAK6zB,KAAOg4C,EAAUh4C,KAAOlP,EAC7B3kB,KAAKu2B,IAAMs1C,EAAUt1C,IAAM3R,EAC3B,MAEJ,KAAKpjB,EAAOutB,WACR/uB,KAAK+3B,QAAU8zC,EAAU9zC,QAAUpT,EACnC3kB,KAAKu2B,IAAMs1C,EAAUt1C,IAAM3R,EAC3B,MAEJ,KAAKpjB,EAAOwtB,UACRhvB,KAAK4zB,MAAQi4C,EAAUj4C,MAAQjP,EAC/B3kB,KAAKu2B,IAAMs1C,EAAUt1C,IAAM3R,EAC3B,MAEJ,KAAKpjB,EAAO0tB,YACRlvB,KAAK6zB,KAAOg4C,EAAUh4C,KAAOlP,EAC7B3kB,KAAKg4B,QAAU6zC,EAAU7zC,QAAUpT,EACnC,MAEJ,KAAKpjB,EAAO4tB,OACRpvB,KAAK+3B,QAAU8zC,EAAU9zC,QAAUpT,EACnC3kB,KAAKg4B,QAAU6zC,EAAU7zC,QAAUpT,EACnC,MAEJ,KAAKpjB,EAAO8tB,aACRtvB,KAAK4zB,MAAQi4C,EAAUj4C,MAAQjP,EAC/B3kB,KAAKg4B,QAAU6zC,EAAU7zC,QAAUpT,EACnC,MAEJ,KAAKpjB,EAAOguB,YACRxvB,KAAK6zB,KAAOg4C,EAAUh4C,KAAOlP,EAC7B3kB,KAAKw2B,OAASq1C,EAAUr1C,OAAS5R,EACjC,MAEJ,KAAKpjB,EAAOiuB,cACRzvB,KAAK+3B,QAAU8zC,EAAU9zC,QAAUpT,EACnC3kB,KAAKw2B,OAASq1C,EAAUr1C,OAAS5R,EACjC,MAEJ,KAAKpjB,EAAOkuB,aACR1vB,KAAK4zB,MAAQi4C,EAAUj4C,MAAQjP,EAC/B3kB,KAAKw2B,OAASq1C,EAAUr1C,OAAS5R,EAIzC,OAAO5kB,MA2CX8rE,QAAS,SAAUzqE,EAAQT,EAAU+jB,EAASC,GAK1C,YAHgBre,IAAZoe,IAAyBA,EAAU,QACvBpe,IAAZqe,IAAyBA,EAAU,GAE/BhkB,GAEJ,QACA,KAAKY,EAAOstB,SACR9uB,KAAK6zB,KAAOxyB,EAAOwyB,KAAOlP,EAC1B3kB,KAAKw2B,OAASn1B,EAAOk1B,IAAM3R,EAC3B,MAEJ,KAAKpjB,EAAOutB,WACR/uB,KAAK+3B,QAAU12B,EAAO02B,QAAUpT,EAChC3kB,KAAKw2B,OAASn1B,EAAOk1B,IAAM3R,EAC3B,MAEJ,KAAKpjB,EAAOwtB,UACRhvB,KAAK4zB,MAAQvyB,EAAOuyB,MAAQjP,EAC5B3kB,KAAKw2B,OAASn1B,EAAOk1B,IAAM3R,EAC3B,MAEJ,KAAKpjB,EAAOytB,SACRjvB,KAAK4zB,MAAQvyB,EAAOwyB,KAAOlP,EAC3B3kB,KAAKu2B,IAAMl1B,EAAOk1B,IAAM3R,EACxB,MAEJ,KAAKpjB,EAAO0tB,YACRlvB,KAAK4zB,MAAQvyB,EAAOwyB,KAAOlP,EAC3B3kB,KAAKg4B,QAAU32B,EAAO22B,QAAUpT,EAChC,MAEJ,KAAKpjB,EAAO2tB,YACRnvB,KAAK4zB,MAAQvyB,EAAOwyB,KAAOlP,EAC3B3kB,KAAKw2B,OAASn1B,EAAOm1B,OAAS5R,EAC9B,MAEJ,KAAKpjB,EAAO6tB,UACRrvB,KAAK6zB,KAAOxyB,EAAOuyB,MAAQjP,EAC3B3kB,KAAKu2B,IAAMl1B,EAAOk1B,IAAM3R,EACxB,MAEJ,KAAKpjB,EAAO8tB,aACRtvB,KAAK6zB,KAAOxyB,EAAOuyB,MAAQjP,EAC3B3kB,KAAKg4B,QAAU32B,EAAO22B,QAAUpT,EAChC,MAEJ,KAAKpjB,EAAO+tB,aACRvvB,KAAK6zB,KAAOxyB,EAAOuyB,MAAQjP,EAC3B3kB,KAAKw2B,OAASn1B,EAAOm1B,OAAS5R,EAC9B,MAEJ,KAAKpjB,EAAOguB,YACRxvB,KAAK6zB,KAAOxyB,EAAOwyB,KAAOlP,EAC1B3kB,KAAKu2B,IAAMl1B,EAAOm1B,OAAS5R,EAC3B,MAEJ,KAAKpjB,EAAOiuB,cACRzvB,KAAK+3B,QAAU12B,EAAO02B,QAAUpT,EAChC3kB,KAAKu2B,IAAMl1B,EAAOm1B,OAAS5R,EAC3B,MAEJ,KAAKpjB,EAAOkuB,aACR1vB,KAAK4zB,MAAQvyB,EAAOuyB,MAAQjP,EAC5B3kB,KAAKu2B,IAAMl1B,EAAOm1B,OAAS5R,EAInC,OAAO5kB,OAOfwB,EAAO8wC,MAAMhwC,UAAUgzC,QAAU9zC,EAAOupE,UAAUa,OAAOtpE,UAAUgzC,QACnE9zC,EAAO8wC,MAAMhwC,UAAUwpE,QAAUtqE,EAAOupE,UAAUa,OAAOtpE,UAAUwpE,QAanEtqE,EAAOupE,UAAUgB,WAAa,aAY9BvqE,EAAOupE,UAAUgB,WAAWzpE,UAAUszC,WAAa,WAO/C,OALI51C,KAAKqB,QAAUrB,KAAKqB,OAAOqI,iBAE3B1J,KAAKqB,OAAOqI,gBAAgB1J,MAGzBA,MAaXwB,EAAOupE,UAAUgB,WAAWzpE,UAAUwzC,WAAa,WAO/C,OALI91C,KAAKqB,QAAUrB,KAAKqB,OAAOsI,iBAE3B3J,KAAKqB,OAAOsI,gBAAgB3J,MAGzBA,MAaXwB,EAAOupE,UAAUgB,WAAWzpE,UAAUyzC,OAAS,WAO3C,OALI/1C,KAAKqB,QAELrB,KAAKqB,OAAO00C,OAAO/1C,MAGhBA,MAaXwB,EAAOupE,UAAUgB,WAAWzpE,UAAU0zC,SAAW,WAO7C,OALIh2C,KAAKqB,QAELrB,KAAKqB,OAAO20C,SAASh2C,MAGlBA,MAcXwB,EAAOupE,UAAUiB,KAAO,aAUxBxqE,EAAOupE,UAAUiB,KAAKC,QAAU,SAAUC,GAGtC1qE,EAAOkwB,MAAM4C,eAAet0B,KAAMwB,EAAOupE,UAAUiB,KAAK1pE,WAExDtC,KAAKksE,cAEL,IAAK,IAAIxpE,EAAI,EAAGA,EAAIwpE,EAAWvpE,OAAQD,IACvC,CACI,IAAIwR,EAAKg4D,EAAWxpE,GAChB8xB,GAAU,EAEH,YAAPtgB,IAEAsgB,GAAU,GAGdhzB,EAAOkwB,MAAM4C,eAAet0B,KAAMwB,EAAOupE,UAAU72D,GAAI5R,UAAWkyB,GAElEx0B,KAAKksE,WAAWh4D,IAAM,IAY9B1S,EAAOupE,UAAUiB,KAAKt6D,KAAO,SAAU3O,EAAMgB,EAAGC,EAAGgP,EAAK3F,GAEpDrN,KAAK+C,KAAOA,EACZ/C,KAAKgT,IAAMA,EACXhT,KAAKoU,QAELpU,KAAKY,SAASuG,IAAIpD,EAAGC,GACrBhE,KAAKiD,MAAQ,IAAIzB,EAAOX,MAAMkD,EAAGC,GACjChE,KAAKmsE,iBAAmB,IAAI3qE,EAAOX,MAAMkD,EAAGC,GAE5ChE,KAAKw0C,OAAS,IAAIhzC,EAAO4qE,OAAOpsE,MAEhCA,KAAKgC,QAAU,IAAIR,EAAOS,UAEtBjC,KAAKksE,WAAWG,cAIhBrsE,KAAKmyC,KAAOnyC,KAAKmyC,MAGjBnyC,KAAKksE,WAAWhB,YAEhBlrE,KAAKurE,WAAa,IAAI/pE,EAAO8qE,iBAAiBtsE,OAG9CA,KAAKksE,WAAWK,aAAuB,OAARv5D,GAE/BhT,KAAKq5C,YAAYrmC,EAAK3F,GAGtBrN,KAAKksE,WAAWM,gBAEhBxsE,KAAK6zC,aAAe,IAAIryC,EAAOX,MAAMkD,EAAGC,KAIhDxC,EAAOupE,UAAUiB,KAAKtnE,UAAY,WAE9B,OAAI1E,KAAK+yC,gBAEL/yC,KAAKwC,WACE,IAGXxC,KAAKmsE,iBAAiBhlE,IAAInH,KAAKiD,MAAMc,EAAG/D,KAAKiD,MAAMe,GACnDhE,KAAKysE,iBAAmBzsE,KAAKgB,SAExBhB,KAAKkN,QAAWlN,KAAKqB,OAAO6L,QAMjClN,KAAKiD,MAAMqyB,MAAMt1B,KAAK+C,KAAK+X,OAAO/W,EAAI/D,KAAKuB,eAAe+B,GAAItD,KAAK+C,KAAK+X,OAAO9W,EAAIhE,KAAKuB,eAAegC,IAEnGvD,KAAKkB,UAELlB,KAAKm4C,cAAgBn4C,KAAK+C,KAAKuX,MAAMo1B,wBAGrC1vC,KAAKurE,YAELvrE,KAAKurE,WAAWlmC,SAGhBrlC,KAAKmyC,MAELnyC,KAAKmyC,KAAKztC,YAGd1E,KAAK0sE,qBAEE,IAvBH1sE,KAAKm4C,eAAiB,GACf,KAyBf32C,EAAOupE,UAAUiB,KAAK1pE,WAMlBS,KAAM,KAQNmvB,KAAM,GAUN9d,QAOA83D,cAUA92D,EAAG,EAQHo/B,YAAQjuC,EAQRglE,gBAAYhlE,EAUZyM,IAAK,GAQL/P,MAAO,KAOPmnC,OAAO,EAOP+hC,iBAAkB,KAOlBM,iBAAkB,EAQlBt0B,cAAe,EAQfw0B,OAAO,EAWP55B,gBAAgB,EAMhB/wC,QAAS,KAMT4qE,SAAS,EAaT1/D,QAEIhG,IAAK,WAED,OAAOlH,KAAK4sE,SAGhBzlE,IAAK,SAAUC,GAEPA,GAEApH,KAAK4sE,SAAU,EAEX5sE,KAAKmyC,MAAQnyC,KAAKmyC,KAAK3+B,OAAShS,EAAOkxC,QAAQm6B,MAE/C7sE,KAAKmyC,KAAK1D,aAGdzuC,KAAKkB,SAAU,IAIflB,KAAK4sE,SAAU,EAEX5sE,KAAKmyC,MAAQnyC,KAAKmyC,KAAK3+B,OAAShS,EAAOkxC,QAAQm6B,MAE/C7sE,KAAKmyC,KAAK26B,kBAGd9sE,KAAKkB,SAAU,KAY3BwrE,kBAAmB,WAKf,IAFA,IAAIhqE,EAAI,EAEDA,EAAI1C,KAAKyC,SAASE,QACzB,CACI,IAAI+F,EAAQ1I,KAAKyC,SAASC,GAE1BgG,EAAMhE,YAEF1E,OAAS0I,EAAMrH,QAEfqB,MAYZ2iC,OAAQ,aAWR+B,WAAY,WAEJpnC,KAAK+sE,cAEL/sE,KAAKgT,IAAI7N,SAGTnF,KAAKksE,WAAWG,aAEhB7qE,EAAOupE,UAAUsB,YAAYjlC,WAAW5iC,KAAKxE,MAG7CA,KAAKksE,WAAWM,eAEhBhrE,EAAOupE,UAAUyB,cAAcplC,WAAW5iC,KAAKxE,MAGnD,IAAK,IAAI0C,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAG0kC,eAkB7B5lC,EAAOupE,UAAUiC,KAAO,aAExBxrE,EAAOupE,UAAUiC,KAAK1qE,WASlB2qE,SAAU,KAMVC,MAAO,KAmBPt/D,KAAM,SAAUktB,EAAM5G,QAEL3tB,IAAT2tB,IAAsBA,GAAO,GAE7B4G,GAEI5G,GAA0B,OAAlBl0B,KAAKitE,SAEbjtE,KAAKitE,SAAS33C,MAAMwF,EAAK/2B,EAAG+2B,EAAK92B,EAAG82B,EAAKl9B,MAAOk9B,EAAKj9B,QAEhDq2B,GAA0B,OAAlBl0B,KAAKitE,SAElBjtE,KAAKitE,SAAW,IAAIzrE,EAAOS,UAAU64B,EAAK/2B,EAAG+2B,EAAK92B,EAAG82B,EAAKl9B,MAAOk9B,EAAKj9B,QAItEmC,KAAKitE,SAAWnyC,EAGpB96B,KAAKmtE,eAILntE,KAAKktE,MAAQ,KACbltE,KAAKitE,SAAW,KAEhBjtE,KAAKotE,eAUbD,WAAY,WAER,GAAKntE,KAAKitE,SAAV,CAKA,IAAII,EAAOrtE,KAAKjC,QAAQ6P,KAAK7J,EACzBupE,EAAOttE,KAAKjC,QAAQ6P,KAAK5J,EACzBupE,EAAOvtE,KAAKjC,QAAQ6P,KAAKhQ,MACzB4vE,EAAOxtE,KAAKjC,QAAQ6P,KAAK/P,OAE7BmC,KAAKktE,MAAQ1rE,EAAOS,UAAUmyB,MAAMp0B,KAAKitE,SAAUjtE,KAAKktE,OACxDltE,KAAKktE,MAAMnpE,GAAK/D,KAAKytE,OAAO1pE,EAC5B/D,KAAKktE,MAAMlpE,GAAKhE,KAAKytE,OAAOzpE,EAE5B,IAAIkL,EAAKxL,KAAKuC,IAAIjG,KAAKytE,OAAO1pE,EAAG/D,KAAKktE,MAAMnpE,GACxCoL,EAAKzL,KAAKuC,IAAIjG,KAAKytE,OAAOzpE,EAAGhE,KAAKktE,MAAMlpE,GACxCwK,EAAK9K,KAAK81B,IAAIx5B,KAAKytE,OAAO75C,MAAO5zB,KAAKktE,MAAMt5C,OAAS1kB,EACrDT,EAAK/K,KAAK81B,IAAIx5B,KAAKytE,OAAOj3C,OAAQx2B,KAAKktE,MAAM12C,QAAUrnB,EAE3DnP,KAAKjC,QAAQ6P,KAAK7J,EAAImL,EACtBlP,KAAKjC,QAAQ6P,KAAK5J,EAAImL,EACtBnP,KAAKjC,QAAQ6P,KAAKhQ,MAAQ4Q,EAC1BxO,KAAKjC,QAAQ6P,KAAK/P,OAAS4Q,EAE3BzO,KAAKjC,QAAQsP,MAAMzP,MAAQ8F,KAAK81B,IAAIhrB,EAAIxO,KAAKitE,SAASrvE,OACtDoC,KAAKjC,QAAQsP,MAAMxP,OAAS6F,KAAK81B,IAAI/qB,EAAIzO,KAAKitE,SAASpvE,QAEvDmC,KAAKjC,QAAQH,MAAQoC,KAAKjC,QAAQsP,MAAMzP,MACxCoC,KAAKjC,QAAQF,OAASmC,KAAKjC,QAAQsP,MAAMxP,OAEzCmC,KAAKjC,QAAQotB,aAEK,WAAdnrB,KAAK+M,MAAsBsgE,IAASn+D,GAAMo+D,IAASn+D,GAAMo+D,IAAS/+D,GAAMg/D,IAAS/+D,IAEjFzO,KAAKjC,QAAQ+Q,gBAAiB,MAiB1CtN,EAAOupE,UAAU2C,MAAQ,aAEzBlsE,EAAOupE,UAAU2C,MAAMprE,WAUnBqrE,QAEIzmE,IAAK,WAED,OAAOlH,KAAKiD,MAAMc,EAAI/D,KAAKmsE,iBAAiBpoE,IAapDylD,QAEItiD,IAAK,WAED,OAAOlH,KAAKiD,MAAMe,EAAIhE,KAAKmsE,iBAAiBnoE,IAWpD4pE,QAEI1mE,IAAK,WAED,OAAOlH,KAAKgB,SAAWhB,KAAKysE,oBAkBxCjrE,EAAOupE,UAAU8C,QAAU,aAE3BrsE,EAAOupE,UAAU8C,QAAQvrE,WAQrB+3C,cAAc,EAed73C,QAAS,SAAUo4C,EAAiBJ,GAEhC,GAAkB,OAAdx6C,KAAK+C,OAAiB/C,KAAKq6C,aAA/B,MAEwB9zC,IAApBq0C,IAAiCA,GAAkB,QAChCr0C,IAAnBi0C,IAAgCA,GAAiB,GAErDx6C,KAAKq6C,cAAe,EAEhBr6C,KAAKw0C,QAELx0C,KAAKw0C,OAAOs5B,mBAAmB9tE,MAG/BA,KAAKqB,SAEDrB,KAAKqB,kBAAkBG,EAAO8wC,MAE9BtyC,KAAKqB,OAAO+a,OAAOpc,MAInBA,KAAKqB,OAAOwH,YAAY7I,OAI5BA,KAAK0mC,OAEL1mC,KAAK0mC,MAAMlkC,UAGXxC,KAAKurE,YAELvrE,KAAKurE,WAAW/oE,UAGhBxC,KAAKmyC,MAELnyC,KAAKmyC,KAAK3vC,UAGVxC,KAAKw0C,QAELx0C,KAAKw0C,OAAOhyC,UAGhBxC,KAAK+C,KAAK+jC,OAAOinC,WAAW/tE,MAE5B,IAAI0C,EAAI1C,KAAKyC,SAASE,OAEtB,GAAIi4C,EAEA,KAAOl4C,KAEH1C,KAAKyC,SAASC,GAAGF,QAAQo4C,QAK7B,KAAOl4C,KAEH1C,KAAK6I,YAAY7I,KAAKyC,SAASC,IAInC1C,KAAKktE,QAELltE,KAAKktE,MAAQ,KACbltE,KAAKitE,SAAW,MAGhBjtE,KAAKytE,SAELztE,KAAKytE,OAAS,MAGdjsE,EAAOwsE,OAAShuE,KAAKgT,eAAexR,EAAOwsE,OAE3ChuE,KAAKgT,IAAIi7D,eAAe7xD,OAAOpc,KAAKkuE,YAAaluE,MAGjDwB,EAAO2sE,YAAcnuE,KAAKouE,UAE1BpuE,KAAKouE,YAGTpuE,KAAK6yC,OAAQ,EACb7yC,KAAKkN,QAAS,EACdlN,KAAKkB,SAAU,EAEflB,KAAK0G,QAAU,KACf1G,KAAKuH,KAAO,KACZvH,KAAK+C,KAAO,KAEZ/C,KAAKoU,QAGLpU,KAAKoB,YAAa,EAEdpB,KAAKuE,oBAELvE,KAAKuE,kBAAoB,KACzBvE,KAAKyE,yBAA2B,MAIpCzE,KAAKmB,QAAU,KACfnB,KAAKqB,OAAS,KACdrB,KAAKsa,MAAQ,KACbta,KAAKuB,eAAiB,KACtBvB,KAAK6B,WAAa,KAClB7B,KAAKgC,QAAU,KACfhC,KAAKkC,eAAiB,KACtBlC,KAAKmC,MAAQ,KAEbnC,KAAK4C,uBACL5C,KAAK6C,wBAGD23C,GAEAx6C,KAAKjC,QAAQyE,SAAQ,GAGzBxC,KAAKq6C,cAAe,EACpBr6C,KAAK+yC,gBAAiB,KAkC9BvxC,EAAO4qE,OAAS,SAAU7oD,GAKtBvjB,KAAKqB,OAASkiB,GAKlB/hB,EAAO4qE,OAAO9pE,WAOVE,QAAS,WAELxC,KAAKquE,QAAU,KAEXruE,KAAKsuE,YAActuE,KAAKsuE,WAAW5hC,UACnC1sC,KAAKuuE,iBAAmBvuE,KAAKuuE,gBAAgB7hC,UAC7C1sC,KAAKwuE,qBAAuBxuE,KAAKwuE,oBAAoB9hC,UACrD1sC,KAAKyuE,WAAazuE,KAAKyuE,UAAU/hC,UACjC1sC,KAAK0uE,YAAc1uE,KAAK0uE,WAAWhiC,UACnC1sC,KAAK2uE,gBAAkB3uE,KAAK2uE,eAAejiC,UAC3C1sC,KAAK4uE,gBAAkB5uE,KAAK4uE,eAAeliC,UAE3C1sC,KAAK6uE,cAAgB7uE,KAAK6uE,aAAaniC,UACvC1sC,KAAK8uE,aAAe9uE,KAAK8uE,YAAYpiC,UACrC1sC,KAAK+uE,cAAgB/uE,KAAK+uE,aAAariC,UACvC1sC,KAAKgvE,YAAchvE,KAAKgvE,WAAWtiC,UACnC1sC,KAAKivE,cAAgBjvE,KAAKivE,aAAaviC,UACvC1sC,KAAKkvE,eAAiBlvE,KAAKkvE,cAAcxiC,UACzC1sC,KAAKmvE,aAAenvE,KAAKmvE,YAAYziC,UAErC1sC,KAAKovE,mBAAqBpvE,KAAKovE,kBAAkB1iC,UACjD1sC,KAAKqvE,sBAAwBrvE,KAAKqvE,qBAAqB3iC,UACvD1sC,KAAKsvE,kBAAoBtvE,KAAKsvE,iBAAiB5iC,WAcvDioB,eAAgB,KAWhBE,mBAAoB,KAWpBnhB,UAAW,KAYX67B,SAAU,KAWVC,UAAW,KAWXC,cAAe,KAWfC,cAAe,KAYfC,YAAa,KAYbC,WAAY,KAaZC,YAAa,KAcbC,UAAW,KAeXC,YAAa,KAiBbzY,aAAc,KAYd0Y,WAAY,KAaZC,iBAAkB,KAalBC,oBAAqB,KAarBC,gBAAiB,MAIrB3uE,EAAO4qE,OAAO9pE,UAAUC,YAAcf,EAAO4qE,OAO7C,IAAK,IAAIgE,KAAQ5uE,EAAO4qE,OAAO9pE,UAEtBd,EAAO4qE,OAAO9pE,UAAUivB,eAAe6+C,IACjB,IAAvBA,EAAK/mE,QAAQ,OACqB,OAAlC7H,EAAO4qE,OAAO9pE,UAAU8tE,IAK5B,SAAWA,EAAMC,GAEb,aAGArpE,OAAOyF,eAAejL,EAAO4qE,OAAO9pE,UAAW8tE,GAC3ClpE,IAAK,WAED,OAAOlH,KAAKqwE,KAAarwE,KAAKqwE,GAAW,IAAI7uE,EAAO+gC,WAK5D/gC,EAAO4qE,OAAO9pE,UAAU8tE,EAAO,aAAe,WAE1C,OAAOpwE,KAAKqwE,GAAWrwE,KAAKqwE,GAAS1qC,SAASpgC,MAAMvF,KAAKqwE,GAAU7/C,WAAa,MAfxF,CAiBG4/C,EAAM,IAAMA,GAenB5uE,EAAOupE,UAAUyB,cAAgB,aAQjChrE,EAAOupE,UAAUyB,cAAcplC,WAAa,WAEpCpnC,KAAK4zC,gBAEL5zC,KAAKY,SAASmD,GAAK/D,KAAK+C,KAAK+X,OAAO7D,KAAKlT,EAAI/D,KAAK6zC,aAAa9vC,GAAK/D,KAAK+C,KAAK+X,OAAOha,MAAMiD,EAC3F/D,KAAKY,SAASoD,GAAKhE,KAAK+C,KAAK+X,OAAO7D,KAAKjT,EAAIhE,KAAK6zC,aAAa7vC,GAAKhE,KAAK+C,KAAK+X,OAAOha,MAAMkD,IAInGxC,EAAOupE,UAAUyB,cAAclqE,WAM3BguE,gBAAgB,EAkBhB18B,eAEI1sC,IAAK,WAED,OAAOlH,KAAKswE,gBAGhBnpE,IAAK,SAAUC,GAEPA,GAEApH,KAAKswE,gBAAiB,EACtBtwE,KAAK6zC,aAAa1sC,IAAInH,KAAK+D,EAAG/D,KAAKgE,IAInChE,KAAKswE,gBAAiB,IAYlCz8B,aAAc,IAAIryC,EAAOX,OAiB7BW,EAAOupE,UAAUwF,OAAS,aAE1B/uE,EAAOupE,UAAUwF,OAAOjuE,WAUpBkuE,OAAQ,EASRC,UAAW,IAWXC,OAAQ,SAAUz5B,GAYd,OAVIj3C,KAAK6yC,QAEL7yC,KAAKwwE,QAAUv5B,EAEXj3C,KAAKwwE,QAAU,GAEfxwE,KAAKq3C,QAINr3C,MAWX2wE,UAAW,SAAU15B,GASjB,OAPAj3C,KAAKwwE,OAASv5B,EAEVj3C,KAAKwwE,OAASxwE,KAAKywE,YAEnBzwE,KAAKwwE,OAASxwE,KAAKywE,WAGhBzwE,MAUX4wE,KAAM,SAAU35B,GAYZ,OAVIj3C,KAAK6yC,QAEL7yC,KAAKwwE,QAAUv5B,EAEXj3C,KAAKwwE,OAASxwE,KAAKywE,YAEnBzwE,KAAKwwE,OAASxwE,KAAKywE,YAIpBzwE,OAgBfwB,EAAOupE,UAAU8F,SAAW,aAE5BrvE,EAAOupE,UAAU8F,SAASvuE,WAYtBopE,UAEIxkE,IAAK,WAED,OAAOlH,KAAK+C,KAAKE,MAAM6X,OAAO7D,KAAKyf,WAAW12B,KAAKgC,YAkB/DR,EAAOupE,UAAU+F,aAAe,aAEhCtvE,EAAOupE,UAAU+F,aAAaxuE,WAU1BokC,MAAO,KAkBP6N,cAEIrtC,IAAK,WAED,OAAQlH,KAAK0mC,OAAS1mC,KAAK0mC,MAAMya,SAGrCh6C,IAAK,SAAUC,GAEPA,EAEmB,OAAfpH,KAAK0mC,OAEL1mC,KAAK0mC,MAAQ,IAAIllC,EAAOywD,aAAajyD,MACrCA,KAAK0mC,MAAMp6B,SAENtM,KAAK0mC,QAAU1mC,KAAK0mC,MAAMya,SAE/BnhD,KAAK0mC,MAAMp6B,QAIftM,KAAK0mC,OAAS1mC,KAAK0mC,MAAMya,SAEzBnhD,KAAK0mC,MAAMv6B,UAqB3B3K,EAAOupE,UAAUgG,QAAU,aAQ3BvvE,EAAOupE,UAAUgG,QAAQrsE,UAAY,WAEjC,GAAI1E,KAAK+yC,eAGL,OADA/yC,KAAKwC,WACE,EAIX,GAAIxC,KAAKyrE,UAAYzrE,KAAK2rE,iBAC1B,CAMI,GALA3rE,KAAKgC,QAAQuzB,SAASv1B,KAAKkK,aAE3BlK,KAAKgC,QAAQ+B,GAAK/D,KAAK+C,KAAK+X,OAAO7D,KAAKlT,EACxC/D,KAAKgC,QAAQgC,GAAKhE,KAAK+C,KAAK+X,OAAO7D,KAAKjT,EAEpChE,KAAKyrE,SAGL,GAAIzrE,KAAK+C,KAAKE,MAAM6X,OAAO7D,KAAKyf,WAAW12B,KAAKgC,SAE5ChC,KAAKoB,YAAa,EAClBpB,KAAK+C,KAAKE,MAAM6X,OAAOsnB,mBAMvB,GAFApiC,KAAKoB,YAAa,EAEdpB,KAAKgxE,sBAGL,OADAhxE,KAAKq3C,QACE,EAKnB,GAAIr3C,KAAK2rE,iBAGL,GAAI3rE,KAAKixE,mBAAqBjxE,KAAK+C,KAAKE,MAAM6B,OAAO4xB,WAAW12B,KAAKgC,SAEjEhC,KAAKixE,mBAAoB,EACzBjxE,KAAKw0C,OAAO08B,uBAAuBlxE,WAElC,IAAKA,KAAKixE,oBAAsBjxE,KAAK+C,KAAKE,MAAM6B,OAAO4xB,WAAW12B,KAAKgC,WAGxEhC,KAAKixE,mBAAoB,EACzBjxE,KAAKw0C,OAAO28B,uBAAuBnxE,MAE/BA,KAAKoxE,iBAGL,OADApxE,KAAKq3C,QACE,EAMvB,OAAO,GAGX71C,EAAOupE,UAAUgG,QAAQzuE,WAmBrBqpE,kBAAkB,EAQlByF,iBAAiB,EASjBJ,uBAAuB,EAMvBC,mBAAmB,EAQnBI,SAEInqE,IAAK,WAED,OAAOlH,KAAK+C,KAAKE,MAAM6B,OAAO4xB,WAAW12B,KAAKkK,gBAkB1D1I,EAAOupE,UAAUuG,SAAW,aAQ5B9vE,EAAOupE,UAAUuG,SAAS5sE,UAAY,WAElC,OAAI1E,KAAK+yC,gBAEL/yC,KAAKwC,WACE,KAGPxC,KAAKuxE,SAAW,IAEhBvxE,KAAKuxE,UAAYvxE,KAAK+C,KAAK0iC,KAAKC,MAE5B1lC,KAAKuxE,UAAY,MAEjBvxE,KAAKq3C,QACE,IAOnB71C,EAAOupE,UAAUuG,SAAShvE,WAatBuwC,OAAO,EAeP0+B,SAAU,EAaV/5B,OAAQ,SAAUg5B,GAkBd,YAhBejqE,IAAXiqE,IAAwBA,EAAS,KAErCxwE,KAAK6yC,OAAQ,EACb7yC,KAAKkN,QAAS,EACdlN,KAAKkB,SAAU,EAEe,mBAAnBlB,KAAK2wE,WAEZ3wE,KAAK2wE,UAAUH,GAGfxwE,KAAKw0C,QAELx0C,KAAKw0C,OAAOg9B,mBAAmBxxE,MAG5BA,MAgBXq3C,KAAM,WAWF,OATAr3C,KAAK6yC,OAAQ,EACb7yC,KAAKkN,QAAS,EACdlN,KAAKkB,SAAU,EAEXlB,KAAKw0C,QAELx0C,KAAKw0C,OAAOi9B,kBAAkBzxE,MAG3BA,OAgBfwB,EAAOupE,UAAUwB,YAAc,aAE/B/qE,EAAOupE,UAAUwB,YAAYjqE,WAMzByqE,cAAc,EAMdU,OAAQ,KAyBRp0B,YAAa,SAAUrmC,EAAK3F,EAAOqkE,GAE3B1+D,IAAQxR,EAAOysB,eAEfjb,EAAM3F,EACNA,EAAQ,GAIRA,EAAQA,GAAS,GAGhBqkE,QAAmCnrE,IAAlBmrE,IAAgC1xE,KAAKurE,YAEvDvrE,KAAKurE,WAAWp/D,OAGpBnM,KAAKgT,IAAMA,EACXhT,KAAK+sE,cAAe,EACpB,IAAI/yD,EAAQha,KAAK+C,KAAKiX,MAElBiR,GAAW,EACXs0B,EAAWv/C,KAAKjC,QAAQqI,YAAYtI,YAAcU,KAAKC,WAAWC,OAEtE,GAAI8C,EAAOyD,eAAiB+N,aAAexR,EAAOyD,cAE9CjF,KAAKgT,IAAMA,EAAIA,IACfhT,KAAKsN,WAAW0F,QAEf,GAAIxR,EAAOmwE,YAAc3+D,aAAexR,EAAOmwE,WAEhD3xE,KAAK+sE,cAAe,EAEpB/sE,KAAKsN,WAAW0F,EAAIjV,SAIhBktB,EAFAjR,EAAM43D,aAAa5+D,EAAIA,IAAKxR,EAAOotC,MAAM3hB,aAE7BjtB,KAAKurE,WAAWsG,cAAc73D,EAAM83D,aAAa9+D,EAAIA,IAAKxR,EAAOotC,MAAM3hB,YAAa5f,IAIpFrN,KAAKurE,WAAWsG,cAAc7+D,EAAI++D,UAAW,QAG5D,GAAIvwE,EAAOwsE,OAASh7D,aAAexR,EAAOwsE,MAC/C,CACIhuE,KAAK+sE,cAAe,EAGpB,IAAIt/D,EAAQuF,EAAIjV,QAAQ0P,MACxBzN,KAAKsN,WAAW0F,EAAIjV,SACpBiC,KAAKirB,SAASjY,EAAIjV,QAAQsP,MAAM+mB,SAChCphB,EAAIi7D,eAAe90C,IAAIn5B,KAAKkuE,YAAaluE,MACzCA,KAAKjC,QAAQ0P,MAAQA,OAEpB,GAAIjM,EAAOwwE,SAAWh/D,aAAexR,EAAOywE,aAI7CjyE,KAAKsN,WAAW9O,KAAKqO,QAAQ+d,WAAW5X,EAAIkE,cAE3C,GAAIlE,aAAexU,KAAKqO,QAEzB0yC,EAAWvsC,EAAI5M,YAAYtI,YAAcU,KAAKC,WAAWC,OAEzDsB,KAAKsN,WAAW0F,OAGpB,CACI,IAAIk/D,EAAMl4D,EAAMm4D,SAASn/D,GAAK,GAE9BhT,KAAKgT,IAAMk/D,EAAIl/D,IACfhT,KAAKsN,WAAW,IAAI9O,KAAKqO,QAAQqlE,EAAI93D,OAIjCpa,KAAKjC,QAAQqI,YAAYoH,WAFjB,cAARwF,EASJiY,GAAYjrB,KAAKurE,WAAWsG,cAAcK,EAAIH,UAAW1kE,GAGzD4d,IAEAjrB,KAAKytE,OAASjsE,EAAOS,UAAUmyB,MAAMp0B,KAAKjC,QAAQsP,QAGjDkyC,IAEDv/C,KAAKjC,QAAQqI,YAAYtI,UAAY,IAY7CmtB,SAAU,SAAU5d,GAEhBrN,KAAKytE,OAASpgE,EAEdrN,KAAKjC,QAAQsP,MAAMtJ,EAAIsJ,EAAMtJ,EAC7B/D,KAAKjC,QAAQsP,MAAMrJ,EAAIqJ,EAAMrJ,EAC7BhE,KAAKjC,QAAQsP,MAAMzP,MAAQyP,EAAMzP,MACjCoC,KAAKjC,QAAQsP,MAAMxP,OAASwP,EAAMxP,OAElCmC,KAAKjC,QAAQ6P,KAAK7J,EAAIsJ,EAAMtJ,EAC5B/D,KAAKjC,QAAQ6P,KAAK5J,EAAIqJ,EAAMrJ,EAC5BhE,KAAKjC,QAAQ6P,KAAKhQ,MAAQyP,EAAMzP,MAChCoC,KAAKjC,QAAQ6P,KAAK/P,OAASwP,EAAMxP,OAE7BwP,EAAM+kE,SAEFpyE,KAAKjC,QAAQqQ,MAEbpO,KAAKjC,QAAQqQ,KAAKrK,EAAIsJ,EAAMglE,kBAC5BryE,KAAKjC,QAAQqQ,KAAKpK,EAAIqJ,EAAMilE,kBAC5BtyE,KAAKjC,QAAQqQ,KAAKxQ,MAAQyP,EAAMklE,YAChCvyE,KAAKjC,QAAQqQ,KAAKvQ,OAASwP,EAAMmlE,aAIjCxyE,KAAKjC,QAAQqQ,MAASrK,EAAGsJ,EAAMglE,kBAAmBruE,EAAGqJ,EAAMilE,kBAAmB10E,MAAOyP,EAAMklE,YAAa10E,OAAQwP,EAAMmlE,aAG1HxyE,KAAKjC,QAAQH,MAAQyP,EAAMklE,YAC3BvyE,KAAKjC,QAAQF,OAASwP,EAAMmlE,YAC5BxyE,KAAKjC,QAAQsP,MAAMzP,MAAQyP,EAAMklE,YACjCvyE,KAAKjC,QAAQsP,MAAMxP,OAASwP,EAAMmlE,cAE5BnlE,EAAM+kE,SAAWpyE,KAAKjC,QAAQqQ,OAEpCpO,KAAKjC,QAAQqQ,KAAO,MAGpBf,EAAMqB,UAEN1O,KAAKjC,QAAQ2Q,SAAU,GAGvB1O,KAAKitE,UAELjtE,KAAKmtE,aAGTntE,KAAKjC,QAAQ+Q,gBAAiB,EAE9B9O,KAAKjC,QAAQotB,aAETnrB,KAAKskB,gBAELtkB,KAAKyyE,gBAAiB,IAe9BvE,YAAa,SAAU7sE,EAAQzD,EAAOC,GAElCmC,KAAKjC,QAAQsP,MAAMlH,OAAOvI,EAAOC,GACjCmC,KAAKjC,QAAQktB,SAASjrB,KAAKjC,QAAQsP,QAQvC+/D,WAAY,WAEJptE,KAAKytE,QAELztE,KAAKirB,SAASjrB,KAAKytE,SAiB3BpgE,OAEInG,IAAK,WAED,OAAOlH,KAAKurE,WAAWl+D,OAG3BlG,IAAK,SAAUC,GAEXpH,KAAKurE,WAAWl+D,MAAQjG,IAkBhCsrE,WAEIxrE,IAAK,WAED,OAAOlH,KAAKurE,WAAWmH,WAG3BvrE,IAAK,SAAUC,GAEXpH,KAAKurE,WAAWmH,UAAYtrE,KAkBxC5F,EAAOupE,UAAU4H,QAAU,aAE3BnxE,EAAOupE,UAAU4H,QAAQrwE,WAerBswE,QAAS,SAAU13D,GAEf,OAAO1Z,EAAOS,UAAUy0B,WAAW12B,KAAKkK,YAAagR,EAAchR,eAiB3E1I,EAAOupE,UAAUsB,YAAc,aAQ/B7qE,EAAOupE,UAAUsB,YAAY3nE,UAAY,WAErC,OAAI1E,KAAK+yC,gBAEL/yC,KAAKwC,WACE,GAGPxC,KAAK2sE,OAAS3sE,KAAKkN,QAEnBlN,KAAKiD,MAAMqyB,MAAMt1B,KAAKqB,OAAOT,SAASmD,EAAI/D,KAAKY,SAASmD,EAAG/D,KAAKqB,OAAOT,SAASoD,EAAIhE,KAAKY,SAASoD,GAClGhE,KAAKuB,eAAe+B,GAAKtD,KAAKiD,MAAMc,EACpC/D,KAAKuB,eAAegC,GAAKvD,KAAKiD,MAAMe,EAEpChE,KAAKmsE,iBAAiBhlE,IAAInH,KAAKiD,MAAMc,EAAG/D,KAAKiD,MAAMe,GACnDhE,KAAKysE,iBAAmBzsE,KAAKgB,SAEzBhB,KAAKmyC,MAELnyC,KAAKmyC,KAAKztC,YAGd1E,KAAK2sE,OAAQ,EAEb3sE,KAAK0sE,qBAEE,IAGX1sE,KAAKmsE,iBAAiBhlE,IAAInH,KAAKiD,MAAMc,EAAG/D,KAAKiD,MAAMe,GACnDhE,KAAKysE,iBAAmBzsE,KAAKgB,YAExBhB,KAAK4sE,UAAY5sE,KAAKqB,OAAO6L,UAE9BlN,KAAKm4C,eAAiB,GACf,KAYf32C,EAAOupE,UAAUsB,YAAYjlC,WAAa,WAElCpnC,KAAKkN,QAAUlN,KAAKmyC,MAEpBnyC,KAAKmyC,KAAK/K,cAIlB5lC,EAAOupE,UAAUsB,YAAY/pE,WAqBzB6vC,KAAM,KAONpuC,GAEImD,IAAK,WAED,OAAOlH,KAAKY,SAASmD,GAGzBoD,IAAK,SAAUC,GAEXpH,KAAKY,SAASmD,EAAIqD,EAEdpH,KAAKmyC,OAASnyC,KAAKmyC,KAAK3gC,QAExBxR,KAAKmyC,KAAK0gC,QAAS,KAW/B7uE,GAEIkD,IAAK,WAED,OAAOlH,KAAKY,SAASoD,GAGzBmD,IAAK,SAAUC,GAEXpH,KAAKY,SAASoD,EAAIoD,EAEdpH,KAAKmyC,OAASnyC,KAAKmyC,KAAK3gC,QAExBxR,KAAKmyC,KAAK0gC,QAAS,MAmBnCrxE,EAAOupE,UAAU+H,MAAQ,aAkBzBtxE,EAAOupE,UAAU+H,MAAMxwE,UAAUgkC,MAAQ,SAAUviC,EAAGC,EAAGwsE,GA+BrD,YA7BejqE,IAAXiqE,IAAwBA,EAAS,GAErCxwE,KAAKiD,MAAMkE,IAAIpD,EAAGC,GAClBhE,KAAKY,SAASuG,IAAIpD,EAAGC,GAErBhE,KAAK2sE,OAAQ,EACb3sE,KAAKkN,QAAS,EACdlN,KAAKkB,SAAU,EACflB,KAAKoB,YAAa,EAEdpB,KAAKksE,WAAW6E,UAEhB/wE,KAAKixE,mBAAoB,GAGzBjxE,KAAKksE,WAAWoF,WAEhBtxE,KAAK6yC,OAAQ,EACb7yC,KAAKwwE,OAASA,GAGdxwE,KAAKksE,WAAWG,aAEZrsE,KAAKmyC,MAELnyC,KAAKmyC,KAAK7L,MAAMviC,EAAGC,GAAG,GAAO,GAI9BhE,MAcXwB,EAAOupE,UAAUgI,YAAc,aAE/BvxE,EAAOupE,UAAUgI,YAAYzwE,WAMzBiC,kBAAmB,KAMnBE,yBAA0BzE,KAU1BgzE,SAAU,KAUVC,SAAU,KASVC,eAAgB,SAAUzvE,GAElBzD,KAAKgzE,WAEDvvE,EAAGP,EAAIlD,KAAKgzE,SAASjvE,IAErBN,EAAGP,EAAIlD,KAAKgzE,SAASjvE,GAGrBN,EAAGJ,EAAIrD,KAAKgzE,SAAShvE,IAErBP,EAAGJ,EAAIrD,KAAKgzE,SAAShvE,IAIzBhE,KAAKizE,WAEDxvE,EAAGP,EAAIlD,KAAKizE,SAASlvE,IAErBN,EAAGP,EAAIlD,KAAKizE,SAASlvE,GAGrBN,EAAGJ,EAAIrD,KAAKizE,SAASjvE,IAErBP,EAAGJ,EAAIrD,KAAKizE,SAASjvE,KA8BjCmvE,eAAgB,SAAUvoE,EAAME,EAAMC,EAAMC,QAE3BzE,IAATuE,EAGAA,EAAOC,EAAOC,EAAOJ,OAEPrE,IAATwE,IAGLA,EAAOC,EAAOF,EACdA,EAAOF,GAGE,OAATA,EAEA5K,KAAKgzE,SAAW,KAGhBhzE,KAAKgzE,SAELhzE,KAAKgzE,SAAS7rE,IAAIyD,EAAME,GAIxB9K,KAAKgzE,SAAW,IAAIxxE,EAAOX,MAAM+J,EAAME,GAG9B,OAATC,EAEA/K,KAAKizE,SAAW,KAGhBjzE,KAAKizE,SAELjzE,KAAKizE,SAAS9rE,IAAI4D,EAAMC,GAIxBhL,KAAKizE,SAAW,IAAIzxE,EAAOX,MAAMkK,EAAMC,GAGrB,OAAlBhL,KAAKgzE,SAELhzE,KAAKuE,kBAAoB,MAIzBvE,KAAKuE,kBAAoBvE,KAAKkzE,eAC9BlzE,KAAKyE,yBAA2BzE,QAiB5CwB,EAAOupE,UAAUqI,SAAW,aAE5B5xE,EAAOupE,UAAUqI,SAAS9wE,WAWtBi9C,UAEIr4C,IAAK,WAED,OAAQlH,KAAKjC,QAAQqI,YAAYtI,WAGrCqJ,IAAK,SAAUC,GAEPA,EAEIpH,KAAKjC,SAEsC,IAAvCiC,KAAKjC,QAAQqI,YAAYtI,YAEzBkC,KAAKjC,QAAQqI,YAAYtI,UAAY,EACrCkC,KAAKjC,QAAQqI,YAAYoL,SAI5BxR,KAAKjC,SAEiC,IAAvCiC,KAAKjC,QAAQqI,YAAYtI,YAEzBkC,KAAKjC,QAAQqI,YAAYtI,UAAY,EACrCkC,KAAKjC,QAAQqI,YAAYoL,YAyB7ChQ,EAAO+7C,kBAAoB,SAAUx6C,GAMjC/C,KAAK+C,KAAOA,EAMZ/C,KAAKiD,MAAQjD,KAAK+C,KAAKE,OAG3BzB,EAAO+7C,kBAAkBj7C,WASrB+wE,SAAU,SAAU55B,GAEhB,OAAOz5C,KAAKiD,MAAMk2B,IAAIsgB,IAwB1B65B,OAAQ,SAAUv+B,EAAU/hC,EAAK3F,EAAOktC,EAAOg5B,GAE3C,IAAID,EAAStzE,KAAK+C,KAAKqsC,QAAQjW,IAAI33B,EAAOgyE,QAS1C,OAPID,IAEAD,EAAOC,YAAcA,GAGzBD,EAAOG,cAAc1+B,EAAU/hC,EAAK3F,EAAOktC,GAEpC+4B,GAmBXp5D,MAAO,SAAUnW,EAAGC,EAAGgP,EAAK3F,EAAOktC,GAI/B,YAFch0C,IAAVg0C,IAAuBA,EAAQv6C,KAAKiD,OAEjCs3C,EAAMphB,IAAI,IAAI33B,EAAOkyE,MAAM1zE,KAAK+C,KAAMgB,EAAGC,EAAGgP,EAAK3F,KAkB5DkW,OAAQ,SAAUxf,EAAGC,EAAGgP,EAAK3F,EAAOktC,GAIhC,YAFch0C,IAAVg0C,IAAuBA,EAAQv6C,KAAKiD,OAEjCs3C,EAAMphB,IAAI,IAAI33B,EAAOsE,OAAO9F,KAAK+C,KAAMgB,EAAGC,EAAGgP,EAAK3F,KA2B7DsmE,SAAU,SAAU5vE,EAAGC,EAAGgP,EAAK4gE,EAAMr5B,EAAOs5B,EAAWC,QAErCvtE,IAAVg0C,IAAuBA,EAAQv6C,KAAKiD,OAExC,IAAIgvB,EAAM,IAAIzwB,EAAOklD,SAAS1mD,KAAK+C,KAAMgB,EAAGC,EAAGgP,EAAK4gE,EAAMC,EAAWC,GAIrE,OAFAv5B,EAAMphB,IAAIlH,GAEHA,GAYX8hD,MAAO,SAAUt6B,GAEb,OAAOz5C,KAAK+C,KAAK+jC,OAAOt+B,OAAOixC,IAcnCc,MAAO,SAAUl5C,EAAQ6wB,EAAMqgB,EAAYC,EAAYC,GAEnD,OAAO,IAAIjxC,EAAO8wC,MAAMtyC,KAAK+C,KAAM1B,EAAQ6wB,EAAMqgB,EAAYC,EAAYC,IAgB7EuhC,aAAc,SAAUvhC,EAAiBpxC,EAAQ6wB,EAAMqgB,GAEnD,OAAO,IAAI/wC,EAAO8wC,MAAMtyC,KAAK+C,KAAM1B,EAAQ6wB,EAAMqgB,GAAY,EAAME,IAcvE1mC,YAAa,SAAU1K,EAAQ6wB,EAAMqgB,GAMjC,YAJehsC,IAAXlF,IAAwBA,EAAS,WACxBkF,IAAT2rB,IAAsBA,EAAO,cACd3rB,IAAfgsC,IAA4BA,GAAa,GAEtC,IAAI/wC,EAAOyyE,YAAYj0E,KAAK+C,KAAM1B,EAAQ6wB,EAAMqgB,IAa3D2hC,MAAO,SAAUlhE,EAAKyuB,EAAQ4pC,EAAMtP,GAEhC,OAAO/7D,KAAK+C,KAAK6jC,MAAMzN,IAAInmB,EAAKyuB,EAAQ4pC,EAAMtP,IAalDn1B,MAAO,SAAU5zB,EAAKyuB,EAAQ4pC,EAAMtP,GAEhC,OAAO/7D,KAAK+C,KAAK6jC,MAAMzN,IAAInmB,EAAKyuB,EAAQ4pC,EAAMtP,IAUlDoY,YAAa,SAAUnhE,GAEnB,OAAOhT,KAAK+C,KAAK6jC,MAAMwtC,UAAUphE,IAgBrCqhE,WAAY,SAAUtwE,EAAGC,EAAGpG,EAAOC,EAAQmV,EAAK3F,EAAOktC,GAInD,YAFch0C,IAAVg0C,IAAuBA,EAAQv6C,KAAKiD,OAEjCs3C,EAAMphB,IAAI,IAAI33B,EAAOmlD,WAAW3mD,KAAK+C,KAAMgB,EAAGC,EAAGpG,EAAOC,EAAQmV,EAAK3F,KAiBhFinE,KAAM,SAAUvwE,EAAGC,EAAGgP,EAAK3F,EAAOmxB,EAAQ+b,GAItC,YAFch0C,IAAVg0C,IAAuBA,EAAQv6C,KAAKiD,OAEjCs3C,EAAMphB,IAAI,IAAI33B,EAAO+yE,KAAKv0E,KAAK+C,KAAMgB,EAAGC,EAAGgP,EAAK3F,EAAOmxB,KAclEg2C,KAAM,SAAUzwE,EAAGC,EAAGwwE,EAAMj5D,EAAOg/B,GAI/B,YAFch0C,IAAVg0C,IAAuBA,EAAQv6C,KAAKiD,OAEjCs3C,EAAMphB,IAAI,IAAI33B,EAAOizE,KAAKz0E,KAAK+C,KAAMgB,EAAGC,EAAGwwE,EAAMj5D,KAmB5D0wC,OAAQ,SAAUloD,EAAGC,EAAGgP,EAAKgiC,EAAUxL,EAAiBkrC,EAAWC,EAAUC,EAAWC,EAASt6B,GAI7F,YAFch0C,IAAVg0C,IAAuBA,EAAQv6C,KAAKiD,OAEjCs3C,EAAMphB,IAAI,IAAI33B,EAAOszE,OAAO90E,KAAK+C,KAAMgB,EAAGC,EAAGgP,EAAKgiC,EAAUxL,EAAiBkrC,EAAWC,EAAUC,EAAWC,KAYxHp2D,SAAU,SAAU1a,EAAGC,EAAGu2C,GAItB,YAFch0C,IAAVg0C,IAAuBA,EAAQv6C,KAAKiD,OAEjCs3C,EAAMphB,IAAI,IAAI33B,EAAO0iC,SAASlkC,KAAK+C,KAAMgB,EAAGC,KAgBvD+wE,QAAS,SAAUhxE,EAAGC,EAAGgxE,GAErB,OAAOh1E,KAAK+C,KAAKgkC,UAAU5N,IAAI,IAAI33B,EAAOs8C,UAAUm3B,OAAOC,QAAQl1E,KAAK+C,KAAMgB,EAAGC,EAAGgxE,KAyBxFG,UAAW,SAAUC,EAAMC,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,GAEzG,OAAO,IAAIp0E,EAAOq0E,UAAU71E,KAAK+C,KAAMqyE,EAAMC,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,IA+BnIE,WAAY,SAAU/xE,EAAGC,EAAGoxE,EAAMZ,EAAMzyD,EAAMw4B,GAI1C,YAFch0C,IAAVg0C,IAAuBA,EAAQv6C,KAAKiD,OAEjCs3C,EAAMphB,IAAI,IAAI33B,EAAO2sE,WAAWnuE,KAAK+C,KAAMgB,EAAGC,EAAGoxE,EAAMZ,EAAMzyD,KAoBxEg0D,QAAS,SAAU/iE,EAAKgjE,EAAWC,EAAYr4E,EAAOC,GAElD,OAAO,IAAI2D,EAAOwwE,QAAQhyE,KAAK+C,KAAMiQ,EAAKgjE,EAAWC,EAAYr4E,EAAOC,IAa5EmH,cAAe,SAAUpH,EAAOC,EAAQmV,EAAKkjE,QAE7B3vE,IAARyM,GAA6B,KAARA,IAAcA,EAAMhT,KAAK+C,KAAK6iC,IAAIuwC,aACxC5vE,IAAf2vE,IAA4BA,GAAa,GAE7C,IAAIn4E,EAAU,IAAIyD,EAAOyD,cAAcjF,KAAK+C,KAAMnF,EAAOC,EAAQmV,GAOjE,OALIkjE,GAEAl2E,KAAK+C,KAAKiX,MAAMo8D,iBAAiBpjE,EAAKjV,GAGnCA,GAaXs4E,MAAO,SAAUrjE,EAAKsjE,GAElB,OAAO,IAAI90E,EAAOwsE,MAAMhuE,KAAK+C,KAAMiQ,EAAKsjE,IAe5CC,WAAY,SAAU34E,EAAOC,EAAQmV,EAAKkjE,QAEnB3vE,IAAf2vE,IAA4BA,GAAa,QACjC3vE,IAARyM,GAA6B,KAARA,IAAcA,EAAMhT,KAAK+C,KAAK6iC,IAAIuwC,QAE3D,IAAIp4E,EAAU,IAAIyD,EAAOmwE,WAAW3xE,KAAK+C,KAAMiQ,EAAKpV,EAAOC,GAO3D,OALIq4E,GAEAl2E,KAAK+C,KAAKiX,MAAMw8D,cAAcxjE,EAAKjV,GAGhCA,GAWXyoB,OAAQ,SAAUA,GAEd,IAAI6J,EAAO5oB,MAAMnF,UAAU4tB,MAAM1rB,KAAKgsB,UAAW,GAMjD,OAJIhK,EAAS,IAAIhlB,EAAOyhB,OAAOuD,GAAQxmB,KAAK+C,OAErC2O,KAAKnM,MAAMihB,EAAQ6J,GAEnB7J,GAaX+oB,OAAQ,WAEJ,OAAOvvC,KAAK+C,KAAKqsC,QAAQjW,IAAI5zB,MAAMvF,KAAK+C,KAAKqsC,QAAS5e,aAK9DhvB,EAAO+7C,kBAAkBj7C,UAAUC,YAAcf,EAAO+7C,kBAgBxD/7C,EAAOg8C,kBAAoB,SAAUz6C,GAMjC/C,KAAK+C,KAAOA,EAMZ/C,KAAKiD,MAAQjD,KAAK+C,KAAKE,OAG3BzB,EAAOg8C,kBAAkBl7C,WAerB4X,MAAO,SAAUnW,EAAGC,EAAGgP,EAAK3F,GAExB,OAAO,IAAI7L,EAAOkyE,MAAM1zE,KAAK+C,KAAMgB,EAAGC,EAAGgP,EAAK3F,IAalDkW,OAAQ,SAAUxf,EAAGC,EAAGgP,EAAK3F,GAEzB,OAAO,IAAI7L,EAAOsE,OAAO9F,KAAK+C,KAAMgB,EAAGC,EAAGgP,EAAK3F,IAYnD0mE,MAAO,SAAU9hD,GAEb,OAAO,IAAIzwB,EAAOi1E,MAAMxkD,EAAKjyB,KAAK+C,KAAM/C,KAAK+C,KAAK+jC,SActDyT,MAAO,SAAUl5C,EAAQ6wB,EAAMqgB,EAAYC,EAAYC,GAEnD,OAAO,IAAIjxC,EAAO8wC,MAAMtyC,KAAK+C,KAAM1B,GAAU,KAAM6wB,EAAMqgB,EAAYC,EAAYC,IAYrF1mC,YAAa,SAAU1K,EAAQ6wB,EAAMqgB,GAKjC,YAHahsC,IAAT2rB,IAAsBA,EAAO,cACd3rB,IAAfgsC,IAA4BA,GAAa,GAEtC,IAAI/wC,EAAOyyE,YAAYj0E,KAAK+C,KAAM1B,EAAQ6wB,EAAMqgB,IAa3D2hC,MAAO,SAAUlhE,EAAKyuB,EAAQ4pC,EAAMtP,GAEhC,OAAO/7D,KAAK+C,KAAK6jC,MAAMzN,IAAInmB,EAAKyuB,EAAQ4pC,EAAMtP,IAUlDoY,YAAa,SAAUnhE,GAEnB,OAAOhT,KAAK+C,KAAK6jC,MAAMwtC,UAAUphE,IAarC4zB,MAAO,SAAU5zB,EAAKyuB,EAAQ4pC,EAAMtP,GAEhC,OAAO/7D,KAAK+C,KAAK6jC,MAAMzN,IAAInmB,EAAKyuB,EAAQ4pC,EAAMtP,IAelDsY,WAAY,SAAUtwE,EAAGC,EAAGpG,EAAOC,EAAQmV,EAAK3F,GAE5C,OAAO,IAAI7L,EAAOmlD,WAAW3mD,KAAK+C,KAAMgB,EAAGC,EAAGpG,EAAOC,EAAQmV,EAAK3F,IAetEinE,KAAM,SAAUvwE,EAAGC,EAAGgP,EAAK3F,EAAOmxB,GAE9B,OAAO,IAAIh9B,EAAO+yE,KAAKv0E,KAAK+C,KAAMgB,EAAGC,EAAGgP,EAAK3F,EAAOmxB,IAaxDg2C,KAAM,SAAUzwE,EAAGC,EAAGwwE,EAAMj5D,GAExB,OAAO,IAAI/Z,EAAOizE,KAAKz0E,KAAK+C,KAAMgB,EAAGC,EAAGwwE,EAAMj5D,IAkBlD0wC,OAAQ,SAAUloD,EAAGC,EAAGgP,EAAKgiC,EAAUxL,EAAiBkrC,EAAWC,EAAUC,EAAWC,GAEpF,OAAO,IAAIrzE,EAAOszE,OAAO90E,KAAK+C,KAAMgB,EAAGC,EAAGgP,EAAKgiC,EAAUxL,EAAiBkrC,EAAWC,EAAUC,EAAWC,IAW9Gp2D,SAAU,SAAU1a,EAAGC,GAEnB,OAAO,IAAIxC,EAAO0iC,SAASlkC,KAAK+C,KAAMgB,EAAGC,IAgB7C+wE,QAAS,SAAUhxE,EAAGC,EAAGgxE,GAErB,OAAO,IAAIxzE,EAAOs8C,UAAUm3B,OAAOC,QAAQl1E,KAAK+C,KAAMgB,EAAGC,EAAGgxE,IAyBhEG,UAAW,SAAUC,EAAMC,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,GAEzG,OAAO,IAAIp0E,EAAOq0E,UAAU71E,KAAK+C,KAAMqyE,EAAMC,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,IA+BnIE,WAAY,SAAU/xE,EAAGC,EAAGoxE,EAAMZ,EAAMzyD,EAAMozB,GAE1C,OAAO,IAAI3zC,EAAO2sE,WAAWnuE,KAAK+C,KAAMgB,EAAGC,EAAGoxE,EAAMZ,EAAMzyD,EAAMozB,IAmBpE4gC,QAAS,SAAU/iE,EAAKgjE,EAAWC,EAAYr4E,EAAOC,GAElD,OAAO,IAAI2D,EAAOwwE,QAAQhyE,KAAK+C,KAAMiQ,EAAKgjE,EAAWC,EAAYr4E,EAAOC,IAa5EmH,cAAe,SAAUpH,EAAOC,EAAQmV,EAAKkjE,QAE7B3vE,IAARyM,GAA6B,KAARA,IAAcA,EAAMhT,KAAK+C,KAAK6iC,IAAIuwC,aACxC5vE,IAAf2vE,IAA4BA,GAAa,GAE7C,IAAIn4E,EAAU,IAAIyD,EAAOyD,cAAcjF,KAAK+C,KAAMnF,EAAOC,EAAQmV,GAOjE,OALIkjE,GAEAl2E,KAAK+C,KAAKiX,MAAMo8D,iBAAiBpjE,EAAKjV,GAGnCA,GAeXw4E,WAAY,SAAU34E,EAAOC,EAAQmV,EAAKkjE,QAEnB3vE,IAAf2vE,IAA4BA,GAAa,QACjC3vE,IAARyM,GAA6B,KAARA,IAAcA,EAAMhT,KAAK+C,KAAK6iC,IAAIuwC,QAE3D,IAAIp4E,EAAU,IAAIyD,EAAOmwE,WAAW3xE,KAAK+C,KAAMiQ,EAAKpV,EAAOC,GAO3D,OALIq4E,GAEAl2E,KAAK+C,KAAKiX,MAAMw8D,cAAcxjE,EAAKjV,GAGhCA,GAWXyoB,OAAQ,SAAUA,GAEd,IAAI6J,EAAO5oB,MAAMnF,UAAU4tB,MAAM1rB,KAAKgsB,UAAW,GAMjD,OAJIhK,EAAS,IAAIhlB,EAAOyhB,OAAOuD,GAAQxmB,KAAK+C,OAErC2O,KAAKnM,MAAMihB,EAAQ6J,GAEnB7J,IAKfhlB,EAAOg8C,kBAAkBl7C,UAAUC,YAAcf,EAAOg8C,kBA6CxDh8C,EAAOsE,OAAS,SAAU/C,EAAMgB,EAAGC,EAAGgP,EAAK3F,GAEvCtJ,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTgP,EAAMA,GAAO,KACb3F,EAAQA,GAAS,KAMjBrN,KAAKwT,KAAOhS,EAAO4qB,OAMnBpsB,KAAK4yC,YAAcpxC,EAAO4qB,OAE1B5tB,KAAKsH,OAAOtB,KAAKxE,KAAMwB,EAAOotC,MAAMhnB,SAEpCpmB,EAAOupE,UAAUiB,KAAKt6D,KAAKlN,KAAKxE,KAAM+C,EAAMgB,EAAGC,EAAGgP,EAAK3F,IAG3D7L,EAAOsE,OAAOxD,UAAY0E,OAAOwB,OAAOhK,KAAKsH,OAAOxD,WACpDd,EAAOsE,OAAOxD,UAAUC,YAAcf,EAAOsE,OAE7CtE,EAAOupE,UAAUiB,KAAKC,QAAQznE,KAAKhD,EAAOsE,OAAOxD,WAC7C,QACA,YACA,WACA,SACA,aACA,OACA,QACA,UACA,gBACA,SACA,WACA,eACA,UACA,WACA,cACA,UACA,cACA,QACA,cACA,aAGJd,EAAOsE,OAAOxD,UAAUo0E,iBAAmBl1E,EAAOupE,UAAUsB,YAAY3nE,UACxElD,EAAOsE,OAAOxD,UAAUq0E,kBAAoBn1E,EAAOupE,UAAUuG,SAAS5sE,UACtElD,EAAOsE,OAAOxD,UAAUs0E,iBAAmBp1E,EAAOupE,UAAUgG,QAAQrsE,UACpElD,EAAOsE,OAAOxD,UAAUu0E,cAAgBr1E,EAAOupE,UAAUiB,KAAKtnE,UAS9DlD,EAAOsE,OAAOxD,UAAUoC,UAAY,WAEhC,SAAK1E,KAAK02E,oBAAuB12E,KAAK22E,qBAAwB32E,KAAK42E,qBAK5D52E,KAAK62E,iBAuChBr1E,EAAOkyE,MAAQ,SAAU3wE,EAAMgB,EAAGC,EAAGgP,EAAK3F,GAEtCtJ,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTgP,EAAMA,GAAO,KACb3F,EAAQA,GAAS,KAMjBrN,KAAKwT,KAAOhS,EAAO8qB,MAEnB9tB,KAAKsH,OAAOtB,KAAKxE,KAAMwB,EAAOotC,MAAMhnB,SAEpCpmB,EAAOupE,UAAUiB,KAAKt6D,KAAKlN,KAAKxE,KAAM+C,EAAMgB,EAAGC,EAAGgP,EAAK3F,IAG3D7L,EAAOkyE,MAAMpxE,UAAY0E,OAAOwB,OAAOhK,KAAKsH,OAAOxD,WACnDd,EAAOkyE,MAAMpxE,UAAUC,YAAcf,EAAOkyE,MAE5ClyE,EAAOupE,UAAUiB,KAAKC,QAAQznE,KAAKhD,EAAOkyE,MAAMpxE,WAC5C,QACA,YACA,WACA,SACA,aACA,OACA,UACA,gBACA,eACA,WACA,cACA,UACA,QACA,cACA,aAGJd,EAAOkyE,MAAMpxE,UAAUq0E,kBAAoBn1E,EAAOupE,UAAUuG,SAAS5sE,UACrElD,EAAOkyE,MAAMpxE,UAAUs0E,iBAAmBp1E,EAAOupE,UAAUgG,QAAQrsE,UACnElD,EAAOkyE,MAAMpxE,UAAUu0E,cAAgBr1E,EAAOupE,UAAUiB,KAAKtnE,UAQ7DlD,EAAOkyE,MAAMpxE,UAAUoC,UAAY,WAE/B,SAAK1E,KAAK42E,qBAAuB52E,KAAK22E,sBAK/B32E,KAAK62E,iBAqChBr1E,EAAOszE,OAAS,SAAU/xE,EAAMgB,EAAGC,EAAGgP,EAAKgiC,EAAUxL,EAAiBkrC,EAAWC,EAAUC,EAAWC,GAElG9wE,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTgP,EAAMA,GAAO,KACbgiC,EAAWA,GAAY,KACvBxL,EAAkBA,GAAmBxpC,KAErCwB,EAAOkyE,MAAMlvE,KAAKxE,KAAM+C,EAAMgB,EAAGC,EAAGgP,EAAK2hE,GAOzC30E,KAAKwT,KAAOhS,EAAO6qB,OAMnBrsB,KAAK4yC,YAAcpxC,EAAO4qB,OAO1BpsB,KAAK82E,aAAe,KAOpB92E,KAAK+2E,YAAc,KAOnB/2E,KAAKg3E,aAAe,KAOpBh3E,KAAKi3E,WAAa,KAOlBj3E,KAAKk3E,YAAc,KAOnBl3E,KAAKm3E,WAAa,KAOlBn3E,KAAKo3E,YAAc,KAOnBp3E,KAAKq3E,UAAY,KAOjBr3E,KAAKs3E,kBAAoB,GAOzBt3E,KAAKu3E,iBAAmB,GAOxBv3E,KAAKw3E,kBAAoB,GAOzBx3E,KAAKy3E,gBAAkB,GAOvBz3E,KAAK2vE,YAAc,IAAInuE,EAAO+gC,OAO9BviC,KAAK4vE,WAAa,IAAIpuE,EAAO+gC,OAO7BviC,KAAK6vE,YAAc,IAAIruE,EAAO+gC,OAO9BviC,KAAK8vE,UAAY,IAAItuE,EAAO+gC,OAS5BviC,KAAK03E,iBAAkB,EASvB13E,KAAK23E,yBAA2Bn2E,EAAO2iD,YAAYsB,QAOnDzlD,KAAK43E,cAAe,EAUpB53E,KAAK63E,UAAW,EAEhB73E,KAAKu0C,cAAe,EAEpBv0C,KAAK0mC,MAAMp6B,MAAM,GAAG,GAEpBtM,KAAK0mC,MAAMwrB,eAAgB,EAE3BlyD,KAAK83E,UAAUpD,EAAWC,EAAUC,EAAWC,GAE9B,OAAb7/B,GAEAh1C,KAAK8vE,UAAU32C,IAAI6b,EAAUxL,GAIjCxpC,KAAKw0C,OAAOm7B,YAAYx2C,IAAIn5B,KAAK+3E,mBAAoB/3E,MACrDA,KAAKw0C,OAAOo7B,WAAWz2C,IAAIn5B,KAAKg4E,kBAAmBh4E,MACnDA,KAAKw0C,OAAOq7B,YAAY12C,IAAIn5B,KAAKi4E,mBAAoBj4E,MACrDA,KAAKw0C,OAAOs7B,UAAU32C,IAAIn5B,KAAKk4E,iBAAkBl4E,OAGrDwB,EAAOszE,OAAOxyE,UAAY0E,OAAOwB,OAAOhH,EAAOkyE,MAAMpxE,WACrDd,EAAOszE,OAAOxyE,UAAUC,YAAcf,EAAOszE,OAy9mDzC,OA58mDJtzE,EAAOszE,OAAOxyE,UAAU61E,YAAc,WAElCn4E,KAAK83E,UAAU,KAAM,KAAM,KAAM,OAYrCt2E,EAAOszE,OAAOxyE,UAAU81E,cAAgB,SAAUvxC,EAAOx5B,EAAOgrE,GAE5D,IAAIC,EAAW,MAAQzxC,EAAQ,QAEjB,OAAVx5B,GAEArN,KAAKs4E,GAAYjrE,EAEbgrE,GAEAr4E,KAAKu4E,iBAAiB1xC,IAK1B7mC,KAAKs4E,GAAY,MAYzB92E,EAAOszE,OAAOxyE,UAAUi2E,iBAAmB,SAAU1xC,GAEjD,GAAI7mC,KAAK43E,aAEL,OAAO,EAGX,IACIvqE,EAAQrN,KADG,MAAQ6mC,EAAQ,SAG/B,MAAqB,iBAAVx5B,GAEPrN,KAAK0yE,UAAYrlE,GACV,GAEe,iBAAVA,IAEZrN,KAAKqN,MAAQA,GACN,IAoBf7L,EAAOszE,OAAOxyE,UAAUw1E,UAAY,SAAUpD,EAAWC,EAAUC,EAAWC,GAE1E70E,KAAKo4E,cA3FQ,OA2FkB1D,EAAW10E,KAAK0mC,MAAM+uB,eACrDz1D,KAAKo4E,cA3FO,MA2FkBzD,GAAW30E,KAAK0mC,MAAM+uB,eACpDz1D,KAAKo4E,cA3FQ,OA2FkBxD,EAAW50E,KAAK0mC,MAAM2uB,eACrDr1D,KAAKo4E,cA3FM,KA2FkBvD,EAAS70E,KAAK0mC,MAAM4uB,cAYrD9zD,EAAOszE,OAAOxyE,UAAUk2E,cAAgB,SAAU3xC,EAAOD,EAAO6xC,GAE5D,IAAIC,EAAW,KAAO7xC,EAAQ,QAC1B8xC,EAAY,KAAO9xC,EAAQ,cAE3BD,aAAiBplC,EAAOo3E,OAAShyC,aAAiBplC,EAAOq3E,aAEzD74E,KAAK04E,GAAY9xC,EACjB5mC,KAAK24E,GAA+B,iBAAXF,EAAsBA,EAAS,KAIxDz4E,KAAK04E,GAAY,KACjB14E,KAAK24E,GAAa,KAY1Bn3E,EAAOszE,OAAOxyE,UAAUw2E,eAAiB,SAAUjyC,GAE/C,IACID,EAAQ5mC,KADG,KAAO6mC,EAAQ,SAG9B,GAAID,EACJ,CACI,IACI6xC,EAASz4E,KADG,KAAO6mC,EAAQ,eAI/B,OADAD,EAAMukC,KAAKsN,IACJ,EAIP,OAAO,GAqBfj3E,EAAOszE,OAAOxyE,UAAUy2E,UAAY,SAAUC,EAAWC,EAAYC,EAAWC,EAAYC,EAAUC,EAAWC,EAASC,GAEtHv5E,KAAKw4E,cAzKQ,OAyKkBQ,EAAWC,GAC1Cj5E,KAAKw4E,cAzKO,MAyKkBY,EAAUC,GACxCr5E,KAAKw4E,cAzKQ,OAyKkBU,EAAWC,GAC1Cn5E,KAAKw4E,cAzKM,KAyKkBc,EAASC,IAW1C/3E,EAAOszE,OAAOxyE,UAAUk3E,aAAe,SAAU5yC,EAAO6xC,GAEpDz4E,KAAKw4E,cAzLQ,OAyLkB5xC,EAAO6xC,IAW1Cj3E,EAAOszE,OAAOxyE,UAAUm3E,YAAc,SAAU7yC,EAAO6xC,GAEnDz4E,KAAKw4E,cArMO,MAqMkB5xC,EAAO6xC,IAWzCj3E,EAAOszE,OAAOxyE,UAAUo3E,aAAe,SAAU9yC,EAAO6xC,GAEpDz4E,KAAKw4E,cAjNQ,OAiNkB5xC,EAAO6xC,IAW1Cj3E,EAAOszE,OAAOxyE,UAAUq3E,WAAa,SAAU/yC,EAAO6xC,GAElDz4E,KAAKw4E,cA7NM,KA6NkB5xC,EAAO6xC,IAWxCj3E,EAAOszE,OAAOxyE,UAAUy1E,mBAAqB,SAAUx0D,EAAQ+qB,GAEvDA,EAAQyd,iBACP/rD,KAAK23E,yBAA2BrpC,EAAQ0d,eAAiB1d,EAAQ0d,cAMtEhsD,KAAKu4E,iBApPQ,QAsPTv4E,KAAK03E,kBAAoBppC,EAAQif,UAKrCvtD,KAAK84E,eA3PQ,QA6PT94E,KAAK2vE,aAEL3vE,KAAK2vE,YAAYhqC,SAAS3lC,KAAMsuC,MAYxC9sC,EAAOszE,OAAOxyE,UAAU01E,kBAAoB,SAAUz0D,EAAQ+qB,GAE1DtuC,KAAKu4E,iBA5QO,OA8QZv4E,KAAK84E,eA9QO,OAgRR94E,KAAK4vE,YAEL5vE,KAAK4vE,WAAWjqC,SAAS3lC,KAAMsuC,IAYvC9sC,EAAOszE,OAAOxyE,UAAU21E,mBAAqB,SAAU10D,EAAQ+qB,GAE3DtuC,KAAKu4E,iBA/RQ,QAiSbv4E,KAAK84E,eAjSQ,QAmST94E,KAAK6vE,aAEL7vE,KAAK6vE,YAAYlqC,SAAS3lC,KAAMsuC,IAaxC9sC,EAAOszE,OAAOxyE,UAAU41E,iBAAmB,SAAU30D,EAAQ+qB,EAASgmB,GAElEt0D,KAAK84E,eAnTM,MAsTP94E,KAAK8vE,WAEL9vE,KAAK8vE,UAAUnqC,SAAS3lC,KAAMsuC,EAASgmB,GAGvCt0D,KAAK43E,gBAKa,IAAlB53E,KAAK63E,WAAsB73E,KAAK63E,SAAWvpC,EAAQ0d,eAAiB1d,EAAQ0d,YAE5EhsD,KAAKu4E,iBApUG,OAwUQv4E,KAAKu4E,iBAtUd,QA0UCjkB,EAEAt0D,KAAKu4E,iBA/UJ,QAmVDv4E,KAAKu4E,iBAlVL,UA8WhB/2E,EAAOyyE,YAAc,SAAUlxE,EAAM1B,EAAQ6wB,EAAMqgB,QAEhChsC,IAAXlF,GAAmC,OAAXA,IAAmBA,EAAS0B,EAAKE,OAE7DzB,EAAO8wC,MAAM9tC,KAAKxE,KAAM+C,EAAM1B,EAAQ6wB,EAAMqgB,GAM5CvyC,KAAKwT,KAAOhS,EAAO6rB,YAMnBrtB,KAAK45E,gBAAkB,KAMvB55E,KAAK65E,OAAQ,GAGjBr4E,EAAOyyE,YAAY3xE,UAAY0E,OAAOwB,OAAOhH,EAAO8wC,MAAMhwC,WAE1Dd,EAAOyyE,YAAY3xE,UAAUC,YAAcf,EAAOyyE,YAUlDzyE,EAAOyyE,YAAY3xE,UAAUyD,aAAe,SAAUH,IAE7C5F,KAAKkB,SAAWlB,KAAKiB,OAAS,IAAMjB,KAAKyC,SAASE,SAKlD3C,KAAK65E,QAEN75E,KAAK45E,gBAAkB,IAAIp7E,KAAKunB,qBAAqBngB,EAAcjI,IAEnEqC,KAAK65E,OAAQ,GAGb75E,KAAK45E,gBAAgBj8E,KAAOiI,EAAcjI,IAE1CqC,KAAK45E,gBAAgB1gE,WAAWtT,EAAcjI,IAGlDiI,EAAcmG,YAAYI,OAE1BvG,EAAc8R,cAAcqI,UAAUna,EAAc8R,cAAcyJ,YAElEnhB,KAAK45E,gBAAgBv+D,MAAMrb,KAAM4F,GACjC5F,KAAK45E,gBAAgBz0E,OAAOnF,MAE5B4F,EAAcmG,YAAYO,UAW9B9K,EAAOyyE,YAAY3xE,UAAU0D,cAAgB,SAAUJ,GAEnD,GAAK5F,KAAKkB,WAAWlB,KAAKiB,OAAS,IAAMjB,KAAKyC,SAASE,OAAvD,CAKA,IAAImL,EAAUlI,EAAckI,QAE5BA,EAAQG,YAAcjO,KAAKsB,WAE3BtB,KAAK+G,+BAML,IAAK,IAJDuhB,EAAYtoB,KAAKuB,eAEjBu4E,GAAY,EAEPp3E,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAC1C,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAE1B,GAAKgG,EAAMxH,QAAX,CAKA,IAAInD,EAAU2K,EAAM3K,QAChBsP,EAAQtP,EAAQsP,MAIpB,GAFAS,EAAQG,YAAcjO,KAAKsB,WAAaoH,EAAMzH,MAE1CyH,EAAM1H,UAAsB,EAAV0C,KAAKwxB,KAAY,EAI/B4kD,IAEAhsE,EAAQe,aAAayZ,EAAUplB,EAAGolB,EAAUnlB,EAAGmlB,EAAUllB,EAAGklB,EAAUjlB,EAAGilB,EAAUhlB,GAAIglB,EAAU/kB,IACjGu2E,GAAY,GAGhBhsE,EAAQmB,UACJlR,EAAQqI,YAAYgJ,OACpB/B,EAAMtJ,EACNsJ,EAAMrJ,EACNqJ,EAAMzP,MACNyP,EAAMxP,OACJ6K,EAAM/B,OAAQ,IAAM0G,EAAMzP,MAAQ8K,EAAM5H,MAAMiD,GAAK2E,EAAM9H,SAASmD,EAAI,GAAM6B,EAAc0I,OAAU,EACpG5F,EAAM/B,OAAQ,IAAM0G,EAAMxP,OAAS6K,EAAM5H,MAAMkD,GAAK0E,EAAM9H,SAASoD,EAAI,GAAM4B,EAAc2I,OAAU,EACvGlB,EAAMzP,MAAQ8K,EAAM5H,MAAMiD,EAC1BsJ,EAAMxP,OAAS6K,EAAM5H,MAAMkD,OAGnC,CACS81E,IAEDA,GAAY,GAGhBpxE,EAAM3B,+BAEN,IAAIgzE,EAAiBrxE,EAAMnH,eACvB+B,EAAMy2E,EAAez2E,GAAKsC,EAAchB,WAAcgB,EAAc0I,OACpE/K,EAAMw2E,EAAex2E,GAAKqC,EAAchB,WAAcgB,EAAc2I,OAIpE3I,EAAcgJ,YAEdd,EAAQe,aAAakrE,EAAe72E,EAAG62E,EAAe52E,EAAG42E,EAAe32E,EAAG22E,EAAe12E,EAAQ,EAALC,EAAa,EAALC,GAIrGuK,EAAQe,aAAakrE,EAAe72E,EAAG62E,EAAe52E,EAAG42E,EAAe32E,EAAG22E,EAAe12E,EAAGC,EAAIC,GAGrGuK,EAAQmB,UACJlR,EAAQqI,YAAYgJ,OACpB/B,EAAMtJ,EACNsJ,EAAMrJ,EACNqJ,EAAMzP,MACNyP,EAAMxP,OACJ6K,EAAM/B,OAAQ,GAAM0G,EAAMzP,MAAS,GAAO,EAC1C8K,EAAM/B,OAAQ,GAAM0G,EAAMxP,OAAU,GAAO,EAC7CwP,EAAMzP,MACNyP,EAAMxP,aA4BtB2D,EAAOmwE,WAAa,SAAU5uE,EAAMiQ,EAAKpV,EAAOC,EAAQm8E,QAEtCzzE,IAAV3I,GAAiC,IAAVA,IAAeA,EAAQ,UACnC2I,IAAX1I,GAAmC,IAAXA,IAAgBA,EAAS,UACpC0I,IAAbyzE,IAA0BA,GAAW,GAKzCh6E,KAAK+C,KAAOA,EAKZ/C,KAAKgT,IAAMA,EAKXhT,KAAKpC,MAAQA,EAKboC,KAAKnC,OAASA,EAMdmC,KAAKkX,OAAS1V,EAAOmoB,OAAOnhB,OAAOxI,KAAMpC,EAAOC,EAAQ,KAAMm8E,GAM9Dh6E,KAAK8N,QAAU9N,KAAKkX,OAAOsB,WAAW,MAAQvX,OAAO,IAKrDjB,KAAKi6E,IAAMj6E,KAAK8N,QAKhB9N,KAAKkO,eAAkBnL,EAAK4nC,aAAenpC,EAAOioB,OAAU1mB,EAAK8B,SAASe,cAAcsI,eAAiB1M,EAAOmoB,OAAOC,mBAAmB5pB,KAAK8N,SAO/I9N,KAAKk6E,UAAYl6E,KAAK8N,QAAQsb,aAAa,EAAG,EAAGxrB,EAAOC,GAOxDmC,KAAKoU,KAAO,KAERpU,KAAKk6E,YAELl6E,KAAKoU,KAAOpU,KAAKk6E,UAAU9lE,MAM/BpU,KAAKqpB,OAAS,KAKVrpB,KAAKoU,OAEDpU,KAAKk6E,UAAU9lE,KAAK+G,QAEpBnb,KAAKmb,OAASnb,KAAKk6E,UAAU9lE,KAAK+G,OAClCnb,KAAKqpB,OAAS,IAAI7G,YAAYxiB,KAAKmb,SAGnC/K,OAAOgS,aAEPpiB,KAAKmb,OAAS,IAAIiH,YAAYpiB,KAAKk6E,UAAU9lE,KAAKzR,QAClD3C,KAAKqpB,OAAS,IAAI7G,YAAYxiB,KAAKmb,SAInCnb,KAAKqpB,OAASrpB,KAAKk6E,UAAU9lE,MAQrCpU,KAAKoG,YAAc,IAAI5H,KAAK6rB,YAAYrqB,KAAKkX,OAAQ,KAAMlX,KAAK+C,KAAK6B,YAMrE5E,KAAKjC,QAAU,IAAIS,KAAKqO,QAAQ7M,KAAKoG,aAKrCpG,KAAK+xE,UAAY,IAAIvwE,EAAO24E,UAM5Bn6E,KAAKo6E,aAAep6E,KAAK+xE,UAAUsI,SAAS,IAAI74E,EAAO84E,MAAM,EAAG,EAAG,EAAG18E,EAAOC,EAAQ,eAErFmC,KAAKjC,QAAQsP,MAAQrN,KAAKo6E,aAM1Bp6E,KAAKwT,KAAOhS,EAAOyrB,WAKnBjtB,KAAKu6E,sBAAuB,EAK5Bv6E,KAAKwR,OAAQ,EAGbxR,KAAKw6E,IAAMx6E,KAAK4a,MAMhB5a,KAAKy6E,OAAS,KAMdz6E,KAAK06E,KAAO,IAAIl5E,EAAOX,MAMvBb,KAAK26E,MAAQ,IAAIn5E,EAAOX,MAMxBb,KAAK46E,OAAS,IAAIp5E,EAAOX,MAMzBb,KAAK66E,QAAU,EAMf76E,KAAK86E,QAAWC,KAAM,EAAG7yC,QAAS,GAMlCloC,KAAKg7E,QAAU,IAAIx5E,EAAOX,MAM1Bb,KAAKi7E,OAAS,EAMdj7E,KAAKk7E,OAAS,EAMdl7E,KAAKm7E,OAAS,EAMdn7E,KAAKo7E,QAAU,IAAI55E,EAAOqzB,OAM1B70B,KAAKq7E,iBAAc90E,GAGvB/E,EAAOmwE,WAAWrvE,WAad0jD,KAAM,SAAUjiD,EAAGC,EAAGm2B,GAYlB,OAVU,IAANp2B,GAEA/D,KAAKs7E,MAAMv3E,EAAGo2B,GAGR,IAANn2B,GAEAhE,KAAKu7E,MAAMv3E,EAAGm2B,GAGXn6B,MAaXs7E,MAAO,SAAU5lD,EAAUyE,QAEV5zB,IAAT4zB,IAAsBA,GAAO,QAER5zB,IAArBvG,KAAKq7E,cAELr7E,KAAKq7E,YAAc75E,EAAOqF,WAAW2B,OAAOxI,KAAMA,KAAKpC,MAAOoC,KAAKnC,SAGvE,IACIo8E,EADIj6E,KAAKq7E,YACD7iE,WAAW,MACnBgM,EAAIxkB,KAAKnC,OACTgS,EAAM7P,KAAKkX,OAIf,GAFA+iE,EAAI/xD,UAAU,EAAG,EAAGloB,KAAKpC,MAAOoC,KAAKnC,QAEjC63B,EAAW,EACf,CACIA,EAAWhyB,KAAKmzB,IAAInB,GAGhBrgB,EAAIrV,KAAKpC,MAAQ83B,EAGjByE,GAEA8/C,EAAIhrE,UAAUY,EAAK,EAAG,EAAG6lB,EAAUlR,EAAGnP,EAAG,EAAGqgB,EAAUlR,GAI1Dy1D,EAAIhrE,UAAUY,EAAK6lB,EAAU,EAAGrgB,EAAGmP,EAAG,EAAG,EAAGnP,EAAGmP,OAGnD,CAEI,IAAInP,EAAIrV,KAAKpC,MAAQ83B,EAGjByE,GAEA8/C,EAAIhrE,UAAUY,EAAKwF,EAAG,EAAGqgB,EAAUlR,EAAG,EAAG,EAAGkR,EAAUlR,GAI1Dy1D,EAAIhrE,UAAUY,EAAK,EAAG,EAAGwF,EAAGmP,EAAGkR,EAAU,EAAGrgB,EAAGmP,GAKnD,OAFAxkB,KAAK4a,QAEE5a,KAAKk0B,KAAKl0B,KAAKq7E,cAa1BE,MAAO,SAAU7lD,EAAUyE,QAEV5zB,IAAT4zB,IAAsBA,GAAO,QAER5zB,IAArBvG,KAAKq7E,cAELr7E,KAAKq7E,YAAc75E,EAAOqF,WAAW2B,OAAOxI,KAAMA,KAAKpC,MAAOoC,KAAKnC,SAGvE,IACIo8E,EADIj6E,KAAKq7E,YACD7iE,WAAW,MACnBnD,EAAIrV,KAAKpC,MACTiS,EAAM7P,KAAKkX,OAIf,GAFA+iE,EAAI/xD,UAAU,EAAG,EAAGloB,KAAKpC,MAAOoC,KAAKnC,QAEjC63B,EAAW,EACf,CACIA,EAAWhyB,KAAKmzB,IAAInB,GAGhBlR,EAAIxkB,KAAKnC,OAAS63B,EAGlByE,GAEA8/C,EAAIhrE,UAAUY,EAAK,EAAG,EAAGwF,EAAGqgB,EAAU,EAAGlR,EAAGnP,EAAGqgB,GAInDukD,EAAIhrE,UAAUY,EAAK,EAAG6lB,EAAUrgB,EAAGmP,EAAG,EAAG,EAAGnP,EAAGmP,OAGnD,CAEI,IAAIA,EAAIxkB,KAAKnC,OAAS63B,EAGlByE,GAEA8/C,EAAIhrE,UAAUY,EAAK,EAAG2U,EAAGnP,EAAGqgB,EAAU,EAAG,EAAGrgB,EAAGqgB,GAInDukD,EAAIhrE,UAAUY,EAAK,EAAG,EAAGwF,EAAGmP,EAAG,EAAGkR,EAAUrgB,EAAGmP,GAKnD,OAFAxkB,KAAK4a,QAEE5a,KAAKk0B,KAAKl0B,KAAKq7E,cAW1BliD,IAAK,SAAUsgB,GAEX,GAAIhyC,MAAMC,QAAQ+xC,GAEd,IAAK,IAAI/2C,EAAI,EAAGA,EAAI+2C,EAAO92C,OAAQD,IAE3B+2C,EAAO/2C,GAAG22C,aAEVI,EAAO/2C,GAAG22C,YAAYr5C,WAM9By5C,EAAOJ,YAAYr5C,MAGvB,OAAOA,MAaX2mC,KAAM,SAAUv3B,GAOZ,GALsB,iBAAXA,IAEPA,EAASpP,KAAK+C,KAAKiX,MAAMm4D,SAAS/iE,IAGlCA,EAcJ,OAZIpP,KAAKmG,OAAOiJ,EAAOxR,MAAOwR,EAAOvR,QACjCmC,KAAKw6E,MAOTx6E,KAAKw7E,KAAKpsE,GAEVpP,KAAKqlC,SAEErlC,MAyBX4a,MAAO,SAAU7W,EAAGC,EAAGpG,EAAOC,GAW1B,YATU0I,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,QACbuC,IAAV3I,IAAuBA,EAAQoC,KAAKpC,YACzB2I,IAAX1I,IAAwBA,EAASmC,KAAKnC,QAE1CmC,KAAK8N,QAAQoa,UAAUnkB,EAAGC,EAAGpG,EAAOC,GAEpCmC,KAAKwR,OAAQ,EAENxR,MAaX6mD,KAAM,SAAU3iD,EAAGyW,EAAGxX,EAAGD,GAQrB,YANUqD,IAANrD,IAAmBA,EAAI,GAE3BlD,KAAK8N,QAAQ+a,UAAY,QAAU3kB,EAAI,IAAMyW,EAAI,IAAMxX,EAAI,IAAMD,EAAI,IACrElD,KAAK8N,QAAQkb,SAAS,EAAG,EAAGhpB,KAAKpC,MAAOoC,KAAKnC,QAC7CmC,KAAKwR,OAAQ,EAENxR,MAaXy7E,UAAW,SAAUjoE,EAAMkoE,GAEvB,OAAO17E,KAAKkX,OAAOykE,UAAUnoE,EAAMkoE,IAkBvCvJ,SAAU,SAAU3+D,EAAMkoE,EAAgBE,EAAgBC,GAEtD,IAAI3hE,EAAQ,IAAIw5D,MAOhB,OALIkI,IAAkB1hE,EAAM4hE,OAASF,GACjCC,IAAmB3hE,EAAM6hE,QAAUF,GAEvC3hE,EAAMrK,IAAM7P,KAAKy7E,UAAUjoE,EAAMkoE,GAE1BxhE,GA+CXvV,gBAAiB,SAAUqO,EAAKgiC,EAAUxL,GAEtC,IAAIxvB,EAAQha,KAAK+C,KAAKiX,MAClBE,EAAQ,IAAIw5D,MAiBhB,GAfI1+B,IAEA96B,EAAM4hE,OAAS,WAEX,IAAI7pD,EAAMjY,EAAMgiE,SAAShpE,EAAK,GAAIkH,GAC9Bnc,EAAU,IAAIS,KAAKqO,QAAQolB,EAAI7X,MAEnC46B,EAASxwC,KAAKglC,GAAmB,KAAMzrC,GAEvCmc,EAAM4hE,OAAS,OAIvB5hE,EAAMrK,IAAM7P,KAAKy7E,aAEZzmC,EACL,CACI,IAAI/iB,EAAMjY,EAAMgiE,SAAShpE,EAAK,GAAIkH,GAElC,OAAO,IAAI1b,KAAKqO,QAAQolB,EAAI7X,MAGhC,OAAO,MAWXjU,OAAQ,SAAUvI,EAAOC,GAgCrB,OA9BID,IAAUoC,KAAKpC,OAASC,IAAWmC,KAAKnC,SAExCmC,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEdmC,KAAKkX,OAAOtZ,MAAQA,EACpBoC,KAAKkX,OAAOrZ,OAASA,OAEI0I,IAArBvG,KAAKq7E,cAELr7E,KAAKq7E,YAAYz9E,MAAQA,EACzBoC,KAAKq7E,YAAYx9E,OAASA,GAG9BmC,KAAKoG,YAAYxI,MAAQA,EACzBoC,KAAKoG,YAAYvI,OAASA,EAE1BmC,KAAKo6E,aAAax8E,MAAQA,EAC1BoC,KAAKo6E,aAAav8E,OAASA,EAE3BmC,KAAKjC,QAAQH,MAAQA,EACrBoC,KAAKjC,QAAQF,OAASA,EAEtBmC,KAAKjC,QAAQ6P,KAAKhQ,MAAQA,EAC1BoC,KAAKjC,QAAQ6P,KAAK/P,OAASA,EAE3BmC,KAAKqlC,SACLrlC,KAAKwR,OAAQ,GAGVxR,MAiBXqlC,OAAQ,SAAUthC,EAAGC,EAAGpG,EAAOC,GA0B3B,YAxBU0I,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,QACbuC,IAAV3I,IAAuBA,EAAQ8F,KAAKuC,IAAI,EAAGjG,KAAKpC,aACrC2I,IAAX1I,IAAwBA,EAAS6F,KAAKuC,IAAI,EAAGjG,KAAKnC,SAEtDmC,KAAKk6E,UAAYl6E,KAAK8N,QAAQsb,aAAarlB,EAAGC,EAAGpG,EAAOC,GACxDmC,KAAKoU,KAAOpU,KAAKk6E,UAAU9lE,KAEvBpU,KAAKk6E,UAAU9lE,KAAK+G,QAEpBnb,KAAKmb,OAASnb,KAAKk6E,UAAU9lE,KAAK+G,OAClCnb,KAAKqpB,OAAS,IAAI7G,YAAYxiB,KAAKmb,SAGnC/K,OAAOgS,aAEPpiB,KAAKmb,OAAS,IAAIiH,YAAYpiB,KAAKk6E,UAAU9lE,KAAKzR,QAClD3C,KAAKqpB,OAAS,IAAI7G,YAAYxiB,KAAKmb,SAInCnb,KAAKqpB,OAASrpB,KAAKk6E,UAAU9lE,KAG1BpU,MAsBXi8E,gBAAiB,SAAUjnC,EAAUxL,EAAiBzlC,EAAGC,EAAGpG,EAAOC,QAErD0I,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,QACbuC,IAAV3I,IAAuBA,EAAQoC,KAAKpC,YACzB2I,IAAX1I,IAAwBA,EAASmC,KAAKnC,QAQ1C,IAAK,IANDwX,EAAItR,EAAInG,EACR4mB,EAAIxgB,EAAInG,EACRq+E,EAAQ16E,EAAO4e,MAAM+7D,cACrBrjD,GAAW50B,EAAG,EAAGyW,EAAG,EAAGxX,EAAG,EAAGD,EAAG,GAChCsO,GAAQ,EAEHjO,EAAKS,EAAGT,EAAKihB,EAAGjhB,IAErB,IAAK,IAAID,EAAKS,EAAGT,EAAK+R,EAAG/R,IAErB9B,EAAO4e,MAAMg8D,YAAYp8E,KAAKq8E,WAAW/4E,EAAIC,GAAK24E,IAInC,KAFfpjD,EAASkc,EAASxwC,KAAKglC,EAAiB0yC,EAAO54E,EAAIC,KAEhB,OAAXu1B,QAA8BvyB,IAAXuyB,IAEvC94B,KAAKs8E,WAAWh5E,EAAIC,EAAIu1B,EAAO50B,EAAG40B,EAAOne,EAAGme,EAAO31B,EAAG21B,EAAO51B,GAAG,GAChEsO,GAAQ,GAWpB,OANIA,IAEAxR,KAAK8N,QAAQyb,aAAavpB,KAAKk6E,UAAW,EAAG,GAC7Cl6E,KAAKwR,OAAQ,GAGVxR,MAmBXu8E,aAAc,SAAUvnC,EAAUxL,EAAiBzlC,EAAGC,EAAGpG,EAAOC,QAElD0I,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,QACbuC,IAAV3I,IAAuBA,EAAQoC,KAAKpC,YACzB2I,IAAX1I,IAAwBA,EAASmC,KAAKnC,QAQ1C,IAAK,IANDwX,EAAItR,EAAInG,EACR4mB,EAAIxgB,EAAInG,EACRq+E,EAAQ,EACRpjD,EAAS,EACTtnB,GAAQ,EAEHjO,EAAKS,EAAGT,EAAKihB,EAAGjhB,IAErB,IAAK,IAAID,EAAKS,EAAGT,EAAK+R,EAAG/R,IAErB44E,EAAQl8E,KAAKq8E,WAAW/4E,EAAIC,IAC5Bu1B,EAASkc,EAASxwC,KAAKglC,EAAiB0yC,EAAO54E,EAAIC,MAEpC24E,IAEXl8E,KAAKqpB,OAAO9lB,EAAKvD,KAAKpC,MAAQ0F,GAAMw1B,EACpCtnB,GAAQ,GAWpB,OANIA,IAEAxR,KAAK8N,QAAQyb,aAAavpB,KAAKk6E,UAAW,EAAG,GAC7Cl6E,KAAKwR,OAAQ,GAGVxR,MAmBXw8E,WAAY,SAAUC,EAAIC,EAAIpiD,EAAIF,EAAIuiD,EAAIC,EAAIriD,EAAIF,EAAIwiD,GAElD,IAAI9iD,EAAK,EACLC,EAAK,EACL3kB,EAAIrV,KAAKpC,MACT4mB,EAAIxkB,KAAKnC,OACTuR,EAAS5N,EAAO4e,MAAM08D,UAAUL,EAAIC,EAAIpiD,EAAIF,QAEjC7zB,IAAXs2E,GAAwBA,aAAkBr7E,EAAOS,YAEjD83B,EAAK8iD,EAAO94E,EACZi2B,EAAK6iD,EAAO74E,EACZqR,EAAIwnE,EAAOj/E,MACX4mB,EAAIq4D,EAAOh/E,QAGf,IAAK,IAAImG,EAAI,EAAGA,EAAIwgB,EAAGxgB,IAEnB,IAAK,IAAID,EAAI,EAAGA,EAAIsR,EAAGtR,IAEf/D,KAAKq8E,WAAWtiD,EAAKh2B,EAAGi2B,EAAKh2B,KAAOoL,GAEpCpP,KAAKs8E,WAAWviD,EAAKh2B,EAAGi2B,EAAKh2B,EAAG24E,EAAIC,EAAIriD,EAAIF,GAAI,GAQ5D,OAHAr6B,KAAK8N,QAAQyb,aAAavpB,KAAKk6E,UAAW,EAAG,GAC7Cl6E,KAAKwR,OAAQ,EAENxR,MAaX+8E,OAAQ,SAAUv4D,EAAGngB,EAAG8yB,EAAG0lD,GAEvB,IAAIG,EAASx4D,GAAW,IAANA,EACdy4D,EAAS54E,GAAW,IAANA,EACd64E,EAAS/lD,GAAW,IAANA,EAElB,GAAK6lD,GAAWC,GAAWC,EAA3B,MAKe32E,IAAXs2E,IAEAA,EAAS,IAAIr7E,EAAOS,UAAU,EAAG,EAAGjC,KAAKpC,MAAOoC,KAAKnC,SAKzD,IAAK,IAFDq+E,EAAQ16E,EAAO4e,MAAM+7D,cAEhBn4E,EAAI64E,EAAO74E,EAAGA,EAAI64E,EAAOrmD,OAAQxyB,IAEtC,IAAK,IAAID,EAAI84E,EAAO94E,EAAGA,EAAI84E,EAAOjpD,MAAO7vB,IAErCvC,EAAO4e,MAAMg8D,YAAYp8E,KAAKq8E,WAAWt4E,EAAGC,GAAIk4E,GAAO,GAEnDc,IAEAd,EAAM13D,EAAIA,GAGVy4D,IAEAf,EAAM73E,EAAIA,GAGV64E,IAEAhB,EAAM/kD,EAAIA,GAGd31B,EAAO4e,MAAM+8D,SAASjB,EAAM13D,EAAG03D,EAAM73E,EAAG63E,EAAM/kD,EAAG+kD,GACjDl8E,KAAKs8E,WAAWv4E,EAAGC,EAAGk4E,EAAMh4E,EAAGg4E,EAAMvhE,EAAGuhE,EAAM/4E,EAAG+4E,EAAMh5E,GAAG,GAOlE,OAHAlD,KAAK8N,QAAQyb,aAAavpB,KAAKk6E,UAAW,EAAG,GAC7Cl6E,KAAKwR,OAAQ,EAENxR,OAeXo9E,SAAU,SAAU54D,EAAGngB,EAAG8yB,EAAG0lD,GAMzB,QAJUt2E,IAANie,GAAyB,OAANA,IAAcA,GAAI,QAC/Bje,IAANlC,GAAyB,OAANA,IAAcA,GAAI,QAC/BkC,IAAN4wB,GAAyB,OAANA,IAAcA,GAAI,GAEpC3S,GAAMngB,GAAM8yB,EAAjB,MAKe5wB,IAAXs2E,IAEAA,EAAS,IAAIr7E,EAAOS,UAAU,EAAG,EAAGjC,KAAKpC,MAAOoC,KAAKnC,SAKzD,IAAK,IAFDq+E,EAAQ16E,EAAO4e,MAAM+7D,cAEhBn4E,EAAI64E,EAAO74E,EAAGA,EAAI64E,EAAOrmD,OAAQxyB,IAEtC,IAAK,IAAID,EAAI84E,EAAO94E,EAAGA,EAAI84E,EAAOjpD,MAAO7vB,IAErCvC,EAAO4e,MAAMg8D,YAAYp8E,KAAKq8E,WAAWt4E,EAAGC,GAAIk4E,GAAO,GAEnD13D,IAEA03D,EAAM13D,EAAIxkB,KAAK+C,KAAKgjC,KAAK5L,KAAK+hD,EAAM13D,EAAIA,EAAG,EAAG,IAG9CngB,IAEA63E,EAAM73E,EAAIrE,KAAK+C,KAAKgjC,KAAKpJ,MAAMu/C,EAAM73E,EAAIA,EAAG,EAAG,IAG/C8yB,IAEA+kD,EAAM/kD,EAAIn3B,KAAK+C,KAAKgjC,KAAKpJ,MAAMu/C,EAAM/kD,EAAIA,EAAG,EAAG,IAGnD31B,EAAO4e,MAAM+8D,SAASjB,EAAM13D,EAAG03D,EAAM73E,EAAG63E,EAAM/kD,EAAG+kD,GACjDl8E,KAAKs8E,WAAWv4E,EAAGC,EAAGk4E,EAAMh4E,EAAGg4E,EAAMvhE,EAAGuhE,EAAM/4E,EAAG+4E,EAAMh5E,GAAG,GAOlE,OAHAlD,KAAK8N,QAAQyb,aAAavpB,KAAKk6E,UAAW,EAAG,GAC7Cl6E,KAAKwR,OAAQ,EAENxR,OAgBXs8E,WAAY,SAAUv4E,EAAGC,EAAGq5E,EAAKC,EAAOC,EAAMt8E,EAAOu8E,GAsBjD,YApBkBj3E,IAAdi3E,IAA2BA,GAAY,GAEvCz5E,GAAK,GAAKA,GAAK/D,KAAKpC,OAASoG,GAAK,GAAKA,GAAKhE,KAAKnC,SAE7C2D,EAAOk6C,OAAO+hC,cAEdz9E,KAAKqpB,OAAOrlB,EAAIhE,KAAKpC,MAAQmG,GAAM9C,GAAS,GAAOs8E,GAAQ,GAAOD,GAAS,EAAKD,EAIhFr9E,KAAKqpB,OAAOrlB,EAAIhE,KAAKpC,MAAQmG,GAAMs5E,GAAO,GAAOC,GAAS,GAAOC,GAAQ,EAAKt8E,EAG9Eu8E,IAEAx9E,KAAK8N,QAAQyb,aAAavpB,KAAKk6E,UAAW,EAAG,GAC7Cl6E,KAAKwR,OAAQ,IAIdxR,MAeX09E,SAAU,SAAU35E,EAAGC,EAAGq5E,EAAKC,EAAOC,EAAMC,GAExC,OAAOx9E,KAAKs8E,WAAWv4E,EAAGC,EAAGq5E,EAAKC,EAAOC,EAAM,IAAKC,IAcxDG,SAAU,SAAU55E,EAAGC,EAAGmxB,GAEjBA,IAEDA,EAAM3zB,EAAO4e,MAAM+7D,eAGvB,IAAIvzE,KAAW7E,EAAKC,EAAIhE,KAAKpC,OAS7B,OAPAgL,GAAS,EAETusB,EAAIjxB,EAAIlE,KAAKoU,KAAKxL,GAClBusB,EAAIxa,EAAI3a,KAAKoU,OAAOxL,GACpBusB,EAAIhyB,EAAInD,KAAKoU,OAAOxL,GACpBusB,EAAIjyB,EAAIlD,KAAKoU,OAAOxL,GAEbusB,GAcXknD,WAAY,SAAUt4E,EAAGC,GAErB,GAAID,GAAK,GAAKA,GAAK/D,KAAKpC,OAASoG,GAAK,GAAKA,GAAKhE,KAAKnC,OAEjD,OAAOmC,KAAKqpB,OAAOrlB,EAAIhE,KAAKpC,MAAQmG,IAiB5C65E,YAAa,SAAU75E,EAAGC,EAAGmxB,EAAK0oD,EAAKC,GAEnC,OAAOt8E,EAAO4e,MAAMg8D,YAAYp8E,KAAKq8E,WAAWt4E,EAAGC,GAAImxB,EAAK0oD,EAAKC,IAUrEC,UAAW,SAAUjjD,GAEjB,OAAO96B,KAAK8N,QAAQsb,aAAa0R,EAAK/2B,EAAG+2B,EAAK92B,EAAG82B,EAAKl9B,MAAOk9B,EAAKj9B,SAkBtEmgF,cAAe,SAAUn5C,QAEHt+B,IAAds+B,IAA2BA,EAAY,GAE3C,IAAIq3C,EAAQ16E,EAAO4e,MAAM+7D,cAErBp4E,EAAI,EACJC,EAAI,EACJ46C,EAAI,EACJq/B,GAAO,EAEO,IAAdp5C,GAEA+Z,GAAK,EACL56C,EAAIhE,KAAKnC,QAEU,IAAdgnC,IAEL+Z,GAAK,EACL76C,EAAI/D,KAAKpC,OAGb,GAEI4D,EAAO4e,MAAMg8D,YAAYp8E,KAAKq8E,WAAWt4E,EAAGC,GAAIk4E,GAE9B,IAAdr3C,GAAiC,IAAdA,IAGnB9gC,IAEU/D,KAAKpC,QAEXmG,EAAI,IACJC,GAAK46C,IAEI5+C,KAAKnC,QAAUmG,GAAK,KAEzBi6E,GAAO,IAII,IAAdp5C,GAAiC,IAAdA,KAGxB7gC,IAEUhE,KAAKnC,SAEXmG,EAAI,IACJD,GAAK66C,IAEI5+C,KAAKpC,OAASmG,GAAK,KAExBk6E,GAAO,UAKJ,IAAZ/B,EAAMh5E,IAAY+6E,GAKzB,OAHA/B,EAAMn4E,EAAIA,EACVm4E,EAAMl4E,EAAIA,EAEHk4E,GAWXhyE,UAAW,SAAU4wB,GAOjB,YALav0B,IAATu0B,IAAsBA,EAAO,IAAIt5B,EAAOS,WAE5C64B,EAAK/2B,EAAI/D,KAAKg+E,cAAc,GAAGj6E,EAG3B+2B,EAAK/2B,IAAM/D,KAAKpC,MAETk9B,EAAKxF,MAAM,EAAG,EAAG,EAAG,IAG/BwF,EAAK92B,EAAIhE,KAAKg+E,cAAc,GAAGh6E,EAC/B82B,EAAKl9B,MAASoC,KAAKg+E,cAAc,GAAGj6E,EAAI+2B,EAAK/2B,EAAK,EAClD+2B,EAAKj9B,OAAUmC,KAAKg+E,cAAc,GAAGh6E,EAAI82B,EAAK92B,EAAK,EAE5C82B,IAeX2T,WAAY,SAAU1qC,EAAGC,EAAG0qC,EAASC,EAAS9pB,EAAQE,GAElDF,EAASA,GAAU,EACnBE,EAASA,GAAU,EAEnB,IAAI7K,EAAQla,KAAK+C,KAAKo2B,IAAIjf,MAAMnW,EAAGC,EAAGhE,MAKtC,OAHAka,EAAMvT,OAAOQ,IAAIunC,EAASC,GAC1Bz0B,EAAMpZ,MAAMqG,IAAI0d,EAAQE,GAEjB7K,GAsCXga,KAAM,SAAU9kB,EAAQrL,EAAGC,EAAGpG,EAAOC,EAAQyF,EAAIC,EAAI26E,EAAUC,EAAWzlD,EAAQgW,EAASC,EAAS9pB,EAAQE,EAAQ9jB,EAAOgH,EAAWi6B,GAWlI,QATe37B,IAAX6I,GAAmC,OAAXA,IAAmBA,EAASpP,MAEpDoP,aAAkB5N,EAAOyD,gBAEzBmK,EAASA,EAAOgvE,aAGpBp+E,KAAKy6E,OAASrrE,EAEVA,aAAkB5N,EAAOsE,QAAUsJ,aAAkB5N,EAAOkyE,OAAStkE,aAAkB5N,EAAOizE,MAAQrlE,aAAkB5Q,KAAKsH,OAG7H9F,KAAK06E,KAAKvzE,IAAIiI,EAAOrR,QAAQ6P,KAAK7J,EAAGqL,EAAOrR,QAAQ6P,KAAK5J,GACzDhE,KAAK26E,MAAMxzE,IAAIiI,EAAOrR,QAAQ6P,KAAKhQ,MAAOwR,EAAOrR,QAAQ6P,KAAK/P,QAC9DmC,KAAK46E,OAAOzzE,IAAIiI,EAAOtO,MAAMiD,EAAGqL,EAAOtO,MAAMkD,GAC7ChE,KAAKg7E,QAAQ7zE,IAAIiI,EAAOzI,OAAO5C,EAAGqL,EAAOzI,OAAO3C,GAChDhE,KAAK66E,QAAUzrE,EAAOpO,SACtBhB,KAAK86E,OAAO5yC,QAAU94B,EAAOnO,MAEzBmO,EAAOrR,mBAAmByD,EAAOyD,cAEjCjF,KAAKy6E,OAASrrE,EAAOrR,QAAQqgF,YAI7Bp+E,KAAKy6E,OAASrrE,EAAOrR,QAAQqI,YAAYgJ,YAGlC7I,IAAPjD,GAA2B,OAAPA,IAAeA,EAAK8L,EAAOrL,QACxCwC,IAAPhD,GAA2B,OAAPA,IAAeA,EAAK6L,EAAOpL,GAE/CoL,EAAOrR,QAAQqQ,OAGf9K,GAAM8L,EAAOrR,QAAQqQ,KAAKrK,EAAIqL,EAAOzI,OAAO5C,EAAIqL,EAAOrR,QAAQqQ,KAAKxQ,MACpE2F,GAAM6L,EAAOrR,QAAQqQ,KAAKpK,EAAIoL,EAAOzI,OAAO3C,EAAIoL,EAAOrR,QAAQqQ,KAAKvQ,QAGpD,WAAhBuR,EAAOrC,OAEHqC,EAAOpC,aAAeoC,EAAOrC,OAE7BqC,EAAOpC,WAAaoC,EAAOrC,KAC3BqC,EAAOxI,cAAgBpI,KAAKuQ,aAAaC,iBAAiBI,EAAQA,EAAOrC,OAG7E/M,KAAKy6E,OAASrrE,EAAOxI,cACrB5G,KAAK06E,KAAKvzE,IAAI,QAItB,CAQI,GANAnH,KAAK06E,KAAKvzE,IAAI,GACdnH,KAAK46E,OAAOzzE,IAAI,GAChBnH,KAAKg7E,QAAQ7zE,IAAI,GACjBnH,KAAK66E,QAAU,EACf76E,KAAK86E,OAAO5yC,QAAU,EAElB94B,aAAkB5N,EAAOmwE,WAEzB3xE,KAAKy6E,OAASrrE,EAAO8H,YAEpB,GAAsB,iBAAX9H,EAChB,CAGI,GAAe,QAFfA,EAASpP,KAAK+C,KAAKiX,MAAMm4D,SAAS/iE,IAI9B,OAAOpP,KAIPA,KAAKy6E,OAASrrE,EAItBpP,KAAK26E,MAAMxzE,IAAInH,KAAKy6E,OAAO78E,MAAOoC,KAAKy6E,OAAO58E,QA6DlD,QAzDU0I,IAANxC,GAAyB,OAANA,IAAcA,EAAI,QAC/BwC,IAANvC,GAAyB,OAANA,IAAcA,EAAI,GAGrCpG,IAEAoC,KAAK26E,MAAM52E,EAAInG,GAGfC,IAEAmC,KAAK26E,MAAM32E,EAAInG,QAIR0I,IAAPjD,GAA2B,OAAPA,IAAeA,EAAKS,QACjCwC,IAAPhD,GAA2B,OAAPA,IAAeA,EAAKS,QAC3BuC,IAAb23E,GAAuC,OAAbA,IAAqBA,EAAWl+E,KAAK26E,MAAM52E,QACvDwC,IAAd43E,GAAyC,OAAdA,IAAsBA,EAAYn+E,KAAK26E,MAAM32E,GAGtD,iBAAX00B,IAEP14B,KAAK66E,QAAUniD,GAII,iBAAZgW,IAEP1uC,KAAKg7E,QAAQj3E,EAAI2qC,GAGE,iBAAZC,IAEP3uC,KAAKg7E,QAAQh3E,EAAI2qC,GAIC,iBAAX9pB,IAEP7kB,KAAK46E,OAAO72E,EAAI8gB,GAGE,iBAAXE,IAEP/kB,KAAK46E,OAAO52E,EAAI+gB,GAIC,iBAAV9jB,IAEPjB,KAAK86E,OAAO5yC,QAAUjnC,QAGRsF,IAAd0B,IAA2BA,EAAY,WAC3B1B,IAAZ27B,IAAyBA,GAAU,GAEnCliC,KAAK86E,OAAO5yC,SAAW,GAAuB,IAAlBloC,KAAK46E,OAAO72E,GAA6B,IAAlB/D,KAAK46E,OAAO52E,GAA4B,IAAjBhE,KAAK26E,MAAM52E,GAA4B,IAAjB/D,KAAK26E,MAAM32E,EAG3G,OAAOhE,KAGX,IAAIi6E,EAAMj6E,KAAK8N,QAoCf,OAlCA9N,KAAK86E,OAAOC,KAAOd,EAAIhsE,YAEvBgsE,EAAI7xD,OAEJ6xD,EAAIhsE,YAAcjO,KAAK86E,OAAO5yC,QAE1BjgC,IAEAjI,KAAKq+E,GAAKp2E,GAGVi6B,IAEA5+B,GAAM,EACNC,GAAM,GAIV02E,EAAIl+C,UAAUz4B,EAAIC,GAElB02E,EAAIn5E,MAAMd,KAAK46E,OAAO72E,EAAG/D,KAAK46E,OAAO52E,GAErCi2E,EAAIvhD,OAAO14B,KAAK66E,SAEhBZ,EAAIhrE,UAAUjP,KAAKy6E,OAAQz6E,KAAK06E,KAAK32E,EAAIA,EAAG/D,KAAK06E,KAAK12E,EAAIA,EAAGhE,KAAK26E,MAAM52E,EAAG/D,KAAK26E,MAAM32E,GAAIk6E,EAAWl+E,KAAKg7E,QAAQj3E,GAAIo6E,EAAYn+E,KAAKg7E,QAAQh3E,EAAGk6E,EAAUC,GAI5JlE,EAAIvxD,UAEJuxD,EAAIhsE,YAAcjO,KAAK86E,OAAOC,KAE9B/6E,KAAKwR,OAAQ,EAENxR,MAgBXs+E,cAAe,SAAUlvE,EAAQnH,EAAWi6B,GAKxC,QAHkB37B,IAAd0B,IAA2BA,EAAY,WAC3B1B,IAAZ27B,IAAyBA,GAAU,IAElC9yB,EAAOmiB,eAAe,oBAAsBniB,EAAO/H,cAAsC,IAAtB+H,EAAO9N,WAE3E,OAAOtB,KAGX,IAAIyD,EAAK2L,EAAO7N,eAKhB,GAHAvB,KAAK06E,KAAKvzE,IAAIiI,EAAOrR,QAAQ6P,KAAK7J,EAAGqL,EAAOrR,QAAQ6P,KAAK5J,GACzDhE,KAAK26E,MAAMxzE,IAAIiI,EAAOrR,QAAQ6P,KAAKhQ,MAAOwR,EAAOrR,QAAQ6P,KAAK/P,QAEjD,IAAT4F,EAAGP,GAAoB,IAATO,EAAGJ,GAA4B,IAAjBrD,KAAK26E,MAAM52E,GAA4B,IAAjB/D,KAAK26E,MAAM32E,EAG7D,OAAOhE,KAGPoP,EAAOrR,mBAAmByD,EAAOyD,cAEjCjF,KAAKy6E,OAASrrE,EAAOrR,QAAQqgF,YAI7Bp+E,KAAKy6E,OAASrrE,EAAOrR,QAAQqI,YAAYgJ,OAG7C,IAAI9L,EAAKG,EAAGH,GACRC,EAAKE,EAAGF,GAER6L,EAAOrR,QAAQqQ,OAGf9K,GAAM8L,EAAOrR,QAAQqQ,KAAKrK,EAAIqL,EAAOzI,OAAO5C,EAAIqL,EAAOrR,QAAQqQ,KAAKxQ,MACpE2F,GAAM6L,EAAOrR,QAAQqQ,KAAKpK,EAAIoL,EAAOzI,OAAO3C,EAAIoL,EAAOrR,QAAQqQ,KAAKvQ,QAGpD,WAAhBuR,EAAOrC,OAEHqC,EAAOpC,aAAeoC,EAAOrC,OAE7BqC,EAAOpC,WAAaoC,EAAOrC,KAC3BqC,EAAOxI,cAAgBpI,KAAKuQ,aAAaC,iBAAiBI,EAAQA,EAAOrC,OAG7E/M,KAAKy6E,OAASrrE,EAAOxI,cACrB5G,KAAK06E,KAAKvzE,IAAI,IAGd+6B,IAEA5+B,GAAM,EACNC,GAAM,GAGV,IAAI02E,EAAMj6E,KAAK8N,QAiCf,OA/BA9N,KAAK86E,OAAOC,KAAOd,EAAIhsE,YAEvBgsE,EAAI7xD,OAEJ6xD,EAAIhsE,YAAcjO,KAAK86E,OAAO5yC,QAE1BjgC,IAEAjI,KAAKq+E,GAAKp2E,GAGdgyE,EAAIj6E,KAAKkO,gBAAmBkB,EAAOrR,QAAQqI,YAAYtI,YAAcU,KAAKC,WAAWC,OAErFu7E,EAAIprE,aAAapL,EAAGP,EAAGO,EAAGN,EAAGM,EAAGL,EAAGK,EAAGJ,EAAGC,EAAIC,GAE7C02E,EAAIhrE,UAAUjP,KAAKy6E,OACfz6E,KAAK06E,KAAK32E,EACV/D,KAAK06E,KAAK12E,EACVhE,KAAK26E,MAAM52E,EACX/D,KAAK26E,MAAM32E,GACVhE,KAAK26E,MAAM52E,EAAIqL,EAAOzI,OAAO5C,GAC7B/D,KAAK26E,MAAM32E,EAAIoL,EAAOzI,OAAO3C,EAC9BhE,KAAK26E,MAAM52E,EACX/D,KAAK26E,MAAM32E,GAEfi2E,EAAIvxD,UAEJuxD,EAAIhsE,YAAcjO,KAAK86E,OAAOC,KAE9B/6E,KAAKwR,OAAQ,EAENxR,MAgBXu+E,SAAU,SAAUnvE,EAAQgwB,EAAMr7B,EAAGC,EAAG/C,EAAOgH,EAAWi6B,GAEtD,OAAOliC,KAAKk0B,KAAK9kB,EAAQgwB,EAAKr7B,EAAGq7B,EAAKp7B,EAAGo7B,EAAKxhC,MAAOwhC,EAAKvhC,OAAQkG,EAAGC,EAAGo7B,EAAKxhC,MAAOwhC,EAAKvhC,OAAQ,EAAG,EAAG,EAAG,EAAG,EAAGoD,EAAOgH,EAAWi6B,IAwBtIs5C,KAAM,SAAUpsE,EAAQrL,EAAGC,EAAGpG,EAAOC,EAAQoK,EAAWi6B,GAGpD,OAAOliC,KAAKk0B,KAAK9kB,EAAQ,KAAM,KAAM,KAAM,KAAMrL,EAAGC,EAAGpG,EAAOC,EAAQ,KAAM,KAAM,KAAM,KAAM,KAAM,KAAMoK,EAAWi6B,IAuBzHs8C,UAAW,SAAUjkC,EAAOtyC,EAAWi6B,GAOnC,OALIqY,EAAMvB,MAAQ,GAEduB,EAAMjC,cAAct4C,KAAKy+E,eAAgBz+E,KAAMiI,EAAWi6B,GAGvDliC,MAYXy+E,eAAgB,SAAU/1E,EAAOT,EAAWi6B,GAOxC,GALIx5B,EAAM6oB,eAAe,YAErBvxB,KAAKs+E,cAAc51E,EAAOT,EAAWi6B,GAGrCx5B,EAAM8K,OAAShS,EAAOmrB,OAASjkB,EAAMwE,OAErClN,KAAKw+E,UAAU91E,EAAOT,EAAWi6B,QAGrC,GAAIx5B,EAAM6oB,eAAe,aAAe7oB,EAAMjG,SAASE,OAAS,EAE5D,IAAK,IAAID,EAAI,EAAGA,EAAIgG,EAAMjG,SAASE,OAAQD,IAEnCgG,EAAMjG,SAASC,GAAGwK,QAElBlN,KAAKs+E,cAAc51E,EAAMjG,SAASC,GAAIuF,EAAWi6B,IA6BjEw8C,SAAU,SAAUr9E,EAAQ4G,EAAWi6B,GAEnC,IAA4B,IAAxB7gC,EAAOgG,cAAgD,IAAtBhG,EAAOC,YAAqBD,EAAOkwB,eAAe,YAA+B,IAAlBlwB,EAAO6L,OAEvG,OAAOlN,KAGX,GAAIqB,EAAOmS,OAAShS,EAAOmrB,OAAStrB,EAAOmS,OAAShS,EAAOurB,SAAW1rB,EAAOmS,OAAShS,EAAOkrB,WAEzF,GAAIrrB,EAAOmS,OAAShS,EAAO+qB,SAC3B,CACI,IAAIznB,EAASzD,EAAO6I,YACpBlK,KAAKi6E,IAAI7xD,OACTpoB,KAAKi6E,IAAIl+C,UAAUj3B,EAAOf,EAAGe,EAAOd,GACpCxF,KAAK+pB,eAAeo2D,eAAet9E,EAAQrB,KAAKi6E,KAChDj6E,KAAKi6E,IAAIvxD,eAIT1oB,KAAKk0B,KAAK7yB,EAAQ,KAAM,KAAM,KAAM,KAAMA,EAAOK,cAAcqC,EAAG1C,EAAOK,cAAcsC,EAAG,KAAM,KAAM3C,EAAOO,cAAe,KAAM,KAAMP,EAAOM,WAAWoC,EAAG1C,EAAOM,WAAWqC,EAAG3C,EAAOC,WAAY2G,EAAWi6B,GAIxN,GAAI7gC,EAAOoB,SAEP,IAAK,IAAIC,EAAI,EAAGA,EAAIrB,EAAOoB,SAASE,OAAQD,IAExC1C,KAAK0+E,SAASr9E,EAAOoB,SAASC,GAAIuF,EAAWi6B,GAIrD,OAAOliC,MAeX4+E,OAAQ,SAAUvoE,EAAOwoE,EAAM96E,EAAGC,GAE9B,IAAIi2E,EAAMj6E,KAAK8N,QAcf,YAZcvH,IAAV8P,GAAiC,OAAVA,EAEvB4jE,EAAI6E,YAAc,iBAIlB7E,EAAI6E,YAAczoE,EAClB4jE,EAAI8E,WAAuB,IAATF,EAAc,EAAIA,GAAQ,EAC5C5E,EAAI+E,cAAuB,IAANj7E,EAAW,EAAIA,GAAK,GACzCk2E,EAAIgF,cAAuB,IAANj7E,EAAW,EAAIA,GAAK,IAGtChE,MAaXk/E,UAAW,SAAU9vE,EAAQ7H,EAAM43E,EAAYC,GAoB3C,YAlBiB74E,IAAb64E,GAAuC,OAAbA,EAE1Bp/E,KAAKw7E,KAAKj0E,GAAM83E,kBAIhBr/E,KAAKw7E,KAAKj0E,EAAM63E,EAASr7E,EAAGq7E,EAASp7E,EAAGo7E,EAASxhF,MAAOwhF,EAASvhF,QAAQwhF,uBAG1D94E,IAAf44E,GAA2C,OAAfA,EAE5Bn/E,KAAKw7E,KAAKpsE,GAAQkwE,aAIlBt/E,KAAKw7E,KAAKpsE,EAAQ+vE,EAAWp7E,EAAGo7E,EAAWn7E,EAAGm7E,EAAWvhF,MAAOuhF,EAAWthF,QAAQyhF,aAGhFt/E,MAyBXu/E,QAAS,SAAUC,EAAat7E,EAAGyW,EAAGxX,EAAGD,EAAGiD,EAAQw2E,EAAIC,EAAIriD,GA2BxD,YAzBUh0B,IAANrD,IAAmBA,EAAI,UACZqD,IAAXJ,IAAwBA,GAAS,QAC1BI,IAAPo2E,IAAoBA,EAAKz4E,QAClBqC,IAAPq2E,IAAoBA,EAAKjiE,QAClBpU,IAAPg0B,IAAoBA,EAAKp3B,GAEzBgD,GAEAq5E,EAAYr5E,OAAOnG,KAAKpC,MAAOoC,KAAKnC,QAGxCmC,KAAKi8E,gBACD,SAAUC,EAAOn4E,EAAGC,GAMhB,OAJIk4E,EAAMh4E,IAAMA,GAAKg4E,EAAMvhE,IAAMA,GAAKuhE,EAAM/4E,IAAMA,GAE9Cq8E,EAAYlD,WAAWv4E,EAAGC,EAAG24E,EAAIC,EAAIriD,EAAIr3B,GAAG,IAEzC,GAEXlD,MAEJw/E,EAAY1xE,QAAQyb,aAAai2D,EAAYtF,UAAW,EAAG,GAC3DsF,EAAYhuE,OAAQ,EAEbguE,GAcX1kD,KAAM,SAAU/2B,EAAGC,EAAGpG,EAAOC,EAAQgrB,GASjC,YAPyB,IAAdA,IAEP7oB,KAAK8N,QAAQ+a,UAAYA,GAG7B7oB,KAAK8N,QAAQkb,SAASjlB,EAAGC,EAAGpG,EAAOC,GAE5BmC,MAiBXw0E,KAAM,SAAUA,EAAMzwE,EAAGC,EAAGoxE,EAAM/+D,EAAOuoE,QAE3Br4E,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,QACduC,IAAT6uE,IAAsBA,EAAO,qBACnB7uE,IAAV8P,IAAuBA,EAAQ,yBACpB9P,IAAXq4E,IAAwBA,GAAS,GAErC,IAAI3E,EAAMj6E,KAAK8N,QACX2xE,EAAWxF,EAAI7E,KAenB,OAbA6E,EAAI7E,KAAOA,EAEPwJ,IAEA3E,EAAIpxD,UAAY,aAChBoxD,EAAIyF,SAASlL,EAAMzwE,EAAI,EAAGC,EAAI,IAGlCi2E,EAAIpxD,UAAYxS,EAChB4jE,EAAIyF,SAASlL,EAAMzwE,EAAGC,GAEtBi2E,EAAI7E,KAAOqK,EAEJz/E,MAaXuhD,OAAQ,SAAUx9C,EAAGC,EAAGqxB,EAAQxM,GAE5B,IAAIoxD,EAAMj6E,KAAK8N,QAaf,YAXkBvH,IAAdsiB,IAEAoxD,EAAIpxD,UAAYA,GAGpBoxD,EAAI0F,YACJ1F,EAAI2F,IAAI77E,EAAGC,EAAGqxB,EAAQ,EAAa,EAAV3xB,KAAKwxB,IAAQ,GACtC+kD,EAAI4F,YAEJ5F,EAAIpzB,OAEG7mD,MAeX44B,KAAM,SAAUttB,EAAIC,EAAIC,EAAIC,EAAI4K,EAAOzY,QAErB2I,IAAV8P,IAAuBA,EAAQ,aACrB9P,IAAV3I,IAAuBA,EAAQ,GAEnC,IAAIq8E,EAAMj6E,KAAK8N,QAaf,OAXAmsE,EAAI0F,YAEJ1F,EAAI6F,OAAOx0E,EAAIC,GACf0uE,EAAI8F,OAAOv0E,EAAIC,GAEfwuE,EAAI+F,UAAYpiF,EAChBq8E,EAAIgG,YAAc5pE,EAClB4jE,EAAIiG,SAEJjG,EAAI4F,YAEG7/E,MAaXmgF,QAAS,SAAU3hD,EAAQ3V,EAAWm3D,EAAWC,QAIzB15E,IAAhB05E,IAA6BA,EAAc,aAC7B15E,IAAdy5E,IAA2BA,EAAY,GAE3C,IAAI/F,EAAMj6E,KAAK8N,QAEX+a,IAEAoxD,EAAIpxD,UAAYA,GAGhBm3D,IAEA/F,EAAI+F,UAAYA,EAChB/F,EAAIgG,YAAcA,GAGtBhG,EAAI0F,YAEJ1F,EAAI6F,OAAOthD,EAAO,GAAGz6B,EAAGy6B,EAAO,GAAGx6B,GAElC,IAAK,IAAItB,EAAI,EAAGsuB,EAAMwN,EAAO77B,OAAQD,EAAIsuB,EAAKtuB,IAC9C,CACI,IAAI4zB,EAAQkI,EAAO97B,GACnBu3E,EAAI8F,OAAOzpD,EAAMvyB,EAAGuyB,EAAMtyB,GAQ9B,OALAi2E,EAAI4F,YAEAh3D,GAAaoxD,EAAIpzB,OACjBm5B,GAAa/F,EAAIiG,SAEdlgF,MAYXogF,YAAa,SAAUxnD,EAAM1e,EAAOvF,GAIhC,QAFepO,IAAXoO,IAAwBA,EAAS,YAEhB,iBAAVuF,IAEPA,EAAQla,KAAK+C,KAAKiX,MAAMm4D,SAASj4D,IAFrC,CAUA,IAAItc,EAAQg7B,EAAKj2B,OAEF,cAAXgS,GAA0B/W,EAAQsc,EAAMtc,QAExCA,EAAQsc,EAAMtc,OAGlB,IAAIq8E,EAAMj6E,KAAK8N,QAgBf,OAdAmsE,EAAIpxD,UAAYoxD,EAAIoG,cAAcnmE,EAAOvF,GAEzC3U,KAAKo7E,QAAU,IAAI55E,EAAOqzB,OAAO+D,EAAKtsB,MAAMvI,EAAG60B,EAAKtsB,MAAMtI,EAAGkW,EAAMrc,QAEnEmC,KAAKo7E,QAAQvlD,mBAAmB+C,EAAK9C,MAAQ,oBAAoB,EAAO91B,KAAK06E,MAE7ET,EAAI7xD,OACJ6xD,EAAIl+C,UAAU/7B,KAAK06E,KAAK32E,EAAG/D,KAAK06E,KAAK12E,GACrCi2E,EAAIvhD,OAAOE,EAAK9C,OAChBmkD,EAAIjxD,SAAS,EAAG,EAAGprB,EAAOsc,EAAMrc,QAChCo8E,EAAIvxD,UAEJ1oB,KAAKwR,OAAQ,EAENxR,OAWXmF,OAAQ,WAQJ,OANKnF,KAAKu6E,sBAAwBv6E,KAAKwR,QAEnCxR,KAAKoG,YAAYoL,QACjBxR,KAAKwR,OAAQ,GAGVxR,MAQXwC,QAAS,WAELxC,KAAK+xE,UAAUvvE,UAEfxC,KAAKjC,QAAQyE,SAAQ,GAErBhB,EAAOqF,WAAWuV,OAAOpc,OAS7Bs/E,WAAY,WAGR,OADAt/E,KAAKq+E,GAAK,cACHr+E,MASXsgF,gBAAiB,WAGb,OADAtgF,KAAKq+E,GAAK,cACHr+E,MASXugF,cAAe,WAGX,OADAvgF,KAAKq+E,GAAK,YACHr+E,MASXwgF,eAAgB,WAGZ,OADAxgF,KAAKq+E,GAAK,aACHr+E,MASXq/E,gBAAiB,WAGb,OADAr/E,KAAKq+E,GAAK,cACHr+E,MASXygF,qBAAsB,WAGlB,OADAzgF,KAAKq+E,GAAK,mBACHr+E,MASX0gF,mBAAoB,WAGhB,OADA1gF,KAAKq+E,GAAK,iBACHr+E,MASX2gF,oBAAqB,WAGjB,OADA3gF,KAAKq+E,GAAK,kBACHr+E,MASX4gF,qBAAsB,WAGlB,OADA5gF,KAAKq+E,GAAK,mBACHr+E,MASX6gF,SAAU,WAGN,OADA7gF,KAAKq+E,GAAK,MACHr+E,MASX8gF,SAAU,WAGN,OADA9gF,KAAKq+E,GAAK,UACHr+E,MASX+gF,cAAe,WAGX,OADA/gF,KAAKq+E,GAAK,WACHr+E,MASXghF,YAAa,WAGT,OADAhhF,KAAKq+E,GAAK,SACHr+E,MASXihF,aAAc,WAGV,OADAjhF,KAAKq+E,GAAK,UACHr+E,MASXkhF,YAAa,WAGT,OADAlhF,KAAKq+E,GAAK,SACHr+E,MASXmhF,aAAc,WAGV,OADAnhF,KAAKq+E,GAAK,UACHr+E,MASXohF,gBAAiB,WAGb,OADAphF,KAAKq+E,GAAK,cACHr+E,MASXqhF,eAAgB,WAGZ,OADArhF,KAAKq+E,GAAK,aACHr+E,MASXshF,eAAgB,WAGZ,OADAthF,KAAKq+E,GAAK,aACHr+E,MASXuhF,eAAgB,WAGZ,OADAvhF,KAAKq+E,GAAK,aACHr+E,MASXwhF,gBAAiB,WAGb,OADAxhF,KAAKq+E,GAAK,aACHr+E,MASXyhF,eAAgB,WAGZ,OADAzhF,KAAKq+E,GAAK,YACHr+E,MASX0hF,SAAU,WAGN,OADA1hF,KAAKq+E,GAAK,MACHr+E,MASX2hF,gBAAiB,WAGb,OADA3hF,KAAKq+E,GAAK,aACHr+E,MASX4hF,WAAY,WAGR,OADA5hF,KAAKq+E,GAAK,QACHr+E,MASX6hF,gBAAiB,WAGb,OADA7hF,KAAKq+E,GAAK,aACHr+E,MAeX8hF,eAAgB,SAAU1yE,EAAQrL,EAAGC,GAEjCoL,EAAOi2B,SACP,IAAK,IAAW08C,EAAPr/E,EAAI,EAAiBA,EAAI0M,EAAOvR,OAAQ6E,IACjD,CACIq/E,GAAgB/9E,EAAItB,GAAK1C,KAAKpC,MAAQmG,EACtC,IAAK,IAAI8D,EAAI,EAAGA,EAAIuH,EAAOxR,MAAOiK,IAE9B7H,KAAKqpB,OAAO04D,EAAel6E,GAAKuH,EAAOia,OAAO3mB,EAAI0M,EAAOxR,MAAQiK,GAGzE,OAAO7H,OASfgH,OAAOyF,eAAejL,EAAOmwE,WAAWrvE,UAAW,YAE/C4E,IAAK,WAED,OAAO1F,EAAOmoB,OAAOq4D,oBAAoBhiF,KAAK8N,UAGlD3G,IAAK,SAAUC,GAEX5F,EAAOmoB,OAAOs4D,oBAAoBjiF,KAAK8N,QAAS1G,MASxDJ,OAAOyF,eAAejL,EAAOmwE,WAAWrvE,UAAW,MAE/C4E,IAAK,WAED,OAAOlH,KAAK8N,QAAQC,0BAGxB5G,IAAK,SAAUC,GAEXpH,KAAK8N,QAAQC,yBAA2B3G,KAiBhD5F,EAAOmwE,WAAWuQ,aAAe,SAAUC,EAAYC,EAAYv9D,EAAQE,EAAQs9D,EAAOC,GAStF,MAP0B,iBAAfH,IAA2BA,EAAa,GACzB,iBAAfC,IAA2BA,EAAa,GAC7B,iBAAXv9D,IAAuBA,EAAS,GACrB,iBAAXE,IAAuBA,EAAS,GACtB,iBAAVs9D,IAAsBA,EAAQ,GACpB,iBAAVC,IAAsBA,EAAQ,IAEhCvoD,GAAIlV,EAAQmV,GAAIjV,EAAQF,OAAQA,EAAQE,OAAQA,EAAQs9D,MAAOA,EAAOC,MAAOA,EAAOH,WAAYA,EAAYC,WAAYA,EAAY9+E,GAAI6+E,EAAY5+E,GAAI6+E,IAGrK5gF,EAAOmwE,WAAWrvE,UAAUC,YAAcf,EAAOmwE,WAqBjDnwE,EAAO+gF,UAEP/gF,EAAO+gF,OAAOC,YAAc,SAAUpuE,EAAMquE,EAAaC,GAErDA,EAAMA,GAAO,EAEb,IAAIC,EAAWF,GAAeA,EAAY9/E,OACtCigF,EAAWD,EAAWF,EAAY,GAAKC,EAAMtuE,EAAKzR,OAClDkgF,EAAYrhF,EAAO+gF,OAAOO,WAAW1uE,EAAM,EAAGwuE,EAAUF,GAAK,GAC7DK,KAEJ,IAAKF,EAAa,OAAOE,EAEzB,IAAIn4E,EAAME,EAAMC,EAAMC,EAAMjH,EAAGC,EAAG+d,EAKlC,GAHI4gE,IAAYE,EAAYrhF,EAAO+gF,OAAOS,eAAe5uE,EAAMquE,EAAaI,EAAWH,IAGnFtuE,EAAKzR,OAAS,GAAK+/E,EACvB,CACI93E,EAAOG,EAAOqJ,EAAK,GACnBtJ,EAAOE,EAAOoJ,EAAK,GAEnB,IAAK,IAAI1R,EAAIggF,EAAKhgF,EAAIkgF,EAAUlgF,GAAKggF,EAEjC3+E,EAAIqQ,EAAK1R,GACTsB,EAAIoQ,EAAK1R,EAAI,GACTqB,EAAI6G,IAAQA,EAAO7G,GACnBC,EAAI8G,IAAQA,EAAO9G,GACnBD,EAAIgH,IAAQA,EAAOhH,GACnBC,EAAIgH,IAAQA,EAAOhH,GAI3B+d,EAAOre,KAAKuC,IAAI8E,EAAOH,EAAMI,EAAOF,GAKxC,OAFAtJ,EAAO+gF,OAAOU,aAAaJ,EAAWE,EAAWL,EAAK93E,EAAME,EAAMiX,GAE3DghE,GAKXvhF,EAAO+gF,OAAOO,WAAa,SAAU1uE,EAAM9H,EAAOgP,EAAKonE,EAAKQ,GAExD,IACIxgF,EAAGmF,EAAGs7E,EADNC,EAAM,EAIV,IAAK1gF,EAAI4J,EAAOzE,EAAIyT,EAAMonE,EAAKhgF,EAAI4Y,EAAK5Y,GAAKggF,EAEzCU,IAAQhvE,EAAKvM,GAAKuM,EAAK1R,KAAO0R,EAAK1R,EAAI,GAAK0R,EAAKvM,EAAI,IACrDA,EAAInF,EAIR,GAAIwgF,IAAeE,EAAM,EAErB,IAAK1gF,EAAI4J,EAAO5J,EAAI4Y,EAAK5Y,GAAKggF,EAAOS,EAAO3hF,EAAO+gF,OAAOc,WAAW3gF,EAAG0R,EAAK1R,GAAI0R,EAAK1R,EAAI,GAAIygF,QAI9F,IAAKzgF,EAAI4Y,EAAMonE,EAAKhgF,GAAK4J,EAAO5J,GAAKggF,EAAOS,EAAO3hF,EAAO+gF,OAAOc,WAAW3gF,EAAG0R,EAAK1R,GAAI0R,EAAK1R,EAAI,GAAIygF,GAGzG,OAAOA,GAKX3hF,EAAO+gF,OAAOe,aAAe,SAAUh3E,EAAOgP,GAE1C,IAAKhP,EAAS,OAAOA,EAChBgP,IAAOA,EAAMhP,GAElB,IACIi3E,EADAvgF,EAAIsJ,EAER,GAII,GAFAi3E,GAAQ,EAEHvgF,EAAEwgF,UAAYhiF,EAAO+gF,OAAO9rD,OAAOzzB,EAAGA,EAAEwyC,OAAmD,IAA1Ch0C,EAAO+gF,OAAOnjD,KAAKp8B,EAAE+3E,KAAM/3E,EAAGA,EAAEwyC,MASlFxyC,EAAIA,EAAEwyC,SARV,CAGI,GAFAh0C,EAAO+gF,OAAOkB,WAAWzgF,IACzBA,EAAIsY,EAAMtY,EAAE+3E,QACF/3E,EAAEwyC,KAAQ,OAAO,KAC3B+tC,GAAQ,SAMPA,GAASvgF,IAAMsY,GAExB,OAAOA,GAKX9Z,EAAO+gF,OAAOU,aAAe,SAAUS,EAAKX,EAAWL,EAAK93E,EAAME,EAAMiX,EAAM4hE,GAE1E,GAAKD,EAAL,EAGKC,GAAQ5hE,GAAQvgB,EAAO+gF,OAAOqB,WAAWF,EAAK94E,EAAME,EAAMiX,GAM/D,IAJA,IACIg5D,EAAMvlC,EADNrpC,EAAOu3E,EAIJA,EAAI3I,OAAS2I,EAAIluC,MAKpB,GAHAulC,EAAO2I,EAAI3I,KACXvlC,EAAOkuC,EAAIluC,KAEPzzB,EAAOvgB,EAAO+gF,OAAOsB,YAAYH,EAAK94E,EAAME,EAAMiX,GAAQvgB,EAAO+gF,OAAOuB,MAAMJ,GAG9EX,EAAUj7E,KAAKizE,EAAKr4E,EAAIggF,GACxBK,EAAUj7E,KAAK47E,EAAIhhF,EAAIggF,GACvBK,EAAUj7E,KAAK0tC,EAAK9yC,EAAIggF,GAExBlhF,EAAO+gF,OAAOkB,WAAWC,GAGzBA,EAAMluC,EAAKA,KACXrpC,EAAOqpC,EAAKA,UAQhB,IAHAkuC,EAAMluC,KAGMrpC,EACZ,CAESw3E,EAMa,IAATA,GAELD,EAAMliF,EAAO+gF,OAAOwB,uBAAuBL,EAAKX,EAAWL,GAC3DlhF,EAAO+gF,OAAOU,aAAaS,EAAKX,EAAWL,EAAK93E,EAAME,EAAMiX,EAAM,IAIpD,IAAT4hE,GAELniF,EAAO+gF,OAAOyB,YAAYN,EAAKX,EAAWL,EAAK93E,EAAME,EAAMiX,GAb3DvgB,EAAO+gF,OAAOU,aAAazhF,EAAO+gF,OAAOe,aAAaI,GAAMX,EAAWL,EAAK93E,EAAME,EAAMiX,EAAM,GAgBlG,SAOZvgB,EAAO+gF,OAAOuB,MAAQ,SAAUJ,GAE5B,IAAIxgF,EAAIwgF,EAAI3I,KACR53E,EAAIugF,EACJtgF,EAAIsgF,EAAIluC,KAEZ,GAAIh0C,EAAO+gF,OAAOnjD,KAAKl8B,EAAGC,EAAGC,IAAM,EAAK,OAAO,EAK/C,IAFA,IAAIJ,EAAI0gF,EAAIluC,KAAKA,KAEVxyC,IAAM0gF,EAAI3I,MACjB,CACI,GAAIv5E,EAAO+gF,OAAO0B,gBAAgB/gF,EAAEa,EAAGb,EAAEc,EAAGb,EAAEY,EAAGZ,EAAEa,EAAGZ,EAAEW,EAAGX,EAAEY,EAAGhB,EAAEe,EAAGf,EAAEgB,IACnExC,EAAO+gF,OAAOnjD,KAAKp8B,EAAE+3E,KAAM/3E,EAAGA,EAAEwyC,OAAS,EAAK,OAAO,EACzDxyC,EAAIA,EAAEwyC,KAGV,OAAO,GAGXh0C,EAAO+gF,OAAOsB,YAAc,SAAUH,EAAK94E,EAAME,EAAMiX,GAEnD,IAAI7e,EAAIwgF,EAAI3I,KACR53E,EAAIugF,EACJtgF,EAAIsgF,EAAIluC,KAEZ,GAAIh0C,EAAO+gF,OAAOnjD,KAAKl8B,EAAGC,EAAGC,IAAM,EAAK,OAAO,EAe/C,IAZA,IAAI8gF,EAAQhhF,EAAEa,EAAIZ,EAAEY,EAAKb,EAAEa,EAAIX,EAAEW,EAAIb,EAAEa,EAAIX,EAAEW,EAAMZ,EAAEY,EAAIX,EAAEW,EAAIZ,EAAEY,EAAIX,EAAEW,EACnEogF,EAAQjhF,EAAEc,EAAIb,EAAEa,EAAKd,EAAEc,EAAIZ,EAAEY,EAAId,EAAEc,EAAIZ,EAAEY,EAAMb,EAAEa,EAAIZ,EAAEY,EAAIb,EAAEa,EAAIZ,EAAEY,EACnEogF,EAAQlhF,EAAEa,EAAIZ,EAAEY,EAAKb,EAAEa,EAAIX,EAAEW,EAAIb,EAAEa,EAAIX,EAAEW,EAAMZ,EAAEY,EAAIX,EAAEW,EAAIZ,EAAEY,EAAIX,EAAEW,EACnEsgF,EAAQnhF,EAAEc,EAAIb,EAAEa,EAAKd,EAAEc,EAAIZ,EAAEY,EAAId,EAAEc,EAAIZ,EAAEY,EAAMb,EAAEa,EAAIZ,EAAEY,EAAIb,EAAEa,EAAIZ,EAAEY,EAGnEsgF,EAAO9iF,EAAO+gF,OAAOgC,OAAOL,EAAOC,EAAOv5E,EAAME,EAAMiX,GACtDyiE,EAAOhjF,EAAO+gF,OAAOgC,OAAOH,EAAOC,EAAOz5E,EAAME,EAAMiX,GAGtD/e,EAAI0gF,EAAIe,MAELzhF,GAAKA,EAAEoS,GAAKovE,GACnB,CACI,GAAIxhF,IAAM0gF,EAAI3I,MAAQ/3E,IAAM0gF,EAAIluC,MAC5Bh0C,EAAO+gF,OAAO0B,gBAAgB/gF,EAAEa,EAAGb,EAAEc,EAAGb,EAAEY,EAAGZ,EAAEa,EAAGZ,EAAEW,EAAGX,EAAEY,EAAGhB,EAAEe,EAAGf,EAAEgB,IACnExC,EAAO+gF,OAAOnjD,KAAKp8B,EAAE+3E,KAAM/3E,EAAGA,EAAEwyC,OAAS,EAAK,OAAO,EACzDxyC,EAAIA,EAAEyhF,MAMV,IAFAzhF,EAAI0gF,EAAIgB,MAED1hF,GAAKA,EAAEoS,GAAKkvE,GACnB,CACI,GAAIthF,IAAM0gF,EAAI3I,MAAQ/3E,IAAM0gF,EAAIluC,MAC5Bh0C,EAAO+gF,OAAO0B,gBAAgB/gF,EAAEa,EAAGb,EAAEc,EAAGb,EAAEY,EAAGZ,EAAEa,EAAGZ,EAAEW,EAAGX,EAAEY,EAAGhB,EAAEe,EAAGf,EAAEgB,IACnExC,EAAO+gF,OAAOnjD,KAAKp8B,EAAE+3E,KAAM/3E,EAAGA,EAAEwyC,OAAS,EAAK,OAAO,EACzDxyC,EAAIA,EAAE0hF,MAGV,OAAO,GAKXljF,EAAO+gF,OAAOwB,uBAAyB,SAAUz3E,EAAOy2E,EAAWL,GAE/D,IAAI1/E,EAAIsJ,EACR,EACA,CACI,IAAIpJ,EAAIF,EAAE+3E,KACN53E,EAAIH,EAAEwyC,KAAKA,KAGXh0C,EAAO+gF,OAAO7rD,WAAWxzB,EAAGF,EAAGA,EAAEwyC,KAAMryC,IAAM3B,EAAO+gF,OAAOoC,cAAczhF,EAAGC,IAAM3B,EAAO+gF,OAAOoC,cAAcxhF,EAAGD,KAEjH6/E,EAAUj7E,KAAK5E,EAAER,EAAIggF,GACrBK,EAAUj7E,KAAK9E,EAAEN,EAAIggF,GACrBK,EAAUj7E,KAAK3E,EAAET,EAAIggF,GAGrBlhF,EAAO+gF,OAAOkB,WAAWzgF,GACzBxB,EAAO+gF,OAAOkB,WAAWzgF,EAAEwyC,MAE3BxyC,EAAIsJ,EAAQnJ,GAEhBH,EAAIA,EAAEwyC,WACDxyC,IAAMsJ,GAEf,OAAOtJ,GAKXxB,EAAO+gF,OAAOyB,YAAc,SAAU13E,EAAOy2E,EAAWL,EAAK93E,EAAME,EAAMiX,GAGrE,IAAI7e,EAAIoJ,EACR,EACA,CAEI,IADA,IAAInJ,EAAID,EAAEsyC,KAAKA,KACRryC,IAAMD,EAAE63E,MACf,CACI,GAAI73E,EAAER,IAAMS,EAAET,GAAKlB,EAAO+gF,OAAOqC,gBAAgB1hF,EAAGC,GACpD,CAEI,IAAIC,EAAI5B,EAAO+gF,OAAOsC,aAAa3hF,EAAGC,GAStC,OANAD,EAAI1B,EAAO+gF,OAAOe,aAAapgF,EAAGA,EAAEsyC,MACpCpyC,EAAI5B,EAAO+gF,OAAOe,aAAalgF,EAAGA,EAAEoyC,MAGpCh0C,EAAO+gF,OAAOU,aAAa//E,EAAG6/E,EAAWL,EAAK93E,EAAME,EAAMiX,QAC1DvgB,EAAO+gF,OAAOU,aAAa7/E,EAAG2/E,EAAWL,EAAK93E,EAAME,EAAMiX,GAG9D5e,EAAIA,EAAEqyC,KAEVtyC,EAAIA,EAAEsyC,WACDtyC,IAAMoJ,IAKnB9K,EAAO+gF,OAAOS,eAAiB,SAAU5uE,EAAMquE,EAAaI,EAAWH,GAEnE,IACIhgF,EAAGsuB,EAAK1kB,EAAOgP,EAAK4+B,EADpB4qC,KAGJ,IAAKpiF,EAAI,EAAGsuB,EAAMyxD,EAAY9/E,OAAQD,EAAIsuB,EAAKtuB,IAE3C4J,EAAQm2E,EAAY//E,GAAKggF,EACzBpnE,EAAM5Y,EAAIsuB,EAAM,EAAIyxD,EAAY//E,EAAI,GAAKggF,EAAMtuE,EAAKzR,QACpDu3C,EAAO14C,EAAO+gF,OAAOO,WAAW1uE,EAAM9H,EAAOgP,EAAKonE,GAAK,MAC1CxoC,EAAK1E,OAAQ0E,EAAKspC,SAAU,GACzCsB,EAAMh9E,KAAKtG,EAAO+gF,OAAOwC,YAAY7qC,IAMzC,IAHA4qC,EAAM7lD,KAAKz9B,EAAO+gF,OAAOyC,UAGpBtiF,EAAI,EAAGA,EAAIoiF,EAAMniF,OAAQD,IAE1BlB,EAAO+gF,OAAO0C,cAAcH,EAAMpiF,GAAImgF,GACtCA,EAAYrhF,EAAO+gF,OAAOe,aAAaT,EAAWA,EAAUrtC,MAGhE,OAAOqtC,GAGXrhF,EAAO+gF,OAAOyC,SAAW,SAAU9hF,EAAGC,GAElC,OAAOD,EAAEa,EAAIZ,EAAEY,GAKnBvC,EAAO+gF,OAAO0C,cAAgB,SAAUC,EAAMrC,GAG1C,GADAA,EAAYrhF,EAAO+gF,OAAO4C,eAAeD,EAAMrC,GAE/C,CACI,IAAI1/E,EAAI3B,EAAO+gF,OAAOsC,aAAahC,EAAWqC,GAC9C1jF,EAAO+gF,OAAOe,aAAangF,EAAGA,EAAEqyC,QAMxCh0C,EAAO+gF,OAAO4C,eAAiB,SAAUD,EAAMrC,GAE3C,IAIIvrD,EAJAt0B,EAAI6/E,EACJuC,EAAKF,EAAKnhF,EACVshF,EAAKH,EAAKlhF,EACVshF,GAAMz6E,EAAAA,EAOV,EACA,CACI,GAAIw6E,GAAMriF,EAAEgB,GAAKqhF,GAAMriF,EAAEwyC,KAAKxxC,EAC9B,CACI,IAAID,EAAIf,EAAEe,GAAKshF,EAAKriF,EAAEgB,IAAMhB,EAAEwyC,KAAKzxC,EAAIf,EAAEe,IAAMf,EAAEwyC,KAAKxxC,EAAIhB,EAAEgB,GACxDD,GAAKqhF,GAAMrhF,EAAIuhF,IAEfA,EAAKvhF,EACLuzB,EAAIt0B,EAAEe,EAAIf,EAAEwyC,KAAKzxC,EAAIf,EAAIA,EAAEwyC,MAGnCxyC,EAAIA,EAAEwyC,WACDxyC,IAAM6/E,GAEf,IAAKvrD,EAAK,OAAO,KAEjB,GAAI4tD,EAAKnhF,IAAMuzB,EAAEvzB,EAAK,OAAOuzB,EAAEyjD,KAQ/B,IAEIwK,EAFAp5E,EAAOmrB,EACPkuD,EAAS36E,EAAAA,EAKb,IAFA7H,EAAIs0B,EAAEke,KAECxyC,IAAMmJ,GAELi5E,GAAMpiF,EAAEe,GAAKf,EAAEe,GAAKuzB,EAAEvzB,GACtBvC,EAAO+gF,OAAO0B,gBAAgBoB,EAAK/tD,EAAEtzB,EAAIohF,EAAKE,EAAID,EAAI/tD,EAAEvzB,EAAGuzB,EAAEtzB,EAAGqhF,EAAK/tD,EAAEtzB,EAAIshF,EAAKF,EAAIC,EAAIriF,EAAEe,EAAGf,EAAEgB,MAE/FuhF,EAAM7hF,KAAKmzB,IAAIwuD,EAAKriF,EAAEgB,IAAMohF,EAAKpiF,EAAEe,IAExByhF,GAAWD,IAAQC,GAAUxiF,EAAEe,EAAIuzB,EAAEvzB,IAAOvC,EAAO+gF,OAAOoC,cAAc3hF,EAAGkiF,KAElF5tD,EAAIt0B,EACJwiF,EAASD,GAIjBviF,EAAIA,EAAEwyC,KAGV,OAAOle,GAKX91B,EAAO+gF,OAAOqB,WAAa,SAAUt3E,EAAO1B,EAAME,EAAMiX,GAEpD,IAAI/e,EAAIsJ,EACR,GAEgB,OAARtJ,EAAEoS,IAAcpS,EAAEoS,EAAI5T,EAAO+gF,OAAOgC,OAAOvhF,EAAEe,EAAGf,EAAEgB,EAAG4G,EAAME,EAAMiX,IACrE/e,EAAE0hF,MAAQ1hF,EAAE+3E,KACZ/3E,EAAEyhF,MAAQzhF,EAAEwyC,KACZxyC,EAAIA,EAAEwyC,WACDxyC,IAAMsJ,GAEftJ,EAAE0hF,MAAMD,MAAQ,KAChBzhF,EAAE0hF,MAAQ,KAEVljF,EAAO+gF,OAAOkD,WAAWziF,IAQ7BxB,EAAO+gF,OAAOkD,WAAa,SAAUvrC,GAEjC,IAAIx3C,EAAGM,EAAG0iF,EAAG/2E,EAAGg3E,EAAMC,EAAWC,EAAOC,EACpCC,EAAS,EAEb,EACA,CAMI,IALA/iF,EAAIk3C,EACJA,EAAO,KACPyrC,EAAO,KACPC,EAAY,EAEL5iF,GACP,CAII,IAHA4iF,IACAF,EAAI1iF,EACJ6iF,EAAQ,EACHnjF,EAAI,EAAGA,EAAIqjF,IAEZF,IACAH,EAAIA,EAAEjB,OAHc/hF,KASxB,IAFAojF,EAAQC,EAEDF,EAAQ,GAAMC,EAAQ,GAAKJ,GAEhB,IAAVG,GAEAl3E,EAAI+2E,EACJA,EAAIA,EAAEjB,MACNqB,KAEe,IAAVA,GAAgBJ,EAMhB1iF,EAAEoS,GAAKswE,EAAEtwE,GAEdzG,EAAI3L,EACJA,EAAIA,EAAEyhF,MACNoB,MAIAl3E,EAAI+2E,EACJA,EAAIA,EAAEjB,MACNqB,MAdAn3E,EAAI3L,EACJA,EAAIA,EAAEyhF,MACNoB,KAeAF,EAAQA,EAAKlB,MAAQ91E,EAClBurC,EAAOvrC,EAEdA,EAAE+1E,MAAQiB,EACVA,EAAOh3E,EAGX3L,EAAI0iF,EAGRC,EAAKlB,MAAQ,KACbsB,GAAU,QACLH,EAAY,GAErB,OAAO1rC,GAKX14C,EAAO+gF,OAAOgC,OAAS,SAAUxgF,EAAGC,EAAG4G,EAAME,EAAMiX,GAgB/C,OAbAhe,EAAI,OAASA,EAAI6G,GAAQmX,EACzB/d,EAAI,OAASA,EAAI8G,GAAQiX,EAEzBhe,EAAqB,UAAhBA,EAAKA,GAAK,GACfA,EAAqB,WAAhBA,EAAKA,GAAK,GACfA,EAAqB,WAAhBA,EAAKA,GAAK,GACfA,EAAqB,YAAhBA,EAAKA,GAAK,GAEfC,EAAqB,UAAhBA,EAAKA,GAAK,GACfA,EAAqB,WAAhBA,EAAKA,GAAK,GACfA,EAAqB,WAAhBA,EAAKA,GAAK,GACfA,EAAqB,YAAhBA,EAAKA,GAAK,GAERD,EAAKC,GAAK,GAKrBxC,EAAO+gF,OAAOwC,YAAc,SAAUz4E,GAElC,IAAItJ,EAAIsJ,EACJ05E,EAAW15E,EACf,GAEQtJ,EAAEe,EAAIiiF,EAASjiF,IAAKiiF,EAAWhjF,GACnCA,EAAIA,EAAEwyC,WACDxyC,IAAMsJ,GAEf,OAAO05E,GAKXxkF,EAAO+gF,OAAO0B,gBAAkB,SAAUgC,EAAIC,EAAIC,EAAIC,EAAIl3E,EAAIC,EAAIikB,EAAI6jC,GAElE,OAAQ/nD,EAAKkkB,IAAO8yD,EAAKjvB,IAAOgvB,EAAK7yD,IAAOjkB,EAAK8nD,IAAO,IACnDgvB,EAAK7yD,IAAOgzD,EAAKnvB,IAAOkvB,EAAK/yD,IAAO8yD,EAAKjvB,IAAO,IAChDkvB,EAAK/yD,IAAOjkB,EAAK8nD,IAAO/nD,EAAKkkB,IAAOgzD,EAAKnvB,IAAO,GAKzDz1D,EAAO+gF,OAAOqC,gBAAkB,SAAU1hF,EAAGC,GAEzC,OAAO3B,EAAO+gF,OAAO9rD,OAAOvzB,EAAGC,IAAMD,EAAEsyC,KAAK9yC,IAAMS,EAAET,GAAKQ,EAAE63E,KAAKr4E,IAAMS,EAAET,IAAMlB,EAAO+gF,OAAO8D,kBAAkBnjF,EAAGC,IAC7G3B,EAAO+gF,OAAOoC,cAAczhF,EAAGC,IAAM3B,EAAO+gF,OAAOoC,cAAcxhF,EAAGD,IAAM1B,EAAO+gF,OAAO+D,aAAapjF,EAAGC,IAKhH3B,EAAO+gF,OAAOnjD,KAAO,SAAUp8B,EAAG0iF,EAAGxhF,GAEjC,OAAQwhF,EAAE1hF,EAAIhB,EAAEgB,IAAME,EAAEH,EAAI2hF,EAAE3hF,IAAM2hF,EAAE3hF,EAAIf,EAAEe,IAAMG,EAAEF,EAAI0hF,EAAE1hF,IAK9DxC,EAAO+gF,OAAO9rD,OAAS,SAAUiB,EAAIwI,GAEjC,OAAOxI,EAAG3zB,IAAMm8B,EAAGn8B,GAAK2zB,EAAG1zB,IAAMk8B,EAAGl8B,GAKxCxC,EAAO+gF,OAAO7rD,WAAa,SAAUgB,EAAI6uD,EAAIrmD,EAAIsmD,GAE7C,OAAOhlF,EAAO+gF,OAAOnjD,KAAK1H,EAAI6uD,EAAIrmD,GAAM,GAAM1+B,EAAO+gF,OAAOnjD,KAAK1H,EAAI6uD,EAAIC,GAAM,GAC3EhlF,EAAO+gF,OAAOnjD,KAAKc,EAAIsmD,EAAI9uD,GAAM,GAAMl2B,EAAO+gF,OAAOnjD,KAAKc,EAAIsmD,EAAID,GAAM,GAKhF/kF,EAAO+gF,OAAO8D,kBAAoB,SAAUnjF,EAAGC,GAE3C,IAAIH,EAAIE,EACR,EACA,CACI,GAAIF,EAAEN,IAAMQ,EAAER,GAAKM,EAAEwyC,KAAK9yC,IAAMQ,EAAER,GAAKM,EAAEN,IAAMS,EAAET,GAAKM,EAAEwyC,KAAK9yC,IAAMS,EAAET,GACjElB,EAAO+gF,OAAO7rD,WAAW1zB,EAAGA,EAAEwyC,KAAMtyC,EAAGC,GAAM,OAAO,EACxDH,EAAIA,EAAEwyC,WACDxyC,IAAME,GAEf,OAAO,GAKX1B,EAAO+gF,OAAOoC,cAAgB,SAAUzhF,EAAGC,GAEvC,OAAO3B,EAAO+gF,OAAOnjD,KAAKl8B,EAAE63E,KAAM73E,EAAGA,EAAEsyC,MAAQ,EAC3Ch0C,EAAO+gF,OAAOnjD,KAAKl8B,EAAGC,EAAGD,EAAEsyC,OAAS,GAAKh0C,EAAO+gF,OAAOnjD,KAAKl8B,EAAGA,EAAE63E,KAAM53E,IAAM,EAC7E3B,EAAO+gF,OAAOnjD,KAAKl8B,EAAGC,EAAGD,EAAE63E,MAAQ,GAAKv5E,EAAO+gF,OAAOnjD,KAAKl8B,EAAGA,EAAEsyC,KAAMryC,GAAK,GAKnF3B,EAAO+gF,OAAO+D,aAAe,SAAUpjF,EAAGC,GAEtC,IAAIH,EAAIE,EACJw8B,GAAS,EACTtM,GAAMlwB,EAAEa,EAAIZ,EAAEY,GAAK,EACnBkzD,GAAM/zD,EAAEc,EAAIb,EAAEa,GAAK,EACvB,GAEUhB,EAAEgB,EAAIizD,GAASj0D,EAAEwyC,KAAKxxC,EAAIizD,GAAS7jC,GAAMpwB,EAAEwyC,KAAKzxC,EAAIf,EAAEe,IAAMkzD,EAAKj0D,EAAEgB,IAAMhB,EAAEwyC,KAAKxxC,EAAIhB,EAAEgB,GAAKhB,EAAEe,IACjG27B,GAAUA,GACZ18B,EAAIA,EAAEwyC,WACDxyC,IAAME,GAEf,OAAOw8B,GAQXl+B,EAAO+gF,OAAOsC,aAAe,SAAU3hF,EAAGC,GAEtC,IAAIk3B,EAAK,IAAI74B,EAAO+gF,OAAOkE,KAAKvjF,EAAER,EAAGQ,EAAEa,EAAGb,EAAEc,GACxCu2B,EAAK,IAAI/4B,EAAO+gF,OAAOkE,KAAKtjF,EAAET,EAAGS,EAAEY,EAAGZ,EAAEa,GACxC0iF,EAAKxjF,EAAEsyC,KACPmxC,EAAKxjF,EAAE43E,KAcX,OAZA73E,EAAEsyC,KAAOryC,EACTA,EAAE43E,KAAO73E,EAETm3B,EAAGmb,KAAOkxC,EACVA,EAAG3L,KAAO1gD,EAEVE,EAAGib,KAAOnb,EACVA,EAAG0gD,KAAOxgD,EAEVosD,EAAGnxC,KAAOjb,EACVA,EAAGwgD,KAAO4L,EAEHpsD,GAKX/4B,EAAO+gF,OAAOc,WAAa,SAAU3gF,EAAGqB,EAAGC,EAAGm/E,GAE1C,IAAIngF,EAAI,IAAIxB,EAAO+gF,OAAOkE,KAAK/jF,EAAGqB,EAAGC,GAcrC,OAZKm/E,GAODngF,EAAEwyC,KAAO2tC,EAAK3tC,KACdxyC,EAAE+3E,KAAOoI,EACTA,EAAK3tC,KAAKulC,KAAO/3E,EACjBmgF,EAAK3tC,KAAOxyC,IARZA,EAAE+3E,KAAO/3E,EACTA,EAAEwyC,KAAOxyC,GASNA,GAGXxB,EAAO+gF,OAAOkB,WAAa,SAAUzgF,GAEjCA,EAAEwyC,KAAKulC,KAAO/3E,EAAE+3E,KAChB/3E,EAAE+3E,KAAKvlC,KAAOxyC,EAAEwyC,KAEZxyC,EAAE0hF,QAAS1hF,EAAE0hF,MAAMD,MAAQzhF,EAAEyhF,OAC7BzhF,EAAEyhF,QAASzhF,EAAEyhF,MAAMC,MAAQ1hF,EAAE0hF,QAGrCljF,EAAO+gF,OAAOkE,KAAO,SAAU/jF,EAAGqB,EAAGC,GAGjChE,KAAK0C,EAAIA,EAGT1C,KAAK+D,EAAIA,EACT/D,KAAKgE,EAAIA,EAGThE,KAAK+6E,KAAO,KACZ/6E,KAAKw1C,KAAO,KAGZx1C,KAAKoV,EAAI,KAGTpV,KAAK0kF,MAAQ,KACb1kF,KAAKykF,MAAQ,KAGbzkF,KAAKwjF,SAAU,GAenBhlF,KAAKyf,cAAgB,aASrBzf,KAAKyf,cAAc2oE,mBAAqB,EAWxCpoF,KAAKyf,cAAc0gE,eAAiB,SAAUlgE,EAAU7Y,GAEpD,IAII8Y,EAJA/gB,EAAKiI,EAAcjI,GACnB6Z,EAAa5R,EAAc4R,WAC3BC,EAAS7R,EAAc6R,OACvBxK,EAASrH,EAAc8R,cAAckJ,gBAGtCnC,EAASjN,OAERhT,KAAKyf,cAAcC,eAAeO,EAAU9gB,GAGhD,IAAIwhD,EAAQ1gC,EAASN,OAAOxgB,EAAGuW,IAG/B,GAAIirC,EAOJ,IAAK,IAAIz8C,EAAI,EAAGA,EAAIy8C,EAAM/qC,KAAKzR,OAAQD,IAET,IAAvBy8C,EAAM/qC,KAAK1R,GAAG2c,MAEbX,EAAYygC,EAAM/qC,KAAK1R,GAEvBkD,EAAcmS,eAAeqG,YAAYK,EAAUC,EAAW9Y,GAG9DjI,EAAG2hB,aAAa3hB,EAAG4hB,aAAc,EAAG5hB,EAAG6hB,eAAiD,GAAhCd,EAAU9L,QAAQjQ,OAAS,IAEnFiD,EAAcmS,eAAesG,WAAWI,EAAUC,EAAW9Y,KAI7D8Y,EAAYygC,EAAM/qC,KAAK1R,GAEvBkD,EAAc8R,cAAcqI,UAAU9S,GACtCA,EAASrH,EAAc8R,cAAckJ,gBACrCjjB,EAAGoW,iBAAiB9G,EAAO+I,mBAAmB,EAAOyI,EAASld,eAAe0e,SAAQ,IAErFtiB,EAAGqiB,UAAU/S,EAAO8H,MAAO,GAE3BpX,EAAGuiB,UAAUjT,EAAOmF,iBAAkBoF,EAAWzT,GAAIyT,EAAWxT,GAChErG,EAAGuiB,UAAUjT,EAAOoF,cAAeoF,EAAO1T,GAAI0T,EAAOzT,GAErDrG,EAAGwiB,WAAWlT,EAAOkJ,UAAW3U,EAAO4e,MAAMC,cAAc5B,EAAS1R,OAEpEpP,EAAGqiB,UAAU/S,EAAOhM,MAAOwd,EAASnd,YAEpC3D,EAAG2iB,WAAW3iB,EAAG4iB,aAAc7B,EAAUvD,QAEzCxd,EAAG6iB,oBAAoBvT,EAAOsF,gBAAiB,EAAG5U,EAAG8iB,OAAO,EAAO,GAAO,GAC1E9iB,EAAG6iB,oBAAoBvT,EAAOyF,eAAgB,EAAG/U,EAAG8iB,OAAO,EAAM,GAAO,GAGxE9iB,EAAG2iB,WAAW3iB,EAAG+iB,qBAAsBhC,EAAUiC,aACjDhjB,EAAG2hB,aAAa3hB,EAAGiiB,eAAgBlB,EAAU9L,QAAQjQ,OAAQhF,EAAG6hB,eAAgB,KAc5FhhB,KAAKyf,cAAcC,eAAiB,SAAUO,EAAU9gB,GAGpD,IAAIwhD,EAAQ1gC,EAASN,OAAOxgB,EAAGuW,IAG3BirC,IAASA,EAAQ1gC,EAASN,OAAOxgB,EAAGuW,KAAO2yE,UAAW,EAAGzyE,QAAUzW,GAAIA,IAG3E8gB,EAASjN,OAAQ,EAEjB,IAAI9O,EAGJ,GAAG+b,EAASqoE,WACZ,CAII,IAHAroE,EAASqoE,YAAa,EAGjBpkF,EAAI,EAAGA,EAAIy8C,EAAM/qC,KAAKzR,OAAQD,IACnC,CACI,IAAIkkD,EAAezH,EAAM/qC,KAAK1R,GAC9BkkD,EAAatgB,QACb9nC,KAAKyf,cAAc8oE,iBAAiBj/E,KAAK8+C,GAI7CzH,EAAM/qC,QACN+qC,EAAM0nC,UAAY,EAGtB,IAAInoE,EAOJ,IAAKhc,EAAIy8C,EAAM0nC,UAAWnkF,EAAI+b,EAASmoC,aAAajkD,OAAQD,IAC5D,CACI,IAAI0R,EAAOqK,EAASmoC,aAAalkD,GAE7B0R,EAAKZ,OAAShS,EAAOwrB,SAGrB5Y,EAAKoqB,OAASpqB,EAAK0yC,MAAMtoB,OAAOtO,QAC7B9b,EAAK0yC,MAAMxnB,SAGPlrB,EAAKoqB,OAAO,KAAOpqB,EAAKoqB,OAAOpqB,EAAKoqB,OAAO77B,OAAS,IAAMyR,EAAKoqB,OAAO,KAAOpqB,EAAKoqB,OAAOpqB,EAAKoqB,OAAO77B,OAAS,IAE7GyR,EAAKoqB,OAAO12B,KAAKsM,EAAKoqB,OAAO,GAAIpqB,EAAKoqB,OAAO,KAKlDpqB,EAAKyyC,MAEDzyC,EAAKoqB,OAAO77B,QAAUnE,KAAKyf,cAAc2oE,qBAErCxyE,EAAKoqB,OAAO77B,OAAiD,EAAxCnE,KAAKyf,cAAc2oE,oBAEvCloE,EAAYlgB,KAAKyf,cAAc+oE,WAAW7nC,EAAO,GAExB3gD,KAAKyf,cAAcgpE,UAAU7yE,EAAMsK,KAOxDA,EAAYlgB,KAAKyf,cAAc+oE,WAAW7nC,EAAO,GACjD3gD,KAAKyf,cAAcipE,iBAAiB9yE,EAAMsK,MAK9CA,EAAYlgB,KAAKyf,cAAc+oE,WAAW7nC,EAAO,GACjD3gD,KAAKyf,cAAcipE,iBAAiB9yE,EAAMsK,KAKnDtK,EAAK4rE,UAAY,IAEhBthE,EAAYlgB,KAAKyf,cAAc+oE,WAAW7nC,EAAO,GACjD3gD,KAAKyf,cAAckpE,UAAU/yE,EAAMsK,MAKvCA,EAAYlgB,KAAKyf,cAAc+oE,WAAW7nC,EAAO,GAE7C/qC,EAAKZ,OAAShS,EAAOksB,UAErBlvB,KAAKyf,cAAcmpE,eAAehzE,EAAMsK,GAEnCtK,EAAKZ,OAAShS,EAAOisB,QAAUrZ,EAAKZ,OAAShS,EAAO4rB,QAEzD5uB,KAAKyf,cAAcopE,YAAYjzE,EAAMsK,GAEhCtK,EAAKZ,OAAShS,EAAOssB,kBAE1BtvB,KAAKyf,cAAcqpE,sBAAsBlzE,EAAMsK,IAIvDygC,EAAM0nC,YAIV,IAAKnkF,EAAI,EAAGA,EAAIy8C,EAAM/qC,KAAKzR,OAAQD,KAE/Bgc,EAAYygC,EAAM/qC,KAAK1R,IACV8O,OAASkN,EAAU6oE,UAWxC/oF,KAAKyf,cAAc+oE,WAAa,SAAU7nC,EAAO3rC,GAE7C,IAAIkL,EAsBJ,OApBIygC,EAAM/qC,KAAKzR,QAQX+b,EAAYygC,EAAM/qC,KAAK+qC,EAAM/qC,KAAKzR,OAAS,IAE9B0c,OAAS7L,GAAiB,IAATA,KAE1BkL,EAAYlgB,KAAKyf,cAAc8oE,iBAAiBlmE,OAAS,IAAIriB,KAAKgpF,kBAAkBroC,EAAMxhD,KAChF0hB,KAAO7L,EACjB2rC,EAAM/qC,KAAKtM,KAAK4W,MAZpBA,EAAYlgB,KAAKyf,cAAc8oE,iBAAiBlmE,OAAS,IAAIriB,KAAKgpF,kBAAkBroC,EAAMxhD,KAChF0hB,KAAO7L,EACjB2rC,EAAM/qC,KAAKtM,KAAK4W,IAcpBA,EAAUlN,OAAQ,EAEXkN,GAYXlgB,KAAKyf,cAAcmpE,eAAiB,SAAUxgC,EAAcloC,GAOxD,IAAI+oE,EAAW7gC,EAAaE,MACxB/iD,EAAI0jF,EAAS1jF,EACbC,EAAIyjF,EAASzjF,EACbpG,EAAQ6pF,EAAS7pF,MACjBC,EAAS4pF,EAAS5pF,OAEtB,GAAG+oD,EAAaC,KAChB,CACI,IAAIxwC,EAAQ7U,EAAO4e,MAAMC,cAAcumC,EAAa8gC,WAChDzmF,EAAQ2lD,EAAa+gC,UAErBzjF,EAAImS,EAAM,GAAKpV,EACf0Z,EAAItE,EAAM,GAAKpV,EACfkC,EAAIkT,EAAM,GAAKpV,EAEf2mF,EAAQlpE,EAAU8f,OAClB5rB,EAAU8L,EAAU9L,QAEpBi1E,EAAUD,EAAMjlF,OAAS,EAG7BilF,EAAM9/E,KAAK/D,EAAGC,GACd4jF,EAAM9/E,KAAK5D,EAAGyW,EAAGxX,EAAGlC,GAEpB2mF,EAAM9/E,KAAK/D,EAAInG,EAAOoG,GACtB4jF,EAAM9/E,KAAK5D,EAAGyW,EAAGxX,EAAGlC,GAEpB2mF,EAAM9/E,KAAK/D,EAAIC,EAAInG,GACnB+pF,EAAM9/E,KAAK5D,EAAGyW,EAAGxX,EAAGlC,GAEpB2mF,EAAM9/E,KAAK/D,EAAInG,EAAOoG,EAAInG,GAC1B+pF,EAAM9/E,KAAK5D,EAAGyW,EAAGxX,EAAGlC,GAGpB2R,EAAQ9K,KAAK+/E,EAASA,EAASA,EAAU,EAAGA,EAAU,EAAGA,EAAU,EAAGA,EAAU,GAGpF,GAAIjhC,EAAao5B,UACjB,CACI,IAAI8H,EAAalhC,EAAapoB,OAE9BooB,EAAapoB,QAAWz6B,EAAGC,EACvBD,EAAInG,EAAOoG,EACXD,EAAInG,EAAOoG,EAAInG,EACfkG,EAAGC,EAAInG,EACPkG,EAAGC,GAEPxF,KAAKyf,cAAckpE,UAAUvgC,EAAcloC,GAE3CkoC,EAAapoB,OAASspD,IAa9BtpF,KAAKyf,cAAcqpE,sBAAwB,SAAU1gC,EAAcloC,GAE/D,IAAIqpE,EAAYnhC,EAAaE,MACzB/iD,EAAIgkF,EAAUhkF,EACdC,EAAI+jF,EAAU/jF,EACdpG,EAAQmqF,EAAUnqF,MAClBC,EAASkqF,EAAUlqF,OAEnBw3B,EAAS0yD,EAAU1yD,OAEnB2yD,KAOJ,GANAA,EAAUlgF,KAAK/D,EAAGC,EAAIqxB,GACtB2yD,EAAYA,EAAUz3D,OAAO/xB,KAAKyf,cAAcgqE,qBAAqBlkF,EAAGC,EAAInG,EAASw3B,EAAQtxB,EAAGC,EAAInG,EAAQkG,EAAIsxB,EAAQrxB,EAAInG,IAC5HmqF,EAAYA,EAAUz3D,OAAO/xB,KAAKyf,cAAcgqE,qBAAqBlkF,EAAInG,EAAQy3B,EAAQrxB,EAAInG,EAAQkG,EAAInG,EAAOoG,EAAInG,EAAQkG,EAAInG,EAAOoG,EAAInG,EAASw3B,IACpJ2yD,EAAYA,EAAUz3D,OAAO/xB,KAAKyf,cAAcgqE,qBAAqBlkF,EAAInG,EAAOoG,EAAIqxB,EAAQtxB,EAAInG,EAAOoG,EAAGD,EAAInG,EAAQy3B,EAAQrxB,IAC9HgkF,EAAYA,EAAUz3D,OAAO/xB,KAAKyf,cAAcgqE,qBAAqBlkF,EAAIsxB,EAAQrxB,EAAGD,EAAGC,EAAGD,EAAGC,EAAIqxB,IAE7FuxB,EAAaC,KACjB,CACI,IAAIxwC,EAAQ7U,EAAO4e,MAAMC,cAAcumC,EAAa8gC,WAChDzmF,EAAQ2lD,EAAa+gC,UAErBzjF,EAAImS,EAAM,GAAKpV,EACf0Z,EAAItE,EAAM,GAAKpV,EACfkC,EAAIkT,EAAM,GAAKpV,EAEf2mF,EAAQlpE,EAAU8f,OAClB5rB,EAAU8L,EAAU9L,QAEpBs1E,EAASN,EAAMjlF,OAAS,EAExBogF,EAAYvhF,EAAO+gF,OAAOC,YAAYwF,EAAW,KAAM,GAEvDtlF,EAAI,EAER,IAAKA,EAAI,EAAGA,EAAIqgF,EAAUpgF,OAAQD,GAAK,EAEnCkQ,EAAQ9K,KAAKi7E,EAAUrgF,GAAKwlF,GAC5Bt1E,EAAQ9K,KAAKi7E,EAAUrgF,GAAKwlF,GAC5Bt1E,EAAQ9K,KAAKi7E,EAAUrgF,EAAI,GAAKwlF,GAChCt1E,EAAQ9K,KAAKi7E,EAAUrgF,EAAI,GAAKwlF,GAChCt1E,EAAQ9K,KAAKi7E,EAAUrgF,EAAI,GAAKwlF,GAGpC,IAAKxlF,EAAI,EAAGA,EAAIslF,EAAUrlF,OAAQD,IAE9BklF,EAAM9/E,KAAKkgF,EAAUtlF,GAAIslF,IAAYtlF,GAAIwB,EAAGyW,EAAGxX,EAAGlC,GAI1D,GAAI2lD,EAAao5B,UACjB,CACI,IAAI8H,EAAalhC,EAAapoB,OAE9BooB,EAAapoB,OAASwpD,EAEtBxpF,KAAKyf,cAAckpE,UAAUvgC,EAAcloC,GAE3CkoC,EAAapoB,OAASspD,IAoB9BtpF,KAAKyf,cAAcgqE,qBAAuB,SAAUE,EAAOC,EAAOC,EAAKC,EAAKC,EAAKC,GAW7E,SAASC,EAAOC,EAAKC,EAAIC,GAIrB,OAAOF,GAFIC,EAAKD,GAEIE,EAIxB,IAAK,IAjBDC,EACAC,EACAC,EACAC,EACAjlF,EACAC,EAEAw6B,KASA32B,EAAI,EACCnF,EAAI,EAAGA,GAXR,GAWgBA,IAKpBmmF,EAAKJ,EAAMN,EAAQE,EAHnBxgF,EAAInF,EAbA,IAiBJomF,EAAKL,EAAML,EAAQE,EAAMzgF,GACzBkhF,EAAKN,EAAMJ,EAAME,EAAM1gF,GACvBmhF,EAAKP,EAAMH,EAAME,EAAM3gF,GAGvB9D,EAAI0kF,EAAMI,EAAKE,EAAKlhF,GACpB7D,EAAIykF,EAAMK,EAAKE,EAAKnhF,GAEpB22B,EAAO12B,KAAK/D,EAAGC,GAEnB,OAAOw6B,GAYXhgC,KAAKyf,cAAcopE,YAAc,SAAUzgC,EAAcloC,GAGrD,IAGI9gB,EACAC,EAJAorF,EAAariC,EAAaE,MAC1B/iD,EAAIklF,EAAWllF,EACfC,EAAIilF,EAAWjlF,EAKf4iD,EAAapzC,OAAShS,EAAOisB,QAE7B7vB,EAAQqrF,EAAW5zD,OACnBx3B,EAASorF,EAAW5zD,SAIpBz3B,EAAQqrF,EAAWrrF,MACnBC,EAASorF,EAAWprF,QAGxB,IACIqrF,EAAiB,EAAVxlF,KAAKwxB,GADA,GAGZxyB,EAAI,EAER,GAAGkkD,EAAaC,KAChB,CACI,IAAIxwC,EAAQ7U,EAAO4e,MAAMC,cAAcumC,EAAa8gC,WAChDzmF,EAAQ2lD,EAAa+gC,UAErBzjF,EAAImS,EAAM,GAAKpV,EACf0Z,EAAItE,EAAM,GAAKpV,EACfkC,EAAIkT,EAAM,GAAKpV,EAEf2mF,EAAQlpE,EAAU8f,OAClB5rB,EAAU8L,EAAU9L,QAEpBs1E,EAASN,EAAMjlF,OAAS,EAI5B,IAFAiQ,EAAQ9K,KAAKogF,GAERxlF,EAAI,EAAGA,EAAIymF,GAAezmF,IAE3BklF,EAAM9/E,KAAK/D,EAAEC,EAAGE,EAAGyW,EAAGxX,EAAGlC,GAEzB2mF,EAAM9/E,KAAK/D,EAAIL,KAAKG,IAAIqlF,EAAMxmF,GAAK9E,EAC/BoG,EAAIN,KAAKI,IAAIolF,EAAMxmF,GAAK7E,EACxBqG,EAAGyW,EAAGxX,EAAGlC,GAEb2R,EAAQ9K,KAAKogF,IAAUA,KAG3Bt1E,EAAQ9K,KAAKogF,EAAS,GAG1B,GAAGthC,EAAao5B,UAChB,CACI,IAAI8H,EAAalhC,EAAapoB,OAI9B,IAFAooB,EAAapoB,UAER97B,EAAI,EAAGA,EAAIymF,GAAezmF,IAE3BkkD,EAAapoB,OAAO12B,KAAK/D,EAAIL,KAAKG,IAAIqlF,EAAMxmF,GAAK9E,EAC7CoG,EAAIN,KAAKI,IAAIolF,EAAMxmF,GAAK7E,GAGhCW,KAAKyf,cAAckpE,UAAUvgC,EAAcloC,GAE3CkoC,EAAapoB,OAASspD,IAa9BtpF,KAAKyf,cAAckpE,UAAY,SAAUvgC,EAAcloC,GAGnD,IAAIhc,EAAI,EACJ87B,EAASooB,EAAapoB,OAC1B,GAAqB,IAAlBA,EAAO77B,OAAV,CAGA,GAAGikD,EAAao5B,UAAY,EAExB,IAAKt9E,EAAI,EAAGA,EAAI87B,EAAO77B,OAAQD,IAE3B87B,EAAO97B,IAAM,GAKrB,IAAI0mF,EAAa,IAAI5qF,KAAKqC,MAAM29B,EAAO,GAAIA,EAAO,IAC9C6qD,EAAY,IAAI7qF,KAAKqC,MAAM29B,EAAOA,EAAO77B,OAAS,GAAI67B,EAAOA,EAAO77B,OAAS,IAGjF,GAAGymF,EAAWrlF,IAAMslF,EAAUtlF,GAAKqlF,EAAWplF,IAAMqlF,EAAUrlF,EAC9D,EAEIw6B,EAASA,EAAOtO,SAETrP,MACP2d,EAAO3d,MAIP,IAAIyoE,GAFJD,EAAY,IAAI7qF,KAAKqC,MAAM29B,EAAOA,EAAO77B,OAAS,GAAI67B,EAAOA,EAAO77B,OAAS,KAEnDoB,EAAmC,IAA9BqlF,EAAWrlF,EAAIslF,EAAUtlF,GACpDwlF,EAAYF,EAAUrlF,EAAmC,IAA9BolF,EAAWplF,EAAIqlF,EAAUrlF,GAExDw6B,EAAOgrD,QAAQF,EAAWC,GAC1B/qD,EAAO12B,KAAKwhF,EAAWC,GAG3B,IAgBIn2D,EAAI6jC,EAAIwyB,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EACjCC,EAAOC,EAAOC,EAAQC,EAAQC,EAAQC,EACtChwD,EAAIE,EAAIE,EAAIH,EAAIE,EAAIE,EACpBC,EAAc2vD,EAnBdzC,EAAQlpE,EAAU8f,OAClB5rB,EAAU8L,EAAU9L,QACpBjQ,EAAS67B,EAAO77B,OAAS,EACzB2nF,EAAa9rD,EAAO77B,OACpB4nF,EAAa3C,EAAMjlF,OAAS,EAG5B/E,EAAQgpD,EAAao5B,UAAY,EAGjC3pE,EAAQ7U,EAAO4e,MAAMC,cAAcumC,EAAa4jC,WAChDvpF,EAAQ2lD,EAAa6jC,UACrBvmF,EAAImS,EAAM,GAAKpV,EACf0Z,EAAItE,EAAM,GAAKpV,EACfkC,EAAIkT,EAAM,GAAKpV,EA8BnB,IAvBAwoF,EAAMjrD,EAAO,GACbkrD,EAAMlrD,EAAO,GAEbmrD,EAAMnrD,EAAO,GAGburD,IAAUL,GAFVE,EAAMprD,EAAO,KAGbwrD,EAAQP,EAAME,EAIdI,GAFAM,EAAO3mF,KAAKS,KAAK4lF,EAAQA,EAAQC,EAAQA,GAGzCA,GAASK,EACTN,GAASnsF,EACTosF,GAASpsF,EAGTgqF,EAAM9/E,KAAK2hF,EAAMM,EAAQL,EAAMM,EAC3B9lF,EAAGyW,EAAGxX,EAAGlC,GAEb2mF,EAAM9/E,KAAK2hF,EAAMM,EAAQL,EAAMM,EAC3B9lF,EAAGyW,EAAGxX,EAAGlC,GAERyB,EAAI,EAAGA,EAAIC,EAAS,EAAGD,IAExB+mF,EAAMjrD,EAAiB,GAAT97B,EAAI,IAClBgnF,EAAMlrD,EAAiB,GAAT97B,EAAI,GAAS,GAE3BinF,EAAMnrD,EAAa,EAAN,GACborD,EAAMprD,EAAa,EAAN,EAAU,GAEvBqrD,EAAMrrD,EAAiB,GAAT97B,EAAI,IAClBonF,EAAMtrD,EAAiB,GAAT97B,EAAI,GAAS,GAE3BqnF,IAAUL,EAAME,GAChBI,EAAQP,EAAME,EAGdI,GADAM,EAAO3mF,KAAKS,KAAK4lF,EAAQA,EAAQC,EAAQA,GAEzCA,GAASK,EACTN,GAASnsF,EACTosF,GAASpsF,EAETqsF,IAAWL,EAAME,GACjBI,EAASP,EAAME,EAGfI,GADAI,EAAO3mF,KAAKS,KAAK8lF,EAASA,EAASC,EAASA,GAE5CA,GAAUG,EAMV7vD,IAAOuvD,EAAQN,KAASO,EAAQJ,KAASG,EAAQJ,KAASK,EAAQN,GAGlEjvD,KARAwvD,GAAUrsF,GAQMisF,MAPhBK,GAAUtsF,GAOwBgsF,KAASK,EAASN,KAASO,EAASJ,GAEtEpvD,GAPAN,GAAO4vD,EAAQN,IAASM,EAAQJ,KAIhCrvD,GAAO0vD,EAASN,IAASM,EAASJ,KADlCxvD,GAAO6vD,EAASJ,IAASI,EAASN,KAFlCtvD,GAAOyvD,EAAQJ,IAASI,EAAQN,IAQ7B/lF,KAAKmzB,IAAI6D,GAAS,IAEjBA,GAAS,KACTktD,EAAM9/E,KAAK6hF,EAAMI,EAAQH,EAAMI,EAC3B9lF,EAAGyW,EAAGxX,EAAGlC,GAEb2mF,EAAM9/E,KAAK6hF,EAAMI,EAAQH,EAAMI,EAC3B9lF,EAAGyW,EAAGxX,EAAGlC,MAKjBmyB,GAAMkH,EAAKG,EAAKF,EAAKC,GAAME,GAGbivD,IAAQv2D,EAAKu2D,KAF3B1yB,GAAM58B,EAAKG,EAAKJ,EAAKK,GAAMC,GAEakvD,IAAQ3yB,EAAK2yB,GAE1C,OAEPO,EAASJ,EAAQE,EACjBG,EAASJ,EAAQE,EAGjBC,GADAE,EAAO3mF,KAAKS,KAAKgmF,EAASA,EAASC,EAASA,GAE5CA,GAAUC,EACVF,GAAUvsF,EACVwsF,GAAUxsF,EAEVgqF,EAAM9/E,KAAK6hF,EAAMQ,EAAQP,EAAMQ,GAC/BxC,EAAM9/E,KAAK5D,EAAGyW,EAAGxX,EAAGlC,GAEpB2mF,EAAM9/E,KAAK6hF,EAAMQ,EAAQP,EAAMQ,GAC/BxC,EAAM9/E,KAAK5D,EAAGyW,EAAGxX,EAAGlC,GAEpB2mF,EAAM9/E,KAAK6hF,EAAMQ,EAAQP,EAAMQ,GAC/BxC,EAAM9/E,KAAK5D,EAAGyW,EAAGxX,EAAGlC,GAEpBqpF,MAIA1C,EAAM9/E,KAAKsrB,EAAK6jC,GAChB2wB,EAAM9/E,KAAK5D,EAAGyW,EAAGxX,EAAGlC,GAEpB2mF,EAAM9/E,KAAK6hF,GAAOv2D,EAAKu2D,GAAMC,GAAO3yB,EAAK2yB,IACzChC,EAAM9/E,KAAK5D,EAAGyW,EAAGxX,EAAGlC,IA2B5B,IAvBAwoF,EAAMjrD,EAAsB,GAAd77B,EAAS,IACvB+mF,EAAMlrD,EAAsB,GAAd77B,EAAS,GAAS,GAEhCgnF,EAAMnrD,EAAsB,GAAd77B,EAAS,IAGvBonF,IAAUL,GAFVE,EAAMprD,EAAsB,GAAd77B,EAAS,GAAS,KAGhCqnF,EAAQP,EAAME,EAGdI,GADAM,EAAO3mF,KAAKS,KAAK4lF,EAAQA,EAAQC,EAAQA,GAEzCA,GAASK,EACTN,GAASnsF,EACTosF,GAASpsF,EAETgqF,EAAM9/E,KAAK6hF,EAAMI,EAAQH,EAAMI,GAC/BpC,EAAM9/E,KAAK5D,EAAGyW,EAAGxX,EAAGlC,GAEpB2mF,EAAM9/E,KAAK6hF,EAAMI,EAAQH,EAAMI,GAC/BpC,EAAM9/E,KAAK5D,EAAGyW,EAAGxX,EAAGlC,GAEpB2R,EAAQ9K,KAAKyiF,GAER7nF,EAAI,EAAGA,EAAI4nF,EAAY5nF,IAExBkQ,EAAQ9K,KAAKyiF,KAGjB33E,EAAQ9K,KAAKyiF,EAAa,KAY9B/rF,KAAKyf,cAAcipE,iBAAmB,SAAUtgC,EAAcloC,GAG1D,IAAI8f,EAASooB,EAAapoB,OAAOtO,QACjC,KAAGsO,EAAO77B,OAAS,GAAnB,CAGA,IAAIiQ,EAAU8L,EAAU9L,QACxB8L,EAAU8f,OAASA,EACnB9f,EAAUzd,MAAQ2lD,EAAa+gC,UAC/BjpE,EAAUrI,MAAQ7U,EAAO4e,MAAMC,cAAcumC,EAAa8gC,WAc1D,IAAK,IAHD3jF,EAAEC,EANF4G,EAAOC,EAAAA,EACPE,GAAQF,EAAAA,EAERC,EAAOD,EAAAA,EACPG,GAAQH,EAAAA,EAKHnI,EAAI,EAAGA,EAAI87B,EAAO77B,OAAQD,GAAK,EAEpCqB,EAAIy6B,EAAO97B,GACXsB,EAAIw6B,EAAO97B,EAAI,GAEfkI,EAAO7G,EAAI6G,EAAO7G,EAAI6G,EACtBG,EAAOhH,EAAIgH,EAAOhH,EAAIgH,EAEtBD,EAAO9G,EAAI8G,EAAO9G,EAAI8G,EACtBE,EAAOhH,EAAIgH,EAAOhH,EAAIgH,EAI1BwzB,EAAO12B,KAAK8C,EAAME,EACdC,EAAMD,EACNC,EAAMC,EACNJ,EAAMI,GAKV,IAAIrI,EAAS67B,EAAO77B,OAAS,EAC7B,IAAKD,EAAI,EAAGA,EAAIC,EAAQD,IAEpBkQ,EAAQ9K,KAAKpF,KAarBlE,KAAKyf,cAAcgpE,UAAY,SAAUrgC,EAAcloC,GAEnD,IAAI8f,EAASooB,EAAapoB,OAE1B,KAAGA,EAAO77B,OAAS,GAAnB,CAGA,IAAIilF,EAAQlpE,EAAU8f,OAClB5rB,EAAU8L,EAAU9L,QAEpBjQ,EAAS67B,EAAO77B,OAAS,EAGzB0T,EAAQ7U,EAAO4e,MAAMC,cAAcumC,EAAa8gC,WAChDzmF,EAAQ2lD,EAAa+gC,UACrBzjF,EAAImS,EAAM,GAAKpV,EACf0Z,EAAItE,EAAM,GAAKpV,EACfkC,EAAIkT,EAAM,GAAKpV,EAEf8hF,EAAYvhF,EAAO+gF,OAAOC,YAAYhkD,EAAQ,KAAM,GAExD,IAAIukD,EAAa,OAAO,EAExB,IAAI8E,EAAUD,EAAMjlF,OAAS,EAEzBD,EAAI,EAER,IAAKA,EAAI,EAAGA,EAAIqgF,EAAUpgF,OAAQD,GAAK,EAEnCkQ,EAAQ9K,KAAKi7E,EAAUrgF,GAAKmlF,GAC5Bj1E,EAAQ9K,KAAKi7E,EAAUrgF,GAAKmlF,GAC5Bj1E,EAAQ9K,KAAKi7E,EAAUrgF,EAAI,GAAKmlF,GAChCj1E,EAAQ9K,KAAKi7E,EAAUrgF,EAAI,GAAKmlF,GAChCj1E,EAAQ9K,KAAKi7E,EAAUrgF,EAAI,GAAKmlF,GAGpC,IAAKnlF,EAAI,EAAGA,EAAIC,EAAQD,IAEpBklF,EAAM9/E,KAAK02B,EAAW,EAAJ97B,GAAQ87B,EAAW,EAAJ97B,EAAQ,GACrCwB,EAAGyW,EAAGxX,EAAGlC,GAGjB,OAAO,IAGXzC,KAAKyf,cAAc8oE,oBAOnBvoF,KAAKgpF,kBAAoB,SAAU7pF,GAE/BqC,KAAKrC,GAAKA,EAGVqC,KAAKqW,OAAU,EAAE,EAAE,GACnBrW,KAAKw+B,UACLx+B,KAAK4S,WACL5S,KAAKmb,OAASxd,EAAGwlB,eACjBnjB,KAAK2gB,YAAchjB,EAAGwlB,eACtBnjB,KAAKqf,KAAO,EACZrf,KAAKiB,MAAQ,EACbjB,KAAKwR,OAAQ,GAMjBhT,KAAKgpF,kBAAkBllF,UAAUgkC,MAAQ,WAErCtmC,KAAKw+B,UACLx+B,KAAK4S,YAMTpU,KAAKgpF,kBAAkBllF,UAAUilF,OAAS,WAEtC,IAAI5pF,EAAKqC,KAAKrC,GAGdqC,KAAK0qF,SAAW,IAAIpoE,aAAatiB,KAAKw+B,QAEtC7gC,EAAG2iB,WAAW3iB,EAAG4iB,aAAcvgB,KAAKmb,QACpCxd,EAAGylB,WAAWzlB,EAAG4iB,aAAcvgB,KAAK0qF,SAAU/sF,EAAG0lB,aAEjDrjB,KAAK2qF,WAAa,IAAIloE,YAAYziB,KAAK4S,SAEvCjV,EAAG2iB,WAAW3iB,EAAG+iB,qBAAsB1gB,KAAK2gB,aAC5ChjB,EAAGylB,WAAWzlB,EAAG+iB,qBAAsB1gB,KAAK2qF,WAAYhtF,EAAG0lB,aAE3DrjB,KAAKwR,OAAQ,GAajBhT,KAAK+pB,eAAiB,aAYtB/pB,KAAK+pB,eAAeo2D,eAAiB,SAAUlgE,EAAU3Q,GAErD,IAAIxM,EAAamd,EAASnd,WAEtBmd,EAASjN,QAETxR,KAAK4qF,mBAAmBnsE,GACxBA,EAASjN,OAAQ,GAGrB,IAAK,IAAI9O,EAAI,EAAGA,EAAI+b,EAASmoC,aAAajkD,OAAQD,IAClD,CACI,IAAI0R,EAAOqK,EAASmoC,aAAalkD,GAC7BokD,EAAQ1yC,EAAK0yC,MAEb4gC,EAAYtzE,EAAKy2E,UACjBL,EAAYp2E,EAAK02E,UAIrB,GAFAh9E,EAAQkyE,UAAY5rE,EAAK4rE,UAErB5rE,EAAKZ,OAAShS,EAAOwrB,QACzB,CACIlf,EAAQ6xE,YAER,IAAInhD,EAASsoB,EAAMtoB,OAEnB1wB,EAAQgyE,OAAOthD,EAAO,GAAIA,EAAO,IAEjC,IAAK,IAAI32B,EAAI,EAAGA,EAAI22B,EAAO77B,OAAS,EAAGkF,IAEnCiG,EAAQiyE,OAAOvhD,EAAW,EAAJ32B,GAAQ22B,EAAW,EAAJ32B,EAAQ,IAG7Ci/C,EAAMxnB,QAENxxB,EAAQiyE,OAAOvhD,EAAO,GAAIA,EAAO,IAIjCA,EAAO,KAAOA,EAAOA,EAAO77B,OAAS,IAAM67B,EAAO,KAAOA,EAAOA,EAAO77B,OAAS,IAEhFmL,EAAQ+xE,YAGRzrE,EAAKyyC,OAEL/4C,EAAQG,YAAcmG,EAAKuzE,UAAYrmF,EACvCwM,EAAQ+a,UAAY,KAAO,SAAuB,EAAZ6+D,GAAe5+D,SAAS,KAAKC,QAAQ,GAC3Ejb,EAAQ+4C,QAGRzyC,EAAK4rE,YAELlyE,EAAQG,YAAcmG,EAAKq2E,UAAYnpF,EACvCwM,EAAQmyE,YAAc,KAAO,SAAuB,EAAZuK,GAAe1hE,SAAS,KAAKC,QAAQ,GAC7Ejb,EAAQoyE,eAGX,GAAI9rE,EAAKZ,OAAShS,EAAOksB,WAEtBtZ,EAAKszE,WAAgC,IAAnBtzE,EAAKszE,aAEvB55E,EAAQG,YAAcmG,EAAKuzE,UAAYrmF,EACvCwM,EAAQ+a,UAAY,KAAO,SAAuB,EAAZ6+D,GAAe5+D,SAAS,KAAKC,QAAQ,GAC3Ejb,EAAQkb,SAAS89B,EAAM/iD,EAAG+iD,EAAM9iD,EAAG8iD,EAAMlpD,MAAOkpD,EAAMjpD,SAGtDuW,EAAK4rE,YAELlyE,EAAQG,YAAcmG,EAAKq2E,UAAYnpF,EACvCwM,EAAQmyE,YAAc,KAAO,SAAuB,EAAZuK,GAAe1hE,SAAS,KAAKC,QAAQ,GAC7Ejb,EAAQi9E,WAAWjkC,EAAM/iD,EAAG+iD,EAAM9iD,EAAG8iD,EAAMlpD,MAAOkpD,EAAMjpD,cAG3D,GAAIuW,EAAKZ,OAAShS,EAAOisB,OAG1B3f,EAAQ6xE,YACR7xE,EAAQ8xE,IAAI94B,EAAM/iD,EAAG+iD,EAAM9iD,EAAG8iD,EAAMzxB,OAAO,EAAE,EAAI3xB,KAAKwxB,IACtDpnB,EAAQ+xE,YAEJzrE,EAAKyyC,OAEL/4C,EAAQG,YAAcmG,EAAKuzE,UAAYrmF,EACvCwM,EAAQ+a,UAAY,KAAO,SAAuB,EAAZ6+D,GAAe5+D,SAAS,KAAKC,QAAQ,GAC3Ejb,EAAQ+4C,QAGRzyC,EAAK4rE,YAELlyE,EAAQG,YAAcmG,EAAKq2E,UAAYnpF,EACvCwM,EAAQmyE,YAAc,KAAO,SAAuB,EAAZuK,GAAe1hE,SAAS,KAAKC,QAAQ,GAC7Ejb,EAAQoyE,eAGX,GAAI9rE,EAAKZ,OAAShS,EAAO4rB,QAC9B,CAGI,IAAI/X,EAAkB,EAAdyxC,EAAMlpD,MACV4mB,EAAmB,EAAfsiC,EAAMjpD,OAEVkG,EAAI+iD,EAAM/iD,EAAIsR,EAAI,EAClBrR,EAAI8iD,EAAM9iD,EAAIwgB,EAAI,EAEtB1W,EAAQ6xE,YAER,IACIqL,EAAM31E,EAAI,EADF,SAER41E,EAAMzmE,EAAI,EAFF,SAGR0mE,EAAKnnF,EAAIsR,EACT81E,EAAKnnF,EAAIwgB,EACT4mE,EAAKrnF,EAAIsR,EAAI,EACbg2E,EAAKrnF,EAAIwgB,EAAI,EAEjB1W,EAAQgyE,OAAO/7E,EAAGsnF,GAClBv9E,EAAQw9E,cAAcvnF,EAAGsnF,EAAKJ,EAAIG,EAAKJ,EAAIhnF,EAAGonF,EAAIpnF,GAClD8J,EAAQw9E,cAAcF,EAAKJ,EAAIhnF,EAAGknF,EAAIG,EAAKJ,EAAIC,EAAIG,GACnDv9E,EAAQw9E,cAAcJ,EAAIG,EAAKJ,EAAIG,EAAKJ,EAAIG,EAAIC,EAAID,GACpDr9E,EAAQw9E,cAAcF,EAAKJ,EAAIG,EAAIpnF,EAAGsnF,EAAKJ,EAAIlnF,EAAGsnF,GAElDv9E,EAAQ+xE,YAEJzrE,EAAKyyC,OAEL/4C,EAAQG,YAAcmG,EAAKuzE,UAAYrmF,EACvCwM,EAAQ+a,UAAY,KAAO,SAAuB,EAAZ6+D,GAAe5+D,SAAS,KAAKC,QAAQ,GAC3Ejb,EAAQ+4C,QAGRzyC,EAAK4rE,YAELlyE,EAAQG,YAAcmG,EAAKq2E,UAAYnpF,EACvCwM,EAAQmyE,YAAc,KAAO,SAAuB,EAAZuK,GAAe1hE,SAAS,KAAKC,QAAQ,GAC7Ejb,EAAQoyE,eAGX,GAAI9rE,EAAKZ,OAAShS,EAAOssB,iBAC9B,CACI,IAAIsT,EAAK0lB,EAAM/iD,EACXs9B,EAAKylB,EAAM9iD,EACXpG,EAAQkpD,EAAMlpD,MACdC,EAASipD,EAAMjpD,OACfw3B,EAASyxB,EAAMzxB,OAEfk2D,EAAY7nF,KAAK81B,IAAI57B,EAAOC,GAAU,EAAI,EAC9Cw3B,EAASA,EAASk2D,EAAYA,EAAYl2D,EAE1CvnB,EAAQ6xE,YACR7xE,EAAQgyE,OAAO1+C,EAAIC,EAAKhM,GACxBvnB,EAAQiyE,OAAO3+C,EAAIC,EAAKxjC,EAASw3B,GACjCvnB,EAAQ09E,iBAAiBpqD,EAAIC,EAAKxjC,EAAQujC,EAAK/L,EAAQgM,EAAKxjC,GAC5DiQ,EAAQiyE,OAAO3+C,EAAKxjC,EAAQy3B,EAAQgM,EAAKxjC,GACzCiQ,EAAQ09E,iBAAiBpqD,EAAKxjC,EAAOyjC,EAAKxjC,EAAQujC,EAAKxjC,EAAOyjC,EAAKxjC,EAASw3B,GAC5EvnB,EAAQiyE,OAAO3+C,EAAKxjC,EAAOyjC,EAAKhM,GAChCvnB,EAAQ09E,iBAAiBpqD,EAAKxjC,EAAOyjC,EAAID,EAAKxjC,EAAQy3B,EAAQgM,GAC9DvzB,EAAQiyE,OAAO3+C,EAAK/L,EAAQgM,GAC5BvzB,EAAQ09E,iBAAiBpqD,EAAIC,EAAID,EAAIC,EAAKhM,GAC1CvnB,EAAQ+xE,aAEJzrE,EAAKszE,WAAgC,IAAnBtzE,EAAKszE,aAEvB55E,EAAQG,YAAcmG,EAAKuzE,UAAYrmF,EACvCwM,EAAQ+a,UAAY,KAAO,SAAuB,EAAZ6+D,GAAe5+D,SAAS,KAAKC,QAAQ,GAC3Ejb,EAAQ+4C,QAGRzyC,EAAK4rE,YAELlyE,EAAQG,YAAcmG,EAAKq2E,UAAYnpF,EACvCwM,EAAQmyE,YAAc,KAAO,SAAuB,EAAZuK,GAAe1hE,SAAS,KAAKC,QAAQ,GAC7Ejb,EAAQoyE,aAexB1hF,KAAK+pB,eAAeC,mBAAqB,SAAU/J,EAAU3Q,GAEzD,IAAIkjB,EAAMvS,EAASmoC,aAAajkD,OAEhC,GAAY,IAARquB,EAAJ,CAKAljB,EAAQ6xE,YAER,IAAK,IAAIj9E,EAAI,EAAGA,EAAIsuB,EAAKtuB,IACzB,CACI,IAAI0R,EAAOqK,EAASmoC,aAAalkD,GAC7BokD,EAAQ1yC,EAAK0yC,MAEjB,GAAI1yC,EAAKZ,OAAShS,EAAOwrB,QACzB,CACI,IAAIwR,EAASsoB,EAAMtoB,OAEnB1wB,EAAQgyE,OAAOthD,EAAO,GAAIA,EAAO,IAEjC,IAAK,IAAI32B,EAAI,EAAGA,EAAI22B,EAAO77B,OAAS,EAAGkF,IAEnCiG,EAAQiyE,OAAOvhD,EAAW,EAAJ32B,GAAQ22B,EAAW,EAAJ32B,EAAQ,IAI7C22B,EAAO,KAAOA,EAAOA,EAAO77B,OAAS,IAAM67B,EAAO,KAAOA,EAAOA,EAAO77B,OAAS,IAEhFmL,EAAQ+xE,iBAGX,GAAIzrE,EAAKZ,OAAShS,EAAOksB,UAE1B5f,EAAQgtB,KAAKgsB,EAAM/iD,EAAG+iD,EAAM9iD,EAAG8iD,EAAMlpD,MAAOkpD,EAAMjpD,QAClDiQ,EAAQ+xE,iBAEP,GAAIzrE,EAAKZ,OAAShS,EAAOisB,OAG1B3f,EAAQ8xE,IAAI94B,EAAM/iD,EAAG+iD,EAAM9iD,EAAG8iD,EAAMzxB,OAAQ,EAAG,EAAI3xB,KAAKwxB,IACxDpnB,EAAQ+xE,iBAEP,GAAIzrE,EAAKZ,OAAShS,EAAO4rB,QAC9B,CAGI,IAAI/X,EAAkB,EAAdyxC,EAAMlpD,MACV4mB,EAAmB,EAAfsiC,EAAMjpD,OAEVkG,EAAI+iD,EAAM/iD,EAAIsR,EAAI,EAClBrR,EAAI8iD,EAAM9iD,EAAIwgB,EAAI,EAGlBwmE,EAAM31E,EAAI,EADF,SAER41E,EAAMzmE,EAAI,EAFF,SAGR0mE,EAAKnnF,EAAIsR,EACT81E,EAAKnnF,EAAIwgB,EACT4mE,EAAKrnF,EAAIsR,EAAI,EACbg2E,EAAKrnF,EAAIwgB,EAAI,EAEjB1W,EAAQgyE,OAAO/7E,EAAGsnF,GAClBv9E,EAAQw9E,cAAcvnF,EAAGsnF,EAAKJ,EAAIG,EAAKJ,EAAIhnF,EAAGonF,EAAIpnF,GAClD8J,EAAQw9E,cAAcF,EAAKJ,EAAIhnF,EAAGknF,EAAIG,EAAKJ,EAAIC,EAAIG,GACnDv9E,EAAQw9E,cAAcJ,EAAIG,EAAKJ,EAAIG,EAAKJ,EAAIG,EAAIC,EAAID,GACpDr9E,EAAQw9E,cAAcF,EAAKJ,EAAIG,EAAIpnF,EAAGsnF,EAAKJ,EAAIlnF,EAAGsnF,GAClDv9E,EAAQ+xE,iBAEP,GAAIzrE,EAAKZ,OAAShS,EAAOssB,iBAC9B,CACI,IAAIsT,EAAK0lB,EAAM/iD,EACXs9B,EAAKylB,EAAM9iD,EACXpG,EAAQkpD,EAAMlpD,MACdC,EAASipD,EAAMjpD,OACfw3B,EAASyxB,EAAMzxB,OAEfk2D,EAAY7nF,KAAK81B,IAAI57B,EAAOC,GAAU,EAAI,EAC9Cw3B,EAASA,EAASk2D,EAAYA,EAAYl2D,EAE1CvnB,EAAQgyE,OAAO1+C,EAAIC,EAAKhM,GACxBvnB,EAAQiyE,OAAO3+C,EAAIC,EAAKxjC,EAASw3B,GACjCvnB,EAAQ09E,iBAAiBpqD,EAAIC,EAAKxjC,EAAQujC,EAAK/L,EAAQgM,EAAKxjC,GAC5DiQ,EAAQiyE,OAAO3+C,EAAKxjC,EAAQy3B,EAAQgM,EAAKxjC,GACzCiQ,EAAQ09E,iBAAiBpqD,EAAKxjC,EAAOyjC,EAAKxjC,EAAQujC,EAAKxjC,EAAOyjC,EAAKxjC,EAASw3B,GAC5EvnB,EAAQiyE,OAAO3+C,EAAKxjC,EAAOyjC,EAAKhM,GAChCvnB,EAAQ09E,iBAAiBpqD,EAAKxjC,EAAOyjC,EAAID,EAAKxjC,EAAQy3B,EAAQgM,GAC9DvzB,EAAQiyE,OAAO3+C,EAAK/L,EAAQgM,GAC5BvzB,EAAQ09E,iBAAiBpqD,EAAIC,EAAID,EAAIC,EAAKhM,GAC1CvnB,EAAQ+xE,gBAKpBrhF,KAAK+pB,eAAeqiE,mBAAqB,SAAUnsE,GAE/C,GAAsB,WAAlBA,EAAS1R,KASb,IAAK,IAJD0+E,GAAShtE,EAAS1R,MAAQ,GAAK,KAAQ,IACvC2+E,GAASjtE,EAAS1R,MAAQ,EAAI,KAAQ,IACtC4+E,GAAyB,IAAhBltE,EAAS1R,MAAe,IAE5BrK,EAAI,EAAGA,EAAI+b,EAASmoC,aAAajkD,OAAQD,IAClD,CACI,IAAI0R,EAAOqK,EAASmoC,aAAalkD,GAE7BglF,EAA6B,EAAjBtzE,EAAKszE,UACjB8C,EAA6B,EAAjBp2E,EAAKo2E,UAErBp2E,EAAKy2E,YAAenD,GAAa,GAAK,KAAQ,IAAM+D,EAAQ,KAAO,MAAQ/D,GAAa,EAAI,KAAQ,IAAMgE,EAAQ,KAAO,IAAkB,IAAZhE,GAAoB,IAAMiE,EAAQ,IACjKv3E,EAAK02E,YAAeN,GAAa,GAAK,KAAQ,IAAMiB,EAAQ,KAAO,MAAQjB,GAAa,EAAI,KAAQ,IAAMkB,EAAQ,KAAO,IAAkB,IAAZlB,GAAoB,IAAMmB,EAAQ,MAiBzKnqF,EAAOoqF,aAAe,SAAU5L,EAAWwK,EAAWC,EAAW/C,EAAWC,EAAW9gC,EAAMC,GAKzF9mD,KAAKggF,UAAYA,EAKjBhgF,KAAKwqF,UAAYA,EAKjBxqF,KAAKyqF,UAAYA,EAKjBzqF,KAAK8qF,UAAYN,EAKjBxqF,KAAK0nF,UAAYA,EAKjB1nF,KAAK2nF,UAAYA,EAKjB3nF,KAAK6qF,UAAYnD,EAKjB1nF,KAAK6mD,KAAOA,EAKZ7mD,KAAK8mD,MAAQA,EAKb9mD,KAAKwT,KAAOszC,EAAMtzC,MAGtBhS,EAAOoqF,aAAatpF,UAAUC,YAAcf,EAAOoqF,aAOnDpqF,EAAOoqF,aAAatpF,UAAU8xB,MAAQ,WAElC,OAAO,IAAI5yB,EAAOoqF,aACd5rF,KAAKggF,UACLhgF,KAAKwqF,UACLxqF,KAAKyqF,UACLzqF,KAAK0nF,UACL1nF,KAAK2nF,UACL3nF,KAAK6mD,KACL7mD,KAAK8mD,QAyDbtlD,EAAO0iC,SAAW,SAAUnhC,EAAMgB,EAAGC,QAEvBuC,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,GAM3BhE,KAAKwT,KAAOhS,EAAO+qB,SAMnBvsB,KAAK4yC,YAAcpxC,EAAO4qB,OAM1BpsB,KAAK2G,OAAS,IAAInF,EAAOX,MAEzBrC,KAAK8J,uBAAuB9D,KAAKxE,MAEjCA,KAAKoB,YAAa,EAQlBpB,KAAK2nF,UAAY,EAQjB3nF,KAAKggF,UAAY,EASjBhgF,KAAKwqF,UAAY,EASjBxqF,KAAK4mD,gBASL5mD,KAAK+M,KAAO,SASZ/M,KAAKiI,UAAYzJ,KAAK0J,WAAWE,OASjCpI,KAAK6rF,YAAc,KASnB7rF,KAAKme,UAQLne,KAAKwH,QAAS,EAQdxH,KAAK8rF,cAAgB,EASrB9rF,KAAK+rF,aAAe,IAAIvqF,EAAOS,UAAU,EAAG,EAAG,EAAG,GASlDjC,KAAKwR,OAAQ,EAUbxR,KAAKgsF,cAAe,EASpBhsF,KAAKisF,YAAa,EASlBjsF,KAAKksF,mBAAoB,EAEzB1qF,EAAOupE,UAAUiB,KAAKt6D,KAAKlN,KAAKxE,KAAM+C,EAAMgB,EAAGC,EAAG,GAAI,OAG1DxC,EAAO0iC,SAAS5hC,UAAY0E,OAAOwB,OAAOhK,KAAK8J,uBAAuBhG,WACtEd,EAAO0iC,SAAS5hC,UAAUC,YAAcf,EAAO0iC,SAE/C1iC,EAAOupE,UAAUiB,KAAKC,QAAQznE,KAAKhD,EAAO0iC,SAAS5hC,WAC/C,QACA,WACA,SACA,UACA,gBACA,eACA,UACA,WACA,cACA,UAGJd,EAAO0iC,SAAS5hC,UAAUo0E,iBAAmBl1E,EAAOupE,UAAUsB,YAAY3nE,UAC1ElD,EAAO0iC,SAAS5hC,UAAUq0E,kBAAoBn1E,EAAOupE,UAAUuG,SAAS5sE,UACxElD,EAAO0iC,SAAS5hC,UAAUs0E,iBAAmBp1E,EAAOupE,UAAUgG,QAAQrsE,UACtElD,EAAO0iC,SAAS5hC,UAAUu0E,cAAgBr1E,EAAOupE,UAAUiB,KAAKtnE,UAOhElD,EAAO0iC,SAAS5hC,UAAUoC,UAAY,WAElC,SAAK1E,KAAK02E,oBAAuB12E,KAAK22E,qBAAwB32E,KAAK42E,qBAK5D52E,KAAK62E,iBAQhBr1E,EAAO0iC,SAAS5hC,UAAU8kC,WAAa,WAEnC5lC,EAAOupE,UAAUsB,YAAYjlC,WAAW5iC,KAAKxE,MAC7CwB,EAAOupE,UAAUyB,cAAcplC,WAAW5iC,KAAKxE,MAE3CA,KAAKgsF,eAELhsF,KAAKmsF,oBACLnsF,KAAKgsF,cAAe,GAGxB,IAAK,IAAItpF,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAG0kC,cAUzB5lC,EAAO0iC,SAAS5hC,UAAUE,QAAU,SAAUo4C,GAE1C56C,KAAK4a,QAELpZ,EAAOupE,UAAU8C,QAAQvrE,UAAUE,QAAQgC,KAAKxE,KAAM46C,IAU1Dp5C,EAAO0iC,SAAS5hC,UAAU8pF,aAAe,SAAU5tD,EAAQ6tD,QAE1C9lF,IAAT8lF,IAAsBA,GAAO,GAEjC,IAAIC,EAAW,IAAI9qF,EAAO29B,QAAQX,GAElC,GAAI6tD,EACJ,CACI,IAAIE,EAAe,IAAI/qF,EAAOX,MAAMb,KAAK+C,KAAK+X,OAAO/W,EAAIy6B,EAAO,GAAGz6B,EAAG/D,KAAK+C,KAAK+X,OAAO9W,EAAIw6B,EAAO,GAAGx6B,GACjGwoF,EAAK,IAAIhrF,EAAOX,MAAM29B,EAAO,GAAGz6B,EAAIy6B,EAAO,GAAGz6B,EAAGy6B,EAAO,GAAGx6B,EAAIw6B,EAAO,GAAGx6B,GAEzEyoF,EADK,IAAIjrF,EAAOX,MAAM29B,EAAO,GAAGz6B,EAAIy6B,EAAO,GAAGz6B,EAAGy6B,EAAO,GAAGx6B,EAAIw6B,EAAO,GAAGx6B,GACzD65B,MAAM2uD,GAEtBD,EAAa3uD,IAAI6uD,GAAc,GAE/BzsF,KAAK0sF,YAAYJ,QAKrBtsF,KAAK0sF,YAAYJ,IAYzB9qF,EAAO0iC,SAAS5hC,UAAUqqF,cAAgB,SAAUxqE,EAAUvP,EAASy5E,QAEtD9lF,IAAT8lF,IAAsBA,GAAO,GAEjC,IAII3pF,EAJAkqF,EAAS,IAAIprF,EAAOX,MACpBgsF,EAAS,IAAIrrF,EAAOX,MACpBisF,EAAS,IAAItrF,EAAOX,MACpB29B,KAGJ,GAAK5rB,EAwBL,GAAIuP,EAAS,aAAc3gB,EAAOX,MAE9B,IAAK6B,EAAI,EAAGA,EAAIkQ,EAAQjQ,OAAS,EAAGD,IAEhC87B,EAAO12B,KAAKqa,EAASvP,EAAY,EAAJlQ,KAC7B87B,EAAO12B,KAAKqa,EAASvP,EAAY,EAAJlQ,EAAQ,KACrC87B,EAAO12B,KAAKqa,EAASvP,EAAY,EAAJlQ,EAAQ,KAEf,IAAlB87B,EAAO77B,SAEP3C,KAAKosF,aAAa5tD,EAAQ6tD,GAC1B7tD,WAMR,IAAK97B,EAAI,EAAGA,EAAIkQ,EAAQjQ,OAAQD,IAE5BkqF,EAAO7oF,EAAIoe,EAAsB,EAAbvP,EAAQlQ,IAC5BkqF,EAAO5oF,EAAIme,EAAsB,EAAbvP,EAAQlQ,GAAS,GACrC87B,EAAO12B,KAAK8kF,EAAOp3D,YAEG,IAAlBgJ,EAAO77B,SAEP3C,KAAKosF,aAAa5tD,EAAQ6tD,GAC1B7tD,WAhDR,GAAIrc,EAAS,aAAc3gB,EAAOX,MAE9B,IAAK6B,EAAI,EAAGA,EAAIyf,EAASxf,OAAS,EAAGD,IAEjC1C,KAAKosF,cAAejqE,EAAa,EAAJzf,GAAQyf,EAAa,EAAJzf,EAAQ,GAAIyf,EAAa,EAAJzf,EAAQ,IAAM2pF,QAKrF,IAAK3pF,EAAI,EAAGA,EAAIyf,EAASxf,OAAS,EAAGD,IAEjCkqF,EAAO7oF,EAAIoe,EAAa,EAAJzf,EAAQ,GAC5BkqF,EAAO5oF,EAAIme,EAAa,EAAJzf,EAAQ,GAC5BmqF,EAAO9oF,EAAIoe,EAAa,EAAJzf,EAAQ,GAC5BmqF,EAAO7oF,EAAIme,EAAa,EAAJzf,EAAQ,GAC5BoqF,EAAO/oF,EAAIoe,EAAa,EAAJzf,EAAQ,GAC5BoqF,EAAO9oF,EAAIme,EAAa,EAAJzf,EAAQ,GAC5B1C,KAAKosF,cAAeQ,EAAQC,EAAQC,GAAUT,IA8C9D7qF,EAAO0iC,SAAS5hC,UAAUyqF,UAAY,SAAU/M,EAAW3pE,EAAOpV,GAsB9D,OApBAjB,KAAKggF,UAAYA,GAAa,EAC9BhgF,KAAKwqF,UAAYn0E,GAAS,EAC1BrW,KAAKyqF,eAAuBlkF,IAAVtF,EAAuB,EAAIA,EAEzCjB,KAAK6rF,cAED7rF,KAAK6rF,YAAY/kC,MAAMtoB,OAAO77B,OAG9B3C,KAAKgtF,UAAU,IAAIxrF,EAAO29B,QAAQn/B,KAAK6rF,YAAY/kC,MAAMtoB,OAAOtO,OAAO,MAKvElwB,KAAK6rF,YAAY7L,UAAYhgF,KAAKggF,UAClChgF,KAAK6rF,YAAYrB,UAAYxqF,KAAKwqF,UAClCxqF,KAAK6rF,YAAYpB,UAAYzqF,KAAKyqF,YAInCzqF,MAWXwB,EAAO0iC,SAAS5hC,UAAUw9E,OAAS,SAAU/7E,EAAGC,GAI5C,OAFAhE,KAAKgtF,UAAU,IAAIxrF,EAAO29B,SAAUp7B,EAAGC,KAEhChE,MAYXwB,EAAO0iC,SAAS5hC,UAAUy9E,OAAS,SAAUh8E,EAAGC,GAW5C,OATKhE,KAAK6rF,aAEN7rF,KAAK8/E,OAAO,EAAG,GAGnB9/E,KAAK6rF,YAAY/kC,MAAMtoB,OAAO12B,KAAK/D,EAAGC,GACtChE,KAAKwR,OAAQ,EACbxR,KAAKgsF,cAAe,EAEbhsF,MAcXwB,EAAO0iC,SAAS5hC,UAAUkpF,iBAAmB,SAAUnD,EAAKC,EAAKC,EAAKC,GAE9DxoF,KAAK6rF,YAEwC,IAAzC7rF,KAAK6rF,YAAY/kC,MAAMtoB,OAAO77B,SAE9B3C,KAAK6rF,YAAY/kC,MAAMtoB,QAAW,EAAG,IAKzCx+B,KAAK8/E,OAAO,EAAE,GAGlB,IAAI+I,EACAC,EAEAtqD,EAASx+B,KAAK6rF,YAAY/kC,MAAMtoB,OAEd,IAAlBA,EAAO77B,QAEP3C,KAAK8/E,OAAO,EAAG,GAMnB,IAAK,IAHDqI,EAAQ3pD,EAAOA,EAAO77B,OAAS,GAC/BylF,EAAQ5pD,EAAOA,EAAO77B,OAAS,GAC/BkF,EAAI,EACCnF,EAAI,EAAGA,GAXR,KAWkBA,EAItBmmF,EAAKV,GAAUE,EAAMF,IAFrBtgF,EAAInF,EAbA,IAgBJomF,EAAKV,GAAUE,EAAMF,GAASvgF,EAE9B22B,EAAO12B,KAAK+gF,GAAQR,GAAQE,EAAMF,GAAOxgF,EAAMghF,GAAMhhF,EACjDihF,GAAQR,GAAQE,EAAMF,GAAOzgF,EAAMihF,GAAMjhF,GAMjD,OAHA7H,KAAKwR,OAAQ,EACbxR,KAAKgsF,cAAe,EAEbhsF,MAeXwB,EAAO0iC,SAAS5hC,UAAUgpF,cAAgB,SAAUjD,EAAKC,EAAK2E,EAAMC,EAAM3E,EAAKC,GAEvExoF,KAAK6rF,YAEwC,IAAzC7rF,KAAK6rF,YAAY/kC,MAAMtoB,OAAO77B,SAE9B3C,KAAK6rF,YAAY/kC,MAAMtoB,QAAW,EAAG,IAKzCx+B,KAAK8/E,OAAO,EAAE,GAelB,IAAK,IAXDqN,EACAC,EACAC,EACAC,EACAC,EACA/uD,EAASx+B,KAAK6rF,YAAY/kC,MAAMtoB,OAEhC2pD,EAAQ3pD,EAAOA,EAAO77B,OAAS,GAC/BylF,EAAQ5pD,EAAOA,EAAO77B,OAAS,GAC/BkF,EAAI,EAECnF,EAAI,EAAGA,GAZR,KAYkBA,EAMtB2qF,GADAD,GADAD,EAAM,GAFNtlF,EAAInF,EAdA,KAiBOyqF,GACCA,EAGZI,GADAD,EAAKzlF,EAAIA,GACCA,EAEV22B,EAAO12B,KAAKulF,EAAMlF,EAAQ,EAAIiF,EAAMvlF,EAAIwgF,EAAM,EAAI8E,EAAKG,EAAKL,EAAOM,EAAKhF,EACpE8E,EAAMjF,EAAQ,EAAIgF,EAAMvlF,EAAIygF,EAAM,EAAI6E,EAAKG,EAAKJ,EAAOK,EAAK/E,GAMpE,OAHAxoF,KAAKwR,OAAQ,EACbxR,KAAKgsF,cAAe,EAEbhsF,MAgBXwB,EAAO0iC,SAAS5hC,UAAUkrF,MAAQ,SAAUliF,EAAIC,EAAIC,EAAIC,EAAI4pB,GAEpDr1B,KAAK6rF,YAEwC,IAAzC7rF,KAAK6rF,YAAY/kC,MAAMtoB,OAAO77B,QAE9B3C,KAAK6rF,YAAY/kC,MAAMtoB,OAAO12B,KAAKwD,EAAIC,GAK3CvL,KAAK8/E,OAAOx0E,EAAIC,GAGpB,IAAIizB,EAASx+B,KAAK6rF,YAAY/kC,MAAMtoB,OAChC2pD,EAAQ3pD,EAAOA,EAAO77B,OAAS,GAE/By3B,EADQoE,EAAOA,EAAO77B,OAAS,GAClB4I,EACb+uB,EAAK6tD,EAAQ78E,EACb+uB,EAAK5uB,EAAKF,EACVgvB,EAAK/uB,EAAKF,EACVmiF,EAAK/pF,KAAKmzB,IAAIuD,EAAKG,EAAKD,EAAKD,GAEjC,GAAIozD,EAAK,MAAqB,IAAXp4D,EAEXmJ,EAAOA,EAAO77B,OAAS,KAAO2I,GAAMkzB,EAAOA,EAAO77B,OAAS,KAAO4I,GAElEizB,EAAO12B,KAAKwD,EAAIC,OAIxB,CACI,IAAImiF,EAAKtzD,EAAKA,EAAKE,EAAKA,EACpBqzD,EAAKtzD,EAAKA,EAAKE,EAAKA,EACpBqzD,EAAKxzD,EAAKC,EAAKC,EAAKC,EACpBszD,EAAKx4D,EAAS3xB,KAAKS,KAAKupF,GAAMD,EAC9BK,EAAKz4D,EAAS3xB,KAAKS,KAAKwpF,GAAMF,EAC9BM,EAAKF,EAAKD,EAAKF,EACfM,EAAKF,EAAKF,EAAKD,EACfz+E,EAAK2+E,EAAKtzD,EAAKuzD,EAAKxzD,EACpBnrB,EAAK0+E,EAAKxzD,EAAKyzD,EAAK1zD,EACpBhH,EAAKkH,GAAMwzD,EAAKC,GAChB92B,EAAK78B,GAAM0zD,EAAKC,GAChBzI,EAAK/qD,GAAMszD,EAAKG,GAChBC,EAAK5zD,GAAMwzD,EAAKG,GAChB93D,EAAaxyB,KAAKu5B,MAAMg6B,EAAK9nD,EAAIikB,EAAKlkB,GACtCinB,EAAWzyB,KAAKu5B,MAAMgxD,EAAK9+E,EAAIm2E,EAAKp2E,GAExClP,KAAK4/E,IAAI1wE,EAAK5D,EAAI6D,EAAK5D,EAAI8pB,EAAQa,EAAYC,EAAUmE,EAAKD,EAAKE,EAAKH,GAM5E,OAHAp6B,KAAKwR,OAAQ,EACbxR,KAAKgsF,cAAe,EAEbhsF,MAgBXwB,EAAO0iC,SAAS5hC,UAAUs9E,IAAM,SAAU1wE,EAAIC,EAAIkmB,EAAQa,EAAYC,EAAU+3D,EAAeC,GAG3F,GAAIj4D,IAAeC,EAEf,OAAOn2B,UAGWuG,IAAlB2nF,IAA+BA,GAAgB,QAClC3nF,IAAb4nF,IAA0BA,EAAW,KAEpCD,GAAiB/3D,GAAYD,EAE9BC,GAAsB,EAAVzyB,KAAKwxB,GAEZg5D,GAAiBh4D,GAAcC,IAEpCD,GAAwB,EAAVxyB,KAAKwxB,IAGvB,IAAIk5D,EAAQF,GAA2C,GAA1Bh4D,EAAaC,GAAkBA,EAAWD,EACnEm4D,EAAO3qF,KAAKwC,KAAKxC,KAAKmzB,IAAIu3D,IAAoB,EAAV1qF,KAAKwxB,KAAWi5D,EAGxD,GAAc,IAAVC,EAEA,OAAOpuF,KAGX,IAAIsuF,EAASp/E,EAAKxL,KAAKI,IAAIoyB,GAAcb,EACrCk5D,EAASp/E,EAAKzL,KAAKG,IAAIqyB,GAAcb,EAErC64D,GAAiBluF,KAAKwuF,QAEtBxuF,KAAK8/E,OAAO5wE,EAAIC,GAIhBnP,KAAK8/E,OAAOwO,EAAQC,GAgBxB,IAAK,IAZD/vD,EAASx+B,KAAK6rF,YAAY/kC,MAAMtoB,OAEhCiwD,EAAQL,GAAgB,EAAPC,GACjBK,EAAiB,EAARD,EAETE,EAASjrF,KAAKI,IAAI2qF,GAClBG,EAASlrF,KAAKG,IAAI4qF,GAElBI,EAAWR,EAAO,EAElBS,EAAaD,EAAW,EAAKA,EAExBnsF,EAAI,EAAGA,GAAKmsF,EAAUnsF,IAC/B,CACI,IAEIozB,EAAS,EAAUI,EAAcw4D,GAF1BhsF,EAAIosF,EAAYpsF,GAIvBU,EAAIM,KAAKI,IAAIgyB,GACbzxB,GAAKX,KAAKG,IAAIiyB,GAElB0I,EAAO12B,MAAO6mF,EAASvrF,EAAMwrF,EAASvqF,GAAMgxB,EAASnmB,GAC/Cy/E,GAAUtqF,EAAMuqF,EAASxrF,GAAMiyB,EAASlmB,GAMlD,OAHAnP,KAAKwR,OAAQ,EACbxR,KAAKgsF,cAAe,EAEbhsF,MAYXwB,EAAO0iC,SAAS5hC,UAAUyiC,UAAY,SAAU1uB,EAAOpV,GAgBnD,OAdAjB,KAAKwuF,SAAU,EACfxuF,KAAK0nF,UAAYrxE,GAAS,EAC1BrW,KAAK2nF,eAAuBphF,IAAVtF,EAAuB,EAAIA,EAEzCjB,KAAK6rF,aAED7rF,KAAK6rF,YAAY/kC,MAAMtoB,OAAO77B,QAAU,IAExC3C,KAAK6rF,YAAYhlC,KAAO7mD,KAAKwuF,QAC7BxuF,KAAK6rF,YAAYnE,UAAY1nF,KAAK0nF,UAClC1nF,KAAK6rF,YAAYlE,UAAY3nF,KAAK2nF,WAInC3nF,MASXwB,EAAO0iC,SAAS5hC,UAAU2iC,QAAU,WAMhC,OAJAjlC,KAAKwuF,SAAU,EACfxuF,KAAK0nF,UAAY,KACjB1nF,KAAK2nF,UAAY,EAEV3nF,MAYXwB,EAAO0iC,SAAS5hC,UAAU0iC,SAAW,SAAUjhC,EAAGC,EAAGpG,EAAOC,GAIxD,OAFAmC,KAAKgtF,UAAU,IAAIxrF,EAAOS,UAAU8B,EAAGC,EAAGpG,EAAOC,IAE1CmC,MAWXwB,EAAO0iC,SAAS5hC,UAAUysF,gBAAkB,SAAUhrF,EAAGC,EAAGpG,EAAOC,EAAQw3B,GAIvE,OAFAr1B,KAAKgtF,UAAU,IAAIxrF,EAAOugC,iBAAiBh+B,EAAGC,EAAGpG,EAAOC,EAAQw3B,IAEzDr1B,MAYXwB,EAAO0iC,SAAS5hC,UAAU0sF,WAAa,SAAUjrF,EAAGC,EAAG8wB,GAInD,OAFA90B,KAAKgtF,UAAU,IAAIxrF,EAAOqzB,OAAO9wB,EAAGC,EAAG8wB,IAEhC90B,MAaXwB,EAAO0iC,SAAS5hC,UAAU2sF,YAAc,SAAUl3D,EAASC,EAASlB,EAAWC,GAI3E,OAFA/2B,KAAKgtF,WAAWjpF,EAAGg0B,EAAS/zB,EAAGg0B,EAASp6B,MAAOk5B,EAAWj5B,OAAQk5B,EAAYvjB,KAAMhS,EAAO4rB,UAEpFptB,MAUXwB,EAAO0iC,SAAS5hC,UAAUoqF,YAAc,SAAUwC,GAE1CA,aAAgB1tF,EAAO29B,UAEvB+vD,EAAOA,EAAK1wD,QAOhB,IAAIA,EAAS0wD,EAEb,IAAKznF,MAAMC,QAAQ82B,GACnB,CAKIA,EAAS,IAAI/2B,MAAM+oB,UAAU7tB,QAE7B,IAAK,IAAID,EAAI,EAAGA,EAAI87B,EAAO77B,SAAUD,EAEjC87B,EAAO97B,GAAK8tB,UAAU9tB,GAM9B,OAFA1C,KAAKgtF,UAAU,IAAIxrF,EAAO29B,QAAQX,IAE3Bx+B,MASXwB,EAAO0iC,SAAS5hC,UAAUsY,MAAQ,WAY9B,OAVA5a,KAAKggF,UAAY,EACjBhgF,KAAKwuF,SAAU,EAEfxuF,KAAKwR,OAAQ,EACbxR,KAAKgsF,cAAe,EACpBhsF,KAAK8mF,YAAa,EAClB9mF,KAAK4mD,gBAEL5mD,KAAKmsF,oBAEEnsF,MAeXwB,EAAO0iC,SAAS5hC,UAAUqC,gBAAkB,SAAUC,EAAY9G,EAAW4oB,QAEtDngB,IAAf3B,IAA4BA,EAAa,QAC3B2B,IAAdzI,IAA2BA,EAAYU,KAAKC,WAAWmpB,cAC3CrhB,IAAZmgB,IAAyBA,EAAU,GAEvC,IAAI5hB,EAAS9E,KAAKkK,YAElBpF,EAAOlH,OAAS8oB,EAChB5hB,EAAOjH,QAAU6oB,EAEjB,IAAIyoE,EAAe,IAAI3wF,KAAKypB,aAAanjB,EAAOlH,MAAQgH,EAAYE,EAAOjH,OAAS+G,GAEhF7G,EAAUS,KAAKqO,QAAQ+d,WAAWukE,EAAaj4E,OAAQpZ,GAU3D,OARAC,EAAQqI,YAAYxB,WAAaA,EAEjCuqF,EAAarhF,QAAQhN,MAAM8D,EAAYA,GAEvCuqF,EAAarhF,QAAQiuB,WAAWj3B,EAAOf,GAAIe,EAAOd,GAElDxF,KAAK+pB,eAAeo2D,eAAe3+E,KAAMmvF,EAAarhF,SAE/C/P,GAUXyD,EAAO0iC,SAAS5hC,UAAUyD,aAAe,SAAUH,GAG/C,IAAqB,IAAjB5F,KAAKkB,SAAoC,IAAflB,KAAKiB,QAA+B,IAAhBjB,KAAKwH,OAAvD,CAKA,GAAIxH,KAAKoC,eAiBL,OAfIpC,KAAKwR,OAASxR,KAAKksF,qBAEnBlsF,KAAKqF,wBAGLrF,KAAKovF,4BAELpvF,KAAKksF,mBAAoB,EACzBlsF,KAAKwR,OAAQ,GAGjBxR,KAAK6F,cAAcvE,WAAatB,KAAKsB,gBAErC9C,KAAKsH,OAAOxD,UAAUyD,aAAavB,KAAKxE,KAAK6F,cAAeD,GAoB5D,GAdAA,EAAcmG,YAAYI,OAC1BvG,EAAcqS,iBAAiBmD,aAAapb,KAAKiI,WAE7CjI,KAAKmC,OAELyD,EAAcwG,YAAYC,SAASrM,KAAKmC,MAAOyD,GAG/C5F,KAAKyG,UAELb,EAAcqG,cAAcC,WAAWlM,KAAK+H,cAI5C/H,KAAKiI,YAAcrC,EAAcmG,YAAY8B,iBACjD,CACIjI,EAAcmG,YAAY8B,iBAAmB7N,KAAKiI,UAClD,IAAI6V,EAAiBtf,KAAK6d,gBAAgBzW,EAAcmG,YAAY8B,kBACpEjI,EAAcmG,YAAYpO,GAAGogB,UAAUD,EAAe,GAAIA,EAAe,IAa7E,GATI9d,KAAKisF,aAELjsF,KAAKwR,OAAQ,EACbxR,KAAKisF,YAAa,GAGtBztF,KAAKyf,cAAc0gE,eAAe3+E,KAAM4F,GAGpC5F,KAAKyC,SAASE,OAClB,CACIiD,EAAcmG,YAAYO,QAG1B,IAAK,IAAI5J,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGqD,aAAaH,GAGlCA,EAAcmG,YAAYI,OAG1BnM,KAAKyG,UAELb,EAAcqG,cAAcO,YAG5BxM,KAAKmC,OAELyD,EAAcwG,YAAYG,QAAQvM,KAAKuH,KAAM3B,GAGjDA,EAAcwS,YAEdxS,EAAcmG,YAAYO,UAWlC9K,EAAO0iC,SAAS5hC,UAAU0D,cAAgB,SAAUJ,GAGhD,IAAqB,IAAjB5F,KAAKkB,SAAoC,IAAflB,KAAKiB,QAA+B,IAAhBjB,KAAKwH,OAAvD,CAYA,GANIxH,KAAKqvF,YAAcrvF,KAAK+M,OAExB/M,KAAKwR,OAAQ,EACbxR,KAAKqvF,UAAYrvF,KAAK+M,MAGtB/M,KAAKoC,eAiBL,OAfIpC,KAAKwR,OAASxR,KAAKksF,qBAEnBlsF,KAAKqF,wBAGLrF,KAAKovF,4BAELpvF,KAAKksF,mBAAoB,EACzBlsF,KAAKwR,OAAQ,GAGjBxR,KAAK6F,cAAc5E,MAAQjB,KAAKiB,WAEhCzC,KAAKsH,OAAOxD,UAAU0D,cAAcxB,KAAKxE,KAAK6F,cAAeD,GAM7D,IAAIkI,EAAUlI,EAAckI,QACxBwa,EAAYtoB,KAAKuB,eAEjBvB,KAAKiI,YAAcrC,EAAciI,mBAEjCjI,EAAciI,iBAAmB7N,KAAKiI,UACtC6F,EAAQC,yBAA2BvP,KAAKwP,iBAAiBpI,EAAciI,mBAGvE7N,KAAKmC,OAELyD,EAAcwG,YAAYC,SAASrM,KAAKmC,MAAOyD,GAGnD,IAAIhB,EAAagB,EAAchB,WAC3BtB,EAAMglB,EAAUhlB,GAAKsC,EAAchB,WAAcgB,EAAc0I,OAC/D/K,EAAM+kB,EAAU/kB,GAAKqC,EAAchB,WAAcgB,EAAc2I,OAEnET,EAAQe,aAAayZ,EAAUplB,EAAI0B,EAC/B0jB,EAAUnlB,EAAIyB,EACd0jB,EAAUllB,EAAIwB,EACd0jB,EAAUjlB,EAAIuB,EACdtB,EACAC,GAEJ/E,KAAK+pB,eAAeo2D,eAAe3+E,KAAM8N,GAGzC,IAAK,IAAIpL,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGsD,cAAcJ,GAG/B5F,KAAKmC,OAELyD,EAAcwG,YAAYG,QAAQ3G,KAgB9CpE,EAAO0iC,SAAS5hC,UAAU4H,UAAY,SAAUwD,GAE5C,GAAI1N,KAAKkC,eAEL,OAAOlC,KAAKkC,eAIhB,GAAIlC,KAAKwH,OAEL,OAAOhG,EAAOsgC,eAGd9hC,KAAKwR,QAELxR,KAAKmsF,oBACLnsF,KAAKisF,YAAa,EAClBjsF,KAAKksF,mBAAoB,EACzBlsF,KAAKwR,OAAQ,GAGjB,IAAI1M,EAAS9E,KAAK+rF,aAEd7gF,EAAKpG,EAAOf,EACZoH,EAAKrG,EAAOlH,MAAQkH,EAAOf,EAE3BqH,EAAKtG,EAAOd,EACZqH,EAAKvG,EAAOjH,OAASiH,EAAOd,EAE5BzC,EAAiBmM,GAAU1N,KAAKuB,eAEhC2B,EAAI3B,EAAe2B,EACnBC,EAAI5B,EAAe4B,EACnBC,EAAI7B,EAAe6B,EACnBC,EAAI9B,EAAe8B,EACnBC,EAAK/B,EAAe+B,GACpBC,EAAKhC,EAAegC,GAEpB+H,EAAKpI,EAAIiI,EAAK/H,EAAIiI,EAAK/H,EACvBiI,EAAKlI,EAAIgI,EAAKlI,EAAIgI,EAAK5H,EAEvBiI,EAAKtI,EAAIgI,EAAK9H,EAAIiI,EAAK/H,EACvBmI,EAAKpI,EAAIgI,EAAKlI,EAAI+H,EAAK3H,EAEvBmI,EAAKxI,EAAIgI,EAAK9H,EAAIgI,EAAK9H,EACvBqI,EAAKtI,EAAI+H,EAAKjI,EAAI+H,EAAK3H,EAEvBqI,EAAK1I,EAAIiI,EAAK/H,EAAIgI,EAAK9H,EACvBuI,EAAKxI,EAAI+H,EAAKjI,EAAIgI,EAAK5H,EAEvBwH,EAAOO,EACPN,EAAOO,EAEPX,EAAOU,EACPR,EAAOS,EA0BX,OAxBAX,EAAOY,EAAKZ,EAAOY,EAAKZ,EACxBA,EAAOc,EAAKd,EAAOc,EAAKd,EACxBA,EAAOgB,EAAKhB,EAAOgB,EAAKhB,EAExBE,EAAOW,EAAKX,EAAOW,EAAKX,EACxBA,EAAOa,EAAKb,EAAOa,EAAKb,EACxBA,EAAOe,EAAKf,EAAOe,EAAKf,EAExBC,EAAOS,EAAKT,EAAOS,EAAKT,EACxBA,EAAOW,EAAKX,EAAOW,EAAKX,EACxBA,EAAOa,EAAKb,EAAOa,EAAKb,EAExBC,EAAOS,EAAKT,EAAOS,EAAKT,EACxBA,EAAOW,EAAKX,EAAOW,EAAKX,EACxBA,EAAOa,EAAKb,EAAOa,EAAKb,EAExBhL,KAAKgC,QAAQ+B,EAAI6G,EACjB5K,KAAKgC,QAAQpE,MAAQmN,EAAOH,EAE5B5K,KAAKgC,QAAQgC,EAAI8G,EACjB9K,KAAKgC,QAAQnE,OAASmN,EAAOF,EAE7B9K,KAAKkC,eAAiBlC,KAAKgC,QAEpBhC,KAAKkC,gBAShBV,EAAO0iC,SAAS5hC,UAAUyC,eAAiB,WAEvC,IAAIwF,EAAcvK,KAAKuB,eAEvBvB,KAAKuB,eAAiBC,EAAOgJ,eAE7B,IAAK,IAAI9H,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGI,kBAGrB,IAAIgC,EAAS9E,KAAKkK,YAIlB,IAFAlK,KAAKuB,eAAiBgJ,EAEjB7H,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAElC1C,KAAKyC,SAASC,GAAGI,kBAGrB,OAAOgC,GASXtD,EAAO0iC,SAAS5hC,UAAUk/B,cAAgB,SAAUlL,EAAOg5D,QAErC/oF,IAAd+oF,IAA2BA,EAAY,IAAI9tF,EAAOX,OAEtDb,KAAKuB,eAAemE,aAAa4wB,EAAOg5D,GAIxC,IAAK,IAFD1oC,EAAe5mD,KAAK4mD,aAEflkD,EAAI,EAAGA,EAAIkkD,EAAajkD,OAAQD,IACzC,CACI,IAAI0R,EAAOwyC,EAAalkD,GAExB,GAAK0R,EAAKyyC,OAMNzyC,EAAK0yC,OAED1yC,EAAK0yC,MAAMx8C,SAASglF,EAAUvrF,EAAGurF,EAAUtrF,IAE3C,OAAO,EAKnB,OAAO,GAYXxC,EAAO0iC,SAAS5hC,UAAUitF,gBAAkB,SAAU35D,GAQlD,OANI51B,KAAKgsF,eAELhsF,KAAKmsF,oBACLnsF,KAAKgsF,cAAe,GAGjBhsF,KAAK+rF,aAAa33D,MAAMwB,IAQnCp0B,EAAO0iC,SAAS5hC,UAAU6pF,kBAAoB,WAE1C,IAAIvhF,EAAOC,EAAAA,EACPE,GAAQF,EAAAA,EAERC,EAAOD,EAAAA,EACPG,GAAQH,EAAAA,EAEZ,GAAI7K,KAAK4mD,aAAajkD,OAIlB,IAAK,IAFDmkD,EAAOtoB,EAAQz6B,EAAGC,EAAGqR,EAAGmP,EAEnB9hB,EAAI,EAAGA,EAAI1C,KAAK4mD,aAAajkD,OAAQD,IAC9C,CACI,IAAI0R,EAAOpU,KAAK4mD,aAAalkD,GACzB8Q,EAAOY,EAAKZ,KACZwsE,EAAY5rE,EAAK4rE,UAGrB,GAFAl5B,EAAQ1yC,EAAK0yC,MAETtzC,IAAShS,EAAOksB,WAAala,IAAShS,EAAOssB,iBAE7C/pB,EAAI+iD,EAAM/iD,EAAIi8E,EAAY,EAC1Bh8E,EAAI8iD,EAAM9iD,EAAIg8E,EAAY,EAC1B3qE,EAAIyxC,EAAMlpD,MAAQoiF,EAClBx7D,EAAIsiC,EAAMjpD,OAASmiF,EAEnBp1E,EAAO7G,EAAI6G,EAAO7G,EAAI6G,EACtBG,EAAOhH,EAAIsR,EAAItK,EAAOhH,EAAIsR,EAAItK,EAE9BD,EAAO9G,EAAI8G,EAAO9G,EAAI8G,EACtBE,EAAOhH,EAAIwgB,EAAIxZ,EAAOhH,EAAIwgB,EAAIxZ,OAE7B,GAAIwI,IAAShS,EAAOisB,OAErB1pB,EAAI+iD,EAAM/iD,EACVC,EAAI8iD,EAAM9iD,EACVqR,EAAIyxC,EAAMzxB,OAAS2qD,EAAY,EAC/Bx7D,EAAIsiC,EAAMzxB,OAAS2qD,EAAY,EAE/Bp1E,EAAO7G,EAAIsR,EAAIzK,EAAO7G,EAAIsR,EAAIzK,EAC9BG,EAAOhH,EAAIsR,EAAItK,EAAOhH,EAAIsR,EAAItK,EAE9BD,EAAO9G,EAAIwgB,EAAI1Z,EAAO9G,EAAIwgB,EAAI1Z,EAC9BE,EAAOhH,EAAIwgB,EAAIxZ,EAAOhH,EAAIwgB,EAAIxZ,OAE7B,GAAIwI,IAAShS,EAAO4rB,QAErBrpB,EAAI+iD,EAAM/iD,EACVC,EAAI8iD,EAAM9iD,EACVqR,EAAIyxC,EAAMlpD,MAAQoiF,EAAY,EAC9Bx7D,EAAIsiC,EAAMjpD,OAASmiF,EAAY,EAE/Bp1E,EAAO7G,EAAIsR,EAAIzK,EAAO7G,EAAIsR,EAAIzK,EAC9BG,EAAOhH,EAAIsR,EAAItK,EAAOhH,EAAIsR,EAAItK,EAE9BD,EAAO9G,EAAIwgB,EAAI1Z,EAAO9G,EAAIwgB,EAAI1Z,EAC9BE,EAAOhH,EAAIwgB,EAAIxZ,EAAOhH,EAAIwgB,EAAIxZ,MAGlC,CAEIwzB,EAASsoB,EAAMtoB,OAEf,IAAK,IAAI32B,EAAI,EAAGA,EAAI22B,EAAO77B,OAAQkF,IAE3B22B,EAAO32B,aAAcrG,EAAOX,OAE5BkD,EAAIy6B,EAAO32B,GAAG9D,EACdC,EAAIw6B,EAAO32B,GAAG7D,IAIdD,EAAIy6B,EAAO32B,GACX7D,EAAIw6B,EAAO32B,EAAI,GAEXA,EAAI22B,EAAO77B,OAAS,GAEpBkF,KAIR+C,EAAO7G,EAAIi8E,EAAYp1E,EAAO7G,EAAIi8E,EAAYp1E,EAC9CG,EAAOhH,EAAIi8E,EAAYj1E,EAAOhH,EAAIi8E,EAAYj1E,EAE9CD,EAAO9G,EAAIg8E,EAAYl1E,EAAO9G,EAAIg8E,EAAYl1E,EAC9CE,EAAOhH,EAAIg8E,EAAYh1E,EAAOhH,EAAIg8E,EAAYh1E,QAO1DJ,EAAO,EACPG,EAAO,EACPD,EAAO,EACPE,EAAO,EAGX,IAAI0b,EAAU1mB,KAAK8rF,cAEnB9rF,KAAK+rF,aAAahoF,EAAI6G,EAAO8b,EAC7B1mB,KAAK+rF,aAAanuF,MAASmN,EAAOH,EAAkB,EAAV8b,EAE1C1mB,KAAK+rF,aAAa/nF,EAAI8G,EAAO4b,EAC7B1mB,KAAK+rF,aAAaluF,OAAUmN,EAAOF,EAAkB,EAAV4b,GAS/CllB,EAAO0iC,SAAS5hC,UAAU+C,sBAAwB,WAE9C,IAAIP,EAAS9E,KAAK+E,iBAElB,GAAK/E,KAAK6F,cAYN7F,KAAK6F,cAAcsV,OAAOhV,OAAOrB,EAAOlH,MAAOkH,EAAOjH,YAX1D,CACI,IAAIsxF,EAAe,IAAI3wF,KAAKypB,aAAanjB,EAAOlH,MAAOkH,EAAOjH,QAC1DE,EAAUS,KAAKqO,QAAQ+d,WAAWukE,EAAaj4E,QAEnDlX,KAAK6F,cAAgB,IAAIrH,KAAKsH,OAAO/H,GACrCiC,KAAK6F,cAAcsV,OAASg0E,EAE5BnvF,KAAK6F,cAActE,eAAiBvB,KAAKuB,eAQ7CvB,KAAK6F,cAAcc,OAAO5C,GAAMe,EAAOf,EAAIe,EAAOlH,MAClDoC,KAAK6F,cAAcc,OAAO3C,GAAMc,EAAOd,EAAIc,EAAOjH,OAGlDmC,KAAK6F,cAAcsV,OAAOrN,QAAQiuB,WAAWj3B,EAAOf,GAAIe,EAAOd,GAG/DhE,KAAKsB,WAAa,EAGlB9C,KAAK+pB,eAAeo2D,eAAe3+E,KAAMA,KAAK6F,cAAcsV,OAAOrN,SACnE9N,KAAK6F,cAAc5E,MAAQjB,KAAKiB,OASpCO,EAAO0iC,SAAS5hC,UAAU8sF,0BAA4B,WAElD,IAAII,EAAexvF,KAAK6F,cACpB9H,EAAUyxF,EAAazxF,QACvBmZ,EAASs4E,EAAar0E,OAAOjE,OAEjCnZ,EAAQqI,YAAYxI,MAAQsZ,EAAOtZ,MACnCG,EAAQqI,YAAYvI,OAASqZ,EAAOrZ,OACpCE,EAAQ6P,KAAKhQ,MAAQG,EAAQsP,MAAMzP,MAAQsZ,EAAOtZ,MAClDG,EAAQ6P,KAAK/P,OAASE,EAAQsP,MAAMxP,OAASqZ,EAAOrZ,OAEpD2xF,EAAa9iF,OAASwK,EAAOtZ,MAC7B4xF,EAAa7iF,QAAUuK,EAAOrZ,OAG9BE,EAAQqI,YAAYoL,SAQxBhQ,EAAO0iC,SAAS5hC,UAAUmtF,oBAAsB,WAE5CzvF,KAAK6F,cAAc9H,QAAQyE,SAAQ,GACnCxC,KAAK6F,cAAgB,MAUzBrE,EAAO0iC,SAAS5hC,UAAU0qF,UAAY,SAAUlmC,GAExC9mD,KAAK6rF,aAGD7rF,KAAK6rF,YAAY/kC,MAAMtoB,OAAO77B,QAAU,GAExC3C,KAAK4mD,aAAa/lC,MAI1B7gB,KAAK6rF,YAAc,KAGf/kC,aAAiBtlD,EAAO29B,UAExB2nB,EAAQA,EAAM1yB,SACRqL,UAGV,IAAIrrB,EAAO,IAAI5S,EAAOoqF,aAAa5rF,KAAKggF,UAAWhgF,KAAKwqF,UAAWxqF,KAAKyqF,UAAWzqF,KAAK0nF,UAAW1nF,KAAK2nF,UAAW3nF,KAAKwuF,QAAS1nC,GAajI,OAXA9mD,KAAK4mD,aAAa9+C,KAAKsM,GAEnBA,EAAKZ,OAAShS,EAAOwrB,UAErB5Y,EAAK0yC,MAAMxnB,OAASt/B,KAAKwuF,QACzBxuF,KAAK6rF,YAAcz3E,GAGvBpU,KAAKwR,OAAQ,EACbxR,KAAKgsF,cAAe,EAEb53E,GAcXpN,OAAOyF,eAAejL,EAAO0iC,SAAS5hC,UAAW,iBAE7C4E,IAAK,WAED,OAAOlH,KAAKoC,gBAGhB+E,IAAK,SAAUC,GAEXpH,KAAKoC,eAAiBgF,EAElBpH,KAAKoC,eAELpC,KAAKqF,wBAILrF,KAAKyvF,sBAGTzvF,KAAKwR,OAAQ,EACbxR,KAAKisF,YAAa,KAwB1BzqF,EAAOyD,cAAgB,SAAUlC,EAAMnF,EAAOC,EAAQmV,EAAKlV,EAAW8G,EAAYC,EAAU5F,GAiExF,QA/DcsH,IAAV3I,IAAuBA,EAAQ,UACpB2I,IAAX1I,IAAwBA,EAAS,UACzB0I,IAARyM,IAAqBA,EAAM,SACbzM,IAAdzI,IAA2BA,EAAY0D,EAAO/C,WAAWmpB,cAC1CrhB,IAAf3B,IAA4BA,EAAa,QAC5B2B,IAAb1B,IAA0BA,EAAWrG,KAAKiY,sBAC1BlQ,IAAhBtH,IAA6BA,EAAc,GAK/Ce,KAAK+C,KAAOA,EAKZ/C,KAAKgT,IAAMA,EAKXhT,KAAKwT,KAAOhS,EAAOorB,cAMnB5sB,KAAKkF,YAAc,IAAI1D,EAAOC,OAE9BzB,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EACdmC,KAAK4E,WAAaA,EAElB5E,KAAKqN,MAAQ,IAAI7L,EAAOS,UAAU,EAAG,EAAGjC,KAAKpC,MAAQoC,KAAK4E,WAAY5E,KAAKnC,OAASmC,KAAK4E,YAEzF5E,KAAK4N,KAAO5N,KAAKqN,MAAM+mB,QAQvBp0B,KAAKoG,YAAc,IAAI5H,KAAK6rB,YAC5BrqB,KAAKoG,YAAYxI,MAAQoC,KAAKpC,MAAQoC,KAAK4E,WAC3C5E,KAAKoG,YAAYvI,OAASmC,KAAKnC,OAASmC,KAAK4E,WAC7C5E,KAAKoG,YAAY6N,eACjBjU,KAAKoG,YAAYxB,WAAa5E,KAAK4E,WAEnC5E,KAAKoG,YAAYtI,UAAYA,EAE7BkC,KAAKoG,YAAY+G,WAAY,EAE7B3O,KAAKqO,QAAQrI,KAAKxE,KAAMA,KAAKoG,YAAapG,KAAKqN,MAAM+mB,SAQrDp0B,KAAK6E,SAAWA,EAEZ7E,KAAK6E,SAAS2O,OAAShS,EAAOmV,MAClC,CACI,IAAIhZ,EAAKqC,KAAK6E,SAASlH,GACvBqC,KAAKoG,YAAYE,aAAerH,EAChCe,KAAKoG,YAAYkP,OAAO3X,EAAGuW,KAAM,EAEjClU,KAAK0vF,cAAgB,IAAIlxF,KAAKioB,cAAc9oB,EAAIqC,KAAKpC,MAAOoC,KAAKnC,OAAQmC,KAAKoG,YAAYtI,UAAWmB,GACrGe,KAAKoG,YAAY6N,YAAYtW,EAAGuW,IAAMlU,KAAK0vF,cAAc3xF,QAEzDiC,KAAKwX,WAAa,IAAIhW,EAAOX,MAAmB,GAAbb,KAAKpC,MAA4B,IAAdoC,KAAKnC,aAI3DmC,KAAK0vF,cAAgB,IAAIlxF,KAAKypB,aAAajoB,KAAKpC,MAAQoC,KAAK4E,WAAY5E,KAAKnC,OAASmC,KAAK4E,YAC5F5E,KAAKoG,YAAYgJ,OAASpP,KAAK0vF,cAAcx4E,OAOjDlX,KAAKyN,OAAQ,EAEbzN,KAAK2vF,WAAa,IAAInuF,EAAOC,OAE7BzB,KAAKmrB,cAGT3pB,EAAOyD,cAAc3C,UAAY0E,OAAOwB,OAAOhK,KAAKqO,QAAQvK,WAC5Dd,EAAOyD,cAAc3C,UAAUC,YAAcf,EAAOyD,cAepDzD,EAAOyD,cAAc3C,UAAUstF,SAAW,SAAU10E,EAAenX,EAAGC,EAAG4W,GAErEM,EAAcpY,kBAEd9C,KAAKkF,YAAYqwB,SAASra,EAAc3Z,gBACxCvB,KAAKkF,YAAY5B,GAAKS,EACtB/D,KAAKkF,YAAY3B,GAAKS,EAElBhE,KAAK6E,SAAS2O,OAAShS,EAAOmV,MAE9B3W,KAAK+F,aAAamV,EAAelb,KAAKkF,YAAa0V,GAInD5a,KAAKgG,cAAckV,EAAelb,KAAKkF,YAAa0V,IAiB5DpZ,EAAOyD,cAAc3C,UAAUutF,YAAc,SAAU30E,EAAenX,EAAGC,EAAG4W,GAExE5a,KAAKkF,YAAYi3B,WAAWJ,UAAUh4B,EAAGC,GAErChE,KAAK6E,SAAS2O,OAAShS,EAAOmV,MAE9B3W,KAAK+F,aAAamV,EAAelb,KAAKkF,YAAa0V,GAInD5a,KAAKgG,cAAckV,EAAelb,KAAKkF,YAAa0V,IAmB5DpZ,EAAOyD,cAAc3C,UAAU6C,OAAS,SAAU+V,EAAexN,EAAQkN,QAEtDrU,IAAXmH,GAAmC,OAAXA,EAExB1N,KAAKkF,YAAYqwB,SAASra,EAAc3Z,gBAIxCvB,KAAKkF,YAAYqwB,SAAS7nB,GAG1B1N,KAAK6E,SAAS2O,OAAShS,EAAOmV,MAE9B3W,KAAK+F,aAAamV,EAAelb,KAAKkF,YAAa0V,GAInD5a,KAAKgG,cAAckV,EAAelb,KAAKkF,YAAa0V,IAY5DpZ,EAAOyD,cAAc3C,UAAU6D,OAAS,SAAUvI,EAAOC,EAAQiyF,GAEzDlyF,IAAUoC,KAAKpC,OAASC,IAAWmC,KAAKnC,SAK5CmC,KAAKyN,MAAS7P,EAAQ,GAAKC,EAAS,EAEpCmC,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EACdmC,KAAKqN,MAAMzP,MAAQoC,KAAK4N,KAAKhQ,MAAQA,EAAQoC,KAAK4E,WAClD5E,KAAKqN,MAAMxP,OAASmC,KAAK4N,KAAK/P,OAASA,EAASmC,KAAK4E,WAEjDkrF,IAEA9vF,KAAKoG,YAAYxI,MAAQoC,KAAKpC,MAAQoC,KAAK4E,WAC3C5E,KAAKoG,YAAYvI,OAASmC,KAAKnC,OAASmC,KAAK4E,YAG7C5E,KAAK6E,SAAS2O,OAAShS,EAAOmV,QAE9B3W,KAAKwX,WAAWzT,EAAI/D,KAAKpC,MAAQ,EACjCoC,KAAKwX,WAAWxT,GAAKhE,KAAKnC,OAAS,GAGlCmC,KAAKyN,OAKVzN,KAAK0vF,cAAcvpF,OAAOnG,KAAKpC,MAAOoC,KAAKnC,UAQ/C2D,EAAOyD,cAAc3C,UAAUsY,MAAQ,WAE9B5a,KAAKyN,QAKNzN,KAAK6E,SAAS2O,OAAShS,EAAOmV,OAE9B3W,KAAK6E,SAASlH,GAAG+B,gBAAgBM,KAAK6E,SAASlH,GAAGgC,YAAaK,KAAK0vF,cAAc/oE,aAGtF3mB,KAAK0vF,cAAc90E,UAavBpZ,EAAOyD,cAAc3C,UAAUyD,aAAe,SAAUmV,EAAexN,EAAQkN,GAE3E,GAAK5a,KAAKyN,OAAiC,IAAxByN,EAAcja,MAAjC,CASA,IAAIwC,EAAKyX,EAAc3Z,eACvBkC,EAAG04B,WACH14B,EAAGs4B,UAAU,EAAuB,EAApB/7B,KAAKwX,WAAWxT,GAE5B0J,GAEAjK,EAAGw4B,OAAOvuB,GAGdjK,EAAG3C,MAAM,GAAI,GAGb,IAAK,IAAI4B,EAAI,EAAGA,EAAIwY,EAAczY,SAASE,OAAQD,IAE/CwY,EAAczY,SAASC,GAAGI,kBAI9B,IAAInF,EAAKqC,KAAK6E,SAASlH,GAEvBA,EAAG6c,SAAS,EAAG,EAAGxa,KAAKpC,MAAQoC,KAAK4E,WAAY5E,KAAKnC,OAASmC,KAAK4E,YAEnEjH,EAAG+B,gBAAgB/B,EAAGgC,YAAaK,KAAK0vF,cAAc/oE,aAElD/L,GAEA5a,KAAK0vF,cAAc90E,QAGvB5a,KAAK6E,SAASkH,YAAYyF,OAAQ,EAElCxR,KAAK6E,SAASmW,oBAAoBE,EAAelb,KAAKwX,WAAYxX,KAAK0vF,cAAc/oE,YAAajZ,GAElG1N,KAAK6E,SAASkH,YAAYyF,OAAQ,EAElC7T,EAAG+B,gBAAgB/B,EAAGgC,YAAa,QAYvC6B,EAAOyD,cAAc3C,UAAU0D,cAAgB,SAAUkV,EAAexN,EAAQkN,GAE5E,GAAK5a,KAAKyN,OAAiC,IAAxByN,EAAcja,MAAjC,CASA,IAAIwC,EAAKyX,EAAc3Z,eACvBkC,EAAG04B,WAECzuB,GAEAjK,EAAGw4B,OAAOvuB,GAId,IAAK,IAAIhL,EAAI,EAAGA,EAAIwY,EAAczY,SAASE,OAAQD,IAE/CwY,EAAczY,SAASC,GAAGI,kBAG1B8X,GAEA5a,KAAK0vF,cAAc90E,QAGvB,IAAIm1E,EAAiB/vF,KAAK6E,SAASD,WAEnC5E,KAAK6E,SAASD,WAAa5E,KAAK4E,WAEhC5E,KAAK6E,SAASmW,oBAAoBE,EAAelb,KAAK0vF,cAAc5hF,QAASJ,GAE7E1N,KAAK6E,SAASD,WAAamrF,IAmB/BvuF,EAAOyD,cAAc3C,UAAU6vE,SAAW,SAAU3+D,EAAMkoE,EAAgBE,EAAgBC,GAEtF,IAAI3hE,EAAQ,IAAIw5D,MAMhB,OALAx5D,EAAMrK,IAAM7P,KAAKy7E,UAAUjoE,EAAMkoE,GAE7BE,IAAkB1hE,EAAM4hE,OAASF,GACjCC,IAAmB3hE,EAAM6hE,QAAUF,GAEhC3hE,GAaX1Y,EAAOyD,cAAc3C,UAAUm5E,UAAY,SAAUjoE,EAAMkoE,GAEvD,OAAO17E,KAAKo+E,YAAYzC,UAAUnoE,EAAMkoE,IAS5Cl6E,EAAOyD,cAAc3C,UAAU87E,UAAY,WAEvC,GAAIp+E,KAAK6E,SAAS2O,OAAShS,EAAOmV,MAClC,CACI,IAAIhZ,EAAKqC,KAAK6E,SAASlH,GACnBC,EAAQoC,KAAK0vF,cAAc9xF,MAC3BC,EAASmC,KAAK0vF,cAAc7xF,OAE5BmyF,EAAc,IAAIC,WAAW,EAAIryF,EAAQC,GAE7CF,EAAG+B,gBAAgB/B,EAAGgC,YAAaK,KAAK0vF,cAAc/oE,aACtDhpB,EAAGuyF,WAAW,EAAG,EAAGtyF,EAAOC,EAAQF,EAAGmB,KAAMnB,EAAGoB,cAAeixF,GAC9DryF,EAAG+B,gBAAgB/B,EAAGgC,YAAa,MAEnC,IAAIwwF,EAAa,IAAI3xF,KAAKypB,aAAarqB,EAAOC,GAC1CuyF,EAAaD,EAAWriF,QAAQsb,aAAa,EAAG,EAAGxrB,EAAOC,GAK9D,OAJAuyF,EAAWh8E,KAAKjN,IAAI6oF,GAEpBG,EAAWriF,QAAQyb,aAAa6mE,EAAY,EAAG,GAExCD,EAAWj5E,OAIlB,OAAOlX,KAAK0vF,cAAcx4E,QA2ClC1V,EAAOizE,KAAO,SAAU1xE,EAAMgB,EAAGC,EAAGwwE,EAAMj5D,GAEtCxX,EAAIA,GAAK,EACTC,EAAIA,GAAK,EAILwwE,OAFSjuE,IAATiuE,GAA+B,OAATA,EAEf,GAIAA,EAAK1rD,WAMhB9oB,KAAKkX,OAAS1V,EAAOqF,WAAW2B,OAAOxI,MAEvCwB,EAAOsE,OAAOtB,KAAKxE,KAAM+C,EAAMgB,EAAGC,EAAGxF,KAAKqO,QAAQ+d,WAAW5qB,KAAKkX,SAMlElX,KAAKwT,KAAOhS,EAAOgrB,KAMnBxsB,KAAK4yC,YAAcpxC,EAAO4qB,OAO1BpsB,KAAK0mB,QAAU,IAAIllB,EAAOX,MAQ1Bb,KAAKqwF,WAAa,KAKlBrwF,KAAK8N,QAAU9N,KAAKkX,OAAOsB,WAAW,MAKtCxY,KAAKuiB,UAKLviB,KAAKswF,gBAKLtwF,KAAKuwF,cAKLvwF,KAAKwwF,eAQLxwF,KAAKywF,WAAY,EAajBzwF,KAAK0wF,iBAAkB,EAQvB1wF,KAAK2wF,YAAc,iBAMnB3wF,KAAK4wF,oBAAsB,EAO3B5wF,KAAK6wF,qBAAuB,GAO5B7wF,KAAK8wF,YAAc,OAMnB9wF,KAAK+wF,KAAOhuF,EAAK8B,SAASD,WAM1B5E,KAAKgxF,MAAQxc,EAMbx0E,KAAKixF,gBAAkB,KAMvBjxF,KAAKkxF,aAAe,EAMpBlxF,KAAKmxF,WAAa,EAMlBnxF,KAAK0M,OAAS,EAMd1M,KAAK2M,QAAU,EAMf3M,KAAKub,SAELvb,KAAKoxF,SAAS71E,OAED,KAATi5D,GAEAx0E,KAAKqxF,cAIb7vF,EAAOizE,KAAKnyE,UAAY0E,OAAOwB,OAAOhH,EAAOsE,OAAOxD,WACpDd,EAAOizE,KAAKnyE,UAAUC,YAAcf,EAAOizE,KAQ3CjzE,EAAOizE,KAAKnyE,UAAUoC,UAAY,WAE9B,SAAK1E,KAAK02E,oBAAuB12E,KAAK22E,qBAAwB32E,KAAK42E,qBAK5D52E,KAAK62E,iBAShBr1E,EAAOizE,KAAKnyE,UAAU+iC,OAAS,aAW/B7jC,EAAOizE,KAAKnyE,UAAUE,QAAU,SAAUo4C,GAEtC56C,KAAKjC,QAAQyE,SAAQ,GAErBhB,EAAOupE,UAAU8C,QAAQvrE,UAAUE,QAAQgC,KAAKxE,KAAM46C,IAkB1Dp5C,EAAOizE,KAAKnyE,UAAUgvF,UAAY,SAAUvtF,EAAGC,EAAGqS,EAAOwoE,EAAM0S,EAAcC,GAiBzE,YAfUjrF,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,QACbuC,IAAV8P,IAAuBA,EAAQ,yBACtB9P,IAATs4E,IAAsBA,EAAO,QACZt4E,IAAjBgrF,IAA8BA,GAAe,QAC9BhrF,IAAfirF,IAA4BA,GAAa,GAE7CxxF,KAAKub,MAAMyjE,cAAgBj7E,EAC3B/D,KAAKub,MAAM0jE,cAAgBj7E,EAC3BhE,KAAKub,MAAMujE,YAAczoE,EACzBrW,KAAKub,MAAMwjE,WAAaF,EACxB7+E,KAAKub,MAAMg2E,aAAeA,EAC1BvxF,KAAKub,MAAMi2E,WAAaA,EACxBxxF,KAAKwR,OAAQ,EAENxR,MA2BXwB,EAAOizE,KAAKnyE,UAAU8uF,SAAW,SAAU71E,EAAO8pB,QAE/B9+B,IAAX8+B,IAAwBA,GAAS,GAErC,IAAIosD,EAAWzqF,OAAOmqB,UAAW5V,GACjCk2E,EAASrc,KAAO75D,EAAM65D,MAAQ,kBAC9Bqc,EAAS3hD,gBAAkBv0B,EAAMu0B,iBAAmB,KACpD2hD,EAAS5qC,KAAOtrC,EAAMsrC,MAAQ,QAC9B4qC,EAASt8C,OAAS55B,EAAM45B,OAAS,QAAQkZ,cACzCojC,EAASC,cAAgBn2E,EAAMm2E,cAAgB,QAAQrjC,cACvDojC,EAASE,cAAgBp2E,EAAMo2E,cAAgB,OAAOtjC,cACtDojC,EAASvR,OAAS3kE,EAAM2kE,QAAU,QAClCuR,EAASG,gBAAkB7xD,OAAOxkB,EAAMq2E,kBAAoB,EAC5DH,EAASI,SAAWt2E,EAAMs2E,WAAY,EACtCJ,EAASK,cAAgBv2E,EAAMu2E,eAAiB,IAChDL,EAASM,SAAWx2E,EAAMw2E,UAAY,EACtCN,EAASzS,cAAgBzjE,EAAMyjE,eAAiB,EAChDyS,EAASxS,cAAgB1jE,EAAM0jE,eAAiB,EAChDwS,EAAS3S,YAAcvjE,EAAMujE,aAAe,gBAC5C2S,EAAS1S,WAAaxjE,EAAMwjE,YAAc,EAC1C0S,EAASO,KAAOz2E,EAAMy2E,MAAQ,EAE9B,IAAI9lB,EAAalsE,KAAKiyF,iBAAiBR,EAASrc,MAuChD,OArCIqc,EAASS,YAEThmB,EAAWgmB,UAAYT,EAASS,WAGhCT,EAASU,cAETjmB,EAAWimB,YAAcV,EAASU,aAGlCV,EAASW,aAETlmB,EAAWkmB,WAAaX,EAASW,YAGjCX,EAASY,WAEwB,iBAAtBZ,EAASY,WAEhBZ,EAASY,SAAWZ,EAASY,SAAW,MAG5CnmB,EAAWmmB,SAAWZ,EAASY,UAGnCryF,KAAKixF,gBAAkB/kB,EAEvBulB,EAASrc,KAAOp1E,KAAKsyF,iBAAiBtyF,KAAKixF,iBAE3CjxF,KAAKub,MAAQk2E,EACbzxF,KAAKwR,OAAQ,EAET6zB,GAEArlC,KAAKqxF,aAGFrxF,MASXwB,EAAOizE,KAAKnyE,UAAU+uF,WAAa,WAE/BrxF,KAAKjC,QAAQqI,YAAYxB,WAAa5E,KAAK+wF,KAE3C/wF,KAAK8N,QAAQsnE,KAAOp1E,KAAKub,MAAM65D,KAE/B,IAAImd,EAAavyF,KAAKw0E,KAElBx0E,KAAK4wF,oBAAsB,GAAK5wF,KAAK4wF,mBAAqB2B,EAAW5vF,SAErE4vF,EAAavyF,KAAKw0E,KAAKge,UAAU,EAAGxyF,KAAK4wF,oBAAsB5wF,KAAK6wF,sBAGpE7wF,KAAKub,MAAMs2E,WAEXU,EAAavyF,KAAKyyF,YAAYzyF,KAAKw0E,OAIvC,IAAIke,EAAQH,EAAWxgE,MAAM/xB,KAAK2wF,aAG9BqB,EAAOhyF,KAAKub,MAAMy2E,KAClBW,KACAC,EAAe,EACfC,EAAiB7yF,KAAK8yF,wBAAwB9yF,KAAKub,MAAM65D,MAEzD2d,EAAaL,EAAM/vF,OAEnB3C,KAAKub,MAAMw2E,SAAW,GAAK/xF,KAAKub,MAAMw2E,SAAWW,EAAM/vF,SAEvDowF,EAAa/yF,KAAKub,MAAMw2E,UAG5B/xF,KAAKmxF,WAAa,EAElB,IAAK,IAAIzuF,EAAI,EAAGA,EAAIqwF,EAAYrwF,IAChC,CACI,GAAa,IAATsvF,EACJ,CAEQhS,EAAYhgF,KAAKub,MAAMq2E,gBAAkB5xF,KAAK0mB,QAAQ3iB,EAEtD/D,KAAKuiB,OAAO5f,OAAS,GAAK3C,KAAKswF,aAAa3tF,OAAS,GAAK3C,KAAKwwF,YAAY7tF,OAAS,GAAK3C,KAAKuwF,WAAW5tF,OAAS,EAElHq9E,GAAahgF,KAAKgzF,YAAYN,EAAMhwF,IAIpCs9E,GAAahgF,KAAK8N,QAAQmlF,YAAYP,EAAMhwF,IAAI9E,MAIhDoC,KAAKub,MAAMs2E,WAEX7R,GAAahgF,KAAK8N,QAAQmlF,YAAY,KAAKr1F,WAInD,CAEI,IAAIg7B,EAAO85D,EAAMhwF,GAAGqvB,MAAM,UACtBiuD,EAAYhgF,KAAK0mB,QAAQ3iB,EAAI/D,KAAKub,MAAMq2E,gBAE5C,GAAInqF,MAAMC,QAAQsqF,GAId,IAAK,IAFDkB,EAAM,EAED9vF,EAAI,EAAGA,EAAIw1B,EAAKj2B,OAAQS,IACjC,CACI,IAAI+vF,EAAU,EAIVA,EAFAnzF,KAAKuiB,OAAO5f,OAAS,GAAK3C,KAAKswF,aAAa3tF,OAAS,GAAK3C,KAAKwwF,YAAY7tF,OAAS,GAAK3C,KAAKuwF,WAAW5tF,OAAS,EAExG3C,KAAKgzF,YAAYp6D,EAAKx1B,IAItBM,KAAKwC,KAAKlG,KAAK8N,QAAQmlF,YAAYr6D,EAAKx1B,IAAIxF,OAGtDwF,EAAI,IAEJ8vF,GAAOlB,EAAK5uF,EAAI,IAGpB48E,EAAYkT,EAAMC,OAKtB,IAAS/vF,EAAI,EAAGA,EAAIw1B,EAAKj2B,OAAQS,IAGzBpD,KAAKuiB,OAAO5f,OAAS,GAAK3C,KAAKswF,aAAa3tF,OAAS,GAAK3C,KAAKwwF,YAAY7tF,OAAS,GAAK3C,KAAKuwF,WAAW5tF,OAAS,EAElHq9E,GAAahgF,KAAKgzF,YAAYp6D,EAAKx1B,IAInC48E,GAAat8E,KAAKwC,KAAKlG,KAAK8N,QAAQmlF,YAAYr6D,EAAKx1B,IAAIxF,OAK7DoiF,GAFWhgF,KAAK+C,KAAKgjC,KAAKqtD,WAAWpT,EAAWgS,GAAQhS,EAOpE2S,EAAWjwF,GAAKgB,KAAKwC,KAAK85E,GAC1B4S,EAAelvF,KAAKuC,IAAI2sF,EAAcD,EAAWjwF,IAGrD1C,KAAKkX,OAAOtZ,MAAQg1F,EAAe5yF,KAAK+wF,KAGxC,IAAIsC,EAAaR,EAAeR,SAAWryF,KAAKub,MAAMq2E,gBAAkB5xF,KAAK0mB,QAAQ1iB,EACjFnG,EAASw1F,EAAaN,EACtBO,EAActzF,KAAKkxF,aAEnBoC,EAAc,GAAK5vF,KAAKmzB,IAAIy8D,GAAeD,IAE3CC,GAAeD,GAIC,IAAhBC,IAEAz1F,GAAWy1F,EAAc,EAAKA,EAAcZ,EAAM/vF,OAAS2wF,GAAeZ,EAAM/vF,OAAS,IAG7F3C,KAAKkX,OAAOrZ,OAASA,EAASmC,KAAK+wF,KAEnC/wF,KAAK8N,QAAQhN,MAAMd,KAAK+wF,KAAM/wF,KAAK+wF,MAE/BlnE,UAAUC,YAEV9pB,KAAK8N,QAAQoa,UAAU,EAAG,EAAGloB,KAAKkX,OAAOtZ,MAAOoC,KAAKkX,OAAOrZ,QAG5DmC,KAAKub,MAAMu0B,kBAEX9vC,KAAK8N,QAAQ+a,UAAY7oB,KAAKub,MAAMu0B,gBACpC9vC,KAAK8N,QAAQkb,SAAS,EAAG,EAAGhpB,KAAKkX,OAAOtZ,MAAOoC,KAAKkX,OAAOrZ,SAG/DmC,KAAK8N,QAAQ+a,UAAY7oB,KAAKub,MAAMsrC,KACpC7mD,KAAK8N,QAAQsnE,KAAOp1E,KAAKub,MAAM65D,KAC/Bp1E,KAAK8N,QAAQmyE,YAAcjgF,KAAKub,MAAM2kE,OACtClgF,KAAK8N,QAAQylF,aAAe,aAE5BvzF,KAAK8N,QAAQkyE,UAAYhgF,KAAKub,MAAMq2E,gBACpC5xF,KAAK8N,QAAQ0lF,QAAU,QACvBxzF,KAAK8N,QAAQ2lF,SAAW,QAExB,IAAIC,EACAC,EAKJ,IAHA3zF,KAAKmxF,WAAa,EAGbzuF,EAAI,EAAGA,EAAIqwF,EAAYrwF,IAIxBgxF,EAAgB1zF,KAAKub,MAAMq2E,gBAAkB,EAC7C+B,EAAiB3zF,KAAKub,MAAMq2E,gBAAkB,EAAIlvF,EAAI2wF,EAAcR,EAAee,OAE/ElxF,EAAI,IAEJixF,GAAkBL,EAAc5wF,GAGX,UAArB1C,KAAKub,MAAM45B,MAEXu+C,GAAiBd,EAAeD,EAAWjwF,GAEjB,WAArB1C,KAAKub,MAAM45B,QAEhBu+C,IAAkBd,EAAeD,EAAWjwF,IAAM,GAGlD1C,KAAKywF,YAELiD,EAAgBhwF,KAAKiyB,MAAM+9D,GAC3BC,EAAgBjwF,KAAKiyB,MAAMg+D,IAG3B3zF,KAAKuiB,OAAO5f,OAAS,GAAK3C,KAAKswF,aAAa3tF,OAAS,GAAK3C,KAAKwwF,YAAY7tF,OAAS,GAAK3C,KAAKuwF,WAAW5tF,OAAS,EAElH3C,KAAK6zF,WAAWnB,EAAMhwF,GAAIgxF,EAAeC,IAIrC3zF,KAAKub,MAAM2kE,QAAUlgF,KAAKub,MAAMq2E,kBAEhC5xF,KAAK8zF,aAAa9zF,KAAKub,MAAMg2E,cAEhB,IAATS,EAEAhyF,KAAK8N,QAAQimF,WAAWrB,EAAMhwF,GAAIgxF,EAAeC,GAIjD3zF,KAAKg0F,cAActB,EAAMhwF,GAAIgxF,EAAeC,GAAe,IAI/D3zF,KAAKub,MAAMsrC,OAEX7mD,KAAK8zF,aAAa9zF,KAAKub,MAAMi2E,YAEhB,IAATQ,EAEAhyF,KAAK8N,QAAQ4xE,SAASgT,EAAMhwF,GAAIgxF,EAAeC,GAI/C3zF,KAAKg0F,cAActB,EAAMhwF,GAAIgxF,EAAeC,GAAe,KAM3E3zF,KAAKwV,gBAELxV,KAAKwR,OAAQ,GAcjBhQ,EAAOizE,KAAKnyE,UAAU0xF,cAAgB,SAAUp7D,EAAM70B,EAAGC,EAAG6iD,GAExD,IAAI2tB,EAAO57C,EAAK7G,MAAM,UAClBigE,EAAOhyF,KAAKub,MAAMy2E,KAClBiC,EAAO,EAEX,GAAIxsF,MAAMC,QAAQsqF,GAId,IAAK,IAFDkB,EAAM,EAED9vF,EAAI,EAAGA,EAAIoxE,EAAK7xE,OAAQS,IAEzBA,EAAI,IAEJ8vF,GAAOlB,EAAK5uF,EAAI,IAGpB6wF,EAAOlwF,EAAImvF,EAEPrsC,EAEA7mD,KAAK8N,QAAQ4xE,SAASlL,EAAKpxE,GAAI6wF,EAAMjwF,GAIrChE,KAAK8N,QAAQimF,WAAWvf,EAAKpxE,GAAI6wF,EAAMjwF,QAM/C,IAASZ,EAAI,EAAGA,EAAIoxE,EAAK7xE,OAAQS,IACjC,CACI,IAAI+vF,EAAUzvF,KAAKwC,KAAKlG,KAAK8N,QAAQmlF,YAAYze,EAAKpxE,IAAIxF,OAG1Dq2F,EAAOj0F,KAAK+C,KAAKgjC,KAAKqtD,WAAWrvF,EAAGiuF,GAEhCnrC,EAEA7mD,KAAK8N,QAAQ4xE,SAASlL,EAAKpxE,GAAI6wF,EAAMjwF,GAIrChE,KAAK8N,QAAQimF,WAAWvf,EAAKpxE,GAAI6wF,EAAMjwF,GAG3CD,EAAIkwF,EAAOd,IAYvB3xF,EAAOizE,KAAKnyE,UAAUwxF,aAAe,SAAUjtD,GAEvCA,GAEA7mC,KAAK8N,QAAQkxE,cAAgBh/E,KAAKub,MAAMyjE,cACxCh/E,KAAK8N,QAAQmxE,cAAgBj/E,KAAKub,MAAM0jE,cACxCj/E,KAAK8N,QAAQgxE,YAAc9+E,KAAKub,MAAMujE,YACtC9+E,KAAK8N,QAAQixE,WAAa/+E,KAAKub,MAAMwjE,aAIrC/+E,KAAK8N,QAAQkxE,cAAgB,EAC7Bh/E,KAAK8N,QAAQmxE,cAAgB,EAC7Bj/E,KAAK8N,QAAQgxE,YAAc,EAC3B9+E,KAAK8N,QAAQixE,WAAa,IAYlCv9E,EAAOizE,KAAKnyE,UAAU0wF,YAAc,SAAUp6D,GAI1C,IAAK,IAFDs7D,EAAa,EAERxxF,EAAI,EAAGA,EAAIk2B,EAAKj2B,OAAQD,IACjC,CACI,IAAIyxF,EAASv7D,EAAKl2B,GAElB,GAAI1C,KAAKwwF,YAAY7tF,OAAS,GAAK3C,KAAKuwF,WAAW5tF,OAAS,EAC5D,CACI,IAAIupE,EAAalsE,KAAKiyF,iBAAiBjyF,KAAK8N,QAAQsnE,MAEhDp1E,KAAKuwF,WAAWvwF,KAAKmxF,cAErBjlB,EAAWgmB,UAAYlyF,KAAKuwF,WAAWvwF,KAAKmxF,aAG5CnxF,KAAKwwF,YAAYxwF,KAAKmxF,cAEtBjlB,EAAWkmB,WAAapyF,KAAKwwF,YAAYxwF,KAAKmxF,aAGlDnxF,KAAK8N,QAAQsnE,KAAOp1E,KAAKsyF,iBAAiBpmB,GAG1ClsE,KAAKub,MAAM2kE,QAAUlgF,KAAKub,MAAMq2E,kBAE5B5xF,KAAKswF,aAAatwF,KAAKmxF,cAEvBnxF,KAAK8N,QAAQmyE,YAAcjgF,KAAKswF,aAAatwF,KAAKmxF,aAGtDnxF,KAAK8zF,aAAa9zF,KAAKub,MAAMg2E,eAG7BvxF,KAAKub,MAAMsrC,OAEP7mD,KAAKuiB,OAAOviB,KAAKmxF,cAEjBnxF,KAAK8N,QAAQ+a,UAAY7oB,KAAKuiB,OAAOviB,KAAKmxF,aAG9CnxF,KAAK8zF,aAAa9zF,KAAKub,MAAMi2E,aAGjC0C,GAAcl0F,KAAK8N,QAAQmlF,YAAYkB,GAAQv2F,MAE/CoC,KAAKmxF,aAGT,OAAOztF,KAAKwC,KAAKguF,IASrB1yF,EAAOizE,KAAKnyE,UAAUuxF,WAAa,SAAUj7D,EAAM70B,EAAGC,GAElD,IAAK,IAAItB,EAAI,EAAGA,EAAIk2B,EAAKj2B,OAAQD,IACjC,CACI,IAAIyxF,EAASv7D,EAAKl2B,GAElB,GAAI1C,KAAKwwF,YAAY7tF,OAAS,GAAK3C,KAAKuwF,WAAW5tF,OAAS,EAC5D,CACI,IAAIupE,EAAalsE,KAAKiyF,iBAAiBjyF,KAAK8N,QAAQsnE,MAEhDp1E,KAAKuwF,WAAWvwF,KAAKmxF,cAErBjlB,EAAWgmB,UAAYlyF,KAAKuwF,WAAWvwF,KAAKmxF,aAG5CnxF,KAAKwwF,YAAYxwF,KAAKmxF,cAEtBjlB,EAAWkmB,WAAapyF,KAAKwwF,YAAYxwF,KAAKmxF,aAGlDnxF,KAAK8N,QAAQsnE,KAAOp1E,KAAKsyF,iBAAiBpmB,GAG1ClsE,KAAKub,MAAM2kE,QAAUlgF,KAAKub,MAAMq2E,kBAE5B5xF,KAAKswF,aAAatwF,KAAKmxF,cAEvBnxF,KAAK8N,QAAQmyE,YAAcjgF,KAAKswF,aAAatwF,KAAKmxF,aAGtDnxF,KAAK8zF,aAAa9zF,KAAKub,MAAMg2E,cAC7BvxF,KAAK8N,QAAQimF,WAAWI,EAAQpwF,EAAGC,IAGnChE,KAAKub,MAAMsrC,OAEP7mD,KAAKuiB,OAAOviB,KAAKmxF,cAEjBnxF,KAAK8N,QAAQ+a,UAAY7oB,KAAKuiB,OAAOviB,KAAKmxF,aAG9CnxF,KAAK8zF,aAAa9zF,KAAKub,MAAMi2E,YAC7BxxF,KAAK8N,QAAQ4xE,SAASyU,EAAQpwF,EAAGC,IAGrCD,GAAK/D,KAAK8N,QAAQmlF,YAAYkB,GAAQv2F,MAEtCoC,KAAKmxF,eAUb3vF,EAAOizE,KAAKnyE,UAAU8xF,YAAc,WAMhC,OAJAp0F,KAAKuiB,UACLviB,KAAKswF,gBACLtwF,KAAKwR,OAAQ,EAENxR,MASXwB,EAAOizE,KAAKnyE,UAAU+xF,gBAAkB,WAMpC,OAJAr0F,KAAKuwF,cACLvwF,KAAKwwF,eACLxwF,KAAKwR,OAAQ,EAENxR,MAkBXwB,EAAOizE,KAAKnyE,UAAUgyF,SAAW,SAAUj+E,EAAOzV,GAK9C,OAHAZ,KAAKuiB,OAAO3hB,GAAYyV,EACxBrW,KAAKwR,OAAQ,EAENxR,MAoBXwB,EAAOizE,KAAKnyE,UAAUiyF,eAAiB,SAAUl+E,EAAOzV,GAKpD,OAHAZ,KAAKswF,aAAa1vF,GAAYyV,EAC9BrW,KAAKwR,OAAQ,EAENxR,MAkBXwB,EAAOizE,KAAKnyE,UAAUkyF,aAAe,SAAUj5E,EAAO3a,GAKlD,OAHAZ,KAAKuwF,WAAW3vF,GAAY2a,EAC5Bvb,KAAKwR,OAAQ,EAENxR,MAkBXwB,EAAOizE,KAAKnyE,UAAUmyF,cAAgB,SAAUC,EAAQ9zF,GAKpD,OAHAZ,KAAKwwF,YAAY5vF,GAAY8zF,EAC7B10F,KAAKwR,OAAQ,EAENxR,MAcXwB,EAAOizE,KAAKnyE,UAAUqyF,qBAAuB,SAAUngB,GAOnD,OALAx0E,KAAKjC,QAAQqI,YAAYxB,WAAa5E,KAAK+wF,KAC3C/wF,KAAK8N,QAAQsnE,KAAOp1E,KAAKub,MAAM65D,KAEZp1E,KAAKyyF,YAAYje,GAEhBziD,MAAM,mBAU9BvwB,EAAOizE,KAAKnyE,UAAUmwF,YAAc,SAAUje,GAE1C,OAAIx0E,KAAK0wF,gBAEE1wF,KAAK40F,iBAAiBpgB,GAItBx0E,KAAK60F,cAAcrgB,IAclChzE,EAAOizE,KAAKnyE,UAAUsyF,iBAAmB,SAAUpgB,GAiB/C,IAAK,IAfD1mE,EAAU9N,KAAK8N,QACfgkF,EAAgB9xF,KAAKub,MAAMu2E,cAE3Bl8D,EAAS,GAMT88D,EAAQle,EACPhgD,QAAQ,OAAQ,KAChBzC,MAAM,WAEP+iE,EAAapC,EAAM/vF,OAEdD,EAAI,EAAGA,EAAIoyF,EAAYpyF,IAChC,CACI,IAAIk2B,EAAO85D,EAAMhwF,GACbyyB,EAAM,GAWV,GARAyD,EAAOA,EAAKpE,QAAQ,aAAc,IAMlB1mB,EAAQmlF,YAAYr6D,GAAMh7B,MAE1Bk0F,EAEZl8D,GAAUgD,EAAO,SAFrB,CAYA,IAAK,IALDm8D,EAAmBjD,EAGnBkD,EAAQp8D,EAAK7G,MAAM,KAEdlqB,EAAI,EAAGA,EAAImtF,EAAMryF,OAAQkF,IAClC,CACI,IAAIotF,EAAOD,EAAMntF,GACbqtF,EAAgBD,EAAO,IACvBE,EAAYrnF,EAAQmlF,YAAYiC,GAAet3F,MAEnD,GAAIu3F,EAAYJ,EAChB,CAEI,GAAU,IAANltF,EACJ,CAII,IAFA,IAAIutF,EAAUF,EAEPE,EAAQzyF,SAEXyyF,EAAUA,EAAQllE,MAAM,GAAI,MAC5BilE,EAAYrnF,EAAQmlF,YAAYmC,GAASx3F,QAExBm3F,MAUrB,IAAKK,EAAQzyF,OAET,MAAM,IAAIoG,MAAM,sEAIpB,IAAIssF,EAAaJ,EAAKlsE,OAAOqsE,EAAQzyF,QAErCqyF,EAAMntF,GAAKwtF,EAGXlgE,GAAOigE,EAIX,IAAI39E,EAAUu9E,EAAMntF,GAAS,OAAIA,EAAIA,EAAI,EAGrCinF,EAAYkG,EAAM9kE,MAAMzY,GAAQ3H,KAAK,KAGpC0kB,QAAQ,YAAa,IAG1Bk+D,EAAMhwF,EAAI,GAAKosF,EAAY,KAAO4D,EAAMhwF,EAAI,IAAM,IAClDoyF,EAAapC,EAAM/vF,OAEnB,MAMAwyB,GAAO+/D,EACPH,GAAoBI,EAK5Bv/D,GAAUT,EAAIX,QAAQ,YAAa,IAAM,MAM7C,OAFAoB,EAASA,EAAOpB,QAAQ,cAAe,KAY3ChzB,EAAOizE,KAAKnyE,UAAUuyF,cAAgB,SAAUrgB,GAK5C,IAAK,IAHD17C,EAAS,GACT45D,EAAQle,EAAKziD,MAAM,MAEdrvB,EAAI,EAAGA,EAAIgwF,EAAM/vF,OAAQD,IAClC,CAII,IAAK,IAHD4yF,EAAYt1F,KAAKub,MAAMu2E,cACvBkD,EAAQtC,EAAMhwF,GAAGqvB,MAAM,KAElBlqB,EAAI,EAAGA,EAAImtF,EAAMryF,OAAQkF,IAClC,CACI,IAAIstF,EAAYn1F,KAAK8N,QAAQmlF,YAAY+B,EAAMntF,IAAIjK,MAC/C23F,EAAqBJ,EAAYn1F,KAAK8N,QAAQmlF,YAAY,KAAKr1F,MAE/D23F,EAAqBD,GAGjBztF,EAAI,IAEJixB,GAAU,MAEdA,GAAUk8D,EAAMntF,GAAK,IACrBytF,EAAYt1F,KAAKub,MAAMu2E,cAAgBqD,IAIvCG,GAAaC,EACbz8D,GAAUk8D,EAAMntF,GAAK,KAIzBnF,EAAIgwF,EAAM/vF,OAAS,IAEnBm2B,GAAU,MAIlB,OAAOA,GAUXt3B,EAAOizE,KAAKnyE,UAAUkzF,WAAa,SAAUtpB,GAEzC,IAAIkJ,EAAOp1E,KAAKsyF,iBAAiBpmB,GAE7BlsE,KAAKub,MAAM65D,OAASA,IAEpBp1E,KAAKub,MAAM65D,KAAOA,EAClBp1E,KAAKwR,OAAQ,EAETxR,KAAKqB,QAELrB,KAAK8C,oBAYjBtB,EAAOizE,KAAKnyE,UAAU2vF,iBAAmB,SAAU7c,GAY/C,IAAI99C,EAAI89C,EAAKtK,MAAM,wSAEnB,GAAIxzC,EACJ,CACI,IAAIm+D,EAASn+D,EAAE,GAAGlpB,OAQlB,MALK,2DAA6DsnF,KAAKD,IAAY,QAAUC,KAAKD,KAE9FA,EAAS,IAAOA,EAAS,MAIzBrgB,KAAMA,EACN8c,UAAW56D,EAAE,IAAM,SACnB66D,YAAa76D,EAAE,IAAM,SACrB86D,WAAY96D,EAAE,IAAM,SACpB+6D,SAAU/6D,EAAE,IAAM,SAClBq+D,WAAYF,GAOhB,OAFAn1F,QAAQ+Z,KAAK,sCAAwC+6D,IAE7CA,KAAMA,IAWtB5zE,EAAOizE,KAAKnyE,UAAUgwF,iBAAmB,SAAUpmB,GAE/C,IACIttB,EADAzsB,KAwBJ,OArBAysB,EAAIstB,EAAWgmB,YACA,WAANtzC,GAAkBzsB,EAAMrqB,KAAK82C,IAEtCA,EAAIstB,EAAWimB,cACA,WAANvzC,GAAkBzsB,EAAMrqB,KAAK82C,IAEtCA,EAAIstB,EAAWkmB,aACA,WAANxzC,GAAkBzsB,EAAMrqB,KAAK82C,IAEtCA,EAAIstB,EAAWmmB,WACA,WAANzzC,GAAkBzsB,EAAMrqB,KAAK82C,IAEtCA,EAAIstB,EAAWypB,aACNxjE,EAAMrqB,KAAK82C,GAEfzsB,EAAMxvB,QAGPwvB,EAAMrqB,KAAKokE,EAAWkJ,MAGnBjjD,EAAMriB,KAAK,MAkBtBtO,EAAOizE,KAAKnyE,UAAUszF,QAAU,SAAUphB,EAAMgJ,GAM5C,YAJkBj3E,IAAdi3E,IAA2BA,GAAY,IAE3ChJ,EAAOA,EAAK1rD,YAAc,MAEb9oB,KAAKgxF,MAEPhxF,MAGXA,KAAKw0E,KAAOA,EAERgJ,EAEAx9E,KAAKqxF,aAILrxF,KAAKwR,OAAQ,EAGVxR,OAwBXwB,EAAOizE,KAAKnyE,UAAUuzF,UAAY,SAAU37C,GAExC,IAAKzyC,MAAMC,QAAQwyC,GAEf,OAAOl6C,KAMP,IAAK,IAFDqE,EAAI,GAEC3B,EAAI,EAAGA,EAAIw3C,EAAKv3C,OAAQD,IAEzB+E,MAAMC,QAAQwyC,EAAKx3C,KAEnB2B,GAAK61C,EAAKx3C,GAAGoN,KAAK,MAEdpN,EAAIw3C,EAAKv3C,OAAS,IAElB0B,GAAK,QAKTA,GAAK61C,EAAKx3C,GAENA,EAAIw3C,EAAKv3C,OAAS,IAElB0B,GAAK,OASrB,OAHArE,KAAKw0E,KAAOnwE,EACZrE,KAAKwR,OAAQ,EAENxR,MAkCXwB,EAAOizE,KAAKnyE,UAAUwzF,cAAgB,SAAU/xF,EAAGC,EAAGpG,EAAOC,GAyBzD,YAvBU0I,IAANxC,EAEA/D,KAAKqwF,WAAa,MAIbrwF,KAAKqwF,WAMNrwF,KAAKqwF,WAAW/6D,MAAMvxB,EAAGC,EAAGpG,EAAOC,GAJnCmC,KAAKqwF,WAAa,IAAI7uF,EAAOS,UAAU8B,EAAGC,EAAGpG,EAAOC,GAOpDmC,KAAKub,MAAMu2E,cAAgBl0F,IAE3BoC,KAAKub,MAAMu2E,cAAgBl0F,IAInCoC,KAAKwV,gBAEExV,MASXwB,EAAOizE,KAAKnyE,UAAUkT,cAAgB,WAElC,IAAI4E,EAAOpa,KAAKjC,QAAQqI,YACpBwH,EAAO5N,KAAKjC,QAAQ6P,KACpBP,EAAQrN,KAAKjC,QAAQsP,MAErBgI,EAAIrV,KAAKkX,OAAOtZ,MAChB4mB,EAAIxkB,KAAKkX,OAAOrZ,OAiBpB,GAfAuc,EAAKxc,MAAQyX,EACb+E,EAAKvc,OAAS2mB,EAEd5W,EAAKhQ,MAAQyX,EACbzH,EAAK/P,OAAS2mB,EAEdnX,EAAMzP,MAAQyX,EACdhI,EAAMxP,OAAS2mB,EAEfxkB,KAAKjC,QAAQH,MAAQyX,EACrBrV,KAAKjC,QAAQF,OAAS2mB,EAEtBxkB,KAAK0M,OAAS2I,EACdrV,KAAK2M,QAAU6X,EAEXxkB,KAAKqwF,WACT,CACI,IAAItsF,EAAI/D,KAAKqwF,WAAWtsF,EACpBC,EAAIhE,KAAKqwF,WAAWrsF,EAGQ,UAA5BhE,KAAKub,MAAMm2E,aAEX3tF,GAAK/D,KAAKqwF,WAAWzyF,MAAQoC,KAAKkX,OAAOtZ,MAAQoC,KAAK4E,WAErB,WAA5B5E,KAAKub,MAAMm2E,eAEhB3tF,GAAK/D,KAAKqwF,WAAWv5D,UAAa92B,KAAKkX,OAAOtZ,MAAQoC,KAAK4E,WAAa,GAG5C,WAA5B5E,KAAKub,MAAMo2E,aAEX3tF,GAAKhE,KAAKqwF,WAAWxyF,OAASmC,KAAKkX,OAAOrZ,OAASmC,KAAK4E,WAEvB,WAA5B5E,KAAKub,MAAMo2E,eAEhB3tF,GAAKhE,KAAKqwF,WAAWt5D,WAAc/2B,KAAKkX,OAAOrZ,OAASmC,KAAK4E,WAAa,GAG9E5E,KAAKe,MAAMgD,GAAKA,EAChB/D,KAAKe,MAAMiD,GAAKA,EAIpBhE,KAAKoB,WAAoB,IAANiU,GAAiB,IAANmP,EAE9BxkB,KAAKjC,QAAQ+Q,gBAAiB,EAE9B9O,KAAKjC,QAAQqI,YAAYoL,SAU7BhQ,EAAOizE,KAAKnyE,UAAUyD,aAAe,SAAUH,GAEvC5F,KAAKwR,QAELxR,KAAKqxF,aACLrxF,KAAKwR,OAAQ,GAGjBhT,KAAKsH,OAAOxD,UAAUyD,aAAavB,KAAKxE,KAAM4F,IAUlDpE,EAAOizE,KAAKnyE,UAAU0D,cAAgB,SAAUJ,GAExC5F,KAAKwR,QAELxR,KAAKqxF,aACLrxF,KAAKwR,OAAQ,GAGjBhT,KAAKsH,OAAOxD,UAAU0D,cAAcxB,KAAKxE,KAAM4F,IAUnDpE,EAAOizE,KAAKnyE,UAAUwwF,wBAA0B,SAAUZ,GAEtD,IAAI6D,EAAav0F,EAAOizE,KAAKuhB,oBAAoB9D,GAC7Ce,EAAcjzF,KAAKi2F,YAAc,OAErC,IAAKF,EACL,CACIA,KAEA,IAAI7+E,EAAS1V,EAAOizE,KAAKyhB,qBACrBpoF,EAAUtM,EAAOizE,KAAK0hB,sBAE1BroF,EAAQsnE,KAAO8c,EAEf,IAAIt0F,EAAQ8F,KAAKwC,KAAK4H,EAAQmlF,YAAYA,GAAar1F,OACnDw4F,EAAW1yF,KAAKwC,KAAK4H,EAAQmlF,YAAYA,GAAar1F,OACtDC,EAAS,EAAIu4F,EAgBjB,GAdAA,EAAsB,IAAXA,EAAiB,EAE5Bl/E,EAAOtZ,MAAQA,EACfsZ,EAAOrZ,OAASA,EAEhBiQ,EAAQ+a,UAAY,OACpB/a,EAAQkb,SAAS,EAAG,EAAGprB,EAAOC,GAE9BiQ,EAAQsnE,KAAO8c,EAEfpkF,EAAQylF,aAAe,aACvBzlF,EAAQ+a,UAAY,OACpB/a,EAAQ4xE,SAASuT,EAAa,EAAGmD,IAE5BtoF,EAAQsb,aAAa,EAAG,EAAGxrB,EAAOC,GAQnC,OANAk4F,EAAWnC,OAASwC,EACpBL,EAAWM,QAAUD,EAAW,EAChCL,EAAW1D,SAAW0D,EAAWnC,OAASmC,EAAWM,QAErD70F,EAAOizE,KAAKuhB,oBAAoB9D,GAAa6D,EAEtCA,EAGX,IAIIrzF,EAAGmF,EAJHyuF,EAAYxoF,EAAQsb,aAAa,EAAG,EAAGxrB,EAAOC,GAAQuW,KACtDiV,EAASitE,EAAU3zF,OACnBi2B,EAAe,EAARh7B,EAIP24F,EAAM,EACNpqF,GAAO,EAGX,IAAKzJ,EAAI,EAAGA,EAAI0zF,EAAU1zF,IAC1B,CACI,IAAKmF,EAAI,EAAGA,EAAI+wB,EAAM/wB,GAAK,EAEvB,GAA2B,MAAvByuF,EAAUC,EAAM1uF,GACpB,CACIsE,GAAO,EACP,MAIR,GAAKA,EAMD,MAJAoqF,GAAO39D,EAcf,IANAm9D,EAAWnC,OAASwC,EAAW1zF,EAE/B6zF,EAAMltE,EAASuP,EACfzsB,GAAO,EAGFzJ,EAAI7E,EAAQ6E,EAAI0zF,EAAU1zF,IAC/B,CACI,IAAKmF,EAAI,EAAGA,EAAI+wB,EAAM/wB,GAAK,EAEvB,GAA2B,MAAvByuF,EAAUC,EAAM1uF,GACpB,CACIsE,GAAO,EACP,MAIR,GAAKA,EAMD,MAJAoqF,GAAO39D,EAQfm9D,EAAWM,QAAU3zF,EAAI0zF,EAGzBL,EAAWM,SAAW,EACtBN,EAAW1D,SAAW0D,EAAWnC,OAASmC,EAAWM,QAErD70F,EAAOizE,KAAKuhB,oBAAoB9D,GAAa6D,EAGjD,OAAOA,GAWXv0F,EAAOizE,KAAKnyE,UAAU4H,UAAY,SAAUwD,GAQxC,OANI1N,KAAKwR,QAELxR,KAAKqxF,aACLrxF,KAAKwR,OAAQ,GAGVhT,KAAKsH,OAAOxD,UAAU4H,UAAU1F,KAAKxE,KAAM0N,IAWtDlM,EAAOizE,KAAKnyE,UAAUk0F,kBAAoB,SAAUC,EAAgBC,GAEhE12F,KAAK6wF,0BAAmCtqF,IAAXmwF,EAAwB,GAAKA,EAC1D12F,KAAK4wF,mBAAqB6F,EAE1Bz2F,KAAKqxF,cAWTrqF,OAAOyF,eAAejL,EAAOizE,KAAKnyE,UAAW,QAEzC4E,IAAK,WAED,OAAOlH,KAAKgxF,OAGhB7pF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKgxF,QAEfhxF,KAAKgxF,MAAQ5pF,EAAM0hB,YAAc,GACjC9oB,KAAKwR,OAAQ,EAETxR,KAAKqB,QAELrB,KAAK8C,sBAkBrBkE,OAAOyF,eAAejL,EAAOizE,KAAKnyE,UAAW,WAEzC4E,IAAK,WAED,OAAOlH,KAAKsyF,iBAAiBtyF,KAAKixF,kBAGtC9pF,IAAK,SAAUC,GAEXA,EAAQA,GAAS,kBACjBpH,KAAKixF,gBAAkBjxF,KAAKiyF,iBAAiB7qF,GAC7CpH,KAAKw1F,WAAWx1F,KAAKixF,oBAgB7BjqF,OAAOyF,eAAejL,EAAOizE,KAAKnyE,UAAW,QAEzC4E,IAAK,WAED,OAAOlH,KAAKixF,gBAAgB0E,YAGhCxuF,IAAK,SAAUC,GAGXA,GADAA,EAAQA,GAAS,SACHgH,OAGT,2DAA6DsnF,KAAKtuF,IAAW,QAAUsuF,KAAKtuF,KAE7FA,EAAQ,IAAOA,EAAQ,KAG3BpH,KAAKixF,gBAAgB0E,WAAavuF,EAClCpH,KAAKw1F,WAAWx1F,KAAKixF,oBAc7BjqF,OAAOyF,eAAejL,EAAOizE,KAAKnyE,UAAW,YAEzC4E,IAAK,WAED,IAAI6a,EAAO/hB,KAAKixF,gBAAgBoB,SAEhC,OAAItwE,GAAQ,cAAgB2zE,KAAK3zE,GAEtBsR,SAAStR,EAAM,IAIfA,GAIf5a,IAAK,SAAUC,GAIU,iBAFrBA,EAAQA,GAAS,OAIbA,GAAgB,MAGpBpH,KAAKixF,gBAAgBoB,SAAWjrF,EAChCpH,KAAKw1F,WAAWx1F,KAAKixF,oBAU7BjqF,OAAOyF,eAAejL,EAAOizE,KAAKnyE,UAAW,cAEzC4E,IAAK,WAED,OAAOlH,KAAKixF,gBAAgBmB,YAAc,UAG9CjrF,IAAK,SAAUC,GAEXA,EAAQA,GAAS,SACjBpH,KAAKixF,gBAAgBmB,WAAahrF,EAClCpH,KAAKw1F,WAAWx1F,KAAKixF,oBAU7BjqF,OAAOyF,eAAejL,EAAOizE,KAAKnyE,UAAW,aAEzC4E,IAAK,WAED,OAAOlH,KAAKixF,gBAAgBiB,WAAa,UAG7C/qF,IAAK,SAAUC,GAEXA,EAAQA,GAAS,SACjBpH,KAAKixF,gBAAgBiB,UAAY9qF,EACjCpH,KAAKw1F,WAAWx1F,KAAKixF,oBAU7BjqF,OAAOyF,eAAejL,EAAOizE,KAAKnyE,UAAW,eAEzC4E,IAAK,WAED,OAAOlH,KAAKixF,gBAAgBkB,aAAe,UAG/ChrF,IAAK,SAAUC,GAEXA,EAAQA,GAAS,SACjBpH,KAAKixF,gBAAgBkB,YAAc/qF,EACnCpH,KAAKw1F,WAAWx1F,KAAKixF,oBAS7BjqF,OAAOyF,eAAejL,EAAOizE,KAAKnyE,UAAW,QAEzC4E,IAAK,WAED,OAAOlH,KAAKub,MAAMsrC,MAGtB1/C,IAAK,SAAUC,GAEPA,IAAUpH,KAAKub,MAAMsrC,OAErB7mD,KAAKub,MAAMsrC,KAAOz/C,EAClBpH,KAAKwR,OAAQ,MAazBxK,OAAOyF,eAAejL,EAAOizE,KAAKnyE,UAAW,SAEzC4E,IAAK,WAED,OAAOlH,KAAKub,MAAM45B,OAGtBhuC,IAAK,SAAUC,IAEXA,EAAQA,EAAMinD,iBACAruD,KAAKub,MAAM45B,QAErBn1C,KAAKub,MAAM45B,MAAQ/tC,EACnBpH,KAAKwR,OAAQ,MAYzBxK,OAAOyF,eAAejL,EAAOizE,KAAKnyE,UAAW,cAEzC4E,IAAK,WAED,OAAOlH,KAAK+wF,MAGhB5pF,IAAK,SAAUC,GAEPA,IAAUpH,KAAK+wF,OAEf/wF,KAAK+wF,KAAO3pF,EACZpH,KAAKwR,OAAQ,MAezBxK,OAAOyF,eAAejL,EAAOizE,KAAKnyE,UAAW,QAEzC4E,IAAK,WAED,OAAOlH,KAAKub,MAAMy2E,MAGtB7qF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKub,MAAMy2E,OAErBhyF,KAAKub,MAAMy2E,KAAO5qF,EAClBpH,KAAKwR,OAAQ,MAWzBxK,OAAOyF,eAAejL,EAAOizE,KAAKnyE,UAAW,gBAEzC4E,IAAK,WAED,OAAOlH,KAAKub,MAAMm2E,cAGtBvqF,IAAK,SAAUC,IAEXA,EAAQA,EAAMinD,iBACAruD,KAAKub,MAAMm2E,eAErB1xF,KAAKub,MAAMm2E,aAAetqF,EAC1BpH,KAAKwR,OAAQ,MAWzBxK,OAAOyF,eAAejL,EAAOizE,KAAKnyE,UAAW,gBAEzC4E,IAAK,WAED,OAAOlH,KAAKub,MAAMo2E,cAGtBxqF,IAAK,SAAUC,IAEXA,EAAQA,EAAMinD,iBACAruD,KAAKub,MAAMo2E,eAErB3xF,KAAKub,MAAMo2E,aAAevqF,EAC1BpH,KAAKwR,OAAQ,MAUzBxK,OAAOyF,eAAejL,EAAOizE,KAAKnyE,UAAW,UAEzC4E,IAAK,WAED,OAAOlH,KAAKub,MAAM2kE,QAGtB/4E,IAAK,SAAUC,GAEPA,IAAUpH,KAAKub,MAAM2kE,SAErBlgF,KAAKub,MAAM2kE,OAAS94E,EACpBpH,KAAKwR,OAAQ,MAUzBxK,OAAOyF,eAAejL,EAAOizE,KAAKnyE,UAAW,mBAEzC4E,IAAK,WAED,OAAOlH,KAAKub,MAAMq2E,iBAGtBzqF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKub,MAAMq2E,kBAErB5xF,KAAKub,MAAMq2E,gBAAkB7xD,OAAO34B,GACpCpH,KAAKwR,OAAQ,MAUzBxK,OAAOyF,eAAejL,EAAOizE,KAAKnyE,UAAW,YAEzC4E,IAAK,WAED,OAAOlH,KAAKub,MAAMs2E,UAGtB1qF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKub,MAAMs2E,WAErB7xF,KAAKub,MAAMs2E,SAAWzqF,EACtBpH,KAAKwR,OAAQ,MAUzBxK,OAAOyF,eAAejL,EAAOizE,KAAKnyE,UAAW,iBAEzC4E,IAAK,WAED,OAAOlH,KAAKub,MAAMu2E,eAGtB3qF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKub,MAAMu2E,gBAErB9xF,KAAKub,MAAMu2E,cAAgB1qF,EAC3BpH,KAAKwR,OAAQ,MAUzBxK,OAAOyF,eAAejL,EAAOizE,KAAKnyE,UAAW,eAEzC4E,IAAK,WAED,OAAOlH,KAAKkxF,cAGhB/pF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKkxF,eAEflxF,KAAKkxF,aAAeryD,WAAWz3B,GAC/BpH,KAAKwR,OAAQ,EAETxR,KAAKqB,QAELrB,KAAK8C,sBAWrBkE,OAAOyF,eAAejL,EAAOizE,KAAKnyE,UAAW,iBAEzC4E,IAAK,WAED,OAAOlH,KAAKub,MAAMyjE,eAGtB73E,IAAK,SAAUC,GAEPA,IAAUpH,KAAKub,MAAMyjE,gBAErBh/E,KAAKub,MAAMyjE,cAAgB53E,EAC3BpH,KAAKwR,OAAQ,MAUzBxK,OAAOyF,eAAejL,EAAOizE,KAAKnyE,UAAW,iBAEzC4E,IAAK,WAED,OAAOlH,KAAKub,MAAM0jE,eAGtB93E,IAAK,SAAUC,GAEPA,IAAUpH,KAAKub,MAAM0jE,gBAErBj/E,KAAKub,MAAM0jE,cAAgB73E,EAC3BpH,KAAKwR,OAAQ,MAUzBxK,OAAOyF,eAAejL,EAAOizE,KAAKnyE,UAAW,eAEzC4E,IAAK,WAED,OAAOlH,KAAKub,MAAMujE,aAGtB33E,IAAK,SAAUC,GAEPA,IAAUpH,KAAKub,MAAMujE,cAErB9+E,KAAKub,MAAMujE,YAAc13E,EACzBpH,KAAKwR,OAAQ,MAUzBxK,OAAOyF,eAAejL,EAAOizE,KAAKnyE,UAAW,cAEzC4E,IAAK,WAED,OAAOlH,KAAKub,MAAMwjE,YAGtB53E,IAAK,SAAUC,GAEPA,IAAUpH,KAAKub,MAAMwjE,aAErB/+E,KAAKub,MAAMwjE,WAAa33E,EACxBpH,KAAKwR,OAAQ,MAUzBxK,OAAOyF,eAAejL,EAAOizE,KAAKnyE,UAAW,gBAEzC4E,IAAK,WAED,OAAOlH,KAAKub,MAAMg2E,cAGtBpqF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKub,MAAMg2E,eAErBvxF,KAAKub,MAAMg2E,aAAenqF,EAC1BpH,KAAKwR,OAAQ,MAUzBxK,OAAOyF,eAAejL,EAAOizE,KAAKnyE,UAAW,cAEzC4E,IAAK,WAED,OAAOlH,KAAKub,MAAMi2E,YAGtBrqF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKub,MAAMi2E,aAErBxxF,KAAKub,MAAMi2E,WAAapqF,EACxBpH,KAAKwR,OAAQ,MAWzBxK,OAAOyF,eAAejL,EAAOizE,KAAKnyE,UAAW,SAEzC4E,IAAK,WAQD,OANIlH,KAAKwR,QAELxR,KAAKqxF,aACLrxF,KAAKwR,OAAQ,GAGVxR,KAAKc,MAAMiD,GAAK/D,KAAKjC,QAAQsP,MAAMzP,MAAQoC,KAAK4E,aAG3DuC,IAAK,SAAUC,GAEXpH,KAAKc,MAAMiD,EAAIqD,EAAQpH,KAAKjC,QAAQsP,MAAMzP,MAC1CoC,KAAK0M,OAAStF,KAUtBJ,OAAOyF,eAAejL,EAAOizE,KAAKnyE,UAAW,UAEzC4E,IAAK,WAQD,OANIlH,KAAKwR,QAELxR,KAAKqxF,aACLrxF,KAAKwR,OAAQ,GAGVxR,KAAKc,MAAMkD,GAAKhE,KAAKjC,QAAQsP,MAAMxP,OAASmC,KAAK4E,aAG5DuC,IAAK,SAAUC,GAEXpH,KAAKc,MAAMkD,EAAIoD,EAAQpH,KAAKjC,QAAQsP,MAAMxP,OAC1CmC,KAAK2M,QAAUvF,KAUvBJ,OAAOyF,eAAejL,EAAOizE,KAAKnyE,UAAW,cAEzC4E,IAAK,WAED,OAAOlH,KAAK8wF,aAGhB3pF,IAAK,SAAUC,GAEXpH,KAAK8wF,YAAc1pF,EACnBpH,KAAKqxF,gBAIb7vF,EAAOizE,KAAKuhB,uBAEZx0F,EAAOizE,KAAKyhB,qBAAuB7lD,SAASsmD,cAAc,UAC1Dn1F,EAAOizE,KAAK0hB,sBAAwB30F,EAAOizE,KAAKyhB,qBAAqB19E,WAAW,MAuDhFhX,EAAO2sE,WAAa,SAAUprE,EAAMgB,EAAGC,EAAGoxE,EAAMZ,EAAMzyD,EAAMozB,GAExDpxC,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACToxE,EAAOA,GAAQ,GACfZ,EAAOA,GAAQ,GACfzyD,EAAOA,GAAQ,GACfozB,EAAQA,GAAS,OAEjB32C,KAAK8J,uBAAuB9D,KAAKxE,MAMjCA,KAAKwT,KAAOhS,EAAOkrB,WAMnB1sB,KAAK4yC,YAAcpxC,EAAO4qB,OAM1BpsB,KAAK42F,UAAY,EAMjB52F,KAAK62F,WAAa,EAKlB72F,KAAK2G,OAAS,IAAInF,EAAOX,MAMzBb,KAAK82F,YAAc,IAAIt1F,EAAOX,MAM9Bb,KAAKouE,WAMLpuE,KAAK+2F,UAAY,EAMjB/2F,KAAKgxF,MAAQxc,EAAK1rD,YAAc,GAMhC9oB,KAAKg3F,MAAQj0F,EAAKiX,MAAMi9E,cAAc7hB,GAMtCp1E,KAAKk3F,MAAQ9hB,EAMbp1E,KAAKm3F,UAAYp1E,EAMjB/hB,KAAKo3F,OAASjiD,EAMdn1C,KAAKq3F,eAAiB,EAMtBr3F,KAAKs3F,MAAQ,SAEbt3F,KAAKqxF,aAKLrxF,KAAKwR,OAAQ,EAEbhQ,EAAOupE,UAAUiB,KAAKt6D,KAAKlN,KAAKxE,KAAM+C,EAAMgB,EAAGC,EAAG,GAAI,OAG1DxC,EAAO2sE,WAAW7rE,UAAY0E,OAAOwB,OAAOhK,KAAK8J,uBAAuBhG,WACxEd,EAAO2sE,WAAW7rE,UAAUC,YAAcf,EAAO2sE,WAEjD3sE,EAAOupE,UAAUiB,KAAKC,QAAQznE,KAAKhD,EAAO2sE,WAAW7rE,WACjD,QACA,WACA,SACA,UACA,gBACA,eACA,UACA,WACA,cACA,UAGJd,EAAO2sE,WAAW7rE,UAAUo0E,iBAAmBl1E,EAAOupE,UAAUsB,YAAY3nE,UAC5ElD,EAAO2sE,WAAW7rE,UAAUq0E,kBAAoBn1E,EAAOupE,UAAUuG,SAAS5sE,UAC1ElD,EAAO2sE,WAAW7rE,UAAUs0E,iBAAmBp1E,EAAOupE,UAAUgG,QAAQrsE,UACxElD,EAAO2sE,WAAW7rE,UAAUu0E,cAAgBr1E,EAAOupE,UAAUiB,KAAKtnE,UASlElD,EAAO2sE,WAAW7rE,UAAUoC,UAAY,WAEpC,SAAK1E,KAAK02E,oBAAuB12E,KAAK22E,qBAAwB32E,KAAK42E,qBAK5D52E,KAAK62E,iBAOhBr1E,EAAO2sE,WAAW7rE,UAAU8kC,WAAa,WAErC5lC,EAAOupE,UAAUsB,YAAYjlC,WAAW5iC,KAAKxE,MAC7CwB,EAAOupE,UAAUyB,cAAcplC,WAAW5iC,KAAKxE,MAE3CA,KAAKmyC,MAAQnyC,KAAKmyC,KAAK3+B,OAAShS,EAAOkxC,QAAQC,SAE1C3yC,KAAK42F,YAAc52F,KAAKmyC,KAAKolD,aAAiBv3F,KAAK62F,aAAe72F,KAAKmyC,KAAKqlD,cAE7Ex3F,KAAKmyC,KAAK9L,QAAQrmC,KAAK42F,UAAW52F,KAAK62F,cAanDr1F,EAAO2sE,WAAW7rE,UAAUszF,QAAU,SAAUphB,GAE5Cx0E,KAAKw0E,KAAOA,GAchBhzE,EAAO2sE,WAAW7rE,UAAUm1F,SAAW,SAAUrjF,EAAMtT,EAAO0zE,GAW1D,IAAK,IATDzwE,EAAI,EACJsR,EAAI,EACJqiF,GAAa,EACbC,EAAe,EACfC,EAAe,KACfC,EAAY73F,KAAK+2F,UAAY,EAAK/2F,KAAK+2F,UAAY,KACnDxhB,KAGK7yE,EAAI,EAAGA,EAAI8xE,EAAK7xE,OAAQD,IACjC,CACI,IAAI4Y,EAAO5Y,IAAM8xE,EAAK7xE,OAAS,EAE/B,GAAI,iBAAmBm1F,KAAKtjB,EAAKujB,OAAOr1F,IAEpC,OAAS9E,MAAOyX,EAAGm/D,KAAMA,EAAKzrD,OAAO,EAAGrmB,GAAI4Y,IAAKA,EAAKi6D,MAAOA,GAI7D,IAAI3Q,EAAW4P,EAAK1P,WAAWpiE,GAC3Bs1F,EAAW5jF,EAAKmhE,MAAM3Q,GAEtBxhE,EAAI,OAMSmD,IAAbyxF,IAEApzB,EAAW,GACXozB,EAAW5jF,EAAKmhE,MAAM3Q,IAI1B,IAAIqzB,EAAWL,GAAgBI,EAASC,QAAQL,GAAiBI,EAASC,QAAQL,GAAgB,EAalG,GAVI,OAASE,KAAKtjB,EAAKujB,OAAOr1F,MAE1Bg1F,EAAYh1F,EACZi1F,EAAetiF,GAInBjS,GAAK60F,EAAUD,EAASj6F,QAAQH,MAAQo6F,EAASriB,SAAW70E,EAGxD+2F,GAAcxiF,EAAIjS,GAAMy0F,GAAaH,GAAa,EAGlD,OAAS95F,MAAO+5F,GAAgBtiF,EAAGm/D,KAAMA,EAAKzrD,OAAO,EAAGrmB,GAAKA,EAAIg1F,IAAap8E,KAAK,EAAOi6D,MAAOA,GAIjGlgE,IAAM2iF,EAASE,SAAWD,EAAUj4F,KAAKm4F,eAAiBr3F,EAE1Dy0E,EAAMztE,KAAK/D,GAAKi0F,EAASriB,QAAUsiB,EAAUj4F,KAAKm4F,eAAiBr3F,GAEnEiD,IAAMi0F,EAASE,SAAWD,EAAUj4F,KAAKm4F,eAAiBr3F,EAE1D82F,EAAehzB,EAK3B,OAAShnE,MAAOyX,EAAGm/D,KAAMA,EAAMl5D,IAAKA,EAAKi6D,MAAOA,IAcpD/zE,EAAO2sE,WAAW7rE,UAAU81F,UAAY,SAAU5jB,EAAMhgD,QAEpCjuB,IAAZiuB,IAEAA,EAAU,IAGd,IAAIpgB,EAAOpU,KAAKg3F,MAAM5hB,KAEtB,IAAKhhE,EAED,MAAO,GAMX,IAAK,IAHDikF,EAAK,mBACL3F,EAAQle,EAAKhgD,QAAQ6jE,EAAI,MAAMtmE,MAAM,MAEhCrvB,EAAI,EAAGA,EAAIgwF,EAAM/vF,OAAQD,IAClC,CAII,IAAK,IAHDkzB,EAAS,GACTgD,EAAO85D,EAAMhwF,GAERU,EAAI,EAAGA,EAAIw1B,EAAKj2B,OAAQS,IAIzBwyB,EAFAxhB,EAAKmhE,MAAM38C,EAAKksC,WAAW1hE,IAElBwyB,EAAOrF,OAAOqI,EAAKx1B,IAInBwyB,EAAOrF,OAAOiE,GAI/Bk+D,EAAMhwF,GAAKkzB,EAGf,OAAO88D,EAAM5iF,KAAK,OAStBtO,EAAO2sE,WAAW7rE,UAAU+uF,WAAa,WAErC,IAAIj9E,EAAOpU,KAAKg3F,MAAM5hB,KAEtB,GAAKhhE,EAAL,CAKA,IAAIogE,EAAOx0E,KAAKw0E,KACZ1zE,EAAQd,KAAKm3F,UAAY/iF,EAAK2N,KAC9B2wE,KAEA1uF,EAAI,EAERhE,KAAK42F,UAAY,EAEjB,IAEQh+D,EAAO54B,KAAKy3F,SAASrjF,EAAMtT,EAAO0zE,IAEjCxwE,EAAIA,EAET0uF,EAAM5qF,KAAK8wB,GAEPA,EAAKh7B,MAAQoC,KAAK42F,YAElB52F,KAAK42F,UAAYh+D,EAAKh7B,OAG1BoG,GAAMoQ,EAAKi/E,WAAavyF,EAExB0zE,EAAOA,EAAKzrD,OAAO6P,EAAK47C,KAAK7xE,OAAS,UACpB,IAAbi2B,EAAKtd,KAEdtb,KAAK62F,WAAa7yF,EAOlB,IAAK,IALD+sB,EAAI,EACJokB,EAAQ,EACR8wC,EAAKjmF,KAAK42F,UAAY52F,KAAK2G,OAAO5C,EAClCmiF,EAAKlmF,KAAK62F,WAAa72F,KAAK2G,OAAO3C,EAE9BtB,EAAI,EAAGA,EAAIgwF,EAAM/vF,OAAQD,IAClC,CACI,IAAIk2B,EAAO85D,EAAMhwF,GAEG,UAAhB1C,KAAKo3F,OAELjiD,EAAQn1C,KAAK42F,UAAYh+D,EAAKh7B,MAET,WAAhBoC,KAAKo3F,SAEVjiD,GAASn1C,KAAK42F,UAAYh+D,EAAKh7B,OAAS,GAG5C,IAAK,IAAIwF,EAAI,EAAGA,EAAIw1B,EAAK47C,KAAK7xE,OAAQS,IACtC,CACI,IAAIwhE,EAAWhsC,EAAK47C,KAAK1P,WAAW1hE,GAChC40F,EAAW5jF,EAAKmhE,MAAM3Q,QAETr+D,IAAbyxF,IAEApzB,EAAW,GACXozB,EAAW5jF,EAAKmhE,MAAM3Q,IAG1B,IAAIjqD,EAAI3a,KAAKouE,QAAQr9C,GAEjBpW,EAGAA,EAAE5c,QAAUi6F,EAASj6F,UAKrB4c,EAAI,IAAInc,KAAKsH,OAAOkyF,EAASj6F,UAC3Bm0B,KAAO0G,EAAK47C,KAAKpxE,GACnBpD,KAAKouE,QAAQtmE,KAAK6S,IAGtBA,EAAE/Z,SAASmD,EAAK60B,EAAK28C,MAAMnyE,GAAK+xC,EAAS8wC,EACzCtrE,EAAE/Z,SAASoD,EAAK40B,EAAK50B,EAAKg0F,EAASpiB,QAAU90E,EAAUolF,EAEvDvrE,EAAE7Z,MAAMqG,IAAIrG,GACZ6Z,EAAE5N,KAAO/M,KAAK+M,KACd4N,EAAE5c,QAAQ+Q,gBAAiB,EAC3B6L,EAAE3N,WAAa,SAEV2N,EAAEtZ,QAEHrB,KAAKyI,SAASkS,GAGlBoW,KAQR,IAAKruB,EAAIquB,EAAGruB,EAAI1C,KAAKouE,QAAQzrE,OAAQD,IAEjC1C,KAAK6I,YAAY7I,KAAKouE,QAAQ1rE,MAiBtClB,EAAO2sE,WAAW7rE,UAAUg2F,YAAc,WAKtC,IAAK,IAHDtnE,EAAMhxB,KAAKouE,QAAQzrE,OACnB41F,KAEK71F,EAAI,EAAGA,EAAI1C,KAAKouE,QAAQzrE,OAAQD,IAEjC1C,KAAKouE,QAAQ1rE,GAAGrB,SAAWrB,KAE3BA,KAAKouE,QAAQ1rE,GAAGF,UAIhB+1F,EAAKzwF,KAAK9H,KAAKouE,QAAQ1rE,IAS/B,OALA1C,KAAKouE,WACLpuE,KAAKouE,QAAUmqB,EAEfv4F,KAAKqxF,aAEErgE,EAAMunE,EAAK51F,QAStBnB,EAAO2sE,WAAW7rE,UAAUQ,gBAAkB,YAEtC9C,KAAKwR,OAAUxR,KAAK2G,OAAO8vB,OAAOz2B,KAAK82F,eAEvC92F,KAAKqxF,aACLrxF,KAAKwR,OAAQ,EACbxR,KAAK82F,YAAYvhE,SAASv1B,KAAK2G,SAGnCnI,KAAK8J,uBAAuBhG,UAAUQ,gBAAgB0B,KAAKxE,OAO/DgH,OAAOyF,eAAejL,EAAO2sE,WAAW7rE,UAAW,iBAE/C4E,IAAK,WAED,OAAOlH,KAAKq3F,gBAGhBlwF,IAAK,SAAUC,GAEW,iBAAZ,IAENpH,KAAKq3F,eAAiBjwF,EACtBpH,KAAKqxF,iBAUjBrqF,OAAOyF,eAAejL,EAAO2sE,WAAW7rE,UAAW,SAE/C4E,IAAK,WAED,OAAOlH,KAAKo3F,QAGhBjwF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKo3F,QAAqB,SAAVhwF,GAA8B,WAAVA,GAAgC,UAAVA,IAEpEpH,KAAKo3F,OAAShwF,EACdpH,KAAKqxF,iBAUjBrqF,OAAOyF,eAAejL,EAAO2sE,WAAW7rE,UAAW,QAE/C4E,IAAK,WAED,OAAOlH,KAAKs3F,OAGhBnwF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKs3F,QAEft3F,KAAKs3F,MAAQlwF,EACbpH,KAAKqxF,iBAUjBrqF,OAAOyF,eAAejL,EAAO2sE,WAAW7rE,UAAW,QAE/C4E,IAAK,WAED,OAAOlH,KAAKk3F,OAGhB/vF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKk3F,QAEfl3F,KAAKk3F,MAAQ9vF,EAAMgH,OACnBpO,KAAKg3F,MAAQh3F,KAAK+C,KAAKiX,MAAMi9E,cAAcj3F,KAAKk3F,OAChDl3F,KAAKqxF,iBAUjBrqF,OAAOyF,eAAejL,EAAO2sE,WAAW7rE,UAAW,YAE/C4E,IAAK,WAED,OAAOlH,KAAKm3F,WAGhBhwF,IAAK,SAAUC,IAEXA,EAAQisB,SAASjsB,EAAO,OAEVpH,KAAKm3F,WAAa/vF,EAAQ,IAEpCpH,KAAKm3F,UAAY/vF,EACjBpH,KAAKqxF,iBAUjBrqF,OAAOyF,eAAejL,EAAO2sE,WAAW7rE,UAAW,QAE/C4E,IAAK,WAED,OAAOlH,KAAKgxF,OAGhB7pF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKgxF,QAEfhxF,KAAKgxF,MAAQ5pF,EAAM0hB,YAAc,GACjC9oB,KAAKqxF,iBAmBjBrqF,OAAOyF,eAAejL,EAAO2sE,WAAW7rE,UAAW,YAE/C4E,IAAK,WAED,OAAOlH,KAAK+2F,WAGhB5vF,IAAK,SAAUC,GAEPA,IAAUpH,KAAK+2F,YAEf/2F,KAAK+2F,UAAY3vF,EACjBpH,KAAKqxF,iBAgBjBrqF,OAAOyF,eAAejL,EAAO2sE,WAAW7rE,UAAW,YAE/C4E,IAAK,WAED,OAAQlH,KAAKg3F,MAAM58E,KAAKtc,WAG5BqJ,IAAK,SAAUC,GAIPpH,KAAKg3F,MAAM58E,KAAKtc,UAFhBsJ,EAE4B,EAIA,EAEhCpH,KAAKg3F,MAAM58E,KAAK5I,WA6BxBhQ,EAAOq0E,UAAY,SAAU9yE,EAAMiQ,EAAKqiE,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,GAEtH,IAAK7yE,EAAKiX,MAAMw+E,cAAcxlF,GAE1B,OAAO,OAGSzM,IAAhBivE,GAA6C,OAAhBA,IAE7BA,EAAczyE,EAAKiX,MAAMm4D,SAASn/D,GAAKpV,MAAQy3E,GAMnDr1E,KAAKq1E,eAAiBA,EAKtBr1E,KAAKs1E,gBAAkBA,EAKvBt1E,KAAKy4F,kBAAoBhjB,GAAY,EAKrCz1E,KAAK04F,kBAAoBhjB,GAAY,EAKrC11E,KAAK24F,gBAAkBnjB,EAMvBx1E,KAAK2kB,QAAUgxD,GAAW,EAM1B31E,KAAK4kB,QAAUgxD,GAAW,EAK1B51E,KAAKm1C,MAAQ,OAMbn1C,KAAK44F,WAAY,EAMjB54F,KAAK64F,eAAgB,EAMrB74F,KAAK84F,eAAiB,EAMtB94F,KAAK+4F,eAAiB,EAOtB/4F,KAAKg5F,WAAa,EAKlBh5F,KAAKi5F,QAAUl2F,EAAKiX,MAAMm4D,SAASn/D,GAMnChT,KAAKgxF,MAAQ,GAMbhxF,KAAKk5F,YAKLl5F,KAAK+xE,UAAY,IAAIvwE,EAAO24E,UAO5B,IAAK,IAJDgf,EAAWn5F,KAAK2kB,QAChBy0E,EAAWp5F,KAAK4kB,QAChB1gB,EAAI,EAECd,EAAI,EAAGA,EAAImyE,EAAM5yE,OAAQS,IAClC,CACI,IAAIiK,EAAQrN,KAAK+xE,UAAUsI,SAAS,IAAI74E,EAAO84E,MAAMl3E,EAAG+1F,EAAUC,EAAUp5F,KAAKq1E,eAAgBr1E,KAAKs1E,kBAEtGt1E,KAAKk5F,SAAS3jB,EAAMzQ,WAAW1hE,IAAMiK,EAAMzE,QAE3C1E,IAEUlE,KAAK24F,iBAEXz0F,EAAI,EACJi1F,EAAWn5F,KAAK2kB,QAChBy0E,GAAYp5F,KAAKs1E,gBAAkBt1E,KAAK04F,mBAIxCS,GAAYn5F,KAAKq1E,eAAiBr1E,KAAKy4F,kBAI/C11F,EAAKiX,MAAMq/E,gBAAgBrmF,EAAKhT,KAAK+xE,WAMrC/xE,KAAKs5F,MAAQ,IAAI93F,EAAOkyE,MAAM3wE,EAAM,EAAG,EAAGiQ,EAAK,GAE/CxR,EAAOyD,cAAcT,KAAKxE,KAAM+C,EAAM,IAAK,IAAK,GAAIvB,EAAO/C,WAAWE,SAKtEqB,KAAKwT,KAAOhS,EAAO8rB,WAGvB9rB,EAAOq0E,UAAUvzE,UAAY0E,OAAOwB,OAAOhH,EAAOyD,cAAc3C,WAChEd,EAAOq0E,UAAUvzE,UAAUC,YAAcf,EAAOq0E,UAOhDr0E,EAAOq0E,UAAU0jB,WAAa,OAO9B/3F,EAAOq0E,UAAU2jB,YAAc,QAO/Bh4F,EAAOq0E,UAAU4jB,aAAe,SAOhCj4F,EAAOq0E,UAAU6jB,UAAY,oGAO7Bl4F,EAAOq0E,UAAU8jB,UAAY,+DAO7Bn4F,EAAOq0E,UAAU+jB,UAAY,wCAO7Bp4F,EAAOq0E,UAAUgkB,UAAY,wCAO7Br4F,EAAOq0E,UAAUikB,UAAY,mDAO7Bt4F,EAAOq0E,UAAUkkB,UAAY,oDAO7Bv4F,EAAOq0E,UAAUmkB,UAAY,oDAO7Bx4F,EAAOq0E,UAAUokB,UAAY,yCAO7Bz4F,EAAOq0E,UAAUqkB,UAAY,kDAO7B14F,EAAOq0E,UAAUskB,WAAa,6BAO9B34F,EAAOq0E,UAAUukB,WAAa,oDAW9B54F,EAAOq0E,UAAUvzE,UAAU+3F,cAAgB,SAAUz8F,EAAO08F,QAElC/zF,IAAlB+zF,IAA+BA,EAAgB,QAEnDt6F,KAAKg5F,WAAap7F,EAClBoC,KAAKm1C,MAAQmlD,GAejB94F,EAAOq0E,UAAUvzE,UAAUszF,QAAU,SAAU2E,EAAS3B,EAAW4B,EAAkBlH,EAAagH,EAAeG,GAE7Gz6F,KAAK44F,UAAYA,IAAa,EAC9B54F,KAAK84F,eAAiB0B,GAAoB,EAC1Cx6F,KAAK+4F,eAAiBzF,GAAe,EACrCtzF,KAAKm1C,MAAQmlD,GAAiB,OAI1Bt6F,KAAK64F,eAFL4B,EASAF,EAAQ53F,OAAS,IAEjB3C,KAAKw0E,KAAO+lB,IAUpB/4F,EAAOq0E,UAAUvzE,UAAUo4F,mBAAqB,WAE5C,IAAIxrF,EAAK,EACLC,EAAK,EAKT,GAFAnP,KAAK4a,QAED5a,KAAK44F,UACT,CACI,IAAIlG,EAAQ1yF,KAAKgxF,MAAMj/D,MAAM,MAEzB/xB,KAAKg5F,WAAa,EAElBh5F,KAAKmG,OAAOnG,KAAKg5F,WAAatG,EAAM/vF,QAAU3C,KAAKs1E,gBAAkBt1E,KAAK+4F,gBAAmB/4F,KAAK+4F,gBAAgB,GAIlH/4F,KAAKmG,OAAOnG,KAAK26F,kBAAoB36F,KAAKq1E,eAAiBr1E,KAAK84F,gBAAkBpG,EAAM/vF,QAAU3C,KAAKs1E,gBAAkBt1E,KAAK+4F,gBAAmB/4F,KAAK+4F,gBAAgB,GAI1K,IAAK,IAAIr2F,EAAI,EAAGA,EAAIgwF,EAAM/vF,OAAQD,IAG9BwM,EAAK,EAGDlP,KAAKm1C,QAAU3zC,EAAOq0E,UAAU2jB,YAEhCtqF,EAAKlP,KAAKpC,MAAS80F,EAAMhwF,GAAGC,QAAU3C,KAAKq1E,eAAiBr1E,KAAK84F,gBAE5D94F,KAAKm1C,QAAU3zC,EAAOq0E,UAAU4jB,eAErCvqF,EAAMlP,KAAKpC,MAAQ,EAAO80F,EAAMhwF,GAAGC,QAAU3C,KAAKq1E,eAAiBr1E,KAAK84F,gBAAmB,EAC3F5pF,GAAMlP,KAAK84F,eAAiB,GAI5B5pF,EAAK,IAELA,EAAK,GAGTlP,KAAK46F,UAAUlI,EAAMhwF,GAAIwM,EAAIC,EAAInP,KAAK84F,gBAEtC3pF,GAAMnP,KAAKs1E,gBAAkBt1E,KAAK+4F,oBAKlC/4F,KAAKg5F,WAAa,EAElBh5F,KAAKmG,OAAOnG,KAAKg5F,WAAYh5F,KAAKs1E,iBAAiB,GAInDt1E,KAAKmG,OAAOnG,KAAKgxF,MAAMruF,QAAU3C,KAAKq1E,eAAiBr1E,KAAK84F,gBAAiB94F,KAAKs1E,iBAAiB,GAIvGpmE,EAAK,EAEDlP,KAAKm1C,QAAU3zC,EAAOq0E,UAAU2jB,YAEhCtqF,EAAKlP,KAAKpC,MAASoC,KAAKgxF,MAAMruF,QAAU3C,KAAKq1E,eAAiBr1E,KAAK84F,gBAE9D94F,KAAKm1C,QAAU3zC,EAAOq0E,UAAU4jB,eAErCvqF,EAAMlP,KAAKpC,MAAQ,EAAOoC,KAAKgxF,MAAMruF,QAAU3C,KAAKq1E,eAAiBr1E,KAAK84F,gBAAmB,EAC7F5pF,GAAMlP,KAAK84F,eAAiB,GAI5B5pF,EAAK,IAELA,EAAK,GAGTlP,KAAK46F,UAAU56F,KAAKgxF,MAAO9hF,EAAI,EAAGlP,KAAK84F,gBAG3C94F,KAAK8O,gBAAiB,GAc1BtN,EAAOq0E,UAAUvzE,UAAUs4F,UAAY,SAAUhiE,EAAM70B,EAAGC,EAAG80F,GAEzD,IAAK,IAAI11F,EAAI,EAAGA,EAAIw1B,EAAKj2B,OAAQS,IAG7B,GAAuB,MAAnBw1B,EAAKm/D,OAAO30F,GAEZW,GAAK/D,KAAKq1E,eAAiByjB,OAK3B,GAAI94F,KAAKk5F,SAAStgE,EAAKksC,WAAW1hE,KAAO,IAErCpD,KAAKs5F,MAAMjsF,MAAQrN,KAAKk5F,SAAStgE,EAAKksC,WAAW1hE,IACjDpD,KAAK4vF,SAAS5vF,KAAKs5F,MAAOv1F,EAAGC,GAAG,IAEhCD,GAAK/D,KAAKq1E,eAAiByjB,GAEnB94F,KAAKpC,OAET,OAcpB4D,EAAOq0E,UAAUvzE,UAAUq4F,eAAiB,WAExC,IAAIE,EAAc,EAElB,GAAI76F,KAAKgxF,MAAMruF,OAAS,EAIpB,IAAK,IAFD+vF,EAAQ1yF,KAAKgxF,MAAMj/D,MAAM,MAEpBrvB,EAAI,EAAGA,EAAIgwF,EAAM/vF,OAAQD,IAE1BgwF,EAAMhwF,GAAGC,OAASk4F,IAElBA,EAAcnI,EAAMhwF,GAAGC,QAKnC,OAAOk4F,GAYXr5F,EAAOq0E,UAAUvzE,UAAUw4F,4BAA8B,SAAUC,GAI/D,IAAK,IAFDC,EAAY,GAEP53F,EAAI,EAAGA,EAAIpD,KAAKgxF,MAAMruF,OAAQS,IACvC,CACI,IAAI63F,EAAQj7F,KAAKgxF,MAAM5tF,GACnB83F,EAAOD,EAAMn2B,WAAW,IAExB9kE,KAAKk5F,SAASgC,IAAS,IAAOH,GAAqB,OAAVE,KAEzCD,EAAYA,EAAUzqE,OAAO0qE,IAIrC,OAAOD,GAaXx5F,EAAOq0E,UAAUvzE,UAAU64F,aAAe,SAAUp3F,EAAGC,GAEnD,GAAIhE,KAAK2kB,UAAY5gB,GAAK/D,KAAK4kB,UAAY5gB,EAA3C,CAWA,IANA,IAAIo3F,EAAQr3F,EAAI/D,KAAK2kB,QACjB02E,EAAQr3F,EAAIhE,KAAK4kB,QAEjB02E,EAASt7F,KAAK+C,KAAKiX,MAAM83D,aAAa9xE,KAAKs5F,MAAMtmF,KAAKuoF,YACtD74F,EAAI44F,EAAO34F,OAERD,KAEH44F,EAAO54F,GAAGqB,GAAKq3F,EACfE,EAAO54F,GAAGsB,GAAKq3F,EAGnBr7F,KAAK06F,uBAOT1zF,OAAOyF,eAAejL,EAAOq0E,UAAUvzE,UAAW,QAE9C4E,IAAK,WAED,OAAOlH,KAAKgxF,OAGhB7pF,IAAK,SAAUC,GAEX,IAAIo0F,GAIAA,EAFAx7F,KAAK64F,cAEKzxF,EAAMq0F,cAINr0F,KAGEpH,KAAKgxF,QAEjBhxF,KAAKgxF,MAAQwK,EAEbx7F,KAAK86F,4BAA4B96F,KAAK44F,WAEtC54F,KAAK06F,yBAUjB1zF,OAAOyF,eAAejL,EAAOq0E,UAAUvzE,UAAW,YAE9C4E,IAAK,WAED,OAAOlH,KAAKs5F,MAAM/5C,UAGtBp4C,IAAK,SAAUC,GAEXpH,KAAKs5F,MAAM/5C,SAAWn4C,EACtBpH,KAAK06F,wBAgDbl5F,EAAO+yE,KAAO,SAAUxxE,EAAMgB,EAAGC,EAAGgP,EAAK3F,EAAOmxB,GAE5Cx+B,KAAKw+B,OAASA,MACdx+B,KAAK07F,qBAAsB,EAC3B17F,KAAK27F,yBAA2B,KAChC53F,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTgP,EAAMA,GAAO,KACb3F,EAAQA,GAAS,KAMjBrN,KAAKwT,KAAOhS,EAAOgsB,KAEnBhvB,KAAK8J,uBAAuB9D,KAAKxE,MAEjCA,KAAKjC,QAAUyD,EAAOotC,MAAMhnB,QAG5B5nB,KAAKwjB,IAAM,IAAIlB,cAAe,EAAG,EAC7B,EAAG,EACH,EAAG,EACH,EAAG,IAEPtiB,KAAKmiB,SAAW,IAAIG,cAAe,EAAG,EAClC,IAAK,EACL,IAAK,IACL,EAAG,MAEPtiB,KAAKuiB,OAAS,IAAID,cAAe,EAAG,EAAG,EAAG,IAE1CtiB,KAAK4S,QAAU,IAAI6P,aAAc,EAAG,EAAG,EAAG,IAEtC+b,IAEAx+B,KAAKmiB,SAAW,IAAIG,aAA6B,EAAhBkc,EAAO77B,QACxC3C,KAAKwjB,IAAM,IAAIlB,aAA6B,EAAhBkc,EAAO77B,QACnC3C,KAAKuiB,OAAS,IAAID,aAA6B,EAAhBkc,EAAO77B,QACtC3C,KAAK4S,QAAU,IAAI6P,YAA4B,EAAhB+b,EAAO77B,SAS1C3C,KAAKwR,OAAQ,EAQbxR,KAAK47F,cAAgB,EAErB57F,KAAK67F,SAAWr6F,EAAO+yE,KAAK30D,eAE5Bpe,EAAOupE,UAAUiB,KAAKt6D,KAAKlN,KAAKxE,KAAM+C,EAAMgB,EAAGC,EAAGgP,EAAK3F,GAEvDrN,KAAK0pB,WAGTloB,EAAO+yE,KAAKjyE,UAAY0E,OAAOwB,OAAOhK,KAAK8J,uBAAuBhG,WAClEd,EAAO+yE,KAAKjyE,UAAUC,YAAcf,EAAO+yE,KAE3C/yE,EAAOupE,UAAUiB,KAAKC,QAAQznE,KAAKhD,EAAO+yE,KAAKjyE,WAC3C,QACA,YACA,WACA,SACA,aACA,OACA,QACA,UACA,gBACA,UACA,WACA,cACA,UACA,cACA,QACA,cACA,aAGJd,EAAO+yE,KAAKjyE,UAAUo0E,iBAAmBl1E,EAAOupE,UAAUsB,YAAY3nE,UACtElD,EAAO+yE,KAAKjyE,UAAUq0E,kBAAoBn1E,EAAOupE,UAAUuG,SAAS5sE,UACpElD,EAAO+yE,KAAKjyE,UAAUs0E,iBAAmBp1E,EAAOupE,UAAUgG,QAAQrsE,UAClElD,EAAO+yE,KAAKjyE,UAAUu0E,cAAgBr1E,EAAOupE,UAAUiB,KAAKtnE,UAE5DlD,EAAO+yE,KAAK30D,eAAiB,EAC7Bpe,EAAO+yE,KAAK1uD,UAAY,EAQxBrkB,EAAO+yE,KAAKjyE,UAAUoC,UAAY,WAE9B,SAAK1E,KAAK02E,oBAAuB12E,KAAK22E,qBAAwB32E,KAAK42E,qBAK5D52E,KAAK62E,iBAShBr1E,EAAO+yE,KAAKjyE,UAAU+iC,OAAS,WAEvBrlC,KAAK07F,qBAEL17F,KAAK87F,gBAAgBt3F,KAAKxE,OAelCwB,EAAO+yE,KAAKjyE,UAAUgkC,MAAQ,SAAUviC,EAAGC,GAIvC,OAFAxC,EAAOupE,UAAU+H,MAAMxwE,UAAUgkC,MAAM9hC,KAAKxE,KAAM+D,EAAGC,GAE9ChE,MASXwB,EAAO+yE,KAAKjyE,UAAUonB,QAAU,WAE5B,IAAI8U,EAASx+B,KAAKw+B,OAElB,KAAIA,EAAO77B,OAAS,GAApB,CAKA,IAAI6gB,EAAMxjB,KAAKwjB,IAEX5Q,EAAU5S,KAAK4S,QACf2P,EAASviB,KAAKuiB,OAElBviB,KAAKwe,OAAS,GAMd,IAAK,IAJDw6B,EAAQxa,EAAO77B,OACfiG,EAAQ,EACRquC,EAAS,EAEJv0C,EAAI,EAAGA,EAAIs2C,EAAOt2C,IAKvBu0C,EAASv0C,GAAKs2C,EAAQ,GAEtBx1B,EALA5a,EAAY,EAAJlG,GAKKu0C,EACbzzB,EAAI5a,EAAQ,GAAK,EACjB4a,EAAI5a,EAAQ,GAAKquC,EACjBzzB,EAAI5a,EAAQ,GAAK,EAGjB2Z,EADA3Z,EAAY,EAAJlG,GACQ,EAChB6f,EAAO3Z,EAAQ,GAAK,EAGpBgK,EADAhK,EAAY,EAAJlG,GACSkG,EACjBgK,EAAQhK,EAAQ,GAAKA,EAAQ,IAUrCpH,EAAO+yE,KAAKjyE,UAAUQ,gBAAkB,WAEpC,IAAI07B,EAASx+B,KAAKw+B,OAElB,KAAIA,EAAO77B,OAAS,GAApB,CAKA,IACIo5F,EADA1S,EAAY7qD,EAAO,GAEnBV,GAAS/5B,EAAG,EAAGC,EAAG,GAEtBhE,KAAKwe,OAAS,GAUd,IAAK,IAND8X,EACA1tB,EACAozF,EACAC,EALA95E,EAAWniB,KAAKmiB,SAChB62B,EAAQxa,EAAO77B,OAKfo0B,EAAa/2B,KAAKjC,QAAQF,OAAS,EAE9B6E,EAAI,EAAGA,EAAIs2C,EAAOt2C,IAEvB4zB,EAAQkI,EAAO97B,GACfkG,EAAY,EAAJlG,EAIJq5F,EAFDr5F,EAAIs2C,EAAQ,EAECxa,EAAO97B,EAAI,GAIX4zB,EAGhBwH,EAAK95B,IAAM+3F,EAAUh4F,EAAIslF,EAAUtlF,GACnC+5B,EAAK/5B,EAAIg4F,EAAU/3F,EAAIqlF,EAAUrlF,EAEjCg4F,EAAat4F,KAAKS,KAAM25B,EAAK/5B,EAAI+5B,EAAK/5B,EAAM+5B,EAAK95B,EAAI85B,EAAK95B,GAC1Di4F,EAAMllE,EACN+G,EAAK/5B,GAAKi4F,EACVl+D,EAAK95B,GAAKg4F,EAEVl+D,EAAK/5B,GAAKk4F,EACVn+D,EAAK95B,GAAKi4F,EAEV95E,EAASvZ,GAAS0tB,EAAMvyB,EAAI+5B,EAAK/5B,EACjCoe,EAASvZ,EAAQ,GAAK0tB,EAAMtyB,EAAI85B,EAAK95B,EACrCme,EAASvZ,EAAQ,GAAK0tB,EAAMvyB,EAAI+5B,EAAK/5B,EACrCoe,EAASvZ,EAAQ,GAAK0tB,EAAMtyB,EAAI85B,EAAK95B,EAErCqlF,EAAY/yD,EAGhB93B,KAAK8J,uBAAuBhG,UAAUQ,gBAAgB0B,KAAKxE,QAU/DwB,EAAO+yE,KAAKjyE,UAAUgL,WAAa,SAAUvP,GAEzCiC,KAAKjC,QAAUA,GAUnByD,EAAO+yE,KAAKjyE,UAAUyD,aAAe,SAAUH,IAEtC5F,KAAKkB,SAAWlB,KAAKiB,OAAS,IAKnC2E,EAAcmG,YAAYI,OAErBnM,KAAKk8F,eAENl8F,KAAKm8F,WAAWv2F,GAGpBA,EAAc8R,cAAcqI,UAAUna,EAAc8R,cAAc0J,aAElEphB,KAAKo8F,aAAax2F,GAElBA,EAAcmG,YAAYO,UAU9B9K,EAAO+yE,KAAKjyE,UAAU65F,WAAa,SAAUv2F,GAGzC,IAAIjI,EAAKiI,EAAcjI,GAEvBqC,KAAKk8F,cAAgBv+F,EAAGwlB,eACxBnjB,KAAKq8F,aAAe1+F,EAAGwlB,eACvBnjB,KAAKs8F,UAAY3+F,EAAGwlB,eACpBnjB,KAAKu8F,aAAe5+F,EAAGwlB,eAEvBxlB,EAAG2iB,WAAW3iB,EAAG4iB,aAAcvgB,KAAKk8F,eACpCv+F,EAAGylB,WAAWzlB,EAAG4iB,aAAcvgB,KAAKmiB,SAAUxkB,EAAG2lB,cAEjD3lB,EAAG2iB,WAAW3iB,EAAG4iB,aAAcvgB,KAAKs8F,WACpC3+F,EAAGylB,WAAWzlB,EAAG4iB,aAAcvgB,KAAKwjB,IAAK7lB,EAAG0lB,aAE5C1lB,EAAG2iB,WAAW3iB,EAAG4iB,aAAcvgB,KAAKu8F,cACpC5+F,EAAGylB,WAAWzlB,EAAG4iB,aAAcvgB,KAAKuiB,OAAQ5kB,EAAG0lB,aAE/C1lB,EAAG2iB,WAAW3iB,EAAG+iB,qBAAsB1gB,KAAKq8F,cAC5C1+F,EAAGylB,WAAWzlB,EAAG+iB,qBAAsB1gB,KAAK4S,QAASjV,EAAG0lB,cAU5D7hB,EAAO+yE,KAAKjyE,UAAU85F,aAAe,SAAUx2F,GAE3C,IAAIjI,EAAKiI,EAAcjI,GACnB6Z,EAAa5R,EAAc4R,WAC3BC,EAAS7R,EAAc6R,OACvBxK,EAASrH,EAAc8R,cAAc0J,YAErCy6E,EAAY77F,KAAK67F,WAAar6F,EAAO+yE,KAAK30D,eAAkBjiB,EAAGiiB,eAAiBjiB,EAAGkoB,UAEvFjgB,EAAcqS,iBAAiBmD,aAAapb,KAAKiI,WAGjDtK,EAAGoW,iBAAiB9G,EAAO+I,mBAAmB,EAAOhW,KAAKuB,eAAe0e,SAAQ,IACjFtiB,EAAGuiB,UAAUjT,EAAOmF,iBAAkBoF,EAAWzT,GAAIyT,EAAWxT,GAChErG,EAAGuiB,UAAUjT,EAAOoF,cAAeoF,EAAO1T,GAAI0T,EAAOzT,GACrDrG,EAAGqiB,UAAU/S,EAAOhM,MAAOjB,KAAKsB,YAE3BtB,KAAKwR,OA2BNxR,KAAKwR,OAAQ,EAEb7T,EAAG2iB,WAAW3iB,EAAG4iB,aAAcvgB,KAAKk8F,eACpCv+F,EAAGylB,WAAWzlB,EAAG4iB,aAAcvgB,KAAKmiB,SAAUxkB,EAAG0lB,aACjD1lB,EAAG6iB,oBAAoBvT,EAAOsF,gBAAiB,EAAG5U,EAAG8iB,OAAO,EAAO,EAAG,GAGtE9iB,EAAG2iB,WAAW3iB,EAAG4iB,aAAcvgB,KAAKs8F,WACpC3+F,EAAGylB,WAAWzlB,EAAG4iB,aAAcvgB,KAAKwjB,IAAK7lB,EAAG0lB,aAC5C1lB,EAAG6iB,oBAAoBvT,EAAOwF,cAAe,EAAG9U,EAAG8iB,OAAO,EAAO,EAAG,GAEpE9iB,EAAG6B,cAAc7B,EAAG8B,UAGhBO,KAAKjC,QAAQqI,YAAYkP,OAAO3X,EAAGuW,IAEnCtO,EAAcf,SAAS2Q,cAAcxV,KAAKjC,QAAQqI,aAIlDzI,EAAGM,YAAYN,EAAGO,WAAY8B,KAAKjC,QAAQqI,YAAY6N,YAAYtW,EAAGuW,KAG1EvW,EAAG2iB,WAAW3iB,EAAG+iB,qBAAsB1gB,KAAKq8F,cAC5C1+F,EAAGylB,WAAWzlB,EAAG+iB,qBAAsB1gB,KAAK4S,QAASjV,EAAG0lB,eAjDxD1lB,EAAG2iB,WAAW3iB,EAAG4iB,aAAcvgB,KAAKk8F,eACpCv+F,EAAGsnB,cAActnB,EAAG4iB,aAAc,EAAGvgB,KAAKmiB,UAC1CxkB,EAAG6iB,oBAAoBvT,EAAOsF,gBAAiB,EAAG5U,EAAG8iB,OAAO,EAAO,EAAG,GAGtE9iB,EAAG2iB,WAAW3iB,EAAG4iB,aAAcvgB,KAAKs8F,WACpC3+F,EAAG6iB,oBAAoBvT,EAAOwF,cAAe,EAAG9U,EAAG8iB,OAAO,EAAO,EAAG,GAEpE9iB,EAAG6B,cAAc7B,EAAG8B,UAGhBO,KAAKjC,QAAQqI,YAAYkP,OAAO3X,EAAGuW,IAEnCtO,EAAcf,SAAS2Q,cAAcxV,KAAKjC,QAAQqI,aAKlDzI,EAAGM,YAAYN,EAAGO,WAAY8B,KAAKjC,QAAQqI,YAAY6N,YAAYtW,EAAGuW,KAG1EvW,EAAG2iB,WAAW3iB,EAAG+iB,qBAAsB1gB,KAAKq8F,eA+BhD1+F,EAAG2hB,aAAau8E,EAAU77F,KAAK4S,QAAQjQ,OAAQhF,EAAG6hB,eAAgB,IAUtEhe,EAAO+yE,KAAKjyE,UAAU0D,cAAgB,SAAUJ,GAE5C,IAAIkI,EAAUlI,EAAckI,QAExBwa,EAAYtoB,KAAKuB,eAEjB+B,EAAMglB,EAAUhlB,GAAKsC,EAAchB,WAAcgB,EAAc0I,OAC/D/K,EAAM+kB,EAAU/kB,GAAKqC,EAAchB,WAAcgB,EAAc2I,OAE/D3I,EAAcgJ,YAEdd,EAAQe,aAAayZ,EAAUplB,EAAGolB,EAAUnlB,EAAGmlB,EAAUllB,EAAGklB,EAAUjlB,EAAQ,EAALC,EAAa,EAALC,GAIjFuK,EAAQe,aAAayZ,EAAUplB,EAAGolB,EAAUnlB,EAAGmlB,EAAUllB,EAAGklB,EAAUjlB,EAAGC,EAAIC,GAG7EvD,KAAK67F,WAAar6F,EAAO+yE,KAAK30D,eAE9B5f,KAAKw8F,2BAA2B1uF,GAIhC9N,KAAKy8F,uBAAuB3uF,IAWpCtM,EAAO+yE,KAAKjyE,UAAUk6F,2BAA6B,SAAU1uF,GAGzD,IAAIqU,EAAWniB,KAAKmiB,SAChBqB,EAAMxjB,KAAKwjB,IAEX7gB,EAASwf,EAASxf,OAAS,EAE/B3C,KAAKwe,QAEL,IAAK,IAAI9b,EAAI,EAAGA,EAAIC,EAAS,EAAGD,IAChC,CACI,IAAIkG,EAAY,EAAJlG,EACZ1C,KAAK08F,0BAA0B5uF,EAASqU,EAAUqB,EAAK5a,EAAQA,EAAQ,EAAKA,EAAQ,KAW5FpH,EAAO+yE,KAAKjyE,UAAUm6F,uBAAyB,SAAU3uF,GAErD,IAAIqU,EAAWniB,KAAKmiB,SAChBqB,EAAMxjB,KAAKwjB,IACX5Q,EAAU5S,KAAK4S,QAEfjQ,EAASiQ,EAAQjQ,OAErB3C,KAAKwe,QAEL,IAAK,IAAI9b,EAAI,EAAGA,EAAIC,EAAQD,GAAK,EACjC,CACI,IAAIi6F,EAAsB,EAAb/pF,EAAQlQ,GACjBwG,EAA0B,EAAjB0J,EAAQlQ,EAAI,GACrB0G,EAA0B,EAAjBwJ,EAAQlQ,EAAI,GAEzB1C,KAAK08F,0BAA0B5uF,EAASqU,EAAUqB,EAAKm5E,EAAQzzF,EAAQE,KAW/E5H,EAAO+yE,KAAKjyE,UAAUo6F,0BAA4B,SAAU5uF,EAASqU,EAAUqB,EAAKm5E,EAAQzzF,EAAQE,GAEhG,IAAIwzF,EAAgB58F,KAAKjC,QAAQqI,YAAYgJ,OACzCytF,EAAe78F,KAAKjC,QAAQH,MAC5Bk/F,EAAgB98F,KAAKjC,QAAQF,OAE7BsmB,EAAKhC,EAASw6E,GACdrxF,EAAK6W,EAASjZ,GACdsC,EAAK2W,EAAS/Y,GACdgb,EAAKjC,EAASw6E,EAAS,GACvBpxF,EAAK4W,EAASjZ,EAAS,GACvBuC,EAAK0W,EAAS/Y,EAAS,GAEvB2zF,EAAKv5E,EAAIm5E,GAAUE,EACnBG,EAAKx5E,EAAIta,GAAU2zF,EACnBI,EAAKz5E,EAAIpa,GAAUyzF,EACnBK,EAAK15E,EAAIm5E,EAAS,GAAKG,EACvBK,EAAK35E,EAAIta,EAAS,GAAK4zF,EACvBM,EAAK55E,EAAIpa,EAAS,GAAK0zF,EAE3B,GAAI98F,KAAK47F,cAAgB,EACzB,CACI,IAAIyB,EAAWr9F,KAAK47F,cAAgB57F,KAAKuB,eAAe2B,EACpDo6F,EAAWt9F,KAAK47F,cAAgB57F,KAAKuB,eAAe8B,EACpD00B,GAAW5T,EAAK7Y,EAAKE,GAAM,EAC3BwsB,GAAW5T,EAAK7Y,EAAKE,GAAM,EAE3B8xF,EAAQp5E,EAAK4T,EACbylE,EAAQp5E,EAAK4T,EAEbqyD,EAAO3mF,KAAKS,KAAMo5F,EAAQA,EAAUC,EAAQA,GAChDr5E,EAAK4T,EAAWwlE,EAAQlT,GAASA,EAAOgT,GACxCj5E,EAAK4T,EAAWwlE,EAAQnT,GAASA,EAAOiT,GAGxCE,EAAQjyF,EAAKysB,EAGb1sB,EAAKysB,GAJLwlE,EAAQjyF,EAAKysB,IAGbsyD,EAAO3mF,KAAKS,KAAMo5F,EAAQA,EAAUC,EAAQA,KACXnT,EAAOgT,GACxC9xF,EAAKysB,EAAWwlE,EAAQnT,GAASA,EAAOiT,GAGxCE,EAAQ/xF,EAAKusB,EAGbxsB,EAAKusB,GAJLwlE,EAAQ/xF,EAAKusB,IAGbsyD,EAAO3mF,KAAKS,KAAMo5F,EAAQA,EAAUC,EAAQA,KACXnT,EAAOgT,GACxC5xF,EAAKusB,EAAWwlE,EAAQnT,GAASA,EAAOiT,GAG5CxvF,EAAQsa,OACRta,EAAQ6xE,YAER7xE,EAAQgyE,OAAO37D,EAAIC,GACnBtW,EAAQiyE,OAAOz0E,EAAIC,GACnBuC,EAAQiyE,OAAOv0E,EAAIC,GAEnBqC,EAAQ+xE,YAER/xE,EAAQ2a,OAGR,IAAIid,EAASq3D,EAAKI,EAAOD,EAAKD,EAAOD,EAAKI,EAAOD,EAAKF,EAAOC,EAAKF,EAAOD,EAAKK,EAC1EK,EAAUt5E,EAAKg5E,EAAOD,EAAK1xF,EAAOF,EAAK8xF,EAAOD,EAAK3xF,EAAO0xF,EAAK5xF,EAAO6Y,EAAKi5E,EAC3EM,EAAUX,EAAKzxF,EAAO6Y,EAAK84E,EAAOD,EAAKxxF,EAAOF,EAAK2xF,EAAO94E,EAAK64E,EAAOD,EAAKvxF,EAC3EmyF,EAAUZ,EAAKI,EAAK3xF,EAAO0xF,EAAK5xF,EAAK2xF,EAAO94E,EAAK64E,EAAKI,EAAOj5E,EAAKg5E,EAAKF,EAAOC,EAAKF,EAAKxxF,EAAOuxF,EAAKzxF,EAAK8xF,EACzGQ,EAAUx5E,EAAK+4E,EAAOD,EAAKzxF,EAAOF,EAAK6xF,EAAOD,EAAK1xF,EAAOyxF,EAAK3xF,EAAO6Y,EAAKg5E,EAC3ES,EAAUd,EAAKxxF,EAAO6Y,EAAK64E,EAAOD,EAAKvxF,EAAOF,EAAK0xF,EAAO74E,EAAK44E,EAAOD,EAAKtxF,EAC3EqyF,EAAUf,EAAKI,EAAK1xF,EAAOyxF,EAAK3xF,EAAK0xF,EAAO74E,EAAK44E,EAAKI,EAAOh5E,EAAK+4E,EAAKF,EAAOC,EAAKF,EAAKvxF,EAAOsxF,EAAKxxF,EAAK6xF,EAE7GtvF,EAAQwa,UACJm1E,EAAS/3D,EACTk4D,EAASl4D,EACTg4D,EAASh4D,EACTm4D,EAASn4D,EACTi4D,EAASj4D,EACTo4D,EAASp4D,GAEb53B,EAAQmB,UAAU2tF,EAAe,EAAG,GACpC9uF,EAAQ4a,WASZlnB,EAAO+yE,KAAKjyE,UAAUy7F,gBAAkB,SAAUC,GAE9C,IAAIlwF,EAAU9N,KAAK8N,QACfqU,EAAW67E,EAAM77E,SAEjBxf,EAASwf,EAASxf,OAAS,EAE/B3C,KAAKwe,QAEL1Q,EAAQ6xE,YAER,IAAK,IAAIj9E,EAAI,EAAGA,EAAIC,EAAS,EAAGD,IAChC,CAEI,IAAIkG,EAAY,EAAJlG,EAERyhB,EAAKhC,EAASvZ,GACd0C,EAAK6W,EAASvZ,EAAQ,GACtB4C,EAAK2W,EAASvZ,EAAQ,GACtBwb,EAAKjC,EAASvZ,EAAQ,GACtB2C,EAAK4W,EAASvZ,EAAQ,GACtB6C,EAAK0W,EAASvZ,EAAQ,GAE1BkF,EAAQgyE,OAAO37D,EAAIC,GACnBtW,EAAQiyE,OAAOz0E,EAAIC,GACnBuC,EAAQiyE,OAAOv0E,EAAIC,GAGvBqC,EAAQ+a,UAAY,UACpB/a,EAAQ+4C,OACR/4C,EAAQ+xE,aAWZr+E,EAAO+yE,KAAKjyE,UAAU4H,UAAY,SAAUwD,GAmBxC,IAAK,IAjBDnM,EAAiBmM,GAAU1N,KAAKuB,eAEhC2B,EAAI3B,EAAe2B,EACnBC,EAAI5B,EAAe4B,EACnBC,EAAI7B,EAAe6B,EACnBC,EAAI9B,EAAe8B,EACnBC,EAAK/B,EAAe+B,GACpBC,EAAKhC,EAAegC,GAEpBwH,GAAQF,EAAAA,EACRG,GAAQH,EAAAA,EAERD,EAAOC,EAAAA,EACPC,EAAOD,EAAAA,EAEPsX,EAAWniB,KAAKmiB,SAEXzf,EAAI,EAAGA,EAAIyf,EAASxf,OAAQD,GAAK,EAC1C,CACI,IAAIu7F,EAAO97E,EAASzf,GAChBw7F,EAAO/7E,EAASzf,EAAI,GACpBqB,EAAKb,EAAI+6F,EAAS76F,EAAI86F,EAAQ56F,EAC9BU,EAAKX,EAAI66F,EAAS/6F,EAAI86F,EAAQ16F,EAElCqH,EAAO7G,EAAI6G,EAAO7G,EAAI6G,EACtBE,EAAO9G,EAAI8G,EAAO9G,EAAI8G,EAEtBC,EAAOhH,EAAIgH,EAAOhH,EAAIgH,EACtBC,EAAOhH,EAAIgH,EAAOhH,EAAIgH,EAG1B,GAAIJ,KAAUC,EAAAA,GAAYG,IAASH,EAAAA,EAE/B,OAAOrJ,EAAOsgC,eAGlB,IAAIh9B,EAAS9E,KAAKgC,QAWlB,OATA8C,EAAOf,EAAI6G,EACX9F,EAAOlH,MAAQmN,EAAOH,EAEtB9F,EAAOd,EAAI8G,EACXhG,EAAOjH,OAASmN,EAAOF,EAGvB9K,KAAKkC,eAAiB4C,EAEfA,GASXkC,OAAOyF,eAAejL,EAAO+yE,KAAKjyE,UAAW,mBAEzC4E,IAAK,WAED,OAAOlH,KAAKm+F,kBAGhBh3F,IAAK,SAAUC,GAEPA,GAA0B,mBAAVA,GAEhBpH,KAAK07F,qBAAsB,EAC3B17F,KAAKm+F,iBAAmB/2F,IAIxBpH,KAAK07F,qBAAsB,EAC3B17F,KAAKm+F,iBAAmB,SAYpCn3F,OAAOyF,eAAejL,EAAO+yE,KAAKjyE,UAAW,YAEzC4E,IAAK,WAKD,IAAK,IAFD0B,EAAO0C,EAAIC,EAAIC,EAAIC,EAAI7N,EAAOC,EAAQi9B,EADtCqzD,KAGKzrF,EAAI,EAAGA,EAAI1C,KAAKw+B,OAAO77B,OAAQD,IAEpCkG,EAAY,EAAJlG,EAER4I,EAAKtL,KAAKmiB,SAASvZ,GAAS5I,KAAKc,MAAMiD,EACvCwH,EAAKvL,KAAKmiB,SAASvZ,EAAQ,GAAK5I,KAAKc,MAAMkD,EAC3CwH,EAAKxL,KAAKmiB,SAASvZ,EAAQ,GAAK5I,KAAKc,MAAMiD,EAC3C0H,EAAKzL,KAAKmiB,SAASvZ,EAAQ,GAAK5I,KAAKc,MAAMkD,EAE3CpG,EAAQ4D,EAAOkC,KAAK06F,WAAW9yF,EAAIE,GACnC3N,EAAS2D,EAAOkC,KAAK06F,WAAW7yF,EAAIE,GAEpCH,GAAMtL,KAAKiD,MAAMc,EACjBwH,GAAMvL,KAAKiD,MAAMe,EACjB82B,EAAO,IAAIt5B,EAAOS,UAAUqJ,EAAIC,EAAI3N,EAAOC,GAC3CswF,EAASrmF,KAAKgzB,GAGlB,OAAOqzD,KA+Df3sF,EAAOmlD,WAAa,SAAU5jD,EAAMgB,EAAGC,EAAGpG,EAAOC,EAAQmV,EAAK3F,GAE1DtJ,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTpG,EAAQA,GAAS,IACjBC,EAASA,GAAU,IACnBmV,EAAMA,GAAO,KACb3F,EAAQA,GAAS,KAEjB7O,KAAKsH,OAAOtB,KAAKxE,KAAM,IAAIxB,KAAKqO,QAAQrL,EAAOotC,MAAMhnB,QAAQxhB,aAAcxI,EAAOC,GAMlFmC,KAAKwT,KAAOhS,EAAOirB,WAMnBzsB,KAAK4yC,YAAcpxC,EAAO4qB,OAM1BpsB,KAAKq+F,QAAU,IAAI78F,EAAOX,MAK1Bb,KAAK8kB,UAAY,IAAItjB,EAAOX,MAAM,EAAG,GAKrCb,KAAK0kB,gBAAkB,IAAIljB,EAAOX,MAAM,EAAG,GAK3Cb,KAAKykB,aAAe,IAAIjjB,EAAOX,MAQ/Bb,KAAKs+F,cAAe,EAOpBt+F,KAAKmvF,aAAe,KAOpBnvF,KAAKskB,cAAgB,KAOrBtkB,KAAKu+F,YAAc,KAQnBv+F,KAAKyyE,gBAAiB,EAEtBzyE,KAAKw+F,WAAa,EAClBx+F,KAAKy+F,YAAc,EAEnBz+F,KAAK0M,OAAS9O,EACdoC,KAAK2M,QAAU9O,EAEf2D,EAAOupE,UAAUiB,KAAKt6D,KAAKlN,KAAKxE,KAAM+C,EAAMgB,EAAGC,EAAGgP,EAAK3F,IAG3D7L,EAAOmlD,WAAWrkD,UAAY0E,OAAOwB,OAAOhK,KAAKsH,OAAOxD,WACxDd,EAAOmlD,WAAWrkD,UAAUC,YAAcf,EAAOmlD,WAEjDnlD,EAAOupE,UAAUiB,KAAKC,QAAQznE,KAAKhD,EAAOmlD,WAAWrkD,WACjD,QACA,YACA,WACA,SACA,aACA,UACA,gBACA,SACA,WACA,eACA,UACA,WACA,cACA,UACA,cACA,QACA,aAGJd,EAAOmlD,WAAWrkD,UAAUo0E,iBAAmBl1E,EAAOupE,UAAUsB,YAAY3nE,UAC5ElD,EAAOmlD,WAAWrkD,UAAUq0E,kBAAoBn1E,EAAOupE,UAAUuG,SAAS5sE,UAC1ElD,EAAOmlD,WAAWrkD,UAAUs0E,iBAAmBp1E,EAAOupE,UAAUgG,QAAQrsE,UACxElD,EAAOmlD,WAAWrkD,UAAUu0E,cAAgBr1E,EAAOupE,UAAUiB,KAAKtnE,UASlElD,EAAOmlD,WAAWrkD,UAAUoC,UAAY,WAYpC,OAVuB,IAAnB1E,KAAKq+F,QAAQt6F,IAEb/D,KAAKykB,aAAa1gB,GAAsB,KAAjB/D,KAAKq+F,QAAQt6F,EAAY/D,KAAK+C,KAAK0iC,KAAKC,OAG5C,IAAnB1lC,KAAKq+F,QAAQr6F,IAEbhE,KAAKykB,aAAazgB,GAAsB,KAAjBhE,KAAKq+F,QAAQr6F,EAAYhE,KAAK+C,KAAK0iC,KAAKC,UAG9D1lC,KAAK02E,oBAAuB12E,KAAK22E,qBAAwB32E,KAAK42E,qBAK5D52E,KAAK62E,iBAehBr1E,EAAOmlD,WAAWrkD,UAAUo8F,WAAa,SAAU36F,EAAGC,GAIlD,OAFAhE,KAAKq+F,QAAQl3F,IAAIpD,EAAGC,GAEbhE,MAUXwB,EAAOmlD,WAAWrkD,UAAUq8F,WAAa,WAIrC,OAFA3+F,KAAKq+F,QAAQl3F,IAAI,EAAG,GAEbnH,MAWXwB,EAAOmlD,WAAWrkD,UAAUE,QAAU,SAAUo4C,GAE5Cp5C,EAAOupE,UAAU8C,QAAQvrE,UAAUE,QAAQgC,KAAKxE,KAAM46C,GAEtDp8C,KAAKsH,OAAOxD,UAAUE,QAAQgC,KAAKxE,MAE/BA,KAAKmvF,eAELnvF,KAAKmvF,aAAa3sF,UAClBxC,KAAKmvF,aAAe,MAGxBnvF,KAAK8kB,UAAY,KACjB9kB,KAAK0kB,gBAAkB,KACvB1kB,KAAKykB,aAAe,KAEhBzkB,KAAKskB,gBAELtkB,KAAKskB,cAAc9hB,SAAQ,GAC3BxC,KAAKskB,cAAgB,OAe7B9iB,EAAOmlD,WAAWrkD,UAAUgkC,MAAQ,SAAUviC,EAAGC,GAO7C,OALAxC,EAAOupE,UAAU+H,MAAMxwE,UAAUgkC,MAAM9hC,KAAKxE,KAAM+D,EAAGC,GAErDhE,KAAKykB,aAAa1gB,EAAI,EACtB/D,KAAKykB,aAAazgB,EAAI,EAEfhE,MAYXwB,EAAOmlD,WAAWrkD,UAAUgL,WAAa,SAAUvP,GAS/C,OAPIiC,KAAKjC,UAAYA,IAEjBiC,KAAKjC,QAAUA,EACfiC,KAAKyyE,gBAAiB,EACtBzyE,KAAKgN,WAAa,UAGfhN,MAWXwB,EAAOmlD,WAAWrkD,UAAUyD,aAAe,SAAUH,GAEjD,GAAK5F,KAAKkB,SAAYlB,KAAKoB,YAA6B,IAAfpB,KAAKiB,MAA9C,CAkBA,GAbIjB,KAAKmC,QAELyD,EAAcmG,YAAYI,OAC1BvG,EAAcwG,YAAYC,SAASrM,KAAKuH,KAAM3B,GAC9CA,EAAcmG,YAAYO,SAG1BtM,KAAKyG,WAELb,EAAcmG,YAAYC,QAC1BpG,EAAcqG,cAAcC,WAAWlM,KAAK+H,eAG5C/H,KAAKyyE,eACT,CAGI,GAFAzyE,KAAK4+F,uBAAsB,EAAMh5F,IAE7B5F,KAAKskB,cAWL,OATItkB,KAAKskB,cAAcu6E,cAEnB7+F,KAAKskB,cAAcle,YAAYE,aAAetG,KAAKjC,QAAQqI,YAAYE,aACvEV,EAAcf,SAAS2Q,cAAcxV,KAAKskB,cAAcle,aACxDpG,KAAKskB,cAAcu6E,aAAc,GAS7Cj5F,EAAcmG,YAAYsY,mBAAmBrkB,MAE7C,IAAK,IAAI0C,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGqD,aAAaH,GAGlC,IAAIk5F,GAAe,EAEf9+F,KAAKyG,WAELq4F,GAAe,EACfl5F,EAAcmG,YAAYI,OAC1BvG,EAAcqG,cAAcO,aAG5BxM,KAAKmC,QAEA28F,GAEDl5F,EAAcmG,YAAYI,OAG9BvG,EAAcwG,YAAYG,QAAQvM,KAAKmC,MAAOyD,IAG9Ck5F,GAEAl5F,EAAcmG,YAAYO,UAYlC9K,EAAOmlD,WAAWrkD,UAAU0D,cAAgB,SAAUJ,GAElD,GAAK5F,KAAKkB,SAAYlB,KAAKoB,YAA6B,IAAfpB,KAAKiB,MAA9C,CAKA,IAAI6M,EAAUlI,EAAckI,QAExB9N,KAAKmC,OAELyD,EAAcwG,YAAYC,SAASrM,KAAKmC,MAAOyD,GAGnDkI,EAAQG,YAAcjO,KAAKsB,WAE3B,IAAImC,EAAKzD,KAAKuB,eACVqD,EAAagB,EAAchB,WAC3BtB,EAAMG,EAAGH,GAAKsB,EAAcgB,EAAc0I,OAC1C/K,EAAME,EAAGF,GAAKqB,EAAcgB,EAAc2I,OAa9C,GAXAT,EAAQe,aAAapL,EAAGP,EAAI0B,EAAYnB,EAAGN,EAAIyB,EAAYnB,EAAGL,EAAIwB,EAAYnB,EAAGJ,EAAIuB,EAAYtB,EAAIC,GAEnF,WAAdvD,KAAK+M,OAAsB/M,KAAKjC,QAAQ+Q,gBAAkB9O,KAAKgN,aAAehN,KAAK+M,OAEnF/M,KAAK4G,cAAgBpI,KAAKuQ,aAAaC,iBAAiBhP,KAAMA,KAAK+M,MAEnE/M,KAAKgN,WAAahN,KAAK+M,KACvB/M,KAAKjC,QAAQ+Q,gBAAiB,EAC9B9O,KAAKyyE,gBAAiB,GAGtBzyE,KAAKyyE,eACT,CAGI,GAFAzyE,KAAK4+F,uBAAsB,EAAOh5F,IAE9B5F,KAAKskB,cAML,OAJAtkB,KAAKu+F,YAAczwF,EAAQuyE,cAAcrgF,KAAKskB,cAAcle,YAAYgJ,OAAQ,UAQxF,IAAI2vF,EAAmBn5F,EAAciI,iBAGjC7N,KAAKiI,YAAcrC,EAAciI,mBAEjCjI,EAAciI,iBAAmB7N,KAAKiI,UACtC6F,EAAQC,yBAA2BvP,KAAKwP,iBAAiBpI,EAAciI,mBAG3E,IAAI4W,EAAezkB,KAAKykB,aACpBK,EAAY9kB,KAAK8kB,UAErBL,EAAa1gB,GAAK/D,KAAKskB,cAAcle,YAAYxI,MACjD6mB,EAAazgB,GAAKhE,KAAKskB,cAAcle,YAAYvI,OAGjDiQ,EAAQhN,MAAMgkB,EAAU/gB,EAAG+gB,EAAU9gB,GACrC8J,EAAQiuB,UAAUtX,EAAa1gB,EAAK/D,KAAK2G,OAAO5C,GAAK/D,KAAK0M,OAAS+X,EAAazgB,EAAKhE,KAAK2G,OAAO3C,GAAKhE,KAAK2M,SAE3GmB,EAAQ+a,UAAY7oB,KAAKu+F,YAEzBj7F,GAAMmhB,EAAa1gB,EACnBR,GAAMkhB,EAAazgB,EAEnB,IAAIonB,EAAKprB,KAAK0M,OAASoY,EAAU/gB,EAC7BsnB,EAAKrrB,KAAK2M,QAAUmY,EAAU9gB,EAG9B4B,EAAcgJ,cAEdtL,GAAM,EACNC,GAAM,EACN6nB,GAAM,EACNC,GAAM,GAGVvd,EAAQkb,SAAS1lB,EAAIC,EAAI6nB,EAAIC,GAG7Bvd,EAAQhN,MAAM,EAAIgkB,EAAU/gB,EAAG,EAAI+gB,EAAU9gB,GAC7C8J,EAAQiuB,WAAWtX,EAAa1gB,EAAK/D,KAAK2G,OAAO5C,EAAI/D,KAAK0M,QAAU+X,EAAazgB,EAAKhE,KAAK2G,OAAO3C,EAAIhE,KAAK2M,SAEvG3M,KAAKmC,OAELyD,EAAcwG,YAAYG,QAAQ3G,GAGtC,IAAK,IAAIlD,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGsD,cAAcJ,GAI/Bm5F,IAAqB/+F,KAAKiI,YAE1BrC,EAAciI,iBAAmBkxF,EACjCjxF,EAAQC,yBAA2BvP,KAAKwP,iBAAiB+wF,MAWjEv9F,EAAOmlD,WAAWrkD,UAAU8K,gBAAkB,aAc9C5L,EAAOmlD,WAAWrkD,UAAUs8F,sBAAwB,SAAUI,GAE1D,GAAKh/F,KAAKjC,QAAQqI,YAAY+G,UAA9B,CAKA,IAAIpP,EAAUiC,KAAKjC,QACfsP,EAAQtP,EAAQsP,MAEhB4xF,EAAcj/F,KAAKytE,OAAO8E,aAAevyE,KAAKytE,OAAO7vE,MACrDshG,EAAel/F,KAAKytE,OAAO+E,aAAexyE,KAAKytE,OAAO5vE,OAEtDsQ,EAAK,EACLE,EAAK,EAELrO,KAAKytE,OAAO2E,UAEZjkE,EAAKnO,KAAKytE,OAAO4E,kBACjBhkE,EAAKrO,KAAKytE,OAAO6E,mBAGjB0sB,IAEAC,EAAcz9F,EAAOkC,KAAKy7F,kBAAkBF,GAC5CC,EAAe19F,EAAOkC,KAAKy7F,kBAAkBD,IAG7Cl/F,KAAKmvF,cAELnvF,KAAKmvF,aAAahpF,OAAO84F,EAAaC,GACtCl/F,KAAKskB,cAAcle,YAAYxI,MAAQqhG,EACvCj/F,KAAKskB,cAAcle,YAAYvI,OAASqhG,EACxCl/F,KAAKskB,cAAcu6E,aAAc,IAIjC7+F,KAAKmvF,aAAe,IAAI3wF,KAAKypB,aAAag3E,EAAaC,GACvDl/F,KAAKskB,cAAgB9lB,KAAKqO,QAAQ+d,WAAW5qB,KAAKmvF,aAAaj4E,QAC/DlX,KAAKskB,cAAcyG,UAAW,EAC9B/qB,KAAKskB,cAAcu6E,aAAc,GAGjC7+F,KAAKs+F,eAELt+F,KAAKmvF,aAAarhF,QAAQmyE,YAAc,UACxCjgF,KAAKmvF,aAAarhF,QAAQi9E,WAAW,EAAG,EAAGkU,EAAaC,IAI5D,IAAI7pF,EAAItX,EAAQ6P,KAAKhQ,MACjB4mB,EAAIzmB,EAAQ6P,KAAK/P,OAEjBwX,IAAM4pF,GAAez6E,IAAM06E,IAE3B7pF,EAAI4pF,EACJz6E,EAAI06E,GAGR,IAAIz+F,EAAgBT,KAAK4G,cAAgB5G,KAAK4G,cAAgB7I,EAAQqI,YAAYgJ,OAElFpP,KAAKmvF,aAAarhF,QAAQmB,UACtBxO,EACA1C,EAAQ6P,KAAK7J,EACbhG,EAAQ6P,KAAK5J,EACbjG,EAAQ6P,KAAKhQ,MACbG,EAAQ6P,KAAK/P,OACbsQ,EACAE,EACAgH,EACAmP,GAGJxkB,KAAK0kB,gBAAgB3gB,EAAIsJ,EAAMzP,MAAQqhG,EACvCj/F,KAAK0kB,gBAAgB1gB,EAAIqJ,EAAMxP,OAASqhG,EAExCl/F,KAAKyyE,gBAAiB,EAEtBzyE,KAAKskB,cAAcle,YAAY6V,WAAY,IAU/Cza,EAAOmlD,WAAWrkD,UAAU4H,UAAY,WAEpC,IAAItM,EAAQoC,KAAK0M,OACb7O,EAASmC,KAAK2M,QAEdzB,EAAKtN,GAAS,EAAIoC,KAAK2G,OAAO5C,GAC9BoH,EAAKvN,GAASoC,KAAK2G,OAAO5C,EAE1BqH,EAAKvN,GAAU,EAAImC,KAAK2G,OAAO3C,GAC/BqH,EAAKxN,GAAUmC,KAAK2G,OAAO3C,EAE3BzC,EAAiBvB,KAAKuB,eAEtB2B,EAAI3B,EAAe2B,EACnBC,EAAI5B,EAAe4B,EACnBC,EAAI7B,EAAe6B,EACnBC,EAAI9B,EAAe8B,EACnBC,EAAK/B,EAAe+B,GACpBC,EAAKhC,EAAegC,GAEpB+H,EAAMpI,EAAIiI,EAAO/H,EAAIiI,EAAM/H,EAC3BiI,EAAMlI,EAAIgI,EAAOlI,EAAIgI,EAAM5H,EAE3BiI,EAAMtI,EAAIgI,EAAO9H,EAAIiI,EAAM/H,EAC3BmI,EAAMpI,EAAIgI,EAAOlI,EAAI+H,EAAM3H,EAE3BmI,EAAMxI,EAAIgI,EAAO9H,EAAIgI,EAAM9H,EAC3BqI,EAAMtI,EAAI+H,EAAOjI,EAAI+H,EAAM3H,EAE3BqI,EAAK1I,EAAIiI,EAAK/H,EAAIgI,EAAK9H,EACvBuI,EAAKxI,EAAI+H,EAAKjI,EAAIgI,EAAK5H,EAEvBwH,GAAQF,EAAAA,EACRG,GAAQH,EAAAA,EAERD,EAAOC,EAAAA,EACPC,EAAOD,EAAAA,EAKXD,EAAOgB,GADPhB,EAAOc,GADPd,EAAOY,GADPZ,EAAOU,EAAKV,EAAOU,EAAKV,GACLY,EAAKZ,GACLc,EAAKd,GACLgB,EAAKhB,EAKxBE,EAAOe,GADPf,EAAOa,GADPb,EAAOW,GADPX,EAAOS,EAAKT,EAAOS,EAAKT,GACLW,EAAKX,GACLa,EAAKb,GACLe,EAAKf,EAKxBC,EAAOa,GADPb,EAAOW,GADPX,EAAOS,GADPT,EAAOO,EAAKP,EAAOO,EAAKP,GACLS,EAAKT,GACLW,EAAKX,GACLa,EAAKb,EAKxBC,EAAOa,GADPb,EAAOW,GADPX,EAAOS,GADPT,EAAOO,EAAKP,EAAOO,EAAKP,GACLS,EAAKT,GACLW,EAAKX,GACLa,EAAKb,EAGxB,IAAIlG,EAAS9E,KAAKgC,QAWlB,OATA8C,EAAOf,EAAI6G,EACX9F,EAAOlH,MAAQmN,EAAOH,EAEtB9F,EAAOd,EAAI8G,EACXhG,EAAOjH,OAASmN,EAAOF,EAGvB9K,KAAKkC,eAAiB4C,EAEfA,GASXkC,OAAOyF,eAAejL,EAAOmlD,WAAWrkD,UAAW,SAE/C4E,IAAK,WAED,OAAOlH,KAAK0M,QAGhBvF,IAAK,SAAUC,GAEXpH,KAAK0M,OAAStF,KAWtBJ,OAAOyF,eAAejL,EAAOmlD,WAAWrkD,UAAW,UAE/C4E,IAAK,WAED,OAAOlH,KAAK2M,SAGhBxF,IAAK,SAAUC,GAEXpH,KAAK2M,QAAUvF,KAiBvB5F,EAAOqF,YAYH2B,OAAQ,SAAUnH,EAAQzD,EAAOC,GAE7B,IACIqZ,EADAq/E,EAAM/0F,EAAOqF,WAAWsvC,WAG5B,IAAa,IAATogD,EACJ,CACI,IAAI1qB,GACAxqE,OAAQA,EACR6V,OAAQm5B,SAASsmD,cAAc,WAGnCn1F,EAAOqF,WAAWu4F,KAAKt3F,KAAK+jE,GAE5B30D,EAAS20D,EAAU30D,YAInB1V,EAAOqF,WAAWu4F,KAAK7I,GAAKl1F,OAASA,EAErC6V,EAAS1V,EAAOqF,WAAWu4F,KAAK7I,GAAKr/E,OASzC,YANc3Q,IAAV3I,IAEAsZ,EAAOtZ,MAAQA,EACfsZ,EAAOrZ,OAASA,GAGbqZ,GAUXi/B,SAAU,WAIN,IAAK,IAFDipD,EAAO59F,EAAOqF,WAAWu4F,KAEpB18F,EAAI,EAAGA,EAAI08F,EAAKz8F,OAAQD,IAE7B,IAAK08F,EAAK18F,GAAGrB,OAET,OAAOqB,EAIf,OAAQ,GAWZ0Z,OAAQ,SAAU/a,GAId,IAAK,IAFD+9F,EAAO59F,EAAOqF,WAAWu4F,KAEpB18F,EAAI,EAAGA,EAAI08F,EAAKz8F,OAAQD,IAEzB08F,EAAK18F,GAAGrB,SAAWA,IAEnB+9F,EAAK18F,GAAGrB,OAAS,KACjB+9F,EAAK18F,GAAGwU,OAAOtZ,MAAQ,EACvBwhG,EAAK18F,GAAGwU,OAAOrZ,OAAS,IAapCiJ,eAAgB,SAAUoQ,GAItB,IAAK,IAFDkoF,EAAO59F,EAAOqF,WAAWu4F,KAEpB18F,EAAI,EAAGA,EAAI08F,EAAKz8F,OAAQD,IAEzB08F,EAAK18F,GAAGwU,SAAWA,IAEnBkoF,EAAK18F,GAAGrB,OAAS,KACjB+9F,EAAK18F,GAAGwU,OAAOtZ,MAAQ,EACvBwhG,EAAK18F,GAAGwU,OAAOrZ,OAAS,IAYpCwhG,SAAU,WAKN,IAAK,IAHDD,EAAO59F,EAAOqF,WAAWu4F,KACzBh8F,EAAI,EAECV,EAAI,EAAGA,EAAI08F,EAAKz8F,OAAQD,IAEzB08F,EAAK18F,GAAGrB,QAER+B,IAIR,OAAOA,GAUXk8F,QAAS,WAKL,IAAK,IAHDF,EAAO59F,EAAOqF,WAAWu4F,KACzBh8F,EAAI,EAECV,EAAI,EAAGA,EAAI08F,EAAKz8F,OAAQD,IAExB08F,EAAK18F,GAAGrB,QAET+B,IAIR,OAAOA,GASXiN,IAAK,WAED/P,QAAQ+P,IACJ,yCACA7O,EAAOqF,WAAWw4F,WAClB79F,EAAOqF,WAAWy4F,UAClB99F,EAAOqF,WAAWu4F,KAAKz8F,UAanCnB,EAAOqF,WAAWu4F,QAUlBp4F,OAAOyF,eAAejL,EAAOqF,WAAY,UACrCK,IAAK,WAED,OAAOlH,KAAKo/F,KAAKz8F,UA6CzBnB,EAAOk6C,OAAS,WAOZ17C,KAAKu/F,cAAgB,EAOrBv/F,KAAKw/F,aAAc,EAQnBx/F,KAAKy/F,SAAU,EAMfz/F,KAAKugD,KAAM,EAMXvgD,KAAK0/F,WAAa,EAMlB1/F,KAAKs/C,UAAW,EAMhBt/C,KAAKqxC,aAAc,EAMnBrxC,KAAKsgD,SAAU,EAMftgD,KAAK2/F,MAAO,EAMZ3/F,KAAK4/F,YAAa,EAMlB5/F,KAAK6/F,UAAW,EAMhB7/F,KAAK8/F,QAAS,EAMd9/F,KAAK+/F,WAAY,EAMjB//F,KAAKggG,SAAU,EAMfhgG,KAAKigG,UAAW,EAMhBjgG,KAAKkgG,OAAQ,EAMblgG,KAAKmgG,OAAQ,EAMbngG,KAAKogG,SAAU,EAMfpgG,KAAKqgG,cAAe,EAQpBrgG,KAAKkX,QAAS,EAMdlX,KAAKsgG,kBAAoB,KAOzBtgG,KAAKspB,gBAAiB,EAUtBtpB,KAAKoqB,gBAAiB,EAOtBpqB,KAAKm/C,OAAQ,EAMbn/C,KAAKugG,MAAO,EAMZvgG,KAAKwgG,YAAa,EAMlBxgG,KAAKygG,cAAe,EAMpBzgG,KAAK0gG,QAAS,EAMd1gG,KAAK2gG,OAAQ,EAMb3gG,KAAK2kD,aAAc,EAMnB3kD,KAAK4gG,YAAa,EAMlB5gG,KAAK6gG,WAAY,EAMjB7gG,KAAK8gG,cAAe,EAMpB9gG,KAAK+gG,YAAa,EAQlB/gG,KAAKgjD,OAAQ,EAMbhjD,KAAKijD,WAAY,EAOjBjjD,KAAKkpD,WAAa,KAQlBlpD,KAAKghG,OAAQ,EAMbhhG,KAAKihG,QAAS,EAMdjhG,KAAKkhG,cAAgB,EAMrBlhG,KAAKmhG,UAAW,EAMhBnhG,KAAKohG,SAAU,EAMfphG,KAAKqhG,eAAiB,EAMtBrhG,KAAK8+C,IAAK,EAMV9+C,KAAKshG,UAAY,EAMjBthG,KAAKuhG,SAAU,EAMfvhG,KAAKwhG,eAAiB,EAMtBxhG,KAAKy7B,MAAO,EAMZz7B,KAAKyhG,cAAe,EAMpBzhG,KAAK0hG,QAAS,EAMd1hG,KAAK2hG,OAAQ,EAMb3hG,KAAK4hG,QAAS,EAMd5hG,KAAK6hG,cAAgB,EAMrB7hG,KAAK8hG,QAAS,EAMd9hG,KAAK+hG,MAAO,EAQZ/hG,KAAKgiG,WAAY,EAOjBhiG,KAAK6+C,UAAW,EAMhB7+C,KAAKiiG,KAAM,EAMXjiG,KAAKkiG,MAAO,EAMZliG,KAAKmiG,KAAM,EAMXniG,KAAKoiG,KAAM,EAOXpiG,KAAKqiG,KAAM,EAMXriG,KAAKsiG,MAAO,EAMZtiG,KAAKuiG,OAAQ,EAQbviG,KAAKwiG,UAAW,EAMhBxiG,KAAKyiG,WAAY,EAMjBziG,KAAK0iG,UAAW,EAMhB1iG,KAAK2iG,WAAY,EAMjB3iG,KAAK4iG,UAAW,EAMhB5iG,KAAK6iG,UAAW,EAQhB7iG,KAAK8iG,QAAS,EAMd9iG,KAAK+iG,SAAU,EAMf/iG,KAAKgjG,MAAO,EAQZhjG,KAAKijG,WAAa,EAMlBjjG,KAAKkjG,cAAe,EAMpBljG,KAAKy9E,eAAgB,EAMrBz9E,KAAKmjG,cAAe,EAMpBnjG,KAAKojG,YAAa,EAMlBpjG,KAAKqjG,kBAAoB,GAMzBrjG,KAAKsjG,iBAAmB,GAMxBtjG,KAAKujG,oBAAqB,GAO9B/hG,EAAOk6C,OAAS,IAAIl6C,EAAOk6C,OAc3Bl6C,EAAOk6C,OAAO8nD,cAAgB,IAAIhiG,EAAO+gC,OAgBzC/gC,EAAOk6C,OAAOyB,UAAY,SAAUnI,EAAUlnC,EAAS21F,GAEnD,IAAIC,EAAa1jG,KAAK2jG,YAEtB,GAAI3jG,KAAKu/F,gBAAkBmE,EAEvB1uD,EAASxwC,KAAKsJ,EAAS9N,WAEtB,GAAI0jG,EAAWE,UAAYH,EAE5BC,EAAWG,OAASH,EAAWG,WAC/BH,EAAWG,OAAO/7F,MAAOktC,EAAUlnC,QAGvC,CACI41F,EAAWE,SAAWF,EAAWzzE,KAAKjwB,MACtC0jG,EAAWG,OAASH,EAAWG,WAC/BH,EAAWG,OAAO/7F,MAAOktC,EAAUlnC,IAEnC,IAAIwyC,OAAoC,IAAnBlwC,OAAOkwC,QACxBhB,EAAWz1B,UAAUC,WAEG,aAAxBumB,SAASyzD,YAAqD,gBAAxBzzD,SAASyzD,WAG/C1zF,OAAO2zF,WAAWL,EAAWE,SAAU,GAElCtjD,IAAYhB,EAMjBjP,SAASW,iBAAiB,cAAe0yD,EAAWE,UAAU,IAI9DvzD,SAASW,iBAAiB,mBAAoB0yD,EAAWE,UAAU,GACnExzF,OAAO4gC,iBAAiB,OAAQ0yD,EAAWE,UAAU,MAYjEpiG,EAAOk6C,OAAOioD,YAAc,WAExB,IAAID,EAAa1jG,KAAK2jG,YAEtB,GAAKtzD,SAAS8B,MAIT,IAAKnyC,KAAKu/F,cACf,CACIv/F,KAAKu/F,cAAgBhyD,KAAK2P,MAE1B7M,SAAS4B,oBAAoB,cAAeyxD,EAAWE,UACvDvzD,SAAS4B,oBAAoB,mBAAoByxD,EAAWE,UAC5DxzF,OAAO6hC,oBAAoB,OAAQyxD,EAAWE,UAE9C5jG,KAAKgkG,cACLhkG,KAAKw/F,aAAc,EAEnBx/F,KAAKwjG,cAAc79D,SAAS3lC,MAG5B,IADA,IAAIsH,EACIA,EAAOo8F,EAAWG,OAAOn1C,SACjC,CACI,IAAI1Z,EAAW1tC,EAAK,GAChBwG,EAAUxG,EAAK,GACnB0tC,EAASxwC,KAAKsJ,EAAS9N,MAI3BA,KAAK2jG,YAAc,KACnB3jG,KAAKgkG,YAAc,KACnBhkG,KAAKwjG,cAAgB,WA1BrBpzF,OAAO2zF,WAAWL,EAAWE,SAAU,KAqC/CpiG,EAAOk6C,OAAOsoD,YAAc,WA0gBxB,SAASC,IAEL,IAAI/gG,EAAI,IAAIkf,YAAY,GACpBjf,EAAI,IAAI8sF,WAAW/sF,GACnBE,EAAI,IAAIof,YAAYtf,GAOxB,OALAC,EAAE,GAAK,IACPA,EAAE,GAAK,IACPA,EAAE,GAAK,IACPA,EAAE,GAAK,IAEM,aAATC,EAAE,IAKO,aAATA,EAAE,IAOK,KASf,SAAS8gG,IAEL,QAA0B39F,IAAtB49F,kBAEA,OAAO,EAGX,IACIlqB,EADOz4E,EAAOqF,WAAW2B,OAAOxI,KAAM,EAAG,GAC9BwY,WAAW,MAE1B,IAAKyhE,EAED,OAAO,EAGX,IAAI//D,EAAQ+/D,EAAImqB,gBAAgB,EAAG,GAInC,OAFA5iG,EAAOqF,WAAWuV,OAAOpc,MAElBka,EAAM9F,gBAAgB+vF,kBA3jBjC,IAAIh6E,EAASnqB,MAKb,WAEI,IAAI46B,EAAK/Q,UAAU0wC,UAEf,mBAAqBu9B,KAAKl9D,GAE1BzQ,EAAOk6E,MAAO,EAET,SAAWvM,KAAKl9D,IAAO,kBAAoBk9D,KAAKl9D,IAAO,sBAAwBk9D,KAAKl9D,GAEzFzQ,EAAOm6E,QAAS,EAOX,UAAYxM,KAAKl9D,GAEtBzQ,EAAO61E,SAAU,EAEZ,OAASlI,KAAKl9D,GAEnBzQ,EAAO81E,UAAW,EAEb,kBAAoBnI,KAAKl9D,IAE9BzQ,EAAOo2B,KAAM,EACZ12B,UAAoB,WAAEihD,MAAM,YAC7B3gD,EAAOu1E,WAAarsE,SAASkxE,OAAOC,GAAI,KAEnC,QAAU1M,KAAKl9D,GAEpBzQ,EAAO+1E,OAAQ,EAEV,SAAWpI,KAAKl9D,GAErBzQ,EAAOg2E,OAAQ,EAEV,UAAYrI,KAAKl9D,KAEtBzQ,EAAOi2E,SAAU,IAGjB,iBAAmBtI,KAAKl9D,IAAO,YAAck9D,KAAKl9D,MAElDzQ,EAAO61E,SAAU,EACjB71E,EAAOo2B,KAAM,EACbp2B,EAAOg2E,OAAQ,EACfh2E,EAAOi2E,SAAU,EACjBj2E,EAAOk2E,cAAe,GAG1B,IAAI0B,EAAO,OAASjK,KAAKl9D,IAErBzQ,EAAOi2E,SAAWj2E,EAAOg2E,OAAUh2E,EAAO+1E,QAAU6B,GAAS53E,EAAO81E,YAEpE91E,EAAOs1E,SAAU,IAIjBt1E,EAAOk2E,cAAkB,cAAgBvI,KAAKl9D,IAAS,SAAWk9D,KAAKl9D,MAEvEzQ,EAAOs1E,SAAU,GA6jBzBgF,GAvWA,WAEI,IAAI7pE,EAAK/Q,UAAU0wC,UA4FnB,GA1FI,QAAUu9B,KAAKl9D,GAEfzQ,EAAO62E,OAAQ,EAEV,YAAclJ,KAAKl9D,GAExBzQ,EAAOsR,MAAO,EAET,gBAAkBq8D,KAAKl9D,KAAQzQ,EAAOk2E,cAE3Cl2E,EAAO82E,QAAS,EAChB92E,EAAO+2E,cAAgB7tE,SAASkxE,OAAOC,GAAI,KAEtC,WAAa1M,KAAKl9D,GAEvBzQ,EAAOg3E,UAAW,EAEb,kBAAoBrJ,KAAKl9D,IAE9BzQ,EAAOi3E,SAAU,EACjBj3E,EAAOk3E,eAAiBhuE,SAASkxE,OAAOC,GAAI,KAEvC,cAAgB1M,KAAKl9D,IAAOzQ,EAAOo2B,IAExCp2B,EAAOs3E,cAAe,EAEjB,mBAAqB3J,KAAKl9D,IAE/BzQ,EAAO20B,IAAK,EACZ30B,EAAOm3E,UAAYjuE,SAASkxE,OAAOC,GAAI,KAElC,SAAW1M,KAAKl9D,GAErBzQ,EAAOu3E,QAAS,EAEX,QAAU5J,KAAKl9D,GAEpBzQ,EAAOw3E,OAAQ,EAEV,gBAAkB7J,KAAKl9D,KAAQzQ,EAAOk2E,cAE3Cl2E,EAAOy3E,QAAS,EAEZ,mBAAqB9J,KAAKl9D,KAE1BzQ,EAAO03E,cAAgBxuE,SAASkxE,OAAOC,GAAI,MAG1C,uCAAyC1M,KAAKl9D,KAEnDzQ,EAAO20B,IAAK,EACZ30B,EAAOo3E,SAAU,EACjBp3E,EAAOq3E,eAAiBnuE,SAASkxE,OAAOC,GAAI,IAC5Cr6E,EAAOm3E,UAAYjuE,SAASkxE,OAAOG,GAAI,KAIvC,OAAS5M,KAAKl9D,KAEdzQ,EAAO43E,MAAO,GAIdl4E,UAAU86E,aAEVx6E,EAAO23E,QAAS,QAGU,IAAnB1xF,OAAOkwC,UAEdn2B,EAAOm2B,SAAU,GAGE,oBAAZskD,SAA8C,oBAAZC,UAEzC16E,EAAOw1E,MAAO,GAGdx1E,EAAOw1E,MAAoC,iBAArBiF,QAAQE,WAE9B36E,EAAOy1E,aAAegF,QAAQE,SAAS,eAEvC36E,EAAO01E,WAAa+E,QAAQE,SAASjF,UAGrCh2E,UAAUC,aAEVK,EAAOm1B,UAAW,GAGlBn1B,EAAOm1B,SAEP,IAEIn1B,EAAOknB,YAAmC,oBAAbC,SAEjC,MAAM/wC,GAEF4pB,EAAOknB,aAAc,OAIA,IAAlBjhC,OAAO0vF,SAEd31E,EAAO21E,QAAS,GAGhB,YAAchI,KAAKl9D,KAEnBzQ,EAAO41E,WAAY,GAuP3BgF,GAtMA,WAEI56E,EAAO63E,YAAe5xF,OAAY,MAClC+Z,EAAO00B,YAAczuC,OAAO40F,eAAgB50F,OAAO60F,oBACnD,IAAIC,EAAe70D,SAASsmD,cAAc,SAE1C,IAEI,GAAIuO,EAAaC,cAETD,EAAaC,YAAY,8BAA8B3wE,QAAQ,OAAQ,MAEvErK,EAAO83E,KAAM,IAGbiD,EAAaC,YAAY,4BAA4B3wE,QAAQ,OAAQ,KAAO0wE,EAAaC,YAAY,eAAe3wE,QAAQ,OAAQ,OAEpIrK,EAAO+3E,MAAO,GAGdgD,EAAaC,YAAY,eAAe3wE,QAAQ,OAAQ,MAExDrK,EAAOg4E,KAAM,GAQb+C,EAAaC,YAAY,aAAa3wE,QAAQ,OAAQ,MAEtDrK,EAAOi4E,KAAM,IAGb8C,EAAaC,YAAY,iBAAmBD,EAAaC,YAAY,cAAc3wE,QAAQ,OAAQ,OAEnGrK,EAAOk4E,KAAM,GAGb6C,EAAaC,YAAY,+BAA+B3wE,QAAQ,OAAQ,MAExErK,EAAOm4E,MAAO,GAG0C,KAAxD4C,EAAaC,YAAY,4BAEzB,GAAIh7E,EAAOsR,KAEPtR,EAAOo4E,OAAQ,OAEd,GAAIp4E,EAAOy3E,QAAUz3E,EAAO03E,eAAiB,GAE1C,uBAAyB/J,KAAKjuE,UAAU0wC,WAC5C,CACI,IAAI6qC,EAAQ/xE,SAASkxE,OAAOC,GAAI,IAC5Ba,EAAQhyE,SAASkxE,OAAOe,GAAI,KAEjB,KAAVF,GAAgBC,GAAS,IAAOD,EAAQ,MAEzCj7E,EAAOo4E,OAAQ,IAOvC,MAAO5zF,KAoIX42F,GAjPA,WAEI,IAAIC,EAAen1D,SAASsmD,cAAc,SAE1C,IAEQ6O,EAAaL,cAETK,EAAaL,YAAY,8BAA8B3wE,QAAQ,OAAQ,MAEvErK,EAAOq4E,UAAW,GAGlBgD,EAAaL,YAAY,mCAAmC3wE,QAAQ,OAAQ,MAG5ErK,EAAOs4E,WAAY,EACnBt4E,EAAOu4E,UAAW,GAGlB8C,EAAaL,YAAY,oCAAoC3wE,QAAQ,OAAQ,MAE7ErK,EAAOw4E,WAAY,GAGnB6C,EAAaL,YAAY,4BAA4B3wE,QAAQ,OAAQ,MAErErK,EAAOy4E,UAAW,GAGlB4C,EAAaL,YAAY,+CAA+C3wE,QAAQ,OAAQ,MAExFrK,EAAO04E,UAAW,IAI9B,MAAOl0F,KA8MX82F,GAhCA,WAEI,IACIC,EADAC,EAAKt1D,SAASsmD,cAAc,KAE5BiP,GACAC,gBAAiB,oBACjBC,WAAY,eACZC,YAAa,gBACbC,aAAc,iBACd19E,UAAW,aAIf+nB,SAAS8B,KAAK8zD,aAAaN,EAAI,MAE/B,IAAK,IAAI50E,KAAK60E,OAEUr/F,IAAhBo/F,EAAGpqF,MAAMwV,KAET40E,EAAGpqF,MAAMwV,GAAK,2BACd20E,EAAQt1F,OAAO81F,iBAAiBP,GAAIQ,iBAAiBP,EAAW70E,KAIxEsf,SAAS8B,KAAKtpC,YAAY88F,GAC1Bx7E,EAAOw2E,WAAmBp6F,IAAVm/F,GAAuBA,EAAM/iG,OAAS,GAAe,SAAV+iG,EAQ/DU,GAlEIj8E,EAAO84E,WAAa7yF,OAAOi2F,kBAAoB,EAC/Cl8E,EAAO24E,QAAkE,IAAzDj5E,UAAU0wC,UAAUlM,cAAchlD,QAAQ,UAC1D8gB,EAAO44E,QAAiC,IAAtB54E,EAAO84E,YAAoB94E,EAAO24E,OACpD34E,EAAO64E,MAA8D,IAAvDn5E,UAAU0wC,UAAUlM,cAAchlD,QAAQ,QAE/B,oBAAdi9F,UAEPn8E,EAAOy2E,YAAa,EAIpBz2E,EAAOy2E,YAAa,EAGG,oBAAhBx+E,aAAqD,oBAAf6tE,YAAqD,oBAAhBztE,cAElF2H,EAAO+4E,aAAee,IACtB95E,EAAOszD,cAAgBtzD,EAAO+4E,cAGlC/4E,EAAOg5E,aAAuC,oBAAhB/gF,aAA4D,oBAAtB+hF,mBAA2D,oBAAfoC,YAAsD,OAAxBp8E,EAAO+4E,cAAyBgB,IAE9Kr6E,UAAU28E,QAAU38E,UAAU28E,SAAW38E,UAAU48E,eAAiB58E,UAAU68E,YAAc78E,UAAU88E,UAElG98E,UAAU28E,UAEVr8E,EAAO02E,WAAY,GAte3B,WAEI12E,EAAOjT,SAAW9G,OAAOw2F,0BAA4Bz8E,EAAOm1B,SAE5D,IAEIn1B,EAAOs2E,eAAiBA,aAAaoG,QAEzC,MAAOtmG,GAEH4pB,EAAOs2E,cAAe,EAG1Bt2E,EAAOo2E,QAASnwF,OAAO02F,MAAU12F,OAAO22F,YAAgB32F,OAAO42F,UAAc52F,OAAO62F,MACpF98E,EAAOq2E,aAAepwF,OAAO82F,kBAE7B/8E,EAAOg1B,QAAU/uC,OAAO+2F,sBAExBh9E,EAAOu2E,SAAWtwF,OAAOg3F,OAEzBj9E,EAAOmvC,mBAAuB,uBAAwBjpB,UAAa,sBAC7D,0BAA2BA,UAAa,yBACxC,6BAA8BA,UAAa,2BAEjDlmB,EAAOovC,kBAAsB,wBAAyBlpB,UAAa,qBAC7D,2BAA4BA,UAAa,wBACzC,8BAA+BA,UAAa,0BAElDlmB,EAAOqvC,iBAAqB,uBAAwBnpB,UAAa,oBAC3D,0BAA2BA,UAAa,uBACxC,6BAA8BA,UAAa,yBAEjDlmB,EAAOw6B,cAAgBx6B,EAAOmvC,mBAE9BnvC,EAAO42E,WAAsC,eAAxB1wD,SAASg3D,WAE9Bx9E,UAAUi3E,aAAej3E,UAAUi3E,cAAgBj3E,UAAUy9E,oBAAsBz9E,UAAU09E,iBAAmB19E,UAAU29E,gBAAkB39E,UAAU49E,cAEtJr3F,OAAOs3F,IAAMt3F,OAAOs3F,KAAOt3F,OAAOu3F,WAAav3F,OAAOw3F,QAAUx3F,OAAOy3F,MAEvE19E,EAAO22E,aAAe32E,EAAO22E,gBAAkBj3E,UAAUi3E,gBAAkB1wF,OAAOs3F,IAG9Ev9E,EAAOi3E,SAAWj3E,EAAOk3E,eAAiB,KAE1Cl3E,EAAO22E,cAAe,IASrB32E,EAAOo2B,MAAQp2B,EAAO20B,IAAM30B,EAAOi3E,SAAWj3E,EAAO82E,UAEtD92E,EAAOm2E,mBAAoB,IAI3Bn2E,EAAOy3E,QAAUz3E,EAAOs3E,gBAExBt3E,EAAOm2E,mBAAoB,GAkdnCwH,GA1jBA,WAEI,IAAI5wF,EAAS1V,EAAOqF,WAAW2B,OAAOxI,KAAM,EAAG,GAC3C8N,EAAUoJ,EAAOsB,WAAW,MAEhC1K,EAAQ+a,UAAY,wBAGpB/a,EAAQkb,SAAS,EAAG,EAAG,EAAG,GAG1B,IAAI++E,EAAKj6F,EAAQsb,aAAa,EAAG,EAAG,EAAG,GAEvC,GAAI2+E,EACJ,CAEIj6F,EAAQyb,aAAaw+E,EAAI,EAAG,GAG5B,IAAIC,EAAKl6F,EAAQsb,aAAa,EAAG,EAAG,EAAG,GAGvCe,EAAOb,eACH0+E,EAAG5zF,KAAK,KAAO2zF,EAAG3zF,KAAK,IACvB4zF,EAAG5zF,KAAK,KAAO2zF,EAAG3zF,KAAK,IACvB4zF,EAAG5zF,KAAK,KAAO2zF,EAAG3zF,KAAK,IACvB4zF,EAAG5zF,KAAK,KAAO2zF,EAAG3zF,KAAK,GAK/BtG,EAAQC,yBAA2B,WACnCoc,EAAOC,eAAuD,aAArCtc,EAAQC,yBAEjCvM,EAAOqF,WAAWC,eAAeoQ,GAEjC1Y,KAAKuQ,aAAa4Z,WAAcwB,EAAqB,eAAI3rB,KAAKuQ,aAAa6Z,iBAAmBpqB,KAAKuQ,aAAaka,iBAuhBpHg/E,GAxaA,WAeI,IAAK,IAbDC,GACA,oBACA,oBACA,0BACA,0BACA,sBACA,sBACA,uBACA,wBAGAl/C,EAAU3Y,SAASsmD,cAAc,OAE5Bj0F,EAAI,EAAGA,EAAIwlG,EAAGvlG,OAAQD,IAE3B,GAAIsmD,EAAQk/C,EAAGxlG,IACf,CACIynB,EAAOi5E,YAAa,EACpBj5E,EAAOk5E,kBAAoB6E,EAAGxlG,GAC9B,MAIR,IAAIylG,GACA,mBACA,iBACA,yBACA,uBACA,qBACA,mBACA,sBACA,qBAGJ,GAAIh+E,EAAOi5E,WAEP,IAAS1gG,EAAI,EAAGA,EAAIylG,EAAIxlG,OAAQD,IAE5B,GAAI2tC,SAAS83D,EAAIzlG,IACjB,CACIynB,EAAOm5E,iBAAmB6E,EAAIzlG,GAC9B,MAMR0N,OAAOg4F,SAAWA,QAAQC,uBAE1Bl+E,EAAOo5E,oBAAqB,GAsXpC+E,IA3cQ,iBAAkBj4D,SAASk4D,iBAAoBn4F,OAAOyZ,UAAU2+E,gBAAkBp4F,OAAOyZ,UAAU2+E,gBAAkB,KAErHr+E,EAAO64B,OAAQ,IAGf5yC,OAAOq4F,cAAgBr4F,OAAOs4F,gBAAkBt4F,OAAOyZ,UAAU8+E,kBAAoBv4F,OAAOyZ,UAAU++E,kBAEtGz+E,EAAO84B,WAAY,GAGlB94B,EAAOm1B,WAGJ,YAAalvC,QAAW+Z,EAAO20B,IAAM,eAAgB1uC,OAGrD+Z,EAAO++B,WAAa,QAEf,iBAAkB94C,OAGvB+Z,EAAO++B,WAAa,aAEf/+B,EAAOi3E,SAAW,qBAAsBhxF,SAG7C+Z,EAAO++B,WAAa,oBA6bpC1nD,EAAOk6C,OAAOmtD,aAAe,SAAUr1F,GAEnC,QAAa,QAATA,IAAkBxT,KAAKmiG,SAIT,QAAT3uF,IAAmBxT,KAAKiiG,MAAOjiG,KAAKkiG,UAI3B,QAAT1uF,IAAkBxT,KAAKqiG,SAId,SAAT7uF,IAAmBxT,KAAKkiG,UAIf,QAAT1uF,IAAkBxT,KAAKoiG,SAId,SAAT5uF,IAAmBxT,KAAKsiG,SAIf,QAAT9uF,IAAkBxT,KAAKuiG,aAgBpC/gG,EAAOk6C,OAAOotD,aAAe,SAAUt1F,GAEnC,QAAa,SAATA,IAAoBxT,KAAK2iG,YAAa3iG,KAAK4iG,cAI7B,QAATpvF,IAAmBxT,KAAK0iG,WAAY1iG,KAAKyiG,eAI/B,QAATjvF,GAA2B,QAATA,IAAmBxT,KAAKwiG,aAIlC,SAAThvF,IAAmBxT,KAAK6iG,aAerCrhG,EAAOk6C,OAAOqtD,iBAAmB,WAE7B,UAAW/oG,KAAKs/C,WAAat/C,KAAKugD,KAAOvgD,KAAKggG,UAAa5vF,OAAOsuC,cAAgBtuC,OAAOsuC,aAAasqD,mBAe1GxnG,EAAOk6C,OAAOwM,sBAAwB,WAElC,IAAI+gD,EAAU74F,OAAOyZ,UAAU0wC,UAAUuQ,MAAM,kCAC/C,OAAOm+B,GAAWA,EAAQ,GAAK,KAgBnCznG,EAAOmoB,QAaHnhB,OAAQ,SAAUnH,EAAQzD,EAAOC,EAAQqW,EAAI8lE,GAEzCp8E,EAAQA,GAAS,IACjBC,EAASA,GAAU,IAEnB,IAAIqZ,EAAS,EAAam5B,SAASsmD,cAAc,UAAYn1F,EAAOqF,WAAW2B,OAAOnH,EAAQzD,EAAOC,GAWrG,MATkB,iBAAPqW,GAA0B,KAAPA,IAE1BgD,EAAOhD,GAAKA,GAGhBgD,EAAOtZ,MAAQA,EACfsZ,EAAOrZ,OAASA,EAChBqZ,EAAOqE,MAAM2tF,QAAU,QAEhBhyF,GAWX64B,mBAAoB,SAAU74B,EAAQb,GAMlC,OAJAA,EAAQA,GAAS,aAEjBa,EAAOqE,MAAMu0B,gBAAkBz5B,EAExBa,GAWXi5B,eAAgB,SAAUj5B,EAAQ9P,GAQ9B,OANAA,EAAQA,GAAS,OAEjB8P,EAAOqE,MAAM4tF,cAAgB/hG,EAC7B8P,EAAOqE,MAAM,mBAAqBnU,EAClC8P,EAAOqE,MAAM,gBAAkBnU,EAExB8P,GAWXg5B,cAAe,SAAUh5B,EAAQ9P,GAY7B,OAVAA,EAAQA,GAAS,OAEjB8P,EAAOqE,MAAM,yBAA2BnU,EACxC8P,EAAOqE,MAAM,uBAAyBnU,EACtC8P,EAAOqE,MAAM,sBAAwBnU,EACrC8P,EAAOqE,MAAM,oBAAsBnU,EACnC8P,EAAOqE,MAAM,mBAAqBnU,EAClC8P,EAAOqE,MAAM,eAAiBnU,EAC9B8P,EAAOqE,MAAM,+BAAiC,mBAEvCrE,GAaXsoC,SAAU,SAAUtoC,EAAQ7V,EAAQ+nG,GAEhC,IAAIphG,EA+BJ,YA7BuBzB,IAAnB6iG,IAAgCA,GAAiB,GAEjD/nG,IAEsB,iBAAXA,EAGP2G,EAASqoC,SAASg5D,eAAehoG,GAEV,iBAAXA,GAA2C,IAApBA,EAAO0yB,WAG1C/rB,EAAS3G,IAKZ2G,IAEDA,EAASqoC,SAAS8B,MAGlBi3D,GAAkBphG,EAAOuT,QAEzBvT,EAAOuT,MAAM+tF,SAAW,UAG5BthG,EAAOuhG,YAAYryF,GAEZA,GASXmpC,cAAe,SAAUnpC,GAEjBA,EAAOsyF,YAEPtyF,EAAOsyF,WAAW3gG,YAAYqO,IAiBtCrI,aAAc,SAAUf,EAASq0E,EAAYC,EAAYv9D,EAAQE,EAAQs9D,EAAOC,GAI5E,OAFAx0E,EAAQe,aAAagW,EAAQw9D,EAAOC,EAAOv9D,EAAQo9D,EAAYC,GAExDt0E,GAeXm0E,oBAAqB,SAAUn0E,EAAS1G,GAEpC,IAAI/C,EAAI7C,EAAOmoB,OAAOC,mBAAmB9b,GAOzC,OALIzJ,IAEAyJ,EAAQzJ,GAAK+C,GAGV0G,GAUX8b,mBAAoB,SAAU9b,GAE1B,IAAI27F,GAAW,IAAK,UAAW,MAAO,OAAQ,MAE9C,IAAK,IAAIC,KAAUD,EACnB,CACI,IAAIplG,EAAIolG,EAAOC,GAAU,uBAEzB,GAAIrlG,KAAKyJ,EAEL,OAAOzJ,EAIf,OAAO,MAUX29E,oBAAqB,SAAUl0E,GAE3B,IAAIzJ,EAAI7C,EAAOmoB,OAAOC,mBAAmB9b,GAEzC,GAAIzJ,EAEA,OAAOyJ,EAAQzJ,IAgBvB66C,uBAAwB,SAAUhoC,GAI9B,IAAK,IAFDyyF,GAAU,4BAA6B,mBAAoB,cAAe,aAErEjnG,EAAI,EAAGA,EAAIinG,EAAMhnG,OAAQD,IAE9BwU,EAAOqE,MAAM,mBAAqBouF,EAAMjnG,GAK5C,OAFAwU,EAAOqE,MAAMquF,oBAAsB,mBAE5B1yF,GAWX2yF,yBAA0B,SAAU3yF,GAKhC,OAHAA,EAAOqE,MAAM,mBAAqB,OAClCrE,EAAOqE,MAAMquF,oBAAsB,UAE5B1yF,IAmBf1V,EAAO68C,sBAAwB,SAAUt7C,EAAMq7C,QAEnB73C,IAApB63C,IAAiCA,GAAkB,GAKvDp+C,KAAK+C,KAAOA,EAMZ/C,KAAKw7C,WAAY,EAKjBx7C,KAAKo+C,gBAAkBA,EASvB,IAAK,IAPD0rD,GACA,KACA,MACA,SACA,KAGK/lG,EAAI,EAAGA,EAAI+lG,EAAQnnG,SAAWyN,OAAO25F,sBAAuBhmG,IAEjEqM,OAAO25F,sBAAwB35F,OAAO05F,EAAQ/lG,GAAK,yBACnDqM,OAAO45F,qBAAuB55F,OAAO05F,EAAQ/lG,GAAK,yBAA2BqM,OAAO05F,EAAQ/lG,GAAK,+BAOrG/D,KAAKiqG,eAAgB,EAMrBjqG,KAAKkqG,QAAU,KAMflqG,KAAKmqG,WAAa,MAGtB3oG,EAAO68C,sBAAsB/7C,WAMzBgK,MAAO,WAEHtM,KAAKw7C,WAAY,EAEjB,IAAI7O,EAAQ3sC,MAEPoQ,OAAO25F,uBAAyB/pG,KAAKo+C,iBAEtCp+C,KAAKiqG,eAAgB,EAErBjqG,KAAKkqG,QAAU,WAEX,OAAOv9D,EAAMy9D,oBAGjBpqG,KAAKmqG,WAAa/5F,OAAO2zF,WAAW/jG,KAAKkqG,QAAS,KAIlDlqG,KAAKiqG,eAAgB,EAErBjqG,KAAKkqG,QAAU,SAAUzkE,GAErB,OAAOkH,EAAM09D,UAAU5kE,IAG3BzlC,KAAKmqG,WAAa/5F,OAAO25F,sBAAsB/pG,KAAKkqG,WAQ5DG,UAAW,SAAUC,GAEbtqG,KAAKw7C,YAGLx7C,KAAK+C,KAAKsiC,OAAO3hC,KAAKqsB,MAAMu6E,IAE5BtqG,KAAKmqG,WAAa/5F,OAAO25F,sBAAsB/pG,KAAKkqG,WAQ5DE,iBAAkB,WAEVpqG,KAAKw7C,YAELx7C,KAAK+C,KAAKsiC,OAAOkI,KAAK2P,OAEtBl9C,KAAKmqG,WAAa/5F,OAAO2zF,WAAW/jG,KAAKkqG,QAASlqG,KAAK+C,KAAK0iC,KAAK8kE,cAQzEp+F,KAAM,WAEEnM,KAAKiqG,cAELO,aAAaxqG,KAAKmqG,YAIlB/5F,OAAO45F,qBAAqBhqG,KAAKmqG,YAGrCnqG,KAAKw7C,WAAY,GAQrBivD,aAAc,WAEV,OAAOzqG,KAAKiqG,eAQhBS,MAAO,WAEH,OAA+B,IAAvB1qG,KAAKiqG,gBAKrBzoG,EAAO68C,sBAAsB/7C,UAAUC,YAAcf,EAAO68C,sBAkB5D78C,EAAOkC,MAOHC,IAAe,EAAVD,KAAKwxB,GAOV5wB,QAAmB,GAAVZ,KAAKwxB,GAMdy1E,WAAYjnG,KAAKwxB,GAAK,IAMtB01E,WAAY,IAAMlnG,KAAKwxB,GASvByB,SAAU,SAAUk0E,GAEhB,OAAOA,EAAUrpG,EAAOkC,KAAKinG,YAUjCztE,SAAU,SAAU4tE,GAEhB,OAAOA,EAAUtpG,EAAOkC,KAAKknG,YAWjCzL,kBAAmB,SAAU/3F,GAEzB,GAAIA,EAAQ,GAA+B,IAAzBA,EAASA,EAAQ,GAG/B,OAAOA,EAMP,IAFA,IAAI0xB,EAAS,EAENA,EAAS1xB,GAEZ0xB,IAAW,EAGf,OAAOA,GAYfjd,aAAc,SAAUje,EAAOC,GAE3B,OAAQD,EAAQ,GAA+B,IAAzBA,EAASA,EAAQ,IAAaC,EAAS,GAAiC,IAA3BA,EAAUA,EAAS,IAY1Fg1B,OAAQ,SAAU2G,EAAKvzB,GAKnB,QAHYM,IAARizB,IAAqBA,EAAM,QACnBjzB,IAARN,IAAqBA,EAAM,GAE3BuzB,IAAQvzB,EAER,OAAOuzB,EAGX,GAAIA,EAAMvzB,EACV,CACI,IAAI0H,EAAO6rB,EACXA,EAAMvzB,EACNA,EAAM0H,EAGV,OAAQjK,KAAKmvB,UAAY5sB,EAAMuzB,GAAOA,GAY1C4hB,QAAS,SAAU5hB,EAAKvzB,GAKpB,QAHYM,IAARizB,IAAqBA,EAAM,QACnBjzB,IAARN,IAAqBA,EAAM,GAE3BuzB,IAAQvzB,EAER,OAAOuzB,EAGX,GAAIA,EAAMvzB,EACV,CACI,IAAI0H,EAAO6rB,EACXA,EAAMvzB,EACNA,EAAM0H,EAMV,OAHA6rB,EAAM91B,KAAKwC,KAAKszB,GAChBvzB,EAAMvC,KAAKqsB,MAAM9pB,GAEVvC,KAAKqsB,MAAMrsB,KAAKmvB,UAAY5sB,EAAMuzB,EAAM,IAAMA,GAYzDF,WAAY,SAAUp2B,EAAGC,EAAGk2B,GAIxB,YAFgB9yB,IAAZ8yB,IAAyBA,EAAU,MAEhC31B,KAAKmzB,IAAI3zB,EAAIC,GAAKk2B,GAY7B0xE,cAAe,SAAU7nG,EAAGC,EAAGk2B,GAI3B,YAFgB9yB,IAAZ8yB,IAAyBA,EAAU,MAEhCn2B,EAAIC,EAAIk2B,GAYnB2xE,iBAAkB,SAAU9nG,EAAGC,EAAGk2B,GAI9B,YAFgB9yB,IAAZ8yB,IAAyBA,EAAU,MAEhCn2B,EAAIC,EAAIk2B,GAWnB4xE,UAAW,SAAUx4E,EAAK4G,GAItB,YAFgB9yB,IAAZ8yB,IAAyBA,EAAU,MAEhC31B,KAAKwC,KAAKusB,EAAM4G,IAW3B6xE,WAAY,SAAUz4E,EAAK4G,GAIvB,YAFgB9yB,IAAZ8yB,IAAyBA,EAAU,MAEhC31B,KAAKqsB,MAAM0C,EAAM4G,IAU5B8xE,QAAS,WAKL,IAAK,IAHD/nB,EAAM,EACNpyD,EAAMR,UAAU7tB,OAEXD,EAAI,EAAGA,EAAIsuB,EAAKtuB,IAErB0gF,IAAS5yD,UAAU9tB,GAGvB,OAAO0gF,EAAMpyD,GAQjBo6E,MAAO,SAAU7zE,GAEb,OAAOA,EAAI,GAcf8zE,OAAQ,SAAU3kE,EAAO4kE,EAAKh/F,GAI1B,YAFc/F,IAAV+F,IAAuBA,EAAQ,GAEvB,IAARg/F,EAEO5kE,GAGXA,GAASp6B,EACTo6B,EAAQ4kE,EAAM5nG,KAAKiyB,MAAM+Q,EAAQ4kE,GAE1Bh/F,EAAQo6B,IAenB6kE,YAAa,SAAU7kE,EAAO4kE,EAAKh/F,GAI/B,YAFc/F,IAAV+F,IAAuBA,EAAQ,GAEvB,IAARg/F,EAEO5kE,GAGXA,GAASp6B,EACTo6B,EAAQ4kE,EAAM5nG,KAAKqsB,MAAM2W,EAAQ4kE,GAE1Bh/F,EAAQo6B,IAenB0sD,WAAY,SAAU1sD,EAAO4kE,EAAKh/F,GAI9B,YAFc/F,IAAV+F,IAAuBA,EAAQ,GAEvB,IAARg/F,EAEO5kE,GAGXA,GAASp6B,EACTo6B,EAAQ4kE,EAAM5nG,KAAKwC,KAAKwgC,EAAQ4kE,GAEzBh/F,EAAQo6B,IAsCnB8kE,QAAS,SAAUpkG,EAAOqkG,EAAOrxF,QAEf7T,IAAVklG,IAAuBA,EAAQ,QACtBllG,IAAT6T,IAAsBA,EAAO,IAEjC,IAAIpX,EAAIU,KAAKgoG,IAAItxF,GAAOqxF,GAExB,OAAO/nG,KAAKiyB,MAAMvuB,EAAQpE,GAAKA,GAanC2oG,QAAS,SAAUvkG,EAAOqkG,EAAOrxF,QAEf7T,IAAVklG,IAAuBA,EAAQ,QACtBllG,IAAT6T,IAAsBA,EAAO,IAEjC,IAAIpX,EAAIU,KAAKgoG,IAAItxF,GAAOqxF,GAExB,OAAO/nG,KAAKqsB,MAAM3oB,EAAQpE,GAAKA,GAanC4oG,OAAQ,SAAUxkG,EAAOqkG,EAAOrxF,QAEd7T,IAAVklG,IAAuBA,EAAQ,QACtBllG,IAAT6T,IAAsBA,EAAO,IAEjC,IAAIpX,EAAIU,KAAKgoG,IAAItxF,GAAOqxF,GAExB,OAAO/nG,KAAKwC,KAAKkB,EAAQpE,GAAKA,GAWlC8sB,MAAO,SAAU1oB,GAEb,OAAKykG,SAASzkG,GAKNA,EAAQA,EAAQ,IAAOA,EAAQ,GAAK,EAAc,IAAVA,EAAcA,EAAQ,GAH3DA,GAgBf0kG,cAAe,SAAUC,EAAcC,EAAa3pE,GAIhD,YAFa97B,IAAT87B,IAAsBA,EAAO,KAE7B0pE,IAAiBC,EAEVD,GAGProG,KAAKmzB,IAAIm1E,EAAcD,IAAiB1pE,GAAQ3+B,KAAKmzB,IAAIm1E,EAAcD,IAAkBvqG,EAAOkC,KAAKC,IAAM0+B,EAE3G0pE,EAAeC,GAIXtoG,KAAKmzB,IAAIm1E,EAAcD,GAAgBroG,KAAKwxB,KAExC82E,EAAcD,EAEdC,GAAexqG,EAAOkC,KAAKC,IAI3BqoG,GAAexqG,EAAOkC,KAAKC,KAI/BqoG,EAAcD,EAEdA,GAAgB1pE,EAEX2pE,EAAcD,IAEnBA,GAAgB1pE,IAIjB0pE,IAkBXE,iBAAkB,SAAUC,EAAQC,GAEhC,IAAI/N,EAAa+N,EAASD,EAE1B,OAAmB,IAAf9N,EAEO,EAKJA,EAAsB,IAFjB16F,KAAKqsB,OAAOquE,IAAe,KAAQ,MAenDgO,aAAc,SAAU9gG,EAAIC,EAAIC,EAAIC,GAEhC,OAAO/H,KAAKu5B,MAAMxxB,EAAKF,EAAIC,EAAKF,IAgBpC+gG,cAAe,SAAU/gG,EAAIC,EAAIC,EAAIC,GAEjC,OAAO/H,KAAKu5B,MAAMzxB,EAAKF,EAAIG,EAAKF,IAWpC+gG,mBAAoB,SAAU1f,EAAQC,GAElC,OAAOnpF,KAAKu5B,MAAM4vD,EAAO7oF,EAAI4oF,EAAO5oF,EAAG6oF,EAAO9oF,EAAI6oF,EAAO7oF,IAU7DwoG,oBAAqB,SAAU3f,EAAQC,GAEnC,OAAOnpF,KAAKu5B,MAAM4vD,EAAO9oF,EAAI6oF,EAAO7oF,EAAG8oF,EAAO7oF,EAAI4oF,EAAO5oF,IAS7DwoG,aAAc,SAAUC,GAEpB,OAAOzsG,KAAK0sG,eAAeD,EAAW/oG,KAAKwxB,IAAI,IASnDw3E,eAAgB,SAAUD,GAGtB,OADAA,GAAuB,EAAI/oG,KAAKwxB,KACb,EAAIu3E,EAAWA,EAAW,EAAI/oG,KAAKwxB,IAY1Dy3E,OAAQ,SAAUvlG,EAAO6vC,EAAQhxC,GAE7B,OAAOvC,KAAK81B,IAAIpyB,EAAQ6vC,EAAQhxC,IAYpC2mG,OAAQ,SAAUxlG,EAAO6vC,EAAQzd,GAE7B,OAAO91B,KAAKuC,IAAImB,EAAQ6vC,EAAQzd,IAcpCW,KAAM,SAAU/yB,EAAOoyB,EAAKvzB,GAExB,IAAI8D,EAAQ9D,EAAMuzB,EAElB,GAAIzvB,GAAS,EAET,OAAO,EAGX,IAAI+uB,GAAU1xB,EAAQoyB,GAAOzvB,EAO7B,OALI+uB,EAAS,IAETA,GAAU/uB,GAGP+uB,EAASU,GAcpBqzE,UAAW,SAAUzlG,EAAO6vC,EAAQhxC,GAQhC,OALAmB,EAAQ1D,KAAKmzB,IAAIzvB,GACjB6vC,EAASvzC,KAAKmzB,IAAIogB,GAClBhxC,EAAMvC,KAAKmzB,IAAI5wB,IACPmB,EAAQ6vC,GAAUhxC,GAY9B6mG,MAAO,SAAUv1E,GAGb,SAAc,EAAJA,IAUdw1E,OAAQ,SAAUx1E,GAGd,QAAa,EAAJA,IAYbiC,IAAK,WAED,GAAyB,IAArBhJ,UAAU7tB,QAAwC,iBAAjB6tB,UAAU,GAEvCpc,EAAOoc,UAAU,QAIrB,IAAIpc,EAAOoc,UAGf,IAAK,IAAI9tB,EAAI,EAAG82B,EAAM,EAAGxI,EAAM5c,EAAKzR,OAAQD,EAAIsuB,EAAKtuB,IAE7C0R,EAAK1R,GAAK0R,EAAKolB,KAEfA,EAAM92B,GAId,OAAO0R,EAAKolB,IAYhBvzB,IAAK,WAED,GAAyB,IAArBuqB,UAAU7tB,QAAwC,iBAAjB6tB,UAAU,GAEvCpc,EAAOoc,UAAU,QAIrB,IAAIpc,EAAOoc,UAGf,IAAK,IAAI9tB,EAAI,EAAGuD,EAAM,EAAG+qB,EAAM5c,EAAKzR,OAAQD,EAAIsuB,EAAKtuB,IAE7C0R,EAAK1R,GAAK0R,EAAKnO,KAEfA,EAAMvD,GAId,OAAO0R,EAAKnO,IAUhB+mG,YAAa,SAAUh2D,GAEnB,GAAyB,IAArBxmB,UAAU7tB,QAAwC,iBAAjB6tB,UAAU,GAEvCpc,EAAOoc,UAAU,QAIrB,IAAIpc,EAAOoc,UAAUN,MAAM,GAG/B,IAAK,IAAIxtB,EAAI,EAAG82B,EAAM,EAAGxI,EAAM5c,EAAKzR,OAAQD,EAAIsuB,EAAKtuB,IAE7C0R,EAAK1R,GAAGs0C,GAAY5iC,EAAKolB,GAAKwd,KAE9Bxd,EAAM92B,GAId,OAAO0R,EAAKolB,GAAKwd,IAUrBi2D,YAAa,SAAUj2D,GAEnB,GAAyB,IAArBxmB,UAAU7tB,QAAwC,iBAAjB6tB,UAAU,GAEvCpc,EAAOoc,UAAU,QAIrB,IAAIpc,EAAOoc,UAAUN,MAAM,GAG/B,IAAK,IAAIxtB,EAAI,EAAGuD,EAAM,EAAG+qB,EAAM5c,EAAKzR,OAAQD,EAAIsuB,EAAKtuB,IAE7C0R,EAAK1R,GAAGs0C,GAAY5iC,EAAKnO,GAAK+wC,KAE9B/wC,EAAMvD,GAId,OAAO0R,EAAKnO,GAAK+wC,IAWrBi0B,UAAW,SAAUn1C,EAAOg1E,GAExB,OAAOA,EAAU9qG,KAAKm6B,KAAKrE,GAAQpyB,KAAKwxB,GAAIxxB,KAAKwxB,IAAMl1B,KAAKm6B,KAAKrE,GAAQ,IAAK,MAWlFo3E,oBAAqB,SAAUtuD,EAAGvnB,GAE9B,IAAIC,EAAIsnB,EAAEj8C,OAAS,EACfwwB,EAAImE,EAAID,EACR30B,EAAIgB,KAAKqsB,MAAMoD,GAEnB,OAAIkE,EAAI,EAEGr3B,KAAKo2B,OAAOwoB,EAAE,GAAIA,EAAE,GAAIzrB,GAG/BkE,EAAI,EAEGr3B,KAAKo2B,OAAOwoB,EAAEtnB,GAAIsnB,EAAEtnB,EAAI,GAAIA,EAAInE,GAGpCnzB,KAAKo2B,OAAOwoB,EAAEl8C,GAAIk8C,EAAEl8C,EAAI,EAAI40B,EAAIA,EAAI50B,EAAI,GAAIywB,EAAIzwB,IAW3DyqG,oBAAqB,SAAUvuD,EAAGvnB,GAK9B,IAAK,IAHDl0B,EAAI,EACJo0B,EAAIqnB,EAAEj8C,OAAS,EAEVD,EAAI,EAAGA,GAAK60B,EAAG70B,IAEpBS,GAAKO,KAAKgoG,IAAI,EAAIr0E,EAAGE,EAAI70B,GAAKgB,KAAKgoG,IAAIr0E,EAAG30B,GAAKk8C,EAAEl8C,GAAK1C,KAAKotG,UAAU71E,EAAG70B,GAG5E,OAAOS,GAWXkqG,wBAAyB,SAAUzuD,EAAGvnB,GAElC,IAAIC,EAAIsnB,EAAEj8C,OAAS,EACfwwB,EAAImE,EAAID,EACR30B,EAAIgB,KAAKqsB,MAAMoD,GAEnB,OAAIyrB,EAAE,KAAOA,EAAEtnB,IAEPD,EAAI,IAEJ30B,EAAIgB,KAAKqsB,MAAMoD,EAAImE,GAAK,EAAID,KAGzBr3B,KAAKstG,WAAW1uD,GAAGl8C,EAAI,EAAI40B,GAAKA,GAAIsnB,EAAEl8C,GAAIk8C,GAAGl8C,EAAI,GAAK40B,GAAIsnB,GAAGl8C,EAAI,GAAK40B,GAAInE,EAAIzwB,IAIjF20B,EAAI,EAEGunB,EAAE,IAAM5+C,KAAKstG,WAAW1uD,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,IAAKzrB,GAAKyrB,EAAE,IAG/DvnB,EAAI,EAEGunB,EAAEtnB,IAAMt3B,KAAKstG,WAAW1uD,EAAEtnB,GAAIsnB,EAAEtnB,GAAIsnB,EAAEtnB,EAAI,GAAIsnB,EAAEtnB,EAAI,GAAInE,EAAImE,GAAKsnB,EAAEtnB,IAGvEt3B,KAAKstG,WAAW1uD,EAAEl8C,EAAIA,EAAI,EAAI,GAAIk8C,EAAEl8C,GAAIk8C,EAAEtnB,EAAI50B,EAAI,EAAI40B,EAAI50B,EAAI,GAAIk8C,EAAEtnB,EAAI50B,EAAI,EAAI40B,EAAI50B,EAAI,GAAIywB,EAAIzwB,IAa/G0zB,OAAQ,SAAUqB,EAAIC,EAAI3G,GAEtB,OAAQ2G,EAAKD,GAAM1G,EAAI0G,GAU3B21E,UAAW,SAAU71E,EAAG70B,GAEpB,OAAO1C,KAAKutG,UAAUh2E,GAAKv3B,KAAKutG,UAAU7qG,GAAK1C,KAAKutG,UAAUh2E,EAAI70B,IAQtE6qG,UAAW,SAAUnmG,GAEjB,GAAc,IAAVA,EAEA,OAAO,EAKX,IAFA,IAAIomG,EAAMpmG,IAEFA,GAEJomG,GAAOpmG,EAGX,OAAOomG,GAeXF,WAAY,SAAU71E,EAAIC,EAAIwI,EAAIutE,EAAI18E,GAElC,IAAImsE,EAAiB,IAAXh9D,EAAKzI,GACX0lE,EAAiB,IAAXsQ,EAAK/1E,GACX41D,EAAKv8D,EAAIA,EAGb,OAAQ,EAAI2G,EAAK,EAAIwI,EAAKg9D,EAAKC,IAFtBpsE,EAAIu8D,KAE+B,EAAI51D,EAAK,EAAIwI,EAAK,EAAIg9D,EAAKC,GAAM7P,EAAK4P,EAAKnsE,EAAI2G,GAW/F0mE,WAAY,SAAUl7F,EAAGC,GAErB,OAAOO,KAAKmzB,IAAI3zB,EAAIC,IAUxBuqG,kBAAmB,SAAUtmG,GAGzB,OAAQA,EAAQ,EAAK1D,KAAKwC,KAAKkB,GAAS1D,KAAKqsB,MAAM3oB,IAgBvDumG,gBAAiB,SAAUhrG,EAAQirG,EAAcC,EAAcC,QAEtCvnG,IAAjBqnG,IAA8BA,EAAe,QAC5BrnG,IAAjBsnG,IAA8BA,EAAe,QAC/BtnG,IAAdunG,IAA2BA,EAAY,GAS3C,IAAK,IAPDjqG,EAAM+pG,EACN9pG,EAAM+pG,EACNE,EAAMD,EAAYpqG,KAAKwxB,GAAKvyB,EAE5BqrG,KACAC,KAEK7qG,EAAI,EAAGA,EAAIT,EAAQS,IAGxBS,IADAC,GAAOD,EAAMkqG,GACAA,EAEbC,EAAS5qG,GAAKU,EACdmqG,EAAS7qG,GAAKS,EAGlB,OAASA,IAAKoqG,EAAUnqG,IAAKkqG,EAAUrrG,OAAQA,IAWnDurG,MAAO,SAAUhrG,EAAGC,GAEhB,OAAOO,KAAKS,KAAKjB,EAAIA,EAAIC,EAAIA,IAajCuyB,SAAU,SAAUpqB,EAAIC,EAAIC,EAAIC,GAE5B,IAAI0C,EAAK7C,EAAKE,EACV6C,EAAK9C,EAAKE,EAEd,OAAO/H,KAAKS,KAAKgK,EAAKA,EAAKE,EAAKA,IAcpC8/F,WAAY,SAAU7iG,EAAIC,EAAIC,EAAIC,GAE9B,IAAI0C,EAAK7C,EAAKE,EACV6C,EAAK9C,EAAKE,EAEd,OAAO0C,EAAKA,EAAKE,EAAKA,GAc1B+/F,YAAa,SAAU9iG,EAAIC,EAAIC,EAAIC,EAAIigG,GAInC,YAFYnlG,IAARmlG,IAAqBA,EAAM,GAExBhoG,KAAKS,KAAKT,KAAKgoG,IAAIlgG,EAAKF,EAAIogG,GAAOhoG,KAAKgoG,IAAIjgG,EAAKF,EAAImgG,KAYhE/uE,MAAO,SAAUiiB,EAAGplB,EAAKvzB,GAErB,OAAI24C,EAAIplB,EAEGA,EAEFvzB,EAAM24C,EAEJ34C,EAIA24C,GAafyvD,YAAa,SAAUtqG,EAAGb,GAEtB,OAAOa,EAAIb,EAAIA,EAAIa,GAavBuqG,OAAQ,SAAUprG,EAAGC,EAAGw9B,GAEpB,OAAQj9B,KAAKmzB,IAAI3zB,EAAIC,IAAMw9B,GAc/B4tE,UAAW,SAAUxqG,EAAGq2B,EAAIC,EAAIC,EAAIC,GAEhC,OAAOD,GAAMv2B,EAAIq2B,IAAOG,EAAKD,IAAOD,EAAKD,IAY7Co0E,WAAY,SAAUzqG,EAAGy1B,EAAKvzB,GAM1B,OAHAlC,EAAIL,KAAKuC,IAAI,EAAGvC,KAAK81B,IAAI,GAAIz1B,EAAIy1B,IAAQvzB,EAAMuzB,MAGpCz1B,GAAK,EAAI,EAAIA,IAY5B0qG,aAAc,SAAU1qG,EAAGy1B,EAAKvzB,GAI5B,OAFAlC,EAAIL,KAAKuC,IAAI,EAAGvC,KAAK81B,IAAI,GAAIz1B,EAAIy1B,IAAQvzB,EAAMuzB,MAEpCz1B,EAAIA,GAAKA,GAAS,EAAJA,EAAQ,IAAM,KAY3C2qG,KAAM,SAAU3qG,GAEZ,OAAQA,EAAI,GAAM,EAAMA,EAAI,EAAK,EAAI,GAYzC4qG,QAAS,SAAUzrG,EAAGC,EAAGiX,GAIrB,YAFa7T,IAAT6T,IAAsBA,EAAO,GAE7BlX,EAAIC,GAAKiX,EAAOjX,EAET,EAEFD,EAAIkX,GAAQA,EAAOlX,EAEjB,GAICA,EAAIkX,GAAQjX,IA0BhC3B,EAAOy7C,oBAAsB,SAAU2xD,QAErBroG,IAAVqoG,IAAuBA,MAM3B5uG,KAAKoD,EAAI,EAMTpD,KAAK6uG,GAAK,EAMV7uG,KAAK+nG,GAAK,EAMV/nG,KAAKgoG,GAAK,EAEW,iBAAV4G,EAEP5uG,KAAK6mC,MAAM+nE,GAIX5uG,KAAK8uG,IAAIF,IAIjBptG,EAAOy7C,oBAAoB36C,WASvBsjC,IAAK,WAED,IAAI7U,EAAI,QAAU/wB,KAAK6uG,GAAc,uBAAT7uG,KAAKoD,EAOjC,OALApD,KAAKoD,EAAQ,EAAJ2tB,EACT/wB,KAAK6uG,GAAK7uG,KAAK+nG,GACf/nG,KAAK+nG,GAAK/nG,KAAKgoG,GACfhoG,KAAKgoG,GAAKj3E,EAAI/wB,KAAKoD,EAEZpD,KAAKgoG,IAWhB8G,IAAK,SAAUF,GAQX,GALA5uG,KAAK6uG,GAAK7uG,KAAKoyC,KAAK,KACpBpyC,KAAK+nG,GAAK/nG,KAAKoyC,KAAKpyC,KAAK6uG,IACzB7uG,KAAKgoG,GAAKhoG,KAAKoyC,KAAKpyC,KAAK+nG,IACzB/nG,KAAKoD,EAAI,EAEJwrG,EAML,IAAK,IAAIlsG,EAAI,EAAGA,EAAIksG,EAAMjsG,QAAuB,MAAZisG,EAAMlsG,GAAaA,IACxD,CACI,IAAI06C,EAAOwxD,EAAMlsG,GAEjB1C,KAAK6uG,IAAM7uG,KAAKoyC,KAAKgL,GACrBp9C,KAAK6uG,OAAS7uG,KAAK6uG,GAAK,GACxB7uG,KAAK+nG,IAAM/nG,KAAKoyC,KAAKgL,GACrBp9C,KAAK+nG,OAAS/nG,KAAK+nG,GAAK,GACxB/nG,KAAKgoG,IAAMhoG,KAAKoyC,KAAKgL,GACrBp9C,KAAKgoG,OAAShoG,KAAKgoG,GAAK,KAYhC51D,KAAM,SAAUh+B,GAEZ,IAAIoQ,EAAG9hB,EAAG60B,EAIV,IAHAA,EAAI,WACJnjB,EAAOA,EAAK0U,WAEPpmB,EAAI,EAAGA,EAAI0R,EAAKzR,OAAQD,IAGzB8hB,EAAI,oBADJ+S,GAAKnjB,EAAK0wD,WAAWpiE,IAGrB8hB,GADA+S,EAAI/S,IAAM,EAGV+S,GADA/S,GAAK+S,KACK,EAEVA,GAAS,YADT/S,GAAK+S,GAIT,OAAmB,wBAAXA,IAAM,IASlBw3E,QAAS,WAEL,OAA8B,WAAvB/uG,KAAK4lC,IAAIrgC,MAAMvF,OAS1B6lC,KAAM,WAEF,OAAO7lC,KAAK4lC,IAAIrgC,MAAMvF,MAAgD,wBAAhB,QAAvBA,KAAK4lC,IAAIrgC,MAAMvF,MAAmB,IASrEgvG,KAAM,WAEF,OAAOhvG,KAAK+uG,UAAY/uG,KAAK6lC,QAWjCopE,eAAgB,SAAUz1E,EAAKvzB,GAE3B,OAAOvC,KAAKqsB,MAAM/vB,KAAKkvG,YAAY,EAAGjpG,EAAMuzB,EAAM,GAAKA,IAY3D4hB,QAAS,SAAU5hB,EAAKvzB,GAEpB,OAAOjG,KAAKivG,eAAez1E,EAAKvzB,IAWpCipG,YAAa,SAAU11E,EAAKvzB,GAExB,OAAOjG,KAAK6lC,QAAU5/B,EAAMuzB,GAAOA,GASvC21E,OAAQ,WAEJ,OAAO,EAAI,EAAInvG,KAAK6lC,QASxBswC,KAAM,WAEF,IAAIjzE,EAAI,GACJC,EAAI,GAER,IAAKA,EAAID,EAAI,GAAIA,IAAM,GAAIC,IAAMD,EAAI,EAAQ,EAAJA,EAAQ,GAAS,GAAJA,EAAS,EAAIlD,KAAK6lC,QAAc,GAAJ3iC,EAAS,GAAK,GAAK,GAAG4lB,SAAS,IAAM,KAGvH,OAAO3lB,GAUXi3C,KAAM,SAAUg1D,GAEZ,OAAOA,EAAIpvG,KAAKivG,eAAe,EAAGG,EAAIzsG,OAAS,KASnD+rG,KAAM,WAEF,OAAO1uG,KAAKo6C,OAAQ,EAAG,KAU3Bi1D,aAAc,SAAUD,GAEpB,OAAOA,KAAO1rG,KAAKgoG,IAAI1rG,KAAK6lC,OAAQ,IAAMupE,EAAIzsG,OAAS,GAAK,MAWhEk/D,UAAW,SAAUroC,EAAKvzB,GAEtB,OAAOjG,KAAKkvG,YAAY11E,GAAO,UAAcvzB,GAAO,YASxD6vB,MAAO,WAEH,OAAO91B,KAAKivG,gBAAgB,IAAK,MAoBrCpoE,MAAO,SAAUA,GAYb,MAVqB,iBAAVA,GAAsBA,EAAMikC,MAAM,WAEzCjkC,EAAQA,EAAM9U,MAAM,KAEpB/xB,KAAKoD,EAAIy7B,WAAWgI,EAAM,IAC1B7mC,KAAK6uG,GAAKhwE,WAAWgI,EAAM,IAC3B7mC,KAAK+nG,GAAKlpE,WAAWgI,EAAM,IAC3B7mC,KAAKgoG,GAAKnpE,WAAWgI,EAAM,MAGtB,OAAQ7mC,KAAKoD,EAAGpD,KAAK6uG,GAAI7uG,KAAK+nG,GAAI/nG,KAAKgoG,IAAKl4F,KAAK,OAKlEtO,EAAOy7C,oBAAoB36C,UAAUC,YAAcf,EAAOy7C,oBAwB1Dz7C,EAAO8tG,SAAW,SAAUvrG,EAAGC,EAAGpG,EAAOC,EAAQ0xG,EAAYC,EAAW1wF,GAMpE9e,KAAKuvG,WAAa,GAMlBvvG,KAAKwvG,UAAY,EAKjBxvG,KAAK8e,MAAQ,EAKb9e,KAAK8E,UAKL9E,KAAKyvG,WAKLzvG,KAAK0vG,SAML1vG,KAAK2vG,UAEL3vG,KAAKsmC,MAAMviC,EAAGC,EAAGpG,EAAOC,EAAQ0xG,EAAYC,EAAW1wF,IAG3Dtd,EAAO8tG,SAAShtG,WAcZgkC,MAAO,SAAUviC,EAAGC,EAAGpG,EAAOC,EAAQ0xG,EAAYC,EAAW1wF,GAEzD9e,KAAKuvG,WAAaA,GAAc,GAChCvvG,KAAKwvG,UAAYA,GAAa,EAC9BxvG,KAAK8e,MAAQA,GAAS,EAEtB9e,KAAK8E,QACDf,EAAGL,KAAKiyB,MAAM5xB,GACdC,EAAGN,KAAKiyB,MAAM3xB,GACdpG,MAAOA,EACPC,OAAQA,EACR+xG,SAAUlsG,KAAKqsB,MAAMnyB,EAAQ,GAC7BiyG,UAAWnsG,KAAKqsB,MAAMlyB,EAAS,GAC/B+1B,MAAOlwB,KAAKiyB,MAAM5xB,GAAKL,KAAKqsB,MAAMnyB,EAAQ,GAC1C44B,OAAQ9yB,KAAKiyB,MAAM3xB,GAAKN,KAAKqsB,MAAMlyB,EAAS,IAGhDmC,KAAKyvG,QAAQ9sG,OAAS,EACtB3C,KAAK0vG,MAAM/sG,OAAS,GASxBmtG,SAAU,SAAUv1D,GAEhBA,EAAM1pB,QAAQ7wB,KAAK+vG,gBAAiB/vG,MAAM,IAS9C+vG,gBAAiB,SAAUxsF,GAEnBA,EAAO4uB,MAAQ5uB,EAAOrW,QAEtBlN,KAAKgwG,OAAOzsF,EAAO4uB,OAS3BpgB,MAAO,WAGH/xB,KAAK0vG,MAAM,GAAK,IAAIluG,EAAO8tG,SAAStvG,KAAK8E,OAAO8uB,MAAO5zB,KAAK8E,OAAOd,EAAGhE,KAAK8E,OAAO8qG,SAAU5vG,KAAK8E,OAAO+qG,UAAW7vG,KAAKuvG,WAAYvvG,KAAKwvG,UAAYxvG,KAAK8e,MAAQ,GAGlK9e,KAAK0vG,MAAM,GAAK,IAAIluG,EAAO8tG,SAAStvG,KAAK8E,OAAOf,EAAG/D,KAAK8E,OAAOd,EAAGhE,KAAK8E,OAAO8qG,SAAU5vG,KAAK8E,OAAO+qG,UAAW7vG,KAAKuvG,WAAYvvG,KAAKwvG,UAAYxvG,KAAK8e,MAAQ,GAG9J9e,KAAK0vG,MAAM,GAAK,IAAIluG,EAAO8tG,SAAStvG,KAAK8E,OAAOf,EAAG/D,KAAK8E,OAAO0xB,OAAQx2B,KAAK8E,OAAO8qG,SAAU5vG,KAAK8E,OAAO+qG,UAAW7vG,KAAKuvG,WAAYvvG,KAAKwvG,UAAYxvG,KAAK8e,MAAQ,GAGnK9e,KAAK0vG,MAAM,GAAK,IAAIluG,EAAO8tG,SAAStvG,KAAK8E,OAAO8uB,MAAO5zB,KAAK8E,OAAO0xB,OAAQx2B,KAAK8E,OAAO8qG,SAAU5vG,KAAK8E,OAAO+qG,UAAW7vG,KAAKuvG,WAAYvvG,KAAKwvG,UAAYxvG,KAAK8e,MAAQ,IAS3KkxF,OAAQ,SAAU79D,GAEd,IACIvpC,EADAlG,EAAI,EAIR,GAAqB,MAAjB1C,KAAK0vG,MAAM,KAII,KAFf9mG,EAAQ5I,KAAK61C,SAAS1D,KAW1B,GAFAnyC,KAAKyvG,QAAQ3nG,KAAKqqC,GAEdnyC,KAAKyvG,QAAQ9sG,OAAS3C,KAAKuvG,YAAcvvG,KAAK8e,MAAQ9e,KAAKwvG,UAS3D,IANqB,MAAjBxvG,KAAK0vG,MAAM,IAEX1vG,KAAK+xB,QAIFrvB,EAAI1C,KAAKyvG,QAAQ9sG,SAIL,KAFfiG,EAAQ5I,KAAK61C,SAAS71C,KAAKyvG,QAAQ/sG,KAK/B1C,KAAK0vG,MAAM9mG,GAAOonG,OAAOhwG,KAAKyvG,QAAQ3mG,OAAOpG,EAAG,GAAG,IAInDA,SA3BJ1C,KAAK0vG,MAAM9mG,GAAOonG,OAAO79D,IAwCrC0D,SAAU,SAAU/a,GAGhB,IAAIlyB,GAAS,EA8Bb,OA5BIkyB,EAAK/2B,EAAI/D,KAAK8E,OAAO8uB,OAASkH,EAAKlH,MAAQ5zB,KAAK8E,OAAO8uB,MAEnDkH,EAAK92B,EAAIhE,KAAK8E,OAAO0xB,QAAUsE,EAAKtE,OAASx2B,KAAK8E,OAAO0xB,OAGzD5tB,EAAQ,EAEHkyB,EAAK92B,EAAIhE,KAAK8E,OAAO0xB,SAG1B5tB,EAAQ,GAGPkyB,EAAK/2B,EAAI/D,KAAK8E,OAAO8uB,QAGtBkH,EAAK92B,EAAIhE,KAAK8E,OAAO0xB,QAAUsE,EAAKtE,OAASx2B,KAAK8E,OAAO0xB,OAGzD5tB,EAAQ,EAEHkyB,EAAK92B,EAAIhE,KAAK8E,OAAO0xB,SAG1B5tB,EAAQ,IAITA,GAUXqnG,SAAU,SAAU7gG,GAEhB,GAAIA,aAAkB5N,EAAOS,UAEzB,IAAIiuG,EAAgBlwG,KAAKyvG,QAErB7mG,EAAQ5I,KAAK61C,SAASzmC,OAG9B,CACI,IAAKA,EAAO+iC,KAER,OAAOnyC,KAAK2vG,OAGhB,IAAIO,EAAgBlwG,KAAKyvG,QAErB7mG,EAAQ5I,KAAK61C,SAASzmC,EAAO+iC,MAoBrC,OAjBInyC,KAAK0vG,MAAM,KAKPQ,GAFW,IAAXtnG,EAEgBsnG,EAAc3/E,OAAOvwB,KAAK0vG,MAAM9mG,GAAOqnG,SAAS7gG,KAOhE8gG,GADAA,GADAA,EAAgBA,EAAc3/E,OAAOvwB,KAAK0vG,MAAM,GAAGO,SAAS7gG,KAC9BmhB,OAAOvwB,KAAK0vG,MAAM,GAAGO,SAAS7gG,KAC9BmhB,OAAOvwB,KAAK0vG,MAAM,GAAGO,SAAS7gG,KAC9BmhB,OAAOvwB,KAAK0vG,MAAM,GAAGO,SAAS7gG,KAI7D8gG,GAOXt1F,MAAO,WAEH5a,KAAKyvG,QAAQ9sG,OAAS,EAItB,IAFA,IAAID,EAAI1C,KAAK0vG,MAAM/sG,OAEZD,KAEH1C,KAAK0vG,MAAMhtG,GAAGkY,QACd5a,KAAK0vG,MAAM5mG,OAAOpG,EAAG,GAGzB1C,KAAK0vG,MAAM/sG,OAAS,IAK5BnB,EAAO8tG,SAAShtG,UAAUC,YAAcf,EAAO8tG,SAyD/C9tG,EAAOm8C,aAAe,SAAU56C,GAK5B/C,KAAK+C,KAAOA,EAMZ/C,KAAKmwG,WAMLnwG,KAAKowG,QAELpwG,KAAKqwG,SAEDC,OAAQ9uG,EAAO+uG,OAAOD,OACtBE,OAAQhvG,EAAO+uG,OAAOC,OACtBC,OAAQjvG,EAAO+uG,OAAOE,OACtBC,OAAQlvG,EAAO+uG,OAAOG,OACtBC,OAAQnvG,EAAO+uG,OAAOI,OAEtBC,OAAQpvG,EAAO+uG,OAAOK,OAAOC,KAC7BC,KAAMtvG,EAAO+uG,OAAOQ,UAAUC,IAC9BC,MAAOzvG,EAAO+uG,OAAOU,MAAMD,IAC3BE,MAAO1vG,EAAO+uG,OAAOY,QAAQH,IAC7BI,MAAO5vG,EAAO+uG,OAAOc,QAAQL,IAC7BM,KAAM9vG,EAAO+uG,OAAOgB,WAAWP,IAC/BQ,KAAMhwG,EAAO+uG,OAAOkB,YAAYT,IAChCU,KAAMlwG,EAAO+uG,OAAOoB,SAASX,IAC7BY,QAASpwG,EAAO+uG,OAAOqB,QAAQZ,IAC/Ba,KAAMrwG,EAAO+uG,OAAOsB,KAAKb,IACzBc,OAAQtwG,EAAO+uG,OAAOuB,OAAOd,IAE7Be,cAAevwG,EAAO+uG,OAAOQ,UAAUiB,GACvCC,eAAgBzwG,EAAO+uG,OAAOU,MAAMe,GACpCE,eAAgB1wG,EAAO+uG,OAAOY,QAAQa,GACtCG,eAAgB3wG,EAAO+uG,OAAOc,QAAQW,GACtCI,cAAe5wG,EAAO+uG,OAAOgB,WAAWS,GACxCK,cAAe7wG,EAAO+uG,OAAOkB,YAAYO,GACzCM,cAAe9wG,EAAO+uG,OAAOoB,SAASK,GACtCO,iBAAkB/wG,EAAO+uG,OAAOqB,QAAQI,GACxCQ,cAAehxG,EAAO+uG,OAAOsB,KAAKG,GAClCS,gBAAiBjxG,EAAO+uG,OAAOuB,OAAOE,GAEtCU,eAAgBlxG,EAAO+uG,OAAOQ,UAAUC,IACxC2B,gBAAiBnxG,EAAO+uG,OAAOU,MAAMD,IACrC4B,gBAAiBpxG,EAAO+uG,OAAOY,QAAQH,IACvC6B,gBAAiBrxG,EAAO+uG,OAAOc,QAAQL,IACvC8B,eAAgBtxG,EAAO+uG,OAAOgB,WAAWP,IACzC+B,eAAgBvxG,EAAO+uG,OAAOkB,YAAYT,IAC1CgC,eAAgBxxG,EAAO+uG,OAAOoB,SAASX,IACvCiC,kBAAmBzxG,EAAO+uG,OAAOqB,QAAQZ,IACzCkC,eAAgB1xG,EAAO+uG,OAAOsB,KAAKb,IACnCmC,iBAAkB3xG,EAAO+uG,OAAOuB,OAAOd,IAEvCoC,iBAAkB5xG,EAAO+uG,OAAOQ,UAAUsC,MAC1CC,kBAAmB9xG,EAAO+uG,OAAOU,MAAMoC,MACvCE,kBAAmB/xG,EAAO+uG,OAAOY,QAAQkC,MACzCG,kBAAmBhyG,EAAO+uG,OAAOc,QAAQgC,MACzCI,iBAAkBjyG,EAAO+uG,OAAOgB,WAAW8B,MAC3CK,iBAAkBlyG,EAAO+uG,OAAOkB,YAAY4B,MAC5CM,iBAAkBnyG,EAAO+uG,OAAOoB,SAAS0B,MACzCO,oBAAqBpyG,EAAO+uG,OAAOqB,QAAQyB,MAC3CQ,iBAAkBryG,EAAO+uG,OAAOsB,KAAKwB,MACrCS,mBAAoBtyG,EAAO+uG,OAAOuB,OAAOuB,OAI7CrzG,KAAK+C,KAAKkmC,QAAQ9P,IAAIn5B,KAAK+zG,UAAW/zG,MACtCA,KAAK+C,KAAKomC,SAAShQ,IAAIn5B,KAAKg0G,WAAYh0G,OAG5CwB,EAAOm8C,aAAar7C,WAOhB63C,OAAQ,WAEJ,OAAOn6C,KAAKmwG,SAOhBhmE,UAAW,WAEP,IAAK,IAAIznC,EAAI,EAAGA,EAAI1C,KAAKmwG,QAAQxtG,OAAQD,IAErC1C,KAAKmwG,QAAQztG,GAAGuxG,eAAgB,EAGpCj0G,KAAKowG,SAUTriC,WAAY,SAAU97C,EAAKxvB,QAEN8D,IAAb9D,IAA0BA,GAAW,GAKzC,GAAIgF,MAAMC,QAAQuqB,GAEd,IAAKvvB,EAAI,EAAGsuB,EAAMiB,EAAItvB,OAAQD,EAAIsuB,EAAKtuB,IAEnC1C,KAAK+tE,WAAW97C,EAAIvvB,SAGvB,GAAIuvB,EAAIze,OAAShS,EAAOmrB,OAASlqB,EAElC,IAAK,IAAIC,EAAI,EAAGsuB,EAAMiB,EAAIxvB,SAASE,OAAQD,EAAIsuB,EAAKtuB,IAEhD1C,KAAK+tE,WAAW97C,EAAIxvB,SAASC,QAIrC,CACI,IAAKA,EAAI,EAAGsuB,EAAMhxB,KAAKmwG,QAAQxtG,OAAQD,EAAIsuB,EAAKtuB,IAExCuvB,IAAQjyB,KAAKmwG,QAAQztG,GAAGsF,QAExBhI,KAAKoc,OAAOpc,KAAKmwG,QAAQztG,IAIjC,IAAKA,EAAI,EAAGsuB,EAAMhxB,KAAKowG,KAAKztG,OAAQD,EAAIsuB,EAAKtuB,IAErCuvB,IAAQjyB,KAAKowG,KAAK1tG,GAAGsF,QAErBhI,KAAKoc,OAAOpc,KAAKowG,KAAK1tG,MAatCy2B,IAAK,SAAU46C,GAEXA,EAAMmgC,SAAWl0G,KACjBA,KAAKowG,KAAKtoG,KAAKisE,IAUnBvrE,OAAQ,SAAUixC,GAEd,OAAO,IAAIj4C,EAAOi1E,MAAMh9B,EAAQz5C,KAAK+C,KAAM/C,OAS/Coc,OAAQ,SAAU23D,GAEd,IAAIrxE,EAAI1C,KAAKmwG,QAAQ9mG,QAAQ0qE,IAElB,IAAPrxE,EAEA1C,KAAKmwG,QAAQztG,GAAGuxG,eAAgB,GAMrB,KAFXvxG,EAAI1C,KAAKowG,KAAK/mG,QAAQ0qE,MAIlB/zE,KAAKowG,KAAK1tG,GAAGuxG,eAAgB,IAWzC5uE,OAAQ,WAEJ,IAAI8uE,EAAYn0G,KAAKowG,KAAKztG,OACtByxG,EAAYp0G,KAAKmwG,QAAQxtG,OAE7B,GAAkB,IAAdyxG,GAAiC,IAAdD,EAEnB,OAAO,EAKX,IAFA,IAAIzxG,EAAI,EAEDA,EAAI0xG,GAEHp0G,KAAKmwG,QAAQztG,GAAG2iC,OAAOrlC,KAAK+C,KAAK0iC,KAAK4uE,YAEtC3xG,KAIA1C,KAAKmwG,QAAQrnG,OAAOpG,EAAG,GAEvB0xG,KAWR,OANID,EAAY,IAEZn0G,KAAKmwG,QAAUnwG,KAAKmwG,QAAQ5/E,OAAOvwB,KAAKowG,MACxCpwG,KAAKowG,KAAKztG,OAAS,IAGhB,GAaX2xG,WAAY,SAAU76D,EAAQ86D,GAI1B,OAFKA,IAAkBA,GAAiB,GAEjCv0G,KAAKmwG,QAAQqE,KAAK,SAAUzgC,GAE/B,OAAQA,EAAM/rE,SAAWyxC,KAAa86D,GAAmBxgC,EAAMv4B,YAAcu4B,EAAMkgC,kBAU3FF,UAAW,WAEP,IAAK,IAAIrxG,EAAI1C,KAAKmwG,QAAQxtG,OAAS,EAAGD,GAAK,EAAGA,IAE1C1C,KAAKmwG,QAAQztG,GAAG+xG,UAUxBT,WAAY,WAER,IAAK,IAAItxG,EAAI1C,KAAKmwG,QAAQxtG,OAAS,EAAGD,GAAK,EAAGA,IAE1C1C,KAAKmwG,QAAQztG,GAAGgyG,WASxBC,SAAU,WAEN,IAAK,IAAIjyG,EAAI1C,KAAKmwG,QAAQxtG,OAAS,EAAGD,GAAK,EAAGA,IAE1C1C,KAAKmwG,QAAQztG,GAAGwmC,SASxB0rE,UAAW,WAEP,IAAK,IAAIlyG,EAAI1C,KAAKmwG,QAAQxtG,OAAS,EAAGD,GAAK,EAAGA,IAE1C1C,KAAKmwG,QAAQztG,GAAG0mC,QAAO,IAS/B5mC,QAAS,WAELxC,KAAK+C,KAAKkmC,QAAQ7sB,OAAOpc,KAAK+zG,UAAW/zG,MACzCA,KAAK+C,KAAKomC,SAAS/sB,OAAOpc,KAAKg0G,WAAYh0G,MAE3CA,KAAK+C,KAAO,KACZ/C,KAAKowG,KAAO,KACZpwG,KAAKmwG,QAAU,OAKvB3uG,EAAOm8C,aAAar7C,UAAUC,YAAcf,EAAOm8C,aAqBnDn8C,EAAOi1E,MAAQ,SAAUzuE,EAAQjF,EAAM8xG,GAKnC70G,KAAK+C,KAAOA,EAKZ/C,KAAKgI,OAASA,EAKdhI,KAAK60G,QAAUA,EAKf70G,KAAK80G,YASL90G,KAAKue,SAAU,EASfve,KAAK+0G,UAAY,EAKjB/0G,KAAKg1G,cAAgB,EAOrBh1G,KAAKi0G,eAAgB,EAOrBj0G,KAAKi1G,QAAU,IAAIzzG,EAAO+gC,OAQ1BviC,KAAKk1G,OAAS,IAAI1zG,EAAO+gC,OAOzBviC,KAAKm1G,SAAW,IAAI3zG,EAAO+gC,OAQ3BviC,KAAKo1G,gBAAkB,IAAI5zG,EAAO+gC,OAOlCviC,KAAKq1G,WAAa,IAAI7zG,EAAO+gC,OAM7BviC,KAAKw7C,WAAY,EAOjBx7C,KAAKkoC,QAAU,EAKfloC,KAAK+1F,cAKL/1F,KAAKs1G,aAAe,KAMpBt1G,KAAKu1G,UAAW,EAOhBv1G,KAAKw1G,kBAAoB,KAOzBx1G,KAAKy1G,yBAA2B,KAOhCz1G,KAAK01G,YAAc,EAMnB11G,KAAKm8C,aAAc,EAMnBn8C,KAAK21G,aAAc,GAwBvBn0G,EAAOi1E,MAAMzkC,YAAc,SAAU+hC,GAEjCvyE,EAAO4e,MAAM4xB,YAAY+hC,EAAM/rE,SAGnCxG,EAAOi1E,MAAMn0E,WAkBT+uB,GAAI,SAAU0kE,EAAYhzD,EAAU6yE,EAAMvsE,EAAWmuB,EAAO7iD,EAAQkhG,GAchE,YAZiBtvG,IAAbw8B,GAA0BA,GAAY,KAAKA,EAAW,UAC7Cx8B,IAATqvG,GAA+B,OAATA,IAAiBA,EAAOp0G,EAAO+uG,OAAOuF,cAC9CvvG,IAAd8iC,IAA2BA,GAAY,QAC7B9iC,IAAVixD,IAAuBA,EAAQ,QACpBjxD,IAAXoO,IAAwBA,EAAS,QACxBpO,IAATsvG,IAAsBA,GAAO,GAEb,iBAATD,GAAqB51G,KAAK60G,QAAQxE,QAAQuF,KAEjDA,EAAO51G,KAAK60G,QAAQxE,QAAQuF,IAG5B51G,KAAKw7C,WAELl7C,QAAQ+Z,KAAK,sDACNra,OAGXA,KAAK80G,SAAShtG,KAAK,IAAItG,EAAOu0G,UAAU/1G,MAAMqxB,GAAG0kE,EAAYhzD,EAAU6yE,EAAMp+C,EAAO7iD,EAAQkhG,IAExFxsE,GAEArpC,KAAKsM,QAGFtM,OAmBXyF,KAAM,SAAUswF,EAAYhzD,EAAU6yE,EAAMvsE,EAAWmuB,EAAO7iD,EAAQkhG,GAclE,YAZiBtvG,IAAbw8B,IAA0BA,EAAW,UAC5Bx8B,IAATqvG,GAA+B,OAATA,IAAiBA,EAAOp0G,EAAO+uG,OAAOuF,cAC9CvvG,IAAd8iC,IAA2BA,GAAY,QAC7B9iC,IAAVixD,IAAuBA,EAAQ,QACpBjxD,IAAXoO,IAAwBA,EAAS,QACxBpO,IAATsvG,IAAsBA,GAAO,GAEb,iBAATD,GAAqB51G,KAAK60G,QAAQxE,QAAQuF,KAEjDA,EAAO51G,KAAK60G,QAAQxE,QAAQuF,IAG5B51G,KAAKw7C,WAELl7C,QAAQ+Z,KAAK,wDACNra,OAGXA,KAAK80G,SAAShtG,KAAK,IAAItG,EAAOu0G,UAAU/1G,MAAMyF,KAAKswF,EAAYhzD,EAAU6yE,EAAMp+C,EAAO7iD,EAAQkhG,IAE1FxsE,GAEArpC,KAAKsM,QAGFtM,OAcXsM,MAAO,SAAU1D,GAIb,QAFcrC,IAAVqC,IAAuBA,EAAQ,GAE/B5I,KAAKi0G,cAGL,OADA3zG,QAAQ+Z,KAAK,wDACNra,KAGX,GAAkB,OAAdA,KAAK+C,MAAiC,OAAhB/C,KAAKgI,QAA4C,IAAzBhI,KAAK80G,SAASnyG,QAAgB3C,KAAKw7C,UAEjF,OAAOx7C,KAIX,IAAS0C,EAAI,EAAGA,EAAI1C,KAAK80G,SAASnyG,OAAQD,IAGtC,IAAK,IAAIs0C,KAAYh3C,KAAK80G,SAASpyG,GAAGszG,KAElCh2G,KAAK+1F,WAAW/+C,GAAYh3C,KAAKgI,OAAOgvC,IAAa,EAEhDvvC,MAAMC,QAAQ1H,KAAK+1F,WAAW/+C,MAG/Bh3C,KAAK+1F,WAAW/+C,IAAa,GAKzC,IAAK,IAAIt0C,EAAI,EAAGA,EAAI1C,KAAK80G,SAASnyG,OAAQD,IAEtC1C,KAAK80G,SAASpyG,GAAGuzG,aAgBrB,OAbAj2G,KAAK60G,QAAQ17E,IAAIn5B,MAEjBA,KAAKw7C,WAAY,GAEb5yC,EAAQ,GAAKA,EAAQ5I,KAAK80G,SAASnyG,OAAS,KAE5CiG,EAAQ,GAGZ5I,KAAKkoC,QAAUt/B,EAEf5I,KAAK80G,SAAS90G,KAAKkoC,SAAS57B,QAErBtM,MAaXmM,KAAM,SAAUme,GAsBZ,YApBiB/jB,IAAb+jB,IAA0BA,GAAW,GAEzCtqB,KAAKw7C,WAAY,EAEjBx7C,KAAKw1G,kBAAoB,KACzBx1G,KAAKy1G,yBAA2B,KAE5BnrF,IAEAtqB,KAAKq1G,WAAW1vE,SAAS3lC,KAAKgI,OAAQhI,MACtCA,KAAK21G,aAAc,EAEf31G,KAAKs1G,cAELt1G,KAAKs1G,aAAahpG,SAI1BtM,KAAK60G,QAAQz4F,OAAOpc,MAEbA,MAcXk2G,gBAAiB,SAAUl/D,EAAU5vC,EAAOwB,GAExC,GAA6B,IAAzB5I,KAAK80G,SAASnyG,OAAgB,OAAO3C,KAIzC,QAFcuG,IAAVqC,IAAuBA,EAAQ,IAEpB,IAAXA,EAEA,IAAK,IAAIlG,EAAI,EAAGA,EAAI1C,KAAK80G,SAASnyG,OAAQD,IAEtC1C,KAAK80G,SAASpyG,GAAGs0C,GAAY5vC,OAKjCpH,KAAK80G,SAASlsG,GAAOouC,GAAY5vC,EAGrC,OAAOpH,MAcXw3D,MAAO,SAAUz0B,EAAUn6B,GAEvB,OAAO5I,KAAKk2G,gBAAgB,QAASnzE,EAAUn6B,IAenD+L,OAAQ,SAAUqkC,EAAOm9D,EAAavtG,GAOlC,YALoBrC,IAAhB4vG,IAA6BA,EAAc,GAE/Cn2G,KAAKk2G,gBAAgB,gBAAiBl9D,EAAOpwC,GAC7C5I,KAAKk2G,gBAAgB,cAAel9D,EAAOpwC,GAEpC5I,KAAKk2G,gBAAgB,cAAeC,EAAavtG,IAc5DutG,YAAa,SAAUpzE,EAAUn6B,GAE7B,OAAO5I,KAAKk2G,gBAAgB,cAAenzE,EAAUn6B,IAgBzDitG,KAAM,SAAU78F,EAAQo9F,EAAWxtG,GAM/B,YAJkBrC,IAAd6vG,IAA2BA,EAAY,GAE3Cp2G,KAAKk2G,gBAAgB,OAAQl9F,EAAQpQ,GAE9B5I,KAAKk2G,gBAAgB,YAAaE,EAAWxtG,IAcxDwtG,UAAW,SAAUrzE,EAAUn6B,GAE3B,OAAO5I,KAAKk2G,gBAAgB,YAAanzE,EAAUn6B,IAcvDytG,OAAQ,SAAUT,EAAMhtG,GAOpB,MALoB,iBAATgtG,GAAqB51G,KAAK60G,QAAQxE,QAAQuF,KAEjDA,EAAO51G,KAAK60G,QAAQxE,QAAQuF,IAGzB51G,KAAKk2G,gBAAgB,iBAAkBN,EAAMhtG,IAexD0tG,cAAe,SAAUA,EAAexoG,EAASlF,GAM7C,YAJgBrC,IAAZuH,IAAyBA,EAAUtM,EAAOkC,MAE9C1D,KAAKk2G,gBAAgB,wBAAyBI,EAAe1tG,GAEtD5I,KAAKk2G,gBAAgB,uBAAwBpoG,EAASlF,IAWjE2tG,UAAW,SAAUv9D,GAMjB,YAJczyC,IAAVyyC,IAAuBA,EAAQ,GAEnCh5C,KAAKg1G,cAAgBh8D,EAEdh5C,MAiBXw2G,MAAO,WAIH,IAFA,IAAI9zG,EAAI8tB,UAAU7tB,OAEXD,KAECA,EAAI,EAEJ8tB,UAAU9tB,EAAI,GAAG4yG,aAAe9kF,UAAU9tB,GAI1C1C,KAAKs1G,aAAe9kF,UAAU9tB,GAItC,OAAO1C,MAmBXqrE,KAAM,SAAUjkE,GAMZ,YAJcb,IAAVa,IAAuBA,GAAQ,GAEnCpH,KAAKg1G,cAAgB,GAAW,EAAI,EAE7Bh1G,MAmBXuoC,iBAAkB,SAAUyM,EAAUxL,GAKlC,OAHAxpC,KAAKw1G,kBAAoBxgE,EACzBh1C,KAAKy1G,yBAA2BjsE,EAEzBxpC,MAQXkpC,MAAO,WAEHlpC,KAAKu1G,UAAW,EAEhBv1G,KAAKm8C,aAAc,EAEnBn8C,KAAK01G,YAAc11G,KAAK+C,KAAK0iC,KAAK4uE,YAStCI,OAAQ,WAECz0G,KAAKm8C,cAENn8C,KAAKu1G,UAAW,EAEhBv1G,KAAK01G,YAAc11G,KAAK+C,KAAK0iC,KAAK4uE,aAS1CjrE,OAAQ,WAEJ,GAAIppC,KAAKu1G,SACT,CACIv1G,KAAKu1G,UAAW,EAEhBv1G,KAAKm8C,aAAc,EAEnB,IAAK,IAAIz5C,EAAI,EAAGA,EAAI1C,KAAK80G,SAASnyG,OAAQD,IAEjC1C,KAAK80G,SAASpyG,GAAG84C,YAElBx7C,KAAK80G,SAASpyG,GAAG+zG,WAAcz2G,KAAK+C,KAAK0iC,KAAK4uE,WAAar0G,KAAK01G,eAWhFhB,QAAS,WAED10G,KAAKm8C,aAMLn8C,KAAKopC,UAWb/D,OAAQ,SAAUI,GAEd,GAAIzlC,KAAKi0G,gBAAkBj0G,KAAKgI,OAE5B,OAAO,EAGX,GAAIhI,KAAKu1G,SAEL,OAAO,EAGX,IAAImB,EAAS12G,KAAK80G,SAAS90G,KAAKkoC,SAAS7C,OAAOI,GAEhD,GAAIixE,IAAWl1G,EAAOu0G,UAAUY,QAE5B,OAAO,EAEN,GAAID,IAAWl1G,EAAOu0G,UAAUa,QAcjC,OAZK52G,KAAK21G,cAEN31G,KAAKi1G,QAAQtvE,SAAS3lC,KAAKgI,OAAQhI,MACnCA,KAAK21G,aAAc,GAGQ,OAA3B31G,KAAKw1G,mBAELx1G,KAAKw1G,kBAAkBhxG,KAAKxE,KAAKy1G,yBAA0Bz1G,KAAMA,KAAK80G,SAAS90G,KAAKkoC,SAAS9gC,MAAOpH,KAAK80G,SAAS90G,KAAKkoC,UAIpHloC,KAAKw7C,UAEX,GAAIk7D,IAAWl1G,EAAOu0G,UAAUc,OAWjC,OATmD,IAA/C72G,KAAK80G,SAAS90G,KAAKkoC,SAAS8sE,cAE5Bh1G,KAAKk1G,OAAOvvE,SAAS3lC,KAAKgI,OAAQhI,MAIlCA,KAAKm1G,SAASxvE,SAAS3lC,KAAKgI,OAAQhI,OAGjC,EAEN,GAAI02G,IAAWl1G,EAAOu0G,UAAUe,SACrC,CACI,IAAIxsF,GAAW,EAwBf,OArBItqB,KAAKue,UAELve,KAAKkoC,QAEc,IAEfloC,KAAKkoC,QAAUloC,KAAK80G,SAASnyG,OAAS,EACtC2nB,GAAW,KAKftqB,KAAKkoC,UAEgBloC,KAAK80G,SAASnyG,SAE/B3C,KAAKkoC,QAAU,EACf5d,GAAW,GAIfA,GAG4B,IAAxBtqB,KAAKg1G,eAELh1G,KAAK80G,SAAS90G,KAAKkoC,SAAS57B,QAC5BtM,KAAKk1G,OAAOvvE,SAAS3lC,KAAKgI,OAAQhI,OAC3B,GAEFA,KAAKg1G,cAAgB,GAE1Bh1G,KAAKg1G,gBAELh1G,KAAK80G,SAAS90G,KAAKkoC,SAAS57B,QAC5BtM,KAAKm1G,SAASxvE,SAAS3lC,KAAKgI,OAAQhI,OAC7B,IAKPA,KAAKw7C,WAAY,EACjBx7C,KAAKq1G,WAAW1vE,SAAS3lC,KAAKgI,OAAQhI,MACtCA,KAAK21G,aAAc,EAEf31G,KAAKs1G,cAELt1G,KAAKs1G,aAAahpG,SAGf,IAMXtM,KAAKo1G,gBAAgBzvE,SAAS3lC,KAAKgI,OAAQhI,MAC3CA,KAAK80G,SAAS90G,KAAKkoC,SAAS57B,SACrB,KAgBnByqG,aAAc,SAAU3rC,EAAWh3D,GAE/B,GAAkB,OAAdpU,KAAK+C,MAAiC,OAAhB/C,KAAKgI,OAE3B,OAAO,UAGOzB,IAAd6kE,IAA2BA,EAAY,SAC9B7kE,IAAT6N,IAAsBA,MAG1B,IAAS1R,EAAI,EAAGA,EAAI1C,KAAK80G,SAASnyG,OAAQD,IAGtC,IAAK,IAAIs0C,KAAYh3C,KAAK80G,SAASpyG,GAAGszG,KAElCh2G,KAAK+1F,WAAW/+C,GAAYh3C,KAAKgI,OAAOgvC,IAAa,EAEhDvvC,MAAMC,QAAQ1H,KAAK+1F,WAAW/+C,MAG/Bh3C,KAAK+1F,WAAW/+C,IAAa,GAKzC,IAASt0C,EAAI,EAAGA,EAAI1C,KAAK80G,SAASnyG,OAAQD,IAEtC1C,KAAK80G,SAASpyG,GAAGuzG,aAGrB,IAAK,IAAIvzG,EAAI,EAAGA,EAAI1C,KAAK80G,SAASnyG,OAAQD,IAEtC0R,EAAOA,EAAKmc,OAAOvwB,KAAK80G,SAASpyG,GAAGq0G,aAAa3rC,IAGrD,OAAOh3D,IASfpN,OAAOyF,eAAejL,EAAOi1E,MAAMn0E,UAAW,iBAE1C4E,IAAK,WAID,IAAK,IAFD8xC,EAAQ,EAEHt2C,EAAI,EAAGA,EAAI1C,KAAK80G,SAASnyG,OAAQD,IAEtCs2C,GAASh5C,KAAK80G,SAASpyG,GAAGqgC,SAG9B,OAAOiW,KAKfx3C,EAAOi1E,MAAMn0E,UAAUC,YAAcf,EAAOi1E,MAiB5Cj1E,EAAOu0G,UAAY,SAAU10G,GAKzBrB,KAAKqB,OAASA,EAKdrB,KAAK+C,KAAO1B,EAAO0B,KAMnB/C,KAAKg3G,UAMLh3G,KAAKi3G,eAMLj3G,KAAKg2G,QAMLh2G,KAAKk3G,aAMLl3G,KAAK+iC,SAAW,IAMhB/iC,KAAK2uG,QAAU,EAMf3uG,KAAKoH,MAAQ,EAKbpH,KAAKg1G,cAAgB,EAKrBh1G,KAAKm2G,YAAc,EAMnBn2G,KAAKm3G,YAAc,EAOnBn3G,KAAKm+B,aAAc,EAMnBn+B,KAAK61G,MAAO,EAKZ71G,KAAKo2G,UAAY,EAMjBp2G,KAAKo3G,WAAY,EAMjBp3G,KAAKw3D,MAAQ,EAKbx3D,KAAKmtF,GAAK,EAKVntF,KAAKy2G,UAAY,KAMjBz2G,KAAKq3G,eAAiB71G,EAAO+uG,OAAOuF,QAMpC91G,KAAKs3G,sBAAwB91G,EAAOkC,KAAKwpG,oBAMzCltG,KAAKu3G,qBAAuB/1G,EAAOkC,KAMnC1D,KAAKw7C,WAAY,EAMjBx7C,KAAKw3G,QAAS,GAOlBh2G,EAAOu0G,UAAUY,QAAU,EAM3Bn1G,EAAOu0G,UAAUa,QAAU,EAM3Bp1G,EAAOu0G,UAAUc,OAAS,EAM1Br1G,EAAOu0G,UAAUe,SAAW,EAE5Bt1G,EAAOu0G,UAAUzzG,WAeb+uB,GAAI,SAAU0kE,EAAYhzD,EAAU6yE,EAAMp+C,EAAO7iD,EAAQkhG,GAWrD,OATA71G,KAAKg2G,KAAOjgB,EACZ/1F,KAAK+iC,SAAWA,EAChB/iC,KAAKq3G,eAAiBzB,EACtB51G,KAAKw3D,MAAQA,EACbx3D,KAAKm3G,YAAcxiG,EACnB3U,KAAK61G,KAAOA,EAEZ71G,KAAKw3G,QAAS,EAEPx3G,MAgBXyF,KAAM,SAAUswF,EAAYhzD,EAAU6yE,EAAMp+C,EAAO7iD,EAAQkhG,GAWvD,OATA71G,KAAKg2G,KAAOjgB,EACZ/1F,KAAK+iC,SAAWA,EAChB/iC,KAAKq3G,eAAiBzB,EACtB51G,KAAKw3D,MAAQA,EACbx3D,KAAKm3G,YAAcxiG,EACnB3U,KAAK61G,KAAOA,EAEZ71G,KAAKw3G,QAAS,EAEPx3G,MASXsM,MAAO,WAsBH,GApBAtM,KAAKy2G,UAAYz2G,KAAK+C,KAAK0iC,KAAK4uE,WAAar0G,KAAKw3D,MAE9Cx3D,KAAKqB,OAAOkd,QAEZve,KAAKmtF,GAAKntF,KAAK+iC,SAIf/iC,KAAKmtF,GAAK,EAGVntF,KAAKw3D,MAAQ,EAEbx3D,KAAKw7C,WAAY,EAIjBx7C,KAAKw7C,WAAY,EAGjBx7C,KAAKw3G,OAGL,IAAK,IAAIxgE,KAAYh3C,KAAKi3G,YAEtBj3G,KAAKg3G,OAAOhgE,GAAYh3C,KAAKk3G,UAAUlgE,GACvCh3C,KAAKg2G,KAAKh/D,GAAYh3C,KAAKi3G,YAAYjgE,GACvCh3C,KAAKqB,OAAO2G,OAAOgvC,GAAYh3C,KAAKg3G,OAAOhgE,GAOnD,OAHAh3C,KAAKoH,MAAQ,EACbpH,KAAKg1G,cAAgBh1G,KAAKm3G,YAEnBn3G,MAUXi2G,WAAY,WAER,IAAK,IAAIj/D,KAAYh3C,KAAKqB,OAAO00F,WACjC,CAKI,GAHA/1F,KAAKg3G,OAAOhgE,GAAYh3C,KAAKqB,OAAO00F,WAAW/+C,GAG3CvvC,MAAMC,QAAQ1H,KAAKg2G,KAAKh/D,IAC5B,CACI,GAAmC,IAA/Bh3C,KAAKg2G,KAAKh/D,GAAUr0C,OAEpB,SAGiB,IAAjB3C,KAAK2uG,UAML3uG,KAAKg2G,KAAKh/D,IAAch3C,KAAKg3G,OAAOhgE,IAAYzmB,OAAOvwB,KAAKg2G,KAAKh/D,UAItC,IAAxBh3C,KAAKg2G,KAAKh/D,IAEkB,iBAAxBh3C,KAAKg2G,KAAKh/D,KAGjBh3C,KAAKg2G,KAAKh/D,GAAYh3C,KAAKg3G,OAAOhgE,GAAYnY,WAAW7+B,KAAKg2G,KAAKh/D,KAGvEh3C,KAAKqB,OAAO00F,WAAW/+C,GAAYh3C,KAAKg2G,KAAKh/D,IAK7Ch3C,KAAKg2G,KAAKh/D,GAAYh3C,KAAKg3G,OAAOhgE,GAGtCh3C,KAAKi3G,YAAYjgE,GAAYh3C,KAAKg3G,OAAOhgE,GACzCh3C,KAAKk3G,UAAUlgE,GAAYh3C,KAAKg2G,KAAKh/D,GAGzC,OAAOh3C,MAWXqlC,OAAQ,SAAUI,GAEd,GAAKzlC,KAAKw7C,WAcN,GAAI/V,EAAOzlC,KAAKy2G,UAEZ,OAAOj1G,EAAOu0G,UAAUa,YAfhC,CACI,KAAInxE,GAAQzlC,KAAKy2G,WAMb,OAAOj1G,EAAOu0G,UAAUY,QAJxB32G,KAAKw7C,WAAY,EAgBzB,IAAIi8D,EAAKz3G,KAAK+C,KAAK0iC,KAAKC,MAEpB1lC,KAAKqB,OAAOkd,SAEZve,KAAKmtF,IAAMsqB,EAAKz3G,KAAKqB,OAAO0zG,UAC5B/0G,KAAKmtF,GAAKzpF,KAAKuC,IAAIjG,KAAKmtF,GAAI,KAI5BntF,KAAKmtF,IAAMsqB,EAAKz3G,KAAKqB,OAAO0zG,UAC5B/0G,KAAKmtF,GAAKzpF,KAAK81B,IAAIx5B,KAAKmtF,GAAIntF,KAAK+iC,WAGrC/iC,KAAK2uG,QAAU3uG,KAAKmtF,GAAKntF,KAAK+iC,SAE9B/iC,KAAKoH,MAAQpH,KAAKq3G,eAAer3G,KAAK2uG,SAEtC,IAAK,IAAI33D,KAAYh3C,KAAKg2G,KAC1B,CACI,IAAI1pG,EAAQtM,KAAKg3G,OAAOhgE,GACpB17B,EAAMtb,KAAKg2G,KAAKh/D,GAEhBvvC,MAAMC,QAAQ4T,GAEdtb,KAAKqB,OAAO2G,OAAOgvC,GAAYh3C,KAAKs3G,sBAAsB9yG,KAAKxE,KAAKu3G,qBAAsBj8F,EAAKtb,KAAKoH,OAIpGpH,KAAKqB,OAAO2G,OAAOgvC,GAAY1qC,GAAUgP,EAAMhP,GAAStM,KAAKoH,MAIrE,OAAMpH,KAAKqB,OAAOkd,SAA4B,IAAjBve,KAAK2uG,SAAmB3uG,KAAKqB,OAAOkd,SAA4B,IAAjBve,KAAK2uG,QAEtE3uG,KAAK2U,SAGTnT,EAAOu0G,UAAUa,SAY5BG,aAAc,SAAU3rC,GAEhBprE,KAAKqB,OAAOkd,QAEZve,KAAKmtF,GAAKntF,KAAK+iC,SAIf/iC,KAAKmtF,GAAK,EAGd,IAAI/4E,KACAkW,GAAW,EACXotF,EAAO,EAAItsC,EAAa,IAE5B,EACA,CACQprE,KAAKqB,OAAOkd,SAEZve,KAAKmtF,IAAMuqB,EACX13G,KAAKmtF,GAAKzpF,KAAKuC,IAAIjG,KAAKmtF,GAAI,KAI5BntF,KAAKmtF,IAAMuqB,EACX13G,KAAKmtF,GAAKzpF,KAAK81B,IAAIx5B,KAAKmtF,GAAIntF,KAAK+iC,WAGrC/iC,KAAK2uG,QAAU3uG,KAAKmtF,GAAKntF,KAAK+iC,SAE9B/iC,KAAKoH,MAAQpH,KAAKq3G,eAAer3G,KAAK2uG,SAEtC,IAAIgJ,KAEJ,IAAK,IAAI3gE,KAAYh3C,KAAKg2G,KAC1B,CACI,IAAI1pG,EAAQtM,KAAKg3G,OAAOhgE,GACpB17B,EAAMtb,KAAKg2G,KAAKh/D,GAEhBvvC,MAAMC,QAAQ4T,GAEdq8F,EAAK3gE,GAAYh3C,KAAKs3G,sBAAsB9yG,KAAKxE,KAAKu3G,qBAAsBj8F,EAAKtb,KAAKoH,OAItFuwG,EAAK3gE,GAAY1qC,GAAUgP,EAAMhP,GAAStM,KAAKoH,MAIvDgN,EAAKtM,KAAK6vG,KAEJ33G,KAAKqB,OAAOkd,SAA4B,IAAjBve,KAAK2uG,SAAmB3uG,KAAKqB,OAAOkd,SAA4B,IAAjBve,KAAK2uG,WAE7ErkF,GAAW,UAETA,GAEV,GAAItqB,KAAK61G,KACT,CACI,IAAI+B,EAAWxjG,EAAK8b,QACpB0nF,EAASr5F,UACTnK,EAAOA,EAAKmc,OAAOqnF,GAGvB,OAAOxjG,GAUXO,OAAQ,WAGJ,GAAI3U,KAAK61G,KACT,CAEI,GAAI71G,KAAKo3G,WAAoC,IAAvBp3G,KAAKg1G,cAC3B,CAEI,IAAK,IAAIh+D,KAAYh3C,KAAKi3G,YAEtBj3G,KAAKg3G,OAAOhgE,GAAYh3C,KAAKi3G,YAAYjgE,GACzCh3C,KAAKg2G,KAAKh/D,GAAYh3C,KAAKk3G,UAAUlgE,GAKzC,OAFAh3C,KAAKo3G,WAAY,EAEV51G,EAAOu0G,UAAUe,SAG5B92G,KAAKo3G,WAAap3G,KAAKo3G,eAG3B,GAA2B,IAAvBp3G,KAAKg1G,cAEL,OAAOxzG,EAAOu0G,UAAUe,SAG5B,GAAI92G,KAAKo3G,UAGL,IAAK,IAAIpgE,KAAYh3C,KAAKi3G,YAEtBj3G,KAAKg3G,OAAOhgE,GAAYh3C,KAAKk3G,UAAUlgE,GACvCh3C,KAAKg2G,KAAKh/D,GAAYh3C,KAAKi3G,YAAYjgE,OAI/C,CAEI,IAAK,IAAIA,KAAYh3C,KAAKi3G,YAEtBj3G,KAAKg3G,OAAOhgE,GAAYh3C,KAAKi3G,YAAYjgE,GACzCh3C,KAAKg2G,KAAKh/D,GAAYh3C,KAAKk3G,UAAUlgE,GAOrCh3C,KAAKg1G,cAAgB,GAErBh1G,KAAKg1G,gBAwBb,OApBAh1G,KAAKy2G,UAAYz2G,KAAK+C,KAAK0iC,KAAK4uE,WAE5Br0G,KAAK61G,MAAQ71G,KAAKo3G,UAElBp3G,KAAKy2G,WAAaz2G,KAAKo2G,UAEjBp2G,KAAKo3G,YAEXp3G,KAAKy2G,WAAaz2G,KAAKm2G,aAGvBn2G,KAAKqB,OAAOkd,QAEZve,KAAKmtF,GAAKntF,KAAK+iC,SAIf/iC,KAAKmtF,GAAK,EAGP3rF,EAAOu0G,UAAUc,SAKhCr1G,EAAOu0G,UAAUzzG,UAAUC,YAAcf,EAAOu0G,UAahDv0G,EAAO+uG,QAOHK,QASIC,KAAM,SAAUx5E,GAEZ,OAAOA,IAUf05E,WASIiB,GAAI,SAAU36E,GAEV,OAAOA,EAAIA,GAUf25E,IAAK,SAAU35E,GAEX,OAAOA,GAAK,EAAIA,IAUpBg8E,MAAO,SAAUh8E,GAEb,OAAKA,GAAK,GAAK,EAAY,GAAMA,EAAIA,GAC5B,MAASA,GAAKA,EAAI,GAAK,KAUxC45E,OASIe,GAAI,SAAU36E,GAEV,OAAOA,EAAIA,EAAIA,GAUnB25E,IAAK,SAAU35E,GAEX,QAASA,EAAIA,EAAIA,EAAI,GAUzBg8E,MAAO,SAAUh8E,GAEb,OAAKA,GAAK,GAAK,EAAY,GAAMA,EAAIA,EAAIA,EAClC,KAAQA,GAAK,GAAKA,EAAIA,EAAI,KAUzC85E,SASIa,GAAI,SAAU36E,GAEV,OAAOA,EAAIA,EAAIA,EAAIA,GAUvB25E,IAAK,SAAU35E,GAEX,OAAO,KAAOA,EAAIA,EAAIA,EAAIA,GAU9Bg8E,MAAO,SAAUh8E,GAEb,OAAKA,GAAK,GAAK,EAAY,GAAMA,EAAIA,EAAIA,EAAIA,GACpC,KAAQA,GAAK,GAAKA,EAAIA,EAAIA,EAAI,KAU/Cg6E,SASIW,GAAI,SAAU36E,GAEV,OAAOA,EAAIA,EAAIA,EAAIA,EAAIA,GAU3B25E,IAAK,SAAU35E,GAEX,QAASA,EAAIA,EAAIA,EAAIA,EAAIA,EAAI,GAUjCg8E,MAAO,SAAUh8E,GAEb,OAAKA,GAAK,GAAK,EAAY,GAAMA,EAAIA,EAAIA,EAAIA,EAAIA,EAC1C,KAAQA,GAAK,GAAKA,EAAIA,EAAIA,EAAIA,EAAI,KAUjDk6E,YASIS,GAAI,SAAU36E,GAEV,OAAU,IAANA,EAAkB,EACZ,IAANA,EAAkB,EACf,EAAI3zB,KAAKI,IAAIuzB,EAAI3zB,KAAKwxB,GAAK,IAUtC87E,IAAK,SAAU35E,GAEX,OAAU,IAANA,EAAkB,EACZ,IAANA,EAAkB,EACf3zB,KAAKG,IAAIwzB,EAAI3zB,KAAKwxB,GAAK,IAUlCm+E,MAAO,SAAUh8E,GAEb,OAAU,IAANA,EAAkB,EACZ,IAANA,EAAkB,EACf,IAAO,EAAI3zB,KAAKI,IAAIJ,KAAKwxB,GAAKmC,MAU7Co6E,aASIO,GAAI,SAAU36E,GAEV,OAAa,IAANA,EAAU,EAAI3zB,KAAKgoG,IAAI,KAAMr0E,EAAI,IAU5C25E,IAAK,SAAU35E,GAEX,OAAa,IAANA,EAAU,EAAI,EAAI3zB,KAAKgoG,IAAI,GAAK,GAAKr0E,IAUhDg8E,MAAO,SAAUh8E,GAEb,OAAU,IAANA,EAAkB,EACZ,IAANA,EAAkB,GACjBA,GAAK,GAAK,EAAY,GAAM3zB,KAAKgoG,IAAI,KAAMr0E,EAAI,GAC7C,IAAuC,EAA9B3zB,KAAKgoG,IAAI,GAAK,IAAMr0E,EAAI,OAUhDs6E,UASIK,GAAI,SAAU36E,GAEV,OAAO,EAAI3zB,KAAKS,KAAK,EAAIkzB,EAAIA,IAUjC25E,IAAK,SAAU35E,GAEX,OAAO3zB,KAAKS,KAAK,KAAOkzB,EAAIA,IAUhCg8E,MAAO,SAAUh8E,GAEb,OAAKA,GAAK,GAAK,GAAc,IAAO3zB,KAAKS,KAAK,EAAIkzB,EAAIA,GAAK,GACpD,IAAO3zB,KAAKS,KAAK,GAAKkzB,GAAK,GAAKA,GAAK,KAUpDu6E,SASII,GAAI,SAAU36E,GAKV,OAAU,IAANA,EAAkB,EACZ,IAANA,EAAkB,GAClBr0B,IAJI,EAKMU,KAAKgoG,IAAI,EAAG,IAAMr0E,GAAK,IAAM3zB,KAAKG,KAAKwzB,EADjDr0B,KAC2D,EAAIU,KAAKwxB,IAJhE,MAcZ87E,IAAK,SAAU35E,GAKX,OAAU,IAANA,EAAkB,EACZ,IAANA,EAAkB,GAClBr0B,GAJI,EAKIU,KAAKgoG,IAAI,GAAK,GAAKr0E,GAAK3zB,KAAKG,KAAKwzB,EAD1Cr0B,KACoD,EAAIU,KAAKwxB,IAJzD,IAIoE,IAUhFm+E,MAAO,SAAUh8E,GAKb,OAAU,IAANA,EAAkB,EACZ,IAANA,EAAkB,GAClBr0B,IACCq0B,GAAK,GAAK,EALP,EAKgC3zB,KAAKgoG,IAAI,EAAG,IAAMr0E,GAAK,IAAM3zB,KAAKG,KAAKwzB,EAD3Er0B,KACqF,EAAIU,KAAKwxB,IAJ1F,KAIqB,GALrB,EAMGxxB,KAAKgoG,IAAI,GAAI,IAAMr0E,GAAK,IAAM3zB,KAAKG,KAAKwzB,EAF/Cr0B,KAEyD,EAAIU,KAAKwxB,IAL9D,IAKyE,GAAM,KAU/F28E,MASIG,GAAI,SAAU36E,GAEV,IAAIhzB,EAAI,QACR,OAAOgzB,EAAIA,IAAMhzB,EAAI,GAAKgzB,EAAIhzB,IAUlC2sG,IAAK,SAAU35E,GAEX,IAAIhzB,EAAI,QACR,QAASgzB,EAAIA,IAAMhzB,EAAI,GAAKgzB,EAAIhzB,GAAK,GAUzCgvG,MAAO,SAAUh8E,GAEb,IAAIhzB,EAAI,UACR,OAAKgzB,GAAK,GAAK,EAAmBA,EAAIA,IAAMhzB,EAAI,GAAKgzB,EAAIhzB,GAA9B,GACpB,KAAQgzB,GAAK,GAAKA,IAAMhzB,EAAI,GAAKgzB,EAAIhzB,GAAK,KAUzDytG,QASIE,GAAI,SAAU36E,GAEV,OAAO,EAAI71B,EAAO+uG,OAAOuB,OAAOd,IAAI,EAAI35E,IAU5C25E,IAAK,SAAU35E,GAEX,OAAIA,EAAK,EAAI,KAEF,OAASA,EAAIA,EAEfA,EAAK,EAAI,KAEP,QAAUA,GAAM,IAAM,MAASA,EAAI,IAErCA,EAAK,IAAM,KAET,QAAUA,GAAM,KAAO,MAASA,EAAI,MAIpC,QAAUA,GAAM,MAAQ,MAASA,EAAI,SAWpDg8E,MAAO,SAAUh8E,GAEb,OAAIA,EAAI,GAA+C,GAAjC71B,EAAO+uG,OAAOuB,OAAOE,GAAO,EAAJ36E,GACD,GAAtC71B,EAAO+uG,OAAOuB,OAAOd,IAAQ,EAAJ35E,EAAQ,GAAW,MAO/D71B,EAAO+uG,OAAOuF,QAAUt0G,EAAO+uG,OAAOK,OAAOC,KAC7CrvG,EAAO+uG,OAAOD,OAAS9uG,EAAO+uG,OAAOK,OAAOC,KAC5CrvG,EAAO+uG,OAAOC,OAAShvG,EAAO+uG,OAAOQ,UAAUC,IAC/CxvG,EAAO+uG,OAAOE,OAASjvG,EAAO+uG,OAAOU,MAAMD,IAC3CxvG,EAAO+uG,OAAOG,OAASlvG,EAAO+uG,OAAOY,QAAQH,IAC7CxvG,EAAO+uG,OAAOI,OAASnvG,EAAO+uG,OAAOc,QAAQL,IA2B7CxvG,EAAOk8C,KAAO,SAAU36C,GAMpB/C,KAAK+C,KAAOA,EAOZ/C,KAAKylC,KAAO,EAgBZzlC,KAAKk9C,IAAM,EAiBXl9C,KAAK8/C,QAAU,EAef9/C,KAAK63G,UAAY,EAMjB73G,KAAK0lC,MAAQ,EAMb1lC,KAAKq0G,WAAa,EAMlBr0G,KAAK+/C,SAAW,IAOhB//C,KAAK4/C,eAAiB,EAAM,GAW5B5/C,KAAK83G,YAAc,GAYnB93G,KAAK+3G,aAAe/3G,KAAKg4G,WAYzBh4G,KAAKggD,WAAa,EAOlBhgD,KAAKi4G,gBAAiB,EAStBj4G,KAAKs7F,OAAS,EASdt7F,KAAKk4G,QAAU,EASfl4G,KAAKm4G,QAAU,EASfn4G,KAAK03G,IAAM,EASX13G,KAAKo4G,IAAM,EASXp4G,KAAKq4G,IAAM,EASXr4G,KAAKs4G,OAAS,IASdt4G,KAAKu4G,OAAS,EAUdv4G,KAAKw4G,MAAQ,IASbx4G,KAAKy4G,MAAQ,EAObz4G,KAAK04G,cAAgB,EAMrB14G,KAAKuqG,WAAa,EAMlBvqG,KAAK24G,aAAe,EAMpB34G,KAAKw0C,OAAS,IAAIhzC,EAAOo3G,MAAM54G,KAAK+C,MAAM,GAM1C/C,KAAK64G,YAAc,EAMnB74G,KAAK84G,oBAAsB,EAM3B94G,KAAK+4G,SAAW,EAMhB/4G,KAAKg5G,gBAAkB,EAMvBh5G,KAAKi5G,cAAgB,EAMrBj5G,KAAKk5G,YAGT13G,EAAOk8C,KAAKp7C,WAQR2hC,KAAM,WAEFjkC,KAAK+4G,SAAWxrE,KAAK2P,MACrBl9C,KAAKylC,KAAO8H,KAAK2P,MACjBl9C,KAAKw0C,OAAOloC,QACZtM,KAAK24G,aAAe34G,KAAKylC,MAU7BtM,IAAK,SAAUggF,GAIX,OAFAn5G,KAAKk5G,QAAQpxG,KAAKqxG,GAEXA,GAUX3wG,OAAQ,SAAU4wG,QAEM7yG,IAAhB6yG,IAA6BA,GAAc,GAE/C,IAAID,EAAQ,IAAI33G,EAAOo3G,MAAM54G,KAAK+C,KAAMq2G,GAIxC,OAFAp5G,KAAKk5G,QAAQpxG,KAAKqxG,GAEXA,GAQXhvE,UAAW,WAEP,IAAK,IAAIznC,EAAI,EAAGA,EAAI1C,KAAKk5G,QAAQv2G,OAAQD,IAErC1C,KAAKk5G,QAAQx2G,GAAGF,UAGpBxC,KAAKk5G,WAELl5G,KAAKw0C,OAAOrK,aAQhBzgB,QAAS,WAEL,IAAI2vF,EAAkBr5G,KAAKylC,KAE3BzlC,KAAKylC,KAAO8H,KAAK2P,MACjBl9C,KAAK63G,UAAY73G,KAAKylC,KAAO4zE,GAYjCh0E,OAAQ,SAAUI,GAGd,IAAI4zE,EAAkBr5G,KAAKylC,KACvB6zE,EAAct5G,KAAKk9C,IAEvBl9C,KAAKylC,KAAO8H,KAAK2P,MACjBl9C,KAAK63G,UAAY73G,KAAKylC,KAAO4zE,EAE7Br5G,KAAKk9C,IAAMzX,EACXzlC,KAAK8/C,QAAU9/C,KAAKk9C,IAAMo8D,EAEtBt5G,KAAK+C,KAAK04C,IAAIwuD,gBAEdjqG,KAAKuqG,WAAa7mG,KAAKqsB,MAAMrsB,KAAKuC,IAAI,EAAI,IAASjG,KAAK83G,YAAe93G,KAAK24G,aAAelzE,IAC3FzlC,KAAK24G,aAAelzE,EAAOzlC,KAAKuqG,YAGhCvqG,KAAKi4G,gBAELj4G,KAAKu5G,wBAWbC,aAAc,WAEV,IAAI92G,EAAI,EACJsuB,EAAMhxB,KAAKk5G,QAAQv2G,OAEvB,GAAKquB,EAEL,KAAOtuB,EAAIsuB,GAEHhxB,KAAKk5G,QAAQx2G,GAAG2iC,OAAOrlC,KAAKq0G,YAE5B3xG,KAKA1C,KAAKk5G,QAAQpwG,OAAOpG,EAAG,GACvBsuB,MAYZuoF,qBAAsB,WAuBlB,GApBAv5G,KAAK64G,cACL74G,KAAK84G,qBAAuB94G,KAAK8/C,QAG7B9/C,KAAK64G,aAAkC,EAAnB74G,KAAK83G,cAGzB93G,KAAK+3G,aAAiF,EAAlEr0G,KAAKqsB,MAAM,KAAO/vB,KAAK84G,oBAAsB94G,KAAK64G,cAItE74G,KAAK64G,YAAc,EACnB74G,KAAK84G,oBAAsB,GAG/B94G,KAAKw4G,MAAQ90G,KAAK81B,IAAIx5B,KAAKw4G,MAAOx4G,KAAK8/C,SACvC9/C,KAAKy4G,MAAQ/0G,KAAKuC,IAAIjG,KAAKy4G,MAAOz4G,KAAK8/C,SAEvC9/C,KAAKs7F,SAEDt7F,KAAKk9C,IAAMl9C,KAAKg5G,gBAAkB,IACtC,CACI,IAAIS,EAAWz5G,KAAKk9C,IAAMl9C,KAAKg5G,gBAC/Bh5G,KAAK03G,IAAMh0G,KAAKiyB,MAAqB,IAAd31B,KAAKs7F,OAAiBme,GAC7Cz5G,KAAKo4G,IAAM10G,KAAKiyB,MAAsB,IAAf31B,KAAKk4G,QAAkBuB,GAC9Cz5G,KAAKq4G,IAAM30G,KAAKiyB,MAAsB,IAAf31B,KAAKm4G,QAAkBsB,GAC9Cz5G,KAAKs4G,OAAS50G,KAAK81B,IAAIx5B,KAAKs4G,OAAQt4G,KAAK03G,KACzC13G,KAAKu4G,OAAS70G,KAAKuC,IAAIjG,KAAKu4G,OAAQv4G,KAAK03G,KACzC13G,KAAKg5G,gBAAkBh5G,KAAKk9C,IAC5Bl9C,KAAKs7F,OAAS,EACdt7F,KAAKk4G,QAAU,EACfl4G,KAAKm4G,QAAU,IAYvBzzG,UAAW,SAAUghC,GAEjBA,GAAS,IAET1lC,KAAK0lC,MAAQA,EACb1lC,KAAKq0G,YAAc3uE,EAEd1lC,KAAK+C,KAAKukC,SAEXtnC,KAAKw0C,OAAOnP,OAAOrlC,KAAKq0G,YACxBr0G,KAAKw5G,gBAGLx5G,KAAKi4G,gBAELj4G,KAAKk4G,WAUb7wE,UAAW,WAEHrnC,KAAKi4G,gBAELj4G,KAAKm4G,WAUbtmE,WAAY,WAER7xC,KAAKi5G,cAAgB1rE,KAAK2P,OAS9BpL,YAAa,WAGT9xC,KAAKylC,KAAO8H,KAAK2P,MAEjBl9C,KAAK04G,cAAgB14G,KAAKylC,KAAOzlC,KAAKi5G,eAS1CzqE,oBAAqB,WAEjB,MAAqC,MAA7BxuC,KAAKylC,KAAOzlC,KAAK+4G,WAU7BW,aAAc,SAAUC,GAEpB,OAAO35G,KAAKylC,KAAOk0E,GAUvBC,oBAAqB,SAAUD,GAE3B,MAA6B,MAArB35G,KAAKylC,KAAOk0E,IAQxBrzE,MAAO,WAEHtmC,KAAK+4G,SAAW/4G,KAAKylC,KACrBzlC,KAAKmqC,cAgBbnjC,OAAOyF,eAAejL,EAAOk8C,KAAKp7C,UAAW,cAEzC4E,IAAK,WAED,OAAOlH,KAAK83G,aAGhB3wG,IAAK,SAAUC,GAEXpH,KAAK83G,YAAc1wG,EACnBpH,KAAK4/C,eAAiB,EAAMx4C,KAgBpCJ,OAAOyF,eAAejL,EAAOk8C,KAAKp7C,UAAW,iBAEzC4E,IAAK,WAED,OAAO,IAAOlH,KAAK+/C,UAGvB54C,IAAK,SAAUC,GAEXpH,KAAK+/C,SAAW,IAAO34C,KAK/B5F,EAAOk8C,KAAKp7C,UAAUC,YAAcf,EAAOk8C,KAqB3Cl8C,EAAOo3G,MAAQ,SAAU71G,EAAMq2G,QAEP7yG,IAAhB6yG,IAA6BA,GAAc,GAM/Cp5G,KAAK+C,KAAOA,EAUZ/C,KAAK65G,SAAU,EAMf75G,KAAKo5G,YAAcA,EAOnBp5G,KAAK85G,SAAU,EAMf95G,KAAK8/C,QAAU,EAKf9/C,KAAKw0C,UASLx0C,KAAKq1G,WAAa,IAAI7zG,EAAO+gC,OAO7BviC,KAAK+5G,SAAW,EAOhB/5G,KAAKsnC,QAAS,EAMdtnC,KAAKm8C,aAAc,EAOnBn8C,KAAK+4G,SAAW,EAMhB/4G,KAAKi5G,cAAgB,EAMrBj5G,KAAKg6G,YAAc,EAMnBh6G,KAAKi6G,KAAOj6G,KAAK+C,KAAK0iC,KAAOzlC,KAAK+C,KAAK0iC,KAAK4uE,WAAa,EAMzDr0G,KAAKqvC,KAAO,EAMZrvC,KAAKk6G,QAAU,EAMfl6G,KAAKsvC,GAAK,EAMVtvC,KAAKm6G,MAAQ,EAMbn6G,KAAKo6G,SAAW,GAQpB54G,EAAOo3G,MAAMyB,OAAS,IAOtB74G,EAAOo3G,MAAM0B,OAAS,IAOtB94G,EAAOo3G,MAAM2B,KAAO,IAOpB/4G,EAAOo3G,MAAM4B,QAAU,IAEvBh5G,EAAOo3G,MAAMt2G,WAiBTkG,OAAQ,SAAUgvD,EAAO6T,EAAMovC,EAAazlE,EAAUxL,EAAiBnZ,GAInE,IAAIqqF,GAFJljD,EAAQ9zD,KAAKiyB,MAAM6hC,IAEAx3D,KAAKi6G,KACpBvpE,EAAQ,IAAIlvC,EAAOm5G,WAAW36G,KAAMw3D,EAAOkjD,EAAMD,EAAapvC,EAAMr2B,EAAUxL,EAAiBnZ,GAQnG,OANArwB,KAAKw0C,OAAO1sC,KAAK4oC,GAEjB1wC,KAAK04C,QAEL14C,KAAK85G,SAAU,EAERppE,GAkBXvX,IAAK,SAAUq+B,EAAOxiB,EAAUxL,GAE5B,OAAOxpC,KAAKwI,OAAOgvD,GAAO,EAAO,EAAGxiB,EAAUxL,EAAiB/hC,MAAMnF,UAAU4tB,MAAM1rB,KAAKgsB,UAAW,KAoBzG7b,OAAQ,SAAU6iD,EAAOijD,EAAazlE,EAAUxL,GAE5C,OAAOxpC,KAAKwI,OAAOgvD,GAAO,EAAOijD,EAAazlE,EAAUxL,EAAiB/hC,MAAMnF,UAAU4tB,MAAM1rB,KAAKgsB,UAAW,KAkBnH66C,KAAM,SAAU7T,EAAOxiB,EAAUxL,GAE7B,OAAOxpC,KAAKwI,OAAOgvD,GAAO,EAAM,EAAGxiB,EAAUxL,EAAiB/hC,MAAMnF,UAAU4tB,MAAM1rB,KAAKgsB,UAAW,KAQxGlkB,MAAO,SAAUkrD,GAEb,IAAIx3D,KAAK65G,QAAT,CAKA75G,KAAK+4G,SAAW/4G,KAAK+C,KAAK0iC,KAAK4uE,YAAc78C,GAAS,GAEtDx3D,KAAK65G,SAAU,EAEf,IAAK,IAAIn3G,EAAI,EAAGA,EAAI1C,KAAKw0C,OAAO7xC,OAAQD,IAEpC1C,KAAKw0C,OAAO9xC,GAAGg4G,KAAO16G,KAAKw0C,OAAO9xC,GAAG80D,MAAQx3D,KAAK+4G,WAS1D5sG,KAAM,SAAUyuG,GAEZ56G,KAAK65G,SAAU,OAEKtzG,IAAhBq0G,IAA6BA,GAAc,GAE3CA,IAEA56G,KAAKw0C,OAAO7xC,OAAS,IAS7ByZ,OAAQ,SAAUs0B,GAEd,IAAK,IAAIhuC,EAAI,EAAGA,EAAI1C,KAAKw0C,OAAO7xC,OAAQD,IAEpC,GAAI1C,KAAKw0C,OAAO9xC,KAAOguC,EAGnB,OADA1wC,KAAKw0C,OAAO9xC,GAAGuxG,eAAgB,GACxB,EAIf,OAAO,GASXv7D,MAAO,WAEC14C,KAAKw0C,OAAO7xC,OAAS,IAGrB3C,KAAKw0C,OAAOvV,KAAKj/B,KAAK84C,aAEtB94C,KAAK+5G,SAAW/5G,KAAKw0C,OAAO,GAAGkmE,OASvC5hE,YAAa,SAAU51C,EAAGC,GAEtB,OAAID,EAAEw3G,KAAOv3G,EAAEu3G,MAEH,EAEHx3G,EAAEw3G,KAAOv3G,EAAEu3G,KAET,EAGJ,GASXG,mBAAoB,WAIhB,IAFA76G,KAAKsvC,GAAKtvC,KAAKw0C,OAAO7xC,OAEf3C,KAAKsvC,MAEJtvC,KAAKw0C,OAAOx0C,KAAKsvC,IAAI2kE,eAErBj0G,KAAKw0C,OAAO1rC,OAAO9I,KAAKsvC,GAAI,GAIpCtvC,KAAKqvC,KAAOrvC,KAAKw0C,OAAO7xC,OACxB3C,KAAKsvC,GAAK,GAWdjK,OAAQ,SAAUI,GAEd,GAAIzlC,KAAKsnC,OAEL,OAAO,EAUX,GAPAtnC,KAAK8/C,QAAUra,EAAOzlC,KAAKi6G,KAC3Bj6G,KAAKi6G,KAAOx0E,EACZzlC,KAAKk6G,QAAU,EAGfl6G,KAAK66G,qBAED76G,KAAK65G,SAAW75G,KAAKi6G,MAAQj6G,KAAK+5G,UAAY/5G,KAAKqvC,KAAO,EAC9D,CACI,KAAOrvC,KAAKsvC,GAAKtvC,KAAKqvC,MAAQrvC,KAAK65G,SACnC,CACI,IAAInpE,EAAQ1wC,KAAKw0C,OAAOx0C,KAAKsvC,IAE7B,KAAItvC,KAAKi6G,MAAQvpE,EAAMgqE,OAAShqE,EAAMujE,cAgClC,MA7BAj0G,KAAKo6G,SAAYp6G,KAAKi6G,KAAOvpE,EAAM8mB,OAAUx3D,KAAKi6G,KAAOvpE,EAAMgqE,MAE3D16G,KAAKo6G,SAAW,IAEhBp6G,KAAKo6G,SAAWp6G,KAAKi6G,KAAOvpE,EAAM8mB,QAGnB,IAAf9mB,EAAM26B,MAEN36B,EAAMgqE,KAAO16G,KAAKo6G,SAClB1pE,EAAMsE,SAASzvC,MAAMmrC,EAAMlH,gBAAiBkH,EAAMrgB,OAE7CqgB,EAAM+pE,YAAc,GAEzB/pE,EAAM+pE,cACN/pE,EAAMgqE,KAAO16G,KAAKo6G,SAClB1pE,EAAMsE,SAASzvC,MAAMmrC,EAAMlH,gBAAiBkH,EAAMrgB,QAIlDrwB,KAAKk6G,UACLxpE,EAAMujE,eAAgB,EACtBvjE,EAAMsE,SAASzvC,MAAMmrC,EAAMlH,gBAAiBkH,EAAMrgB,OAGtDrwB,KAAKsvC,KASTtvC,KAAKw0C,OAAO7xC,OAAS3C,KAAKk6G,QAE1Bl6G,KAAK04C,SAIL14C,KAAK85G,SAAU,EACf95G,KAAKq1G,WAAW1vE,SAAS3lC,OAIjC,OAAIA,KAAK85G,UAAW95G,KAAKo5G,aAc7BlwE,MAAO,WAEElpC,KAAK65G,UAKV75G,KAAKm8C,aAAc,EAEfn8C,KAAKsnC,SAKTtnC,KAAKi5G,cAAgBj5G,KAAK+C,KAAK0iC,KAAK4uE,WAEpCr0G,KAAKsnC,QAAS,KAQlBmtE,OAAQ,YAEAz0G,KAAKsnC,QAAWtnC,KAAK65G,UAKzB75G,KAAKi5G,cAAgBj5G,KAAK+C,KAAK0iC,KAAK4uE,WAEpCr0G,KAAKsnC,QAAS,IASlBwzE,aAAc,SAAUC,GAEpB,IAAK,IAAIr4G,EAAI,EAAGA,EAAI1C,KAAKw0C,OAAO7xC,OAAQD,IAEpC,IAAK1C,KAAKw0C,OAAO9xC,GAAGuxG,cACpB,CAEI,IAAIljF,EAAI/wB,KAAKw0C,OAAO9xC,GAAGg4G,KAAOK,EAE1BhqF,EAAI,IAEJA,EAAI,GAIR/wB,KAAKw0C,OAAO9xC,GAAGg4G,KAAO16G,KAAKi6G,KAAOlpF,EAI1C,IAAI1tB,EAAIrD,KAAK+5G,SAAWgB,EAIpB/6G,KAAK+5G,SAFL12G,EAAI,EAEYrD,KAAKi6G,KAILj6G,KAAKi6G,KAAO52G,GASpC+lC,OAAQ,WAEJ,GAAKppC,KAAKsnC,OAAV,CAKA,IAAI4V,EAAMl9C,KAAK+C,KAAK0iC,KAAK4uE,WACzBr0G,KAAKg6G,aAAe98D,EAAMl9C,KAAKi6G,KAC/Bj6G,KAAKi6G,KAAO/8D,EAEZl9C,KAAK86G,aAAa96G,KAAKi5G,eAEvBj5G,KAAKsnC,QAAS,EACdtnC,KAAKm8C,aAAc,IAQvBu4D,QAAS,WAED10G,KAAKm8C,aAMLn8C,KAAKopC,UAUbe,UAAW,WAEPnqC,KAAKq1G,WAAWlrE,YAChBnqC,KAAKw0C,OAAO7xC,OAAS,EACrB3C,KAAKqvC,KAAO,EACZrvC,KAAKsvC,GAAK,GASd9sC,QAAS,WAELxC,KAAKq1G,WAAWlrE,YAChBnqC,KAAK65G,SAAU,EACf75G,KAAK85G,SAAU,EACf95G,KAAKw0C,UACLx0C,KAAKqvC,KAAO,EACZrvC,KAAKsvC,GAAK,IAUlBtoC,OAAOyF,eAAejL,EAAOo3G,MAAMt2G,UAAW,QAE1C4E,IAAK,WAED,OAAOlH,KAAK+5G,YAUpB/yG,OAAOyF,eAAejL,EAAOo3G,MAAMt2G,UAAW,YAE1C4E,IAAK,WAED,OAAIlH,KAAK65G,SAAW75G,KAAK+5G,SAAW/5G,KAAKi6G,KAE9Bj6G,KAAK+5G,SAAW/5G,KAAKi6G,KAIrB,KAWnBjzG,OAAOyF,eAAejL,EAAOo3G,MAAMt2G,UAAW,UAE1C4E,IAAK,WAED,OAAOlH,KAAKw0C,OAAO7xC,UAU3BqE,OAAOyF,eAAejL,EAAOo3G,MAAMt2G,UAAW,MAE1C4E,IAAK,WAED,OAAIlH,KAAK65G,QAEE75G,KAAKi6G,KAAOj6G,KAAK+4G,SAAW/4G,KAAKg6G,YAIjC,KAWnBhzG,OAAOyF,eAAejL,EAAOo3G,MAAMt2G,UAAW,WAE1C4E,IAAK,WAED,OAAIlH,KAAK65G,QAEY,KAAV75G,KAAKy3G,GAIL,KAMnBj2G,EAAOo3G,MAAMt2G,UAAUC,YAAcf,EAAOo3G,MA6B5Cp3G,EAAOm5G,WAAa,SAAUxB,EAAO3hD,EAAOkjD,EAAMD,EAAapvC,EAAMr2B,EAAUxL,EAAiBnZ,GAO5FrwB,KAAKm5G,MAAQA,EAKbn5G,KAAKw3D,MAAQA,EAKbx3D,KAAK06G,KAAOA,EAKZ16G,KAAKy6G,YAAcA,EAAc,EAKjCz6G,KAAKqrE,KAAOA,EAKZrrE,KAAKg1C,SAAWA,EAKhBh1C,KAAKwpC,gBAAkBA,EAKvBxpC,KAAKqwB,KAAOA,EAMZrwB,KAAKi0G,eAAgB,GAGzBzyG,EAAOm5G,WAAWr4G,UAAUC,YAAcf,EAAOm5G,WAgBjDn5G,EAAO8qE,iBAAmB,SAAU/oD,GAKhCvjB,KAAKujB,OAASA,EAKdvjB,KAAK+C,KAAOwgB,EAAOxgB,KASnB/C,KAAKg7G,aAAe,KAMpBh7G,KAAKi7G,YAAc,KAMnBj7G,KAAKk7G,iBAAkB,EAMvBl7G,KAAKm7G,UAAW,EAOhBn7G,KAAKo7G,WAAa,KAMlBp7G,KAAKq7G,UAMLr7G,KAAKs7G,kBAGT95G,EAAO8qE,iBAAiBhqE,WAYpBuvE,cAAe,SAAUE,EAAW1kE,GAEhC,QAAkB9G,IAAdwrE,EAEA,OAAO,EAGX,GAAI/xE,KAAKm7G,SAGL,IAAK,IAAII,KAAQv7G,KAAKq7G,OAElBr7G,KAAKq7G,OAAOE,GAAMliB,gBAAgBtnB,GAsB1C,OAlBA/xE,KAAKo7G,WAAarpC,OAEJxrE,IAAV8G,GAAiC,OAAVA,EAEvBrN,KAAKqN,MAAQ,EAGI,iBAAVA,EAEPrN,KAAK0yE,UAAYrlE,EAIjBrN,KAAKqN,MAAQA,EAGjBrN,KAAKm7G,UAAW,GAET,GAaXK,cAAe,SAAUzpC,EAAW1kE,GAIhC,GAFArN,KAAKo7G,WAAarpC,EAAU39C,QAExBp0B,KAAKm7G,SAGL,IAAK,IAAII,KAAQv7G,KAAKq7G,OAElBr7G,KAAKq7G,OAAOE,GAAMliB,gBAAgBr5F,KAAKo7G,YAoB/C,YAhBc70G,IAAV8G,GAAiC,OAAVA,EAEvBrN,KAAKqN,MAAQ,EAGI,iBAAVA,EAEPrN,KAAK0yE,UAAYrlE,EAIjBrN,KAAKqN,MAAQA,EAGjBrN,KAAKm7G,UAAW,GAET,GAeXhiF,IAAK,SAAUjH,EAAMopE,EAAQlwB,EAAWC,EAAMowC,GAiC1C,OA/BAngB,EAASA,MACTlwB,EAAYA,GAAa,QAEZ7kE,IAAT8kE,IAAsBA,GAAO,QAGT9kE,IAApBk1G,IAIIA,KAFAngB,GAA+B,iBAAdA,EAAO,KAUhCt7F,KAAKs7G,iBAELt7G,KAAKo7G,WAAWM,gBAAgBpgB,EAAQmgB,EAAiBz7G,KAAKs7G,eAE9Dt7G,KAAKq7G,OAAOnpF,GAAQ,IAAI1wB,EAAO0pE,UAAUlrE,KAAK+C,KAAM/C,KAAKujB,OAAQ2O,EAAMlyB,KAAKo7G,WAAYp7G,KAAKs7G,cAAelwC,EAAWC,GAEvHrrE,KAAKi7G,YAAcj7G,KAAKq7G,OAAOnpF,GAE3BlyB,KAAKujB,OAAOe,gBAEZtkB,KAAKujB,OAAOkvD,gBAAiB,GAG1BzyE,KAAKq7G,OAAOnpF,IAWvBypF,eAAgB,SAAUrgB,EAAQmgB,QAENl1G,IAApBk1G,IAAiCA,GAAkB,GAEvD,IAAK,IAAI/4G,EAAI,EAAGA,EAAI44F,EAAO34F,OAAQD,IAE/B,IAAwB,IAApB+4G,GAEA,GAAIngB,EAAO54F,GAAK1C,KAAKo7G,WAAWpiE,MAE5B,OAAO,OAIf,IAAkD,IAA9Ch5C,KAAKo7G,WAAWQ,eAAetgB,EAAO54F,IAEtC,OAAO,EAIf,OAAO,GAmBXyoE,KAAM,SAAUj5C,EAAMk5C,EAAWC,EAAMC,GAEnC,GAAItrE,KAAKq7G,OAAOnpF,GAEZ,OAAIlyB,KAAKi7G,cAAgBj7G,KAAKq7G,OAAOnpF,IAEE,IAA/BlyB,KAAKi7G,YAAYY,WAEjB77G,KAAKi7G,YAAY3zE,QAAS,EACnBtnC,KAAKi7G,YAAY9vC,KAAKC,EAAWC,EAAMC,IAG3CtrE,KAAKi7G,aAIRj7G,KAAKi7G,aAAej7G,KAAKi7G,YAAYY,WAErC77G,KAAKi7G,YAAY9uG,OAGrBnM,KAAKi7G,YAAcj7G,KAAKq7G,OAAOnpF,GAC/BlyB,KAAKi7G,YAAY3zE,QAAS,EAC1BtnC,KAAKg7G,aAAeh7G,KAAKi7G,YAAYD,aAC9Bh7G,KAAKi7G,YAAY9vC,KAAKC,EAAWC,EAAMC,KAa1Dn/D,KAAM,SAAU+lB,EAAMk7C,QAEC7mE,IAAf6mE,IAA4BA,GAAa,IAEzCptE,KAAKi7G,aAAgC,iBAAT/oF,GAAqBA,IAASlyB,KAAKi7G,YAAY/oF,MAE3ElyB,KAAKi7G,YAAY9uG,KAAKihE,IAW9B/nC,OAAQ,WAEJ,QAAIrlC,KAAKk7G,kBAAoBl7G,KAAKujB,OAAOriB,cAKrClB,KAAKi7G,cAAej7G,KAAKi7G,YAAY51E,YAErCrlC,KAAKg7G,aAAeh7G,KAAKi7G,YAAYD,cAC9B,KAYfxlE,KAAM,SAAUT,GAER/0C,KAAKi7G,cAELj7G,KAAKi7G,YAAYzlE,KAAKT,GACtB/0C,KAAKg7G,aAAeh7G,KAAKi7G,YAAYD,eAU7CvlE,SAAU,SAAUV,GAEZ/0C,KAAKi7G,cAELj7G,KAAKi7G,YAAYxlE,SAASV,GAC1B/0C,KAAKg7G,aAAeh7G,KAAKi7G,YAAYD,eAW7Cc,aAAc,SAAU5pF,GAEpB,MAAoB,iBAATA,GAEHlyB,KAAKq7G,OAAOnpF,GAELlyB,KAAKq7G,OAAOnpF,GAIpB,MAQX6pF,aAAc,aAgBdv5G,QAAS,WAED+4G,EAAO,KAEX,IAAK,IAAIA,KAAQv7G,KAAKq7G,OAEdr7G,KAAKq7G,OAAO9pF,eAAegqF,IAE3Bv7G,KAAKq7G,OAAOE,GAAM/4G,UAI1BxC,KAAKq7G,UACLr7G,KAAKs7G,iBACLt7G,KAAKo7G,WAAa,KAClBp7G,KAAKi7G,YAAc,KACnBj7G,KAAKg7G,aAAe,KACpBh7G,KAAKujB,OAAS,KACdvjB,KAAK+C,KAAO,OAKpBvB,EAAO8qE,iBAAiBhqE,UAAUC,YAAcf,EAAO8qE,iBAOvDtlE,OAAOyF,eAAejL,EAAO8qE,iBAAiBhqE,UAAW,aAErD4E,IAAK,WAED,OAAOlH,KAAKo7G,cAUpBp0G,OAAOyF,eAAejL,EAAO8qE,iBAAiBhqE,UAAW,cAErD4E,IAAK,WAED,OAAOlH,KAAKo7G,WAAWpiE,SAS/BhyC,OAAOyF,eAAejL,EAAO8qE,iBAAiBhqE,UAAW,UAErD4E,IAAK,WAED,OAAOlH,KAAKi7G,YAAY1F,UAG5BpuG,IAAK,SAAUC,GAEXpH,KAAKi7G,YAAY3zE,OAASlgC,KASlCJ,OAAOyF,eAAejL,EAAO8qE,iBAAiBhqE,UAAW,QAErD4E,IAAK,WAED,OAAQlH,KAAgB,YAAIA,KAAKi7G,YAAY/oF,UAAO3rB,KAS5DS,OAAOyF,eAAejL,EAAO8qE,iBAAiBhqE,UAAW,SAErD4E,IAAK,WAED,OAAQlH,KAAiB,aAAIA,KAAKg7G,aAAapyG,WAAQrC,GAG3DY,IAAK,SAAUC,GAEX,IAAI40G,EAEiB,iBAAV50G,GAAsBpH,KAAKo7G,aAAeY,EAAWh8G,KAAKo7G,WAAWa,SAAS70G,MAErFpH,KAAKg7G,aAAegB,EACpBh8G,KAAKujB,OAAO0H,SAASjrB,KAAKg7G,kBAUtCh0G,OAAOyF,eAAejL,EAAO8qE,iBAAiBhqE,UAAW,aAErD4E,IAAK,WAED,OAAQlH,KAAiB,aAAIA,KAAKg7G,aAAa9oF,UAAO3rB,GAG1DY,IAAK,SAAUC,GAEX,IAAI40G,EAEiB,iBAAV50G,GAAsBpH,KAAKo7G,aAAeY,EAAWh8G,KAAKo7G,WAAWc,eAAe90G,KAE3FpH,KAAKg7G,aAAegB,EACpBh8G,KAAKm8G,YAAcn8G,KAAKg7G,aAAapyG,MACrC5I,KAAKujB,OAAO0H,SAASjrB,KAAKg7G,eAI1B16G,QAAQ+Z,KAAK,yBAA2BjT,MA2BpD5F,EAAO0pE,UAAY,SAAUnoE,EAAM1B,EAAQ6wB,EAAM6/C,EAAWupB,EAAQlwB,EAAWC,QAE9D9kE,IAAT8kE,IAAsBA,GAAO,GAKjCrrE,KAAK+C,KAAOA,EAMZ/C,KAAKquE,QAAUhtE,EAMfrB,KAAKo7G,WAAarpC,EAKlB/xE,KAAKkyB,KAAOA,EAMZlyB,KAAKo8G,WACLp8G,KAAKo8G,QAAUp8G,KAAKo8G,QAAQ7rF,OAAO+qE,GAKnCt7F,KAAKw3D,MAAQ,IAAO4T,EAKpBprE,KAAKqrE,KAAOA,EAKZrrE,KAAKq8G,UAAY,EAMjBr8G,KAAKsrE,gBAAiB,EAMtBtrE,KAAKs8G,YAAa,EAMlBt8G,KAAK67G,WAAY,EAMjB77G,KAAKu1G,UAAW,EAOhBv1G,KAAKu8G,gBAAkB,EAOvBv8G,KAAKm8G,YAAc,EAOnBn8G,KAAKw8G,WAAa,EAOlBx8G,KAAKy8G,WAAa,EAKlBz8G,KAAKg7G,aAAeh7G,KAAKo7G,WAAWa,SAASj8G,KAAKo8G,QAAQp8G,KAAKm8G,cAK/Dn8G,KAAKi1G,QAAU,IAAIzzG,EAAO+gC,OAW1BviC,KAAK08G,SAAW,KAKhB18G,KAAKq1G,WAAa,IAAI7zG,EAAO+gC,OAK7BviC,KAAKk1G,OAAS,IAAI1zG,EAAO+gC,OAMzBviC,KAAK28G,YAAa,EAGlB38G,KAAK+C,KAAKkmC,QAAQ9P,IAAIn5B,KAAKipC,QAASjpC,MACpCA,KAAK+C,KAAKomC,SAAShQ,IAAIn5B,KAAKmpC,SAAUnpC,OAG1CwB,EAAO0pE,UAAU5oE,WAcb6oE,KAAM,SAAUC,EAAWC,EAAMC,GAsC7B,MApCyB,iBAAdF,IAGPprE,KAAKw3D,MAAQ,IAAO4T,GAGJ,kBAATC,IAGPrrE,KAAKqrE,KAAOA,QAGc,IAAnBC,IAGPtrE,KAAKsrE,eAAiBA,GAG1BtrE,KAAK67G,WAAY,EACjB77G,KAAKs8G,YAAa,EAClBt8G,KAAKsnC,QAAS,EACdtnC,KAAKq8G,UAAY,EAEjBr8G,KAAK48G,eAAiB58G,KAAK+C,KAAK0iC,KAAK4uE,WACrCr0G,KAAK68G,eAAiB78G,KAAK+C,KAAK0iC,KAAK4uE,WAAar0G,KAAKw3D,MAEvDx3D,KAAKm8G,YAAcn8G,KAAK28G,WAAa38G,KAAKo8G,QAAQz5G,OAAS,EAAI,EAC/D3C,KAAK88G,oBAAmB,GAAO,GAE/B98G,KAAKquE,QAAQ75B,OAAOuoE,0BAA0B/8G,KAAKquE,QAASruE,MAE5DA,KAAKi1G,QAAQtvE,SAAS3lC,KAAKquE,QAASruE,MAEpCA,KAAKquE,QAAQ9C,WAAW0vC,YAAcj7G,KACtCA,KAAKquE,QAAQ9C,WAAWyvC,aAAeh7G,KAAKg7G,aAErCh7G,MAQX4pC,QAAS,WAEL5pC,KAAK67G,WAAY,EACjB77G,KAAKs8G,YAAa,EAClBt8G,KAAKsnC,QAAS,EACdtnC,KAAKq8G,UAAY,EAEjBr8G,KAAK48G,eAAiB58G,KAAK+C,KAAK0iC,KAAK4uE,WACrCr0G,KAAK68G,eAAiB78G,KAAK+C,KAAK0iC,KAAK4uE,WAAar0G,KAAKw3D,MAEvDx3D,KAAKm8G,YAAc,EAEnBn8G,KAAKg7G,aAAeh7G,KAAKo7G,WAAWa,SAASj8G,KAAKo8G,QAAQp8G,KAAKm8G,cAE/Dn8G,KAAKquE,QAAQpjD,SAASjrB,KAAKg7G,cAE3Bh7G,KAAKquE,QAAQ9C,WAAW0vC,YAAcj7G,KACtCA,KAAKquE,QAAQ9C,WAAWyvC,aAAeh7G,KAAKg7G,aAE5Ch7G,KAAKi1G,QAAQtvE,SAAS3lC,KAAKquE,QAASruE,OASxCue,QAAS,WAIL,OAFAve,KAAK43G,UAAY53G,KAAK43G,SAEf53G,MAWXg9G,YAAa,WAIT,OAFAh9G,KAAKq1G,WAAWlpE,QAAQnsC,KAAKue,QAASve,MAE/BA,KAAKue,WAUhB0M,SAAU,SAAUgyF,EAASC,GAEzB,IAAIC,EAQJ,QAN2B52G,IAAvB22G,IAEAA,GAAqB,GAIF,iBAAZD,EAEP,IAASv6G,EAAI,EAAGA,EAAI1C,KAAKo8G,QAAQz5G,OAAQD,IAEjC1C,KAAKo7G,WAAWa,SAASj8G,KAAKo8G,QAAQ15G,IAAIwvB,OAAS+qF,IAEnDE,EAAaz6G,QAIpB,GAAuB,iBAAZu6G,EAEZ,GAAIC,EAEAC,EAAaF,OAIb,IAAK,IAAIv6G,EAAI,EAAGA,EAAI1C,KAAKo8G,QAAQz5G,OAAQD,IAEjC1C,KAAKo8G,QAAQ15G,KAAOu6G,IAEpBE,EAAaz6G,GAM7B,GAAIy6G,EACJ,CAEI,IAAIC,EAAoBp9G,KAAK28G,YAAc,EAAI,EAC/C38G,KAAKm8G,YAAcgB,EAAaC,EAGhCp9G,KAAK68G,eAAiB78G,KAAK+C,KAAK0iC,KAAK4uE,WAErCr0G,KAAKqlC,WAYbl5B,KAAM,SAAUihE,EAAYiwC,QAEL92G,IAAf6mE,IAA4BA,GAAa,QACpB7mE,IAArB82G,IAAkCA,GAAmB,GAEzDr9G,KAAK67G,WAAY,EACjB77G,KAAKs8G,YAAa,EAClBt8G,KAAKsnC,QAAS,EAEV8lC,IAEAptE,KAAKg7G,aAAeh7G,KAAKo7G,WAAWa,SAASj8G,KAAKo8G,QAAQ,IAC1Dp8G,KAAKquE,QAAQpjD,SAASjrB,KAAKg7G,eAG3BqC,IAEAr9G,KAAKquE,QAAQ75B,OAAO8oE,6BAA6Bt9G,KAAKquE,QAASruE,MAC/DA,KAAKq1G,WAAW1vE,SAAS3lC,KAAKquE,QAASruE,QAS/CipC,QAAS,WAEDjpC,KAAK67G,YAEL77G,KAAKw8G,WAAax8G,KAAK68G,eAAiB78G,KAAK+C,KAAK0iC,KAAK4uE,aAS/DlrE,SAAU,WAEFnpC,KAAK67G,YAEL77G,KAAK68G,eAAiB78G,KAAK+C,KAAK0iC,KAAK4uE,WAAar0G,KAAKw8G,aAS/Dn3E,OAAQ,WAEJ,GAAIrlC,KAAKu1G,SAEL,OAAO,EAGX,IAAIr4D,EAAMl9C,KAAK+C,KAAK0iC,KAAK4uE,WACrBkJ,EAAOrgE,EAAMl9C,KAAK68G,eAEtB,SAAI78G,KAAK67G,WAAa0B,GAAQ,KAE1Bv9G,KAAKy8G,WAAa,EAClBz8G,KAAKw8G,WAAae,EAClBv9G,KAAK48G,eAAiB1/D,EAElBl9C,KAAKw8G,WAAax8G,KAAKw3D,QAGvBx3D,KAAKy8G,WAAa/4G,KAAKqsB,MAAM/vB,KAAKw8G,WAAax8G,KAAKw3D,OACpDx3D,KAAKw8G,YAAex8G,KAAKy8G,WAAaz8G,KAAKw3D,OAI/Cx3D,KAAK68G,eAAiB3/D,GAAOl9C,KAAKw3D,MAAQx3D,KAAKw8G,YAE3Cx8G,KAAK28G,WAEL38G,KAAKm8G,aAAen8G,KAAKy8G,WAIzBz8G,KAAKm8G,aAAen8G,KAAKy8G,YAGxBz8G,KAAK28G,YAAc38G,KAAKm8G,aAAen8G,KAAKo8G,QAAQz5G,QAAU3C,KAAK28G,YAAc38G,KAAKm8G,cAAgB,EAEnGn8G,KAAKqrE,MAGLrrE,KAAKm8G,YAAcz4G,KAAKmzB,IAAI72B,KAAKm8G,aAAen8G,KAAKo8G,QAAQz5G,OAEzD3C,KAAK28G,aAEL38G,KAAKm8G,YAAcn8G,KAAKo8G,QAAQz5G,OAAS,EAAI3C,KAAKm8G,aAGtDn8G,KAAKg7G,aAAeh7G,KAAKo7G,WAAWa,SAASj8G,KAAKo8G,QAAQp8G,KAAKm8G,cAG3Dn8G,KAAKg7G,cAELh7G,KAAKquE,QAAQpjD,SAASjrB,KAAKg7G,cAG/Bh7G,KAAKq8G,YACLr8G,KAAKquE,QAAQ75B,OAAOgpE,yBAAyBx9G,KAAKquE,QAASruE,MAC3DA,KAAKk1G,OAAOvvE,SAAS3lC,KAAKquE,QAASruE,OAE/BA,KAAK08G,WAEL18G,KAAK08G,SAAS/2E,SAAS3lC,KAAMA,KAAKg7G,gBAGzBh7G,KAAKo7G,cASlBp7G,KAAKsqB,YACE,GAKJtqB,KAAK88G,oBAAmB,KAmB3CA,mBAAoB,SAAUW,EAAcC,GAIxC,QAFiBn3G,IAAbm3G,IAA0BA,GAAW,IAEpC19G,KAAKo7G,WAGN,OAAO,EAIX,IAAI7kB,EAAMv2F,KAAKg7G,aAAapyG,MAS5B,OAPA5I,KAAKg7G,aAAeh7G,KAAKo7G,WAAWa,SAASj8G,KAAKo8G,QAAQp8G,KAAKm8G,cAE3Dn8G,KAAKg7G,eAAiB0C,GAAannB,IAAQv2F,KAAKg7G,aAAapyG,QAE7D5I,KAAKquE,QAAQpjD,SAASjrB,KAAKg7G,eAG3Bh7G,KAAK08G,WAAYe,IAEjBz9G,KAAK08G,SAAS/2E,SAAS3lC,KAAMA,KAAKg7G,gBAGzBh7G,KAAKo7G,aActB5lE,KAAM,SAAUT,QAEKxuC,IAAbwuC,IAA0BA,EAAW,GAEzC,IAAI1nC,EAAQrN,KAAKm8G,YAAcpnE,EAE3B1nC,GAASrN,KAAKo8G,QAAQz5G,SAElB3C,KAAKqrE,KAELh+D,GAASrN,KAAKo8G,QAAQz5G,OAItB0K,EAAQrN,KAAKo8G,QAAQz5G,OAAS,GAIlC0K,IAAUrN,KAAKm8G,cAEfn8G,KAAKm8G,YAAc9uG,EACnBrN,KAAK88G,oBAAmB,KAUhCrnE,SAAU,SAAUV,QAECxuC,IAAbwuC,IAA0BA,EAAW,GAEzC,IAAI1nC,EAAQrN,KAAKm8G,YAAcpnE,EAE3B1nC,EAAQ,IAEJrN,KAAKqrE,KAELh+D,EAAQrN,KAAKo8G,QAAQz5G,OAAS0K,EAI9BA,KAIJA,IAAUrN,KAAKm8G,cAEfn8G,KAAKm8G,YAAc9uG,EACnBrN,KAAK88G,oBAAmB,KAUhCzjB,gBAAiB,SAAUtnB,GAEvB/xE,KAAKo7G,WAAarpC,EAClB/xE,KAAKg7G,aAAeh7G,KAAKo7G,WAAap7G,KAAKo7G,WAAWa,SAASj8G,KAAKo8G,QAAQp8G,KAAKm8G,YAAcn8G,KAAKo8G,QAAQz5G,SAAW,MAQ3HH,QAAS,WAEAxC,KAAKo7G,aAMVp7G,KAAK+C,KAAKkmC,QAAQ7sB,OAAOpc,KAAKipC,QAASjpC,MACvCA,KAAK+C,KAAKomC,SAAS/sB,OAAOpc,KAAKmpC,SAAUnpC,MAEzCA,KAAK+C,KAAO,KACZ/C,KAAKquE,QAAU,KACfruE,KAAKo8G,QAAU,KACfp8G,KAAKo7G,WAAa,KAClBp7G,KAAKg7G,aAAe,KACpBh7G,KAAK67G,WAAY,EAEjB77G,KAAKi1G,QAAQvoE,UACb1sC,KAAKk1G,OAAOxoE,UACZ1sC,KAAKq1G,WAAW3oE,UAEZ1sC,KAAK08G,UAEL18G,KAAK08G,SAAShwE,YAUtBpiB,SAAU,WAENtqB,KAAKm8G,YAAcn8G,KAAKo8G,QAAQz5G,OAAS,EACzC3C,KAAKg7G,aAAeh7G,KAAKo7G,WAAWa,SAASj8G,KAAKo8G,QAAQp8G,KAAKm8G,cAC/Dn8G,KAAK88G,oBAAmB,GAExB98G,KAAK67G,WAAY,EACjB77G,KAAKs8G,YAAa,EAClBt8G,KAAKsnC,QAAS,EAEdtnC,KAAKquE,QAAQ75B,OAAO8oE,6BAA6Bt9G,KAAKquE,QAASruE,MAE/DA,KAAKq1G,WAAW1vE,SAAS3lC,KAAKquE,QAASruE,MAEnCA,KAAKsrE,gBAELtrE,KAAKquE,QAAQh3B,SAMzB71C,EAAO0pE,UAAU5oE,UAAUC,YAAcf,EAAO0pE,UAMhDlkE,OAAOyF,eAAejL,EAAO0pE,UAAU5oE,UAAW,UAE9C4E,IAAK,WAED,OAAOlH,KAAKu1G,UAGhBpuG,IAAK,SAAUC,GAEXpH,KAAKu1G,SAAWnuG,EAEZA,EAGApH,KAAKu8G,gBAAkBv8G,KAAK+C,KAAK0iC,KAAK4uE,WAKlCr0G,KAAK67G,YAEL77G,KAAK68G,eAAiB78G,KAAK+C,KAAK0iC,KAAK4uE,WAAar0G,KAAKw3D,UAWvExwD,OAAOyF,eAAejL,EAAO0pE,UAAU5oE,UAAW,YAE9C4E,IAAK,WAED,OAAOlH,KAAK28G,YAGhBx1G,IAAK,SAAUC,GAEXpH,KAAK28G,WAAav1G,KAU1BJ,OAAOyF,eAAejL,EAAO0pE,UAAU5oE,UAAW,cAE9C4E,IAAK,WAED,OAAOlH,KAAKo8G,QAAQz5G,UAS5BqE,OAAOyF,eAAejL,EAAO0pE,UAAU5oE,UAAW,SAE9C4E,IAAK,WAED,OAA0B,OAAtBlH,KAAKg7G,aAEEh7G,KAAKg7G,aAAapyG,MAIlB5I,KAAKm8G,aAIpBh1G,IAAK,SAAUC,GAEXpH,KAAKg7G,aAAeh7G,KAAKo7G,WAAWa,SAASj8G,KAAKo8G,QAAQh1G,IAEhC,OAAtBpH,KAAKg7G,eAELh7G,KAAKm8G,YAAc/0G,EACnBpH,KAAKquE,QAAQpjD,SAASjrB,KAAKg7G,cAEvBh7G,KAAK08G,UAEL18G,KAAK08G,SAAS/2E,SAAS3lC,KAAMA,KAAKg7G,kBAWlDh0G,OAAOyF,eAAejL,EAAO0pE,UAAU5oE,UAAW,SAE9C4E,IAAK,WAED,OAAO,IAAOlH,KAAKw3D,OAGvBrwD,IAAK,SAAUC,GAEPA,EAAQ,IAERpH,KAAKw3D,MAAQ,IAAOpwD,MAUhCJ,OAAOyF,eAAejL,EAAO0pE,UAAU5oE,UAAW,gBAE9C4E,IAAK,WAED,OAA0B,OAAlBlH,KAAK08G,UAGjBv1G,IAAK,SAAUC,GAEPA,GAA2B,OAAlBpH,KAAK08G,SAEd18G,KAAK08G,SAAW,IAAIl7G,EAAO+gC,OAErBn7B,GAA2B,OAAlBpH,KAAK08G,WAEpB18G,KAAK08G,SAAShwE,UACd1sC,KAAK08G,SAAW,SAoB5Bl7G,EAAO0pE,UAAUyyC,mBAAqB,SAAUjU,EAAQp9F,EAAOH,EAAMuqF,EAAQknB,QAE1Dr3G,IAAXmwF,IAAwBA,EAAS,IAErC,IAAI9gE,KACAvoB,EAAQ,GAEZ,GAAIf,EAAQH,EAER,IAASzJ,EAAI4J,EAAO5J,GAAKyJ,EAAMzJ,IAY3B2K,EAAQq8F,GAPJr8F,EAHmB,iBAAZuwG,EAGCp8G,EAAOkwB,MAAM8B,IAAI9wB,EAAEomB,WAAY80F,EAAS,IAAK,GAI7Cl7G,EAAEomB,YAGW4tE,EAEzB9gE,EAAO9tB,KAAKuF,QAKhB,IAAK,IAAI3K,EAAI4J,EAAO5J,GAAKyJ,EAAMzJ,IAY3B2K,EAAQq8F,GAPJr8F,EAHmB,iBAAZuwG,EAGCp8G,EAAOkwB,MAAM8B,IAAI9wB,EAAEomB,WAAY80F,EAAS,IAAK,GAI7Cl7G,EAAEomB,YAGW4tE,EAEzB9gE,EAAO9tB,KAAKuF,GAIpB,OAAOuoB,GAqBXp0B,EAAO84E,MAAQ,SAAU1xE,EAAO7E,EAAGC,EAAGpG,EAAOC,EAAQq0B,GAKjDlyB,KAAK4I,MAAQA,EAKb5I,KAAK+D,EAAIA,EAKT/D,KAAKgE,EAAIA,EAKThE,KAAKpC,MAAQA,EAKboC,KAAKnC,OAASA,EAEK,IAAfmC,KAAKpC,OAA+B,IAAhBoC,KAAKnC,QAEzByC,QAAQ+Z,KAAK,wBAA0B6X,EAAO,mCAMlDlyB,KAAKkyB,KAAOA,EAKZlyB,KAAK+3B,QAAUr0B,KAAKqsB,MAAMnyB,EAAQ,GAKlCoC,KAAKg4B,QAAUt0B,KAAKqsB,MAAMlyB,EAAS,GAKnCmC,KAAK01B,SAAWl0B,EAAOkC,KAAKgyB,SAAS,EAAG,EAAG93B,EAAOC,GAMlDmC,KAAK0O,SAAU,EAMf1O,KAAKoyE,SAAU,EAKfpyE,KAAKuyE,YAAc30E,EAKnBoC,KAAKwyE,YAAc30E,EAMnBmC,KAAKqyE,kBAAoB,EAMzBryE,KAAKsyE,kBAAoB,EAMzBtyE,KAAK69G,kBAAoB,EAMzB79G,KAAK89G,kBAAoB,EAKzB99G,KAAK4zB,MAAQ5zB,KAAK+D,EAAI/D,KAAKpC,MAK3BoC,KAAKw2B,OAASx2B,KAAKgE,EAAIhE,KAAKnC,QAGhC2D,EAAO84E,MAAMh4E,WAST6D,OAAQ,SAAUvI,EAAOC,GAErBmC,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EACdmC,KAAK+3B,QAAUr0B,KAAKqsB,MAAMnyB,EAAQ,GAClCoC,KAAKg4B,QAAUt0B,KAAKqsB,MAAMlyB,EAAS,GACnCmC,KAAK01B,SAAWl0B,EAAOkC,KAAKgyB,SAAS,EAAG,EAAG93B,EAAOC,GAClDmC,KAAKuyE,YAAc30E,EACnBoC,KAAKwyE,YAAc30E,EACnBmC,KAAK4zB,MAAQ5zB,KAAK+D,EAAInG,EACtBoC,KAAKw2B,OAASx2B,KAAKgE,EAAInG,GAe3BkgH,QAAS,SAAU3rC,EAAS4rC,EAAaC,EAAcC,EAAOC,EAAOC,EAAWC,GAE5Er+G,KAAKoyE,QAAUA,EAEXA,IAEApyE,KAAKuyE,YAAcyrC,EACnBh+G,KAAKwyE,YAAcyrC,EACnBj+G,KAAK+3B,QAAUr0B,KAAKqsB,MAAMiuF,EAAc,GACxCh+G,KAAKg4B,QAAUt0B,KAAKqsB,MAAMkuF,EAAe,GACzCj+G,KAAKqyE,kBAAoB6rC,EACzBl+G,KAAKsyE,kBAAoB6rC,EACzBn+G,KAAK69G,kBAAoBO,EACzBp+G,KAAK89G,kBAAoBO,IAWjCjqF,MAAO,WAEH,IAAIwB,EAAS,IAAIp0B,EAAO84E,MAAMt6E,KAAK4I,MAAO5I,KAAK+D,EAAG/D,KAAKgE,EAAGhE,KAAKpC,MAAOoC,KAAKnC,OAAQmC,KAAKkyB,MAExF,IAAK,IAAIk+C,KAAQpwE,KAETA,KAAKuxB,eAAe6+C,KAEpBx6C,EAAOw6C,GAAQpwE,KAAKowE,IAI5B,OAAOx6C,GAUX0oF,QAAS,SAAUnpF,GAWf,YATY5uB,IAAR4uB,EAEAA,EAAM,IAAI3zB,EAAOS,UAAUjC,KAAK+D,EAAG/D,KAAKgE,EAAGhE,KAAKpC,MAAOoC,KAAKnC,QAI5Ds3B,EAAIG,MAAMt1B,KAAK+D,EAAG/D,KAAKgE,EAAGhE,KAAKpC,MAAOoC,KAAKnC,QAGxCs3B,IAKf3zB,EAAO84E,MAAMh4E,UAAUC,YAAcf,EAAO84E,MAc5C94E,EAAO24E,UAAY,WAMfn6E,KAAKo8G,WAMLp8G,KAAKu+G,gBAGT/8G,EAAO24E,UAAU73E,WASb+3E,SAAU,SAAUhtE,GAWhB,OATAA,EAAMzE,MAAQ5I,KAAKo8G,QAAQz5G,OAE3B3C,KAAKo8G,QAAQt0G,KAAKuF,GAEC,KAAfA,EAAM6kB,OAENlyB,KAAKu+G,YAAYlxG,EAAM6kB,MAAQ7kB,EAAMzE,OAGlCyE,GAUX4uG,SAAU,SAAUrzG,GAOhB,OALIA,GAAS5I,KAAKo8G,QAAQz5G,SAEtBiG,EAAQ,GAGL5I,KAAKo8G,QAAQxzG,IAUxBszG,eAAgB,SAAUhqF,GAEtB,MAAsC,iBAA3BlyB,KAAKu+G,YAAYrsF,GAEjBlyB,KAAKo8G,QAAQp8G,KAAKu+G,YAAYrsF,IAGlC,MAUX0pF,eAAgB,SAAU1pF,GAEtB,OAA8B,MAA1BlyB,KAAKu+G,YAAYrsF,IAczBkC,MAAO,WAKH,IAAK,IAHDwB,EAAS,IAAIp0B,EAAO24E,UAGfz3E,EAAI,EAAGA,EAAI1C,KAAKo8G,QAAQz5G,OAAQD,IAErCkzB,EAAOwmF,QAAQt0G,KAAK9H,KAAKo8G,QAAQ15G,GAAG0xB,SAGxC,IAAK,IAAIpxB,KAAKhD,KAAKu+G,YAEXv+G,KAAKu+G,YAAYhtF,eAAevuB,KAEhC4yB,EAAO2oF,YAAYv7G,GAAKhD,KAAKu+G,YAAYv7G,IAIjD,OAAO4yB,GAYX4oF,cAAe,SAAUlyG,EAAOgP,EAAKsa,QAElBrvB,IAAXqvB,IAAwBA,MAE5B,IAAK,IAAIlzB,EAAI4J,EAAO5J,GAAK4Y,EAAK5Y,IAE1BkzB,EAAO9tB,KAAK9H,KAAKo8G,QAAQ15G,IAG7B,OAAOkzB,GAaX2lE,UAAW,SAAUD,EAAQmgB,EAAiB7lF,GAK1C,QAHwBrvB,IAApBk1G,IAAiCA,GAAkB,QACxCl1G,IAAXqvB,IAAwBA,WAEbrvB,IAAX+0F,GAA0C,IAAlBA,EAAO34F,OAG/B,IAASD,EAAI,EAAGA,EAAI1C,KAAKo8G,QAAQz5G,OAAQD,IAGrCkzB,EAAO9tB,KAAK9H,KAAKo8G,QAAQ15G,SAM7B,IAAK,IAAIA,EAAI,EAAGA,EAAI44F,EAAO34F,OAAQD,IAG3B+4G,EAGA7lF,EAAO9tB,KAAK9H,KAAKi8G,SAAS3gB,EAAO54F,KAKjCkzB,EAAO9tB,KAAK9H,KAAKk8G,eAAe5gB,EAAO54F,KAKnD,OAAOkzB,GAaX8lF,gBAAiB,SAAUpgB,EAAQmgB,EAAiB7lF,GAKhD,QAHwBrvB,IAApBk1G,IAAiCA,GAAkB,QACxCl1G,IAAXqvB,IAAwBA,WAEbrvB,IAAX+0F,GAA0C,IAAlBA,EAAO34F,OAG/B,IAASD,EAAI,EAAGA,EAAI1C,KAAKo8G,QAAQz5G,OAAQD,IAErCkzB,EAAO9tB,KAAK9H,KAAKo8G,QAAQ15G,GAAGkG,YAMhC,IAAK,IAAIlG,EAAI,EAAGA,EAAI44F,EAAO34F,OAAQD,IAG3B+4G,GAAmBz7G,KAAKo8G,QAAQ9gB,EAAO54F,IAEvCkzB,EAAO9tB,KAAK9H,KAAKo8G,QAAQ9gB,EAAO54F,IAAIkG,OAGpC5I,KAAKk8G,eAAe5gB,EAAO54F,KAE3BkzB,EAAO9tB,KAAK9H,KAAKk8G,eAAe5gB,EAAO54F,IAAIkG,OAKvD,OAAOgtB,GAQXpzB,QAAS,WAELxC,KAAKo8G,QAAU,KACfp8G,KAAKu+G,YAAc,OAK3B/8G,EAAO24E,UAAU73E,UAAUC,YAAcf,EAAO24E,UAOhDnzE,OAAOyF,eAAejL,EAAO24E,UAAU73E,UAAW,SAE9C4E,IAAK,WAED,OAAOlH,KAAKo8G,QAAQz5G,UAiB5BnB,EAAOi9G,iBAkBHC,YAAa,SAAU37G,EAAMiQ,EAAKwrF,EAAYC,EAAakgB,EAAUC,EAAQC,EAASC,QAEjEv4G,IAAbo4G,IAA0BA,GAAY,QAC3Bp4G,IAAXq4G,IAAwBA,EAAS,QACrBr4G,IAAZs4G,IAAyBA,EAAU,QACpBt4G,IAAfu4G,IAA4BA,EAAa,GAE7C,IAAI5sC,EAAMl/D,EAWV,GATmB,iBAARA,EAEPk/D,EAAMnvE,EAAKiX,MAAMm4D,SAASn/D,GAI1BA,EAAMk/D,EAAIhgD,KAGF,OAARggD,EAEA,OAAO,KAGX,GAAIssB,GAAc,GAAKC,GAAe,EAIlC,OAFAn+F,QAAQC,MAAM,iFAAkFyS,EAAKwrF,EAAYC,GAE1G,KAGX,IAAI7gG,EAAQs0E,EAAIt0E,MACZC,EAASq0E,EAAIr0E,OAEjB,GAAc,IAAVD,GAA0B,IAAXC,EAIf,OAFAyC,QAAQC,MAAM,8DAA+DyS,EAAKpV,EAAOC,GAElF,KAGX,GAAID,EAAQ4gG,GAAc3gG,EAAS4gG,EAI/B,OAFAn+F,QAAQC,MAAM,iHAAkHyS,EAAKpV,EAAOC,EAAQ2gG,EAAYC,GAEzJ,KAGX,IAAIsgB,EAAMr7G,KAAKqsB,OAAOnyB,EAAQghH,IAAWpgB,EAAaqgB,IAClDG,EAASt7G,KAAKqsB,OAAOlyB,EAAS+gH,IAAWngB,EAAcogB,IACvD7lE,EAAQ+lE,EAAMC,EACdC,EAAiBjmE,EACjBkmE,EAAgBlmE,EAAQ,EACxBmmE,EAAa,EACbC,EAAYF,EAEhB,GAAIJ,EAAa9lE,GAAS8lE,GAAc9lE,EAIpC,OAFA14C,QAAQC,MAAM,oEAAqEyS,EAAK8rG,EAAY9lE,GAE7F,KAyBX,GAtBI2lE,GAAY,IAGZS,GADApmE,EAAQ2lE,GACY,GAGpBI,EAAM,GAENz+G,QAAQ+Z,KACJ,8GACArH,EAAKpV,EAAO4gG,EAAaogB,EAASC,EAASrgB,EAAYogB,EAAQC,GAInEG,EAAS,GAET1+G,QAAQ+Z,KACJ,gHACArH,EAAKnV,EAAQ4gG,EAAcmgB,EAASC,EAASpgB,EAAamgB,EAAQC,GAInD,IAAnBI,EAIA,OAFA3+G,QAAQC,MAAM,8CAA+CyS,GAEtD,KAkBX,GAfI8rG,EAAa,EAKbM,GAFAD,EAAaL,IACb9lE,EAAQt1C,KAAK81B,IAAIwf,EAAOimE,EAAiBH,IACR,EAE5BA,EAAa,IAKlBK,GAFAC,EAAYF,EAAgBJ,IAC5B9lE,EAAQt1C,KAAK81B,IAAIwf,EAAOimE,EAAiBH,IACR,GAGjCK,EAAa,EAIb,OAFA7+G,QAAQC,MAAM,kDAAmDyS,EAAKmsG,GAE/D,KAGX,GAAIC,EAAYF,EAIZ,OAFA5+G,QAAQ+Z,KAAK,gFAAiFrH,EAAKosG,EAAWF,GAEvG,KASX,IAAK,IALD9qG,EAAO,IAAI5S,EAAO24E,UAClBp2E,EAAI66G,EACJ56G,EAAI46G,EACJzB,EAAa,EAERz6G,EAAI,EAAGA,EAAIu8G,KAEZv8G,EAAI08G,GAFwB18G,IAO5BA,GAAKy8G,GAEL/qG,EAAKimE,SAAS,IAAI74E,EAAO84E,MAAM6iC,IAAcp5G,EAAGC,EAAGw6F,EAAYC,EAAa,MAGhF16F,GAAKy6F,EAAaqgB,GAEVrgB,EAAa5gG,IAEjBmG,EAAI66G,EACJ56G,GAAKy6F,EAAcogB,GAI3B,OAAOzqG,GAWXirG,SAAU,SAAUt8G,EAAMu8G,GAGtB,IAAKA,EAAKhkB,OAIN,OAFAh7F,QAAQ+Z,KAAK,kGACb/Z,QAAQ+P,IAAIivG,GAWhB,IAAK,IAFDC,EAJAnrG,EAAO,IAAI5S,EAAO24E,UAGlBmhB,EAASgkB,EAAKhkB,OAGT54F,EAAI,EAAGA,EAAI44F,EAAO34F,OAAQD,IAE/B68G,EAAWnrG,EAAKimE,SAAS,IAAI74E,EAAO84E,MAChC53E,EACA44F,EAAO54F,GAAG2K,MAAMtJ,EAChBu3F,EAAO54F,GAAG2K,MAAMrJ,EAChBs3F,EAAO54F,GAAG2K,MAAMgI,EAChBimF,EAAO54F,GAAG2K,MAAMmX,EAChB82E,EAAO54F,GAAG88G,WAGVlkB,EAAO54F,GAAG0vE,SAEVmtC,EAASxB,QACLziB,EAAO54F,GAAG0vE,QACVkpB,EAAO54F,GAAG+8G,WAAWpqG,EACrBimF,EAAO54F,GAAG+8G,WAAWj7F,EACrB82E,EAAO54F,GAAGg9G,iBAAiB37G,EAC3Bu3F,EAAO54F,GAAGg9G,iBAAiB17G,EAC3Bs3F,EAAO54F,GAAGg9G,iBAAiBrqG,EAC3BimF,EAAO54F,GAAGg9G,iBAAiBl7F,GAI/B82E,EAAO54F,GAAGgM,UAEV6wG,EAAS7wG,SAAU,GAI3B,OAAO0F,GAWXurG,cAAe,SAAU58G,EAAMu8G,GAgB3B,IAbkB,SAAU,YAAY,aAAa,YAAa,aAExDzuF,QAAQ,SAAU7d,GAExB,IAAKssG,EAAKtsG,GAIN,OAFA1S,QAAQ+Z,KAAK,oFAAsFrH,EAAM,eACzG1S,QAAQ+P,IAAIivG,KAMO,IAAvBA,EAAKM,OAAOj9G,OAIZ,OAFArC,QAAQ+Z,KAAK,wGACb/Z,QAAQ+P,IAAIivG,GAYhB,IAAK,IARDlrG,EAAO,IAAI5S,EAAO24E,UAElB0lC,EAAaP,EAAKO,WAClBC,EAAYR,EAAKQ,UAEjBxkB,EAASgkB,EAAKM,OAAO,GAAGG,MAGnBr9G,EAAI,EAAGA,EAAI44F,EAAO34F,OAAQD,IAEpB0R,EAAKimE,SAAS,IAAI74E,EAAO84E,MAChC53E,EACA44F,EAAO54F,GAAGqB,EACVu3F,EAAO54F,GAAGsB,EACV87G,EACAD,EACA,SAAWn9G,IAINq7G,SAAQ,GAGrB,OAAO3pG,GAWX4rG,aAAc,SAAUj9G,EAAMu8G,GAG1B,IAAKA,EAAKhkB,OAIN,OAFAh7F,QAAQ+Z,KAAK,uGACb/Z,QAAQ+P,IAAIivG,GAKhB,IAIIC,EAJAnrG,EAAO,IAAI5S,EAAO24E,UAGlBmhB,EAASgkB,EAAKhkB,OAEd54F,EAAI,EAER,IAAK,IAAIsQ,KAAOsoF,EAEZikB,EAAWnrG,EAAKimE,SAAS,IAAI74E,EAAO84E,MAChC53E,EACA44F,EAAOtoF,GAAK3F,MAAMtJ,EAClBu3F,EAAOtoF,GAAK3F,MAAMrJ,EAClBs3F,EAAOtoF,GAAK3F,MAAMgI,EAClBimF,EAAOtoF,GAAK3F,MAAMmX,EAClBxR,IAGAsoF,EAAOtoF,GAAKo/D,SAEZmtC,EAASxB,QACLziB,EAAOtoF,GAAKo/D,QACZkpB,EAAOtoF,GAAKysG,WAAWpqG,EACvBimF,EAAOtoF,GAAKysG,WAAWj7F,EACvB82E,EAAOtoF,GAAK0sG,iBAAiB37G,EAC7Bu3F,EAAOtoF,GAAK0sG,iBAAiB17G,EAC7Bs3F,EAAOtoF,GAAK0sG,iBAAiBrqG,EAC7BimF,EAAOtoF,GAAK0sG,iBAAiBl7F,GAIjC82E,EAAOtoF,GAAKtE,UAEZ6wG,EAAS7wG,SAAU,GAGvBhM,IAGJ,OAAO0R,GAWX6rG,QAAS,SAAUl9G,EAAMm9G,GAGrB,GAAKA,EAAIC,qBAAqB,gBAA9B,CAsBA,IAAK,IAbDZ,EAEArtF,EACA7kB,EACAtJ,EACAC,EACApG,EACAC,EACAuiH,EACAC,EACA7hB,EACAC,EAbArqF,EAAO,IAAI5S,EAAO24E,UAClBmhB,EAAS4kB,EAAIC,qBAAqB,cAc7Bz9G,EAAI,EAAGA,EAAI44F,EAAO34F,OAAQD,IAI/BwvB,GAFA7kB,EAAQiuF,EAAO54F,GAAG+O,YAELygB,KAAK9qB,MAClBrD,EAAIsvB,SAAShmB,EAAMtJ,EAAEqD,MAAO,IAC5BpD,EAAIqvB,SAAShmB,EAAMrJ,EAAEoD,MAAO,IAC5BxJ,EAAQy1B,SAAShmB,EAAMzP,MAAMwJ,MAAO,IACpCvJ,EAASw1B,SAAShmB,EAAMxP,OAAOuJ,MAAO,IAEtCg5G,EAAS,KACTC,EAAS,KAELhzG,EAAM+yG,SAENA,EAAS18G,KAAKmzB,IAAIxD,SAAShmB,EAAM+yG,OAAOh5G,MAAO,KAC/Ci5G,EAAS38G,KAAKmzB,IAAIxD,SAAShmB,EAAMgzG,OAAOj5G,MAAO,KAC/Co3F,EAAanrE,SAAShmB,EAAMmxF,WAAWp3F,MAAO,IAC9Cq3F,EAAcprE,SAAShmB,EAAMoxF,YAAYr3F,MAAO,KAGpDm4G,EAAWnrG,EAAKimE,SAAS,IAAI74E,EAAO84E,MAAM53E,EAAGqB,EAAGC,EAAGpG,EAAOC,EAAQq0B,IAGnD,OAAXkuF,GAA8B,OAAXC,GAEnBd,EAASxB,SAAQ,EAAMngH,EAAOC,EAAQuiH,EAAQC,EAAQ7hB,EAAYC,GAI1E,OAAOrqF,EAlDH9T,QAAQ+Z,KAAK,iGAwFzB7Y,EAAOotC,MAAQ,SAAU7rC,GAKrB/C,KAAK+C,KAAOA,EAMZ/C,KAAKsgH,gBAAiB,EAOtBtgH,KAAKia,QACD/C,UACAgD,SACAnc,WACA6oC,SACAyvC,SACA7B,QACA8qC,QACAY,OACAl5E,WACA+uC,WACAwqC,UACAhqC,cACAiqC,cACAvzG,UACAjI,iBACAy7G,qBACArsG,SAOJpU,KAAK0gH,WAML1gH,KAAK2gH,aAAe,IAAIjtC,MAMxB1zE,KAAK4gH,SAAW,KAKhB5gH,KAAK6gH,cAAgB,IAAIr/G,EAAO+gC,OAMhCviC,KAAK8gH,aAEL9gH,KAAK8gH,UAAUt/G,EAAOotC,MAAMnlB,QAAUzpB,KAAKia,OAAO/C,OAClDlX,KAAK8gH,UAAUt/G,EAAOotC,MAAMtiB,OAAStsB,KAAKia,OAAOC,MACjDla,KAAK8gH,UAAUt/G,EAAOotC,MAAMmyE,SAAW/gH,KAAKia,OAAOlc,QACnDiC,KAAK8gH,UAAUt/G,EAAOotC,MAAMoyE,OAAShhH,KAAKia,OAAO2sB,MACjD5mC,KAAK8gH,UAAUt/G,EAAOotC,MAAMpiB,MAAQxsB,KAAKia,OAAOu6D,KAChDx0E,KAAK8gH,UAAUt/G,EAAOotC,MAAMqyE,SAAWjhH,KAAKia,OAAO+sB,QACnDhnC,KAAK8gH,UAAUt/G,EAAOotC,MAAM/hB,SAAW7sB,KAAKia,OAAO87D,QACnD/1E,KAAK8gH,UAAUt/G,EAAOotC,MAAMsyE,QAAUlhH,KAAKia,OAAOsmG,OAClDvgH,KAAK8gH,UAAUt/G,EAAOotC,MAAM3hB,YAAcjtB,KAAKia,OAAOs8D,WACtDv2E,KAAK8gH,UAAUt/G,EAAOotC,MAAMuyE,YAAcnhH,KAAKia,OAAOumG,WACtDxgH,KAAK8gH,UAAUt/G,EAAOotC,MAAMwyE,MAAQphH,KAAKia,OAAOqlG,KAChDt/G,KAAK8gH,UAAUt/G,EAAOotC,MAAMyyE,KAAOrhH,KAAKia,OAAOimG,IAC/ClgH,KAAK8gH,UAAUt/G,EAAOotC,MAAM5gB,OAAShuB,KAAKia,OAAOo8D,MACjDr2E,KAAK8gH,UAAUt/G,EAAOotC,MAAM0yE,QAAUthH,KAAKia,OAAOhN,OAClDjN,KAAK8gH,UAAUt/G,EAAOotC,MAAM2yE,gBAAkBvhH,KAAKia,OAAOjV,cAC1DhF,KAAK8gH,UAAUt/G,EAAOotC,MAAM4yE,MAAQxhH,KAAKia,OAAO7F,KAMhDpU,KAAKyhH,cAAgB,EAOrBzhH,KAAKy+C,QAAU,IAAIj9C,EAAO+gC,OAE1BviC,KAAK0hH,cAOTlgH,EAAOotC,MAAMnlB,OAAS,EAMtBjoB,EAAOotC,MAAMtiB,MAAQ,EAMrB9qB,EAAOotC,MAAMmyE,QAAU,EAMvBv/G,EAAOotC,MAAMoyE,MAAQ,EAMrBx/G,EAAOotC,MAAMpiB,KAAO,EAMpBhrB,EAAOotC,MAAMqyE,QAAU,EAMvBz/G,EAAOotC,MAAM/hB,QAAU,EAMvBrrB,EAAOotC,MAAMsyE,OAAS,EAMtB1/G,EAAOotC,MAAM3hB,WAAa,EAM1BzrB,EAAOotC,MAAMuyE,WAAa,GAM1B3/G,EAAOotC,MAAMwyE,KAAO,GAMpB5/G,EAAOotC,MAAMyyE,IAAM,GAMnB7/G,EAAOotC,MAAM5gB,MAAQ,GAMrBxsB,EAAOotC,MAAM0yE,OAAS,GAMtB9/G,EAAOotC,MAAM2yE,eAAiB,GAM9B//G,EAAOotC,MAAM4yE,KAAO,GAOpBhgH,EAAOotC,MAAMhnB,QAAU,KAOvBpmB,EAAOotC,MAAM+yE,YAAc,YAO3BngH,EAAOotC,MAAMgzE,YAAc,yKAO3BpgH,EAAOotC,MAAMizE,QAAU,KAOvBrgH,EAAOotC,MAAMkzE,YAAc,YAO3BtgH,EAAOotC,MAAMmzE,YAAc,6WAQ3BvgH,EAAOotC,MAAMozE,cAAgB,IAE7BxgH,EAAOotC,MAAMtsC,WAmBT2/G,6BAA8B,SAAUjvG,EAAKsjE,EAAK4rC,EAAWC,GAErDniH,KAAKw4F,cAAcxlF,IAEnBhT,KAAKoiH,YAAYpvG,GAGrB,IAAIoB,EAAQ8tG,KAAa1gH,EAAO6gH,aAAgB7gH,EAAO6gH,aAAaH,GAAWC,GAAeA,EAE1FpkH,GACAiV,IAAKA,EACLsjE,IAAKA,EACLliE,KAAMA,EACNgG,KAAM,IAAI5b,KAAK6rB,YAAYjW,EAAM,KAAMpU,KAAK+C,KAAK6B,YACjDyI,MAAO,IAAI7L,EAAO84E,MAAM,EAAG,EAAG,EAAGlmE,EAAKxW,MAAOwW,EAAKvW,OAAQmV,GAC1D++D,UAAW,IAAIvwE,EAAO24E,UACtBmoC,WAAYJ,GAShB,OANAnkH,EAAQg0E,UAAUsI,SAAS,IAAI74E,EAAO84E,MAAM,EAAG,EAAG,EAAGlmE,EAAKxW,MAAOwW,EAAKvW,OAAQy4E,IAE9Et2E,KAAKia,OAAOC,MAAMlH,GAAOjV,EAEzBiC,KAAKuiH,YAAYjsC,EAAKv4E,GAEfA,GAWXykH,UAAW,SAAUxvG,EAAKkE,EAAQpJ,QAEdvH,IAAZuH,IAAyBA,EAAUoJ,EAAOsB,WAAW,OAEzDxY,KAAKia,OAAO/C,OAAOlE,IAASkE,OAAQA,EAAQpJ,QAASA,IAezDkuE,SAAU,SAAUhpE,EAAKsjE,EAAKliE,GAEtBpU,KAAKw4F,cAAcxlF,IAEnBhT,KAAKoiH,YAAYpvG,IAGC,IAAlBoB,EAAKkW,UAELhqB,QAAQ+Z,KAAK,oDAAqDrH,GAGtE,IAAIk/D,GACAl/D,IAAKA,EACLsjE,IAAKA,EACLliE,KAAMA,EACNgG,KAAM,IAAI5b,KAAK6rB,YAAYjW,EAAM,KAAMpU,KAAK+C,KAAK6B,YACjDyI,MAAO,IAAI7L,EAAO84E,MAAM,EAAG,EAAG,EAAGlmE,EAAKxW,MAAOwW,EAAKvW,OAAQmV,GAC1D++D,UAAW,IAAIvwE,EAAO24E,WAkB1B,OAfAjI,EAAIH,UAAUsI,SAAS,IAAI74E,EAAO84E,MAAM,EAAG,EAAG,EAAGlmE,EAAKxW,MAAOwW,EAAKvW,OAAQy4E,IAE1Et2E,KAAKia,OAAOC,MAAMlH,GAAOk/D,EAEzBlyE,KAAKuiH,YAAYjsC,EAAKpE,GAEV,cAARl/D,EAEAxR,EAAOotC,MAAMhnB,QAAU,IAAIppB,KAAKqO,QAAQqlE,EAAI93D,MAE/B,cAARpH,IAELxR,EAAOotC,MAAMizE,QAAU,IAAIrjH,KAAKqO,QAAQqlE,EAAI93D,OAGzC83D,GAOXuwC,cAAe,SAAUzvG,EAAKnD,EAAKmlC,GAE/B,IAAI3Z,EAAOr7B,KACPkyE,EAAM,IAAIwB,MAEdxB,EAAI4J,OAAS,WAET9mC,EAASxwC,KAAKxE,KAAMq7B,EAAK2gD,SAAShpE,EAAK,KAAMk/D,IAC7C72C,EAAKqnF,iBACLxwC,EAAI4J,OAAS,MAGjB97E,KAAK2iH,cACLzwC,EAAIriE,IAAMA,GAYd+yG,gBAAiB,WAEb5iH,KAAKyiH,cAAcjhH,EAAOotC,MAAM+yE,YAAangH,EAAOotC,MAAMgzE,YAAa,SAAU3vF,GAG7EA,EAAI7X,KAAK5M,YAAa,EAGtBhM,EAAOotC,MAAMhnB,QAAU,IAAIppB,KAAKqO,QAAQolB,EAAI7X,SAapDyoG,gBAAiB,WAEb7iH,KAAKyiH,cAAcjhH,EAAOotC,MAAMkzE,YAAatgH,EAAOotC,MAAMmzE,YAAa,SAAU9vF,GAG7EzwB,EAAOotC,MAAMizE,QAAU,IAAIrjH,KAAKqO,QAAQolB,EAAI7X,SAcpD0oG,SAAU,SAAU9vG,EAAKsjE,EAAKliE,EAAMyqC,EAAUkkE,QAEzBx8G,IAAbs4C,IAA0BA,GAAW,EAAMkkE,GAAW,QACzCx8G,IAAbw8G,IAA0BlkE,GAAW,EAAOkkE,GAAW,GAE3D,IAAIC,GAAU,EAEVD,IAEAC,GAAU,GAGdhjH,KAAKia,OAAO2sB,MAAM5zB,IACdsjE,IAAKA,EACLliE,KAAMA,EACN6uG,YAAY,EACZD,QAASA,EACTnkE,SAAUA,EACVkkE,SAAUA,EACVl0D,OAAQ7uD,KAAK+C,KAAK6jC,MAAMs8E,aAG5BljH,KAAKuiH,YAAYjsC,EAAKt2E,KAAKia,OAAO2sB,MAAM5zB,KAW5CmwG,QAAS,SAAUnwG,EAAKsjE,EAAKliE,GAEzBpU,KAAKia,OAAOu6D,KAAKxhE,IAASsjE,IAAKA,EAAKliE,KAAMA,GAE1CpU,KAAKuiH,YAAYjsC,EAAKt2E,KAAKia,OAAOu6D,KAAKxhE,KAY3CowG,eAAgB,SAAUpwG,EAAKsjE,EAAK+oC,EAAU5qG,GAE1CzU,KAAKia,OAAO+sB,QAAQh0B,IAASsjE,IAAKA,EAAKliE,KAAMirG,EAAU5qG,OAAQA,GAE/DzU,KAAKuiH,YAAYjsC,EAAKt2E,KAAKia,OAAO+sB,QAAQh0B,KAY9CqwG,WAAY,SAAUrwG,EAAKsjE,EAAKgtC,EAAS7uG,GAErCzU,KAAKia,OAAO87D,QAAQ/iE,IAASsjE,IAAKA,EAAKliE,KAAMkvG,EAAS7uG,OAAQA,GAE9DzU,KAAKuiH,YAAYjsC,EAAKt2E,KAAKia,OAAO87D,QAAQ/iE,KAU9CuwG,UAAW,SAAUvwG,EAAKwwG,GAEtBxjH,KAAKia,OAAOsmG,OAAOvtG,GAAOwwG,GAY9BhtC,cAAe,SAAUxjE,EAAKujE,EAAYxE,GAYtC,OAVAwE,EAAWvjE,IAAMA,OAECzM,IAAdwrE,IAEAA,EAAY,IAAIvwE,EAAO24E,WACbE,SAAS9D,EAAW6D,cAGlCp6E,KAAKia,OAAOs8D,WAAWvjE,IAASoB,KAAMmiE,EAAYxE,UAAWA,GAEtDwE,GAeXktC,cAAe,SAAUzwG,EAAKsjE,EAAKliE,EAAMsvG,EAAWC,EAAWluC,EAAUC,GAErE,IAAIzjD,GACAqkD,IAAKA,EACLliE,KAAMA,EACNghE,KAAM,KACNh7D,KAAM,IAAI5b,KAAK6rB,YAAYjW,EAAM,KAAMpU,KAAK+C,KAAK6B,kBAGpC2B,IAAbkvE,IAA0BA,EAAW,QACxBlvE,IAAbmvE,IAA0BA,EAAW,GAIrCzjD,EAAImjD,KAFU,SAAduuC,EAEWniH,EAAO6gH,aAAauB,eAAeF,EAAWzxF,EAAI7X,KAAMq7D,EAAUC,GAAU,EAAO11E,KAAK+C,KAAK6B,YAI7FpD,EAAO6gH,aAAawB,cAAcH,EAAWzxF,EAAI7X,KAAMq7D,EAAUC,GAAU,EAAO11E,KAAK+C,KAAK6B,YAG3G5E,KAAKia,OAAOumG,WAAWxtG,GAAOif,EAE9BjyB,KAAKuiH,YAAYjsC,EAAKrkD,IAuB1B6xF,uBAAwB,SAAU9wG,EAAK+wG,EAAUC,EAAYC,EAASC,EAAUzuC,EAAUC,GAEtF,IAAIroE,EAAQrN,KAAKk8G,eAAe6H,EAAUC,GAE1C,GAAK32G,EAAL,CAKA,IAAI4kB,GACAmjD,KAAM,KACNh7D,KAAMpa,KAAKmkH,eAAeJ,GAC1B12G,MAAOA,QAGM9G,IAAbkvE,IAA0BA,EAAW,QACxBlvE,IAAbmvE,IAA0BA,EAAW,GAEzC,IAAI0uC,EAEa,SAAbF,GAEAE,EAAWpkH,KAAKqkH,QAAQJ,GACxBhyF,EAAImjD,KAAO5zE,EAAO6gH,aAAauB,eAAeQ,EAAUnyF,EAAI7X,KAAMq7D,EAAUC,EAAUroE,EAAOrN,KAAK+C,KAAK6B,cAIvGw/G,EAAWpkH,KAAKskH,OAAOL,GACvBhyF,EAAImjD,KAAO5zE,EAAO6gH,aAAawB,cAAcO,EAAUnyF,EAAI7X,KAAMq7D,EAAUC,EAAUroE,EAAOrN,KAAK+C,KAAK6B,aAG1G5E,KAAKia,OAAOumG,WAAWxtG,GAAOif,IAWlCsyF,QAAS,SAAUvxG,EAAKsjE,EAAKliE,GAEzBpU,KAAKia,OAAOqlG,KAAKtsG,IAASsjE,IAAKA,EAAKliE,KAAMA,GAE1CpU,KAAKuiH,YAAYjsC,EAAKt2E,KAAKia,OAAOqlG,KAAKtsG,KAW3CwxG,OAAQ,SAAUxxG,EAAKsjE,EAAKliE,GAExBpU,KAAKia,OAAOimG,IAAIltG,IAASsjE,IAAKA,EAAKliE,KAAMA,GAEzCpU,KAAKuiH,YAAYjsC,EAAKt2E,KAAKia,OAAOimG,IAAIltG,KAY1CyxG,SAAU,SAAUzxG,EAAKsjE,EAAKliE,EAAMswG,GAEhC1kH,KAAKia,OAAOo8D,MAAMrjE,IAASsjE,IAAKA,EAAKliE,KAAMA,EAAMswG,OAAQA,EAAQ71D,QAAQ,GAEzE7uD,KAAKuiH,YAAYjsC,EAAKt2E,KAAKia,OAAOo8D,MAAMrjE,KAW5C2xG,UAAW,SAAU3xG,EAAKsjE,EAAKliE,GAE3BpU,KAAKia,OAAOhN,OAAO+F,IAASsjE,IAAKA,EAAKliE,KAAMA,GAE5CpU,KAAKuiH,YAAYjsC,EAAKt2E,KAAKia,OAAOhN,OAAO+F,KAU7CojE,iBAAkB,SAAUpjE,EAAKjV,GAE7BiC,KAAKia,OAAOjV,cAAcgO,IAASjV,QAASA,EAASsP,MAAO,IAAI7L,EAAO84E,MAAM,EAAG,EAAG,EAAGv8E,EAAQH,MAAOG,EAAQF,OAAQ,GAAI,MAiB7H+mH,eAAgB,SAAU5xG,EAAKsjE,EAAKliE,EAAMoqF,EAAYC,EAAakgB,EAAUC,EAAQC,EAASC,QAEzEv4G,IAAbo4G,IAA0BA,GAAY,QAC3Bp4G,IAAXq4G,IAAwBA,EAAS,QACrBr4G,IAAZs4G,IAAyBA,EAAU,GAEvC,IAAI5sF,GACAjf,IAAKA,EACLsjE,IAAKA,EACLliE,KAAMA,EACNoqF,WAAYA,EACZC,YAAaA,EACbmgB,OAAQA,EACRC,QAASA,EACTzkG,KAAM,IAAI5b,KAAK6rB,YAAYjW,EAAM,KAAMpU,KAAK+C,KAAK6B,YACjDmtE,UAAWvwE,EAAOi9G,gBAAgBC,YAAY1+G,KAAK+C,KAAMqR,EAAMoqF,EAAYC,EAAakgB,EAAUC,EAAQC,EAASC,IAGvH9+G,KAAKia,OAAOC,MAAMlH,GAAOif,EAEzBjyB,KAAKuiH,YAAYjsC,EAAKrkD,IAa1B4yF,gBAAiB,SAAU7xG,EAAKsjE,EAAKliE,EAAMsvG,EAAWjvG,GAElD,IAAIwd,GACAjf,IAAKA,EACLsjE,IAAKA,EACLliE,KAAMA,EACNgG,KAAM,IAAI5b,KAAK6rB,YAAYjW,EAAM,KAAMpU,KAAK+C,KAAK6B,aAGjD6P,IAAWjT,EAAOi8C,OAAOqnE,2BAEzB7yF,EAAI8/C,UAAYvwE,EAAOi9G,gBAAgBwB,QAAQjgH,KAAK+C,KAAM2gH,EAAW1wG,GAEhEyB,IAAWjT,EAAOi8C,OAAOsnE,yBAE9B9yF,EAAI8/C,UAAYvwE,EAAOi9G,gBAAgBkB,cAAc3/G,KAAK+C,KAAM2gH,EAAW1wG,GAKvEvL,MAAMC,QAAQg8G,EAAUpoB,QAExBrpE,EAAI8/C,UAAYvwE,EAAOi9G,gBAAgBY,SAASr/G,KAAK+C,KAAM2gH,EAAW1wG,GAItEif,EAAI8/C,UAAYvwE,EAAOi9G,gBAAgBuB,aAAahgH,KAAK+C,KAAM2gH,EAAW1wG,GAIlFhT,KAAKia,OAAOC,MAAMlH,GAAOif,EAEzBjyB,KAAKuiH,YAAYjsC,EAAKrkD,IAU1B+yF,QAAS,SAAUhyG,EAAKoB,GAEpBpU,KAAKia,OAAO7F,KAAKpB,GAAOoB,GAe5B6wG,YAAa,SAAUjyG,GAEnB,IAAI25B,EAAQ3sC,KAER4mC,EAAQ5mC,KAAKklH,SAASlyG,GAEtB4zB,IAEAA,EAAMxyB,KAAKvE,IAAM+2B,EAAM0vC,IAEvB1vC,EAAMxyB,KAAK48B,iBAAiB,iBAAkB,WAE1C,OAAOrE,EAAMw4E,oBAAoBnyG,KAClC,GAEH4zB,EAAMxyB,KAAKuyB,SAUnBw+E,oBAAqB,SAAUnyG,GAE3B,IAAI4zB,EAAQ5mC,KAAKklH,SAASlyG,GAEtB4zB,IAEAA,EAAMioB,QAAS,EACf7uD,KAAK6gH,cAAcl7E,SAAS3yB,KAUpCoyG,YAAa,SAAUpyG,EAAKgkC,EAAU5vC,GAElC,IAAIw/B,EAAQ5mC,KAAKklH,SAASlyG,GAEtB4zB,IAEAA,EAAMoQ,GAAY5vC,IAW1Bi+G,aAAc,SAAUryG,EAAKoB,GAEzB,IAAIwyB,EAAQ5mC,KAAKklH,SAASlyG,GAE1B4zB,EAAMxyB,KAAOA,EACbwyB,EAAMo8E,SAAU,EAChBp8E,EAAMq8E,YAAa,GAUvBqC,eAAgB,SAAUtyG,GAEtB,IAAI4zB,EAAQ5mC,KAAK6mG,QAAQ7zF,EAAKxR,EAAOotC,MAAMoyE,MAAO,kBAElD,GAAIp6E,EAEA,OAAOA,EAAMo8E,SAYrBuC,aAAc,SAAUvyG,GAEpB,IAAI4zB,EAAQ5mC,KAAK6mG,QAAQ7zF,EAAKxR,EAAOotC,MAAMoyE,MAAO,kBAElD,GAAIp6E,EAEA,OAAQA,EAAMo8E,UAAYhjH,KAAK+C,KAAK6jC,MAAMs8E,aAkBlDsC,SAAU,SAAUxrG,EAAOhH,GAEvB,QAAIhT,KAAK8gH,UAAU9mG,GAAOhH,IAkB9ByyG,SAAU,SAAUnvC,GAEhB,QAAIt2E,KAAK0gH,QAAQ1gH,KAAKuiH,YAAYjsC,KAetCovC,eAAgB,SAAU1yG,GAEtB,OAAOhT,KAAKwlH,SAAShkH,EAAOotC,MAAMnlB,OAAQzW,IAU9C2yG,aAAc,SAAU3yG,GAEpB,OAAOhT,KAAKwlH,SAAShkH,EAAOotC,MAAM4yE,KAAMxuG,IAU5CwlF,cAAe,SAAUxlF,GAErB,OAAOhT,KAAKwlH,SAAShkH,EAAOotC,MAAMtiB,MAAOtZ,IAU7C4yG,gBAAiB,SAAU5yG,GAEvB,OAAOhT,KAAKwlH,SAAShkH,EAAOotC,MAAMmyE,QAAS/tG,IAU/C6yG,cAAe,SAAU7yG,GAErB,OAAOhT,KAAKwlH,SAAShkH,EAAOotC,MAAMoyE,MAAOhuG,IAU7C8yG,aAAc,SAAU9yG,GAEpB,OAAOhT,KAAKwlH,SAAShkH,EAAOotC,MAAMpiB,KAAMxZ,IAU5C+yG,gBAAiB,SAAU/yG,GAEvB,OAAOhT,KAAKwlH,SAAShkH,EAAOotC,MAAMqyE,QAASjuG,IAU/CgzG,gBAAiB,SAAUhzG,GAEvB,OAAOhT,KAAKwlH,SAAShkH,EAAOotC,MAAM/hB,QAAS7Z,IAU/CizG,eAAgB,SAAUjzG,GAEtB,OAAOhT,KAAKwlH,SAAShkH,EAAOotC,MAAMsyE,OAAQluG,IAU9CkzG,mBAAoB,SAAUlzG,GAE1B,OAAOhT,KAAKwlH,SAAShkH,EAAOotC,MAAM3hB,WAAYja,IAUlDmzG,mBAAoB,SAAUnzG,GAE1B,OAAOhT,KAAKwlH,SAAShkH,EAAOotC,MAAMuyE,WAAYnuG,IAUlDozG,aAAc,SAAUpzG,GAEpB,OAAOhT,KAAKwlH,SAAShkH,EAAOotC,MAAMwyE,KAAMpuG,IAU5CqzG,YAAa,SAAUrzG,GAEnB,OAAOhT,KAAKwlH,SAAShkH,EAAOotC,MAAMyyE,IAAKruG,IAU3CszG,cAAe,SAAUtzG,GAErB,OAAOhT,KAAKwlH,SAAShkH,EAAOotC,MAAM5gB,MAAOhb,IAU7CuzG,eAAgB,SAAUvzG,GAEtB,OAAOhT,KAAKwlH,SAAShkH,EAAOotC,MAAM0yE,OAAQtuG,IAU9CwzG,sBAAuB,SAAUxzG,GAE7B,OAAOhT,KAAKwlH,SAAShkH,EAAOotC,MAAM2yE,eAAgBvuG,IAsBtD6zF,QAAS,SAAU7zF,EAAKgH,EAAOg+B,EAAQhB,GAEnC,OAAKh3C,KAAKwlH,SAASxrG,EAAOhH,QAQTzM,IAAbywC,EAEOh3C,KAAK8gH,UAAU9mG,GAAOhH,GAItBhT,KAAK8gH,UAAU9mG,GAAOhH,GAAKgkC,IAZ9BgB,GAEA13C,QAAQ+Z,KAAK,gBAAkB29B,EAAS,UAAYhlC,EAAM,yBAa3D,OAcXorE,UAAW,SAAUprE,GAEjB,OAAOhT,KAAK6mG,QAAQ7zF,EAAKxR,EAAOotC,MAAMnlB,OAAQ,YAAa,WAmB/D0oD,SAAU,SAAUn/D,EAAKyzG,QAETlgH,IAARyM,GAA6B,OAARA,IAErBA,EAAM,kBAGGzM,IAATkgH,IAAsBA,GAAO,GAEjC,IAAIv0C,EAAMlyE,KAAK6mG,QAAQ7zF,EAAKxR,EAAOotC,MAAMtiB,MAAO,YAOhD,OALY,OAAR4lD,IAEAA,EAAMlyE,KAAK6mG,QAAQ,YAAarlG,EAAOotC,MAAMtiB,MAAO,aAGpDm6F,EAEOv0C,EAIAA,EAAI99D,MAanBsyG,gBAAiB,SAAU1zG,GAEvB,OAAOhT,KAAK6mG,QAAQ7zF,EAAKxR,EAAOotC,MAAMmyE,QAAS,kBAAmB,UActEmE,SAAU,SAAUlyG,GAEhB,OAAOhT,KAAK6mG,QAAQ7zF,EAAKxR,EAAOotC,MAAMoyE,MAAO,aAcjD2F,aAAc,SAAU3zG,GAEpB,OAAOhT,KAAK6mG,QAAQ7zF,EAAKxR,EAAOotC,MAAMoyE,MAAO,eAAgB,SAcjE4F,QAAS,SAAU5zG,GAEf,OAAOhT,KAAK6mG,QAAQ7zF,EAAKxR,EAAOotC,MAAMpiB,KAAM,UAAW,SAkB3Dq6F,eAAgB,SAAU7zG,EAAKymC,EAAQqtE,GAEnC,IAAI1yG,EAAOpU,KAAK6mG,QAAQ7zF,EAAKxR,EAAOotC,MAAMqyE,QAAS,iBAAkB,QAErE,GAAa,OAAT7sG,QAA4B7N,IAAXkzC,GAAmC,OAAXA,EAEzC,OAAOrlC,EAGX,GAAIA,EAAKqlC,GACT,CACI,IAAIstE,EAAW3yG,EAAKqlC,GAGpB,IAAIstE,IAAYD,EAmBZ,OAAOC,EAjBP,IAAK,IAAIC,KAAWD,EAMhB,IAHAC,EAAUD,EAASC,IAGPF,aAAeA,EAEvB,OAAOE,EAKf1mH,QAAQ+Z,KAAK,kEAAoEysG,EAAa,OAAS9zG,EAAM,UASjH1S,QAAQ+Z,KAAK,qDAAuDrH,EAAM,MAAQymC,EAAS,KAG/F,OAAO,MAcXwtE,eAAgB,SAAUj0G,GAEtB,OAAOhT,KAAK6mG,QAAQ7zF,EAAKxR,EAAOotC,MAAM/hB,QAAS,mBAcnDq6F,UAAW,SAAUl0G,GAEjB,OAAOhT,KAAK6mG,QAAQ7zF,EAAKxR,EAAOotC,MAAMsyE,OAAQ,cAclDiG,cAAe,SAAUn0G,GAErB,OAAOhT,KAAK6mG,QAAQ7zF,EAAKxR,EAAOotC,MAAM3hB,WAAY,gBAAiB,SAcvEgqE,cAAe,SAAUjkF,GAErB,OAAOhT,KAAK6mG,QAAQ7zF,EAAKxR,EAAOotC,MAAMuyE,WAAY,kBAkBtDkD,QAAS,SAAUrxG,EAAKohB,GAEpB,IAAIhgB,EAAOpU,KAAK6mG,QAAQ7zF,EAAKxR,EAAOotC,MAAMwyE,KAAM,UAAW,QAE3D,OAAIhtG,EAEIggB,EAEO5yB,EAAOkwB,MAAMsC,QAAO,EAAMvsB,MAAMC,QAAQ0M,SAAiBA,GAIzDA,EAKJ,MAefkwG,OAAQ,SAAUtxG,GAEd,OAAOhT,KAAK6mG,QAAQ7zF,EAAKxR,EAAOotC,MAAMyyE,IAAK,SAAU,SAczD+F,SAAU,SAAUp0G,GAEhB,OAAOhT,KAAK6mG,QAAQ7zF,EAAKxR,EAAOotC,MAAM5gB,MAAO,aAcjDq5F,UAAW,SAAUr0G,GAEjB,OAAOhT,KAAK6mG,QAAQ7zF,EAAKxR,EAAOotC,MAAM0yE,OAAQ,YAAa,SAc/DgG,iBAAkB,SAAUt0G,GAExB,OAAOhT,KAAK6mG,QAAQ7zF,EAAKxR,EAAOotC,MAAM2yE,eAAgB,qBAU1DgG,QAAS,SAAUv0G,GAEf,OAAOhT,KAAK6mG,QAAQ7zF,EAAKxR,EAAOotC,MAAM4yE,KAAM,YAiBhD2C,eAAgB,SAAUnxG,EAAKgH,GAI3B,YAFczT,IAAVyT,IAAuBA,EAAQxY,EAAOotC,MAAMtiB,OAEzCtsB,KAAK6mG,QAAQ7zF,EAAKgH,EAAO,iBAAkB,SAWtDiiG,SAAU,SAAUjpG,EAAKgH,GAIrB,YAFczT,IAAVyT,IAAuBA,EAAQxY,EAAOotC,MAAMtiB,OAEzCtsB,KAAK6mG,QAAQ7zF,EAAKgH,EAAO,WAAY,UAWhDwtG,cAAe,SAAUx0G,EAAKgH,GAE1B,IAAI5F,EAAOpU,KAAK8xE,aAAa9+D,EAAKgH,GAElC,OAAI5F,EAEOA,EAAK4kC,MAIL,GAgBf84B,aAAc,SAAU9+D,EAAKgH,GAIzB,YAFczT,IAAVyT,IAAuBA,EAAQxY,EAAOotC,MAAMtiB,OAEzCtsB,KAAK6mG,QAAQ7zF,EAAKgH,EAAO,eAAgB,cAWpD43D,aAAc,SAAU5+D,EAAKgH,GAIzB,YAFczT,IAAVyT,IAAuBA,EAAQxY,EAAOotC,MAAMtiB,OAEM,OAA9CtsB,KAAK6mG,QAAQ7zF,EAAKgH,EAAO,GAAI,cAWzCq/E,gBAAiB,SAAUrmF,EAAK++D,EAAW/3D,QAEzBzT,IAAVyT,IAAuBA,EAAQxY,EAAOotC,MAAMtiB,OAE5CtsB,KAAK8gH,UAAU9mG,GAAOhH,KAEtBhT,KAAK8gH,UAAU9mG,GAAOhH,GAAK++D,UAAYA,IAa/C01C,gBAAiB,SAAUz0G,EAAKpK,EAAOoR,GAEnC,IAAI5F,EAAOpU,KAAK8xE,aAAa9+D,EAAKgH,GAElC,OAAI5F,EAEOA,EAAK6nG,SAASrzG,GAId,MAafszG,eAAgB,SAAUlpG,EAAKkf,EAAMlY,GAEjC,IAAI5F,EAAOpU,KAAK8xE,aAAa9+D,EAAKgH,GAElC,OAAI5F,EAEOA,EAAK8nG,eAAehqF,GAIpB,MAafw1F,OAAQ,SAAUpxC,GAId,OAFIA,EAAMt2E,KAAKuiH,YAAYjsC,IAIhBt2E,KAAK0gH,QAAQpqC,IAIpBh2E,QAAQ+Z,KAAK,sCAAwCi8D,EAAM,uCACpD,OAWfqxC,QAAS,SAAU3tG,QAEDzT,IAAVyT,IAAuBA,EAAQxY,EAAOotC,MAAMtiB,OAEhD,IAAI6I,KAEJ,GAAIn1B,KAAK8gH,UAAU9mG,GAEf,IAAK,IAAIhH,KAAOhT,KAAK8gH,UAAU9mG,GAEf,cAARhH,GAA+B,cAARA,GAEvBmiB,EAAIrtB,KAAKkL,GAKrB,OAAOmiB,GAkBXyyF,aAAc,SAAU50G,UAEbhT,KAAKia,OAAO/C,OAAOlE,IAe9BovG,YAAa,SAAUpvG,EAAK60G,QAEGthH,IAAvBshH,IAAoCA,GAAqB,GAE7D,IAAI31C,EAAMlyE,KAAKmyE,SAASn/D,GAAK,GAEzB60G,GAAsB31C,EAAI93D,MAE1B83D,EAAI93D,KAAK5X,iBAGNxC,KAAKia,OAAOC,MAAMlH,IAgB7B80G,YAAa,SAAU90G,UAEZhT,KAAKia,OAAO2sB,MAAM5zB,IAY7B+0G,WAAY,SAAU/0G,UAEXhT,KAAKia,OAAOu6D,KAAKxhE,IAY5Bg1G,cAAe,SAAUh1G,UAEdhT,KAAKia,OAAO+sB,QAAQh0B,IAY/Bi1G,cAAe,SAAUj1G,UAEdhT,KAAKia,OAAO87D,QAAQ/iE,IAY/Bk1G,aAAc,SAAUl1G,UAEbhT,KAAKia,OAAOsmG,OAAOvtG,IAY9Bm1G,iBAAkB,SAAUn1G,UAEjBhT,KAAKia,OAAOs8D,WAAWvjE,IAYlCo1G,iBAAkB,SAAUp1G,UAEjBhT,KAAKia,OAAOumG,WAAWxtG,IAYlCq1G,WAAY,SAAUr1G,UAEXhT,KAAKia,OAAOqlG,KAAKtsG,IAY5Bs1G,UAAW,SAAUt1G,UAEVhT,KAAKia,OAAOimG,IAAIltG,IAY3Bu1G,YAAa,SAAUv1G,UAEZhT,KAAKia,OAAOo8D,MAAMrjE,IAY7Bw1G,aAAc,SAAUx1G,UAEbhT,KAAKia,OAAOhN,OAAO+F,IAY9By1G,oBAAqB,SAAUz1G,UAEpBhT,KAAKia,OAAOjV,cAAcgO,IAYrC01G,kBAAmB,SAAU11G,UAElBhT,KAAKia,OAAOykG,YAAY1rG,IAYnC21G,mBAAoB,SAAU31G,UAEnBhT,KAAKia,OAAOC,MAAMlH,IAG7B41G,WAAY,SAAU51G,UAEXhT,KAAKia,OAAO7F,KAAKpB,IAU5B0sC,gBAAiB,WAEb,IAAK,IAAI1sC,KAAOhT,KAAKia,OAAOC,MAExBla,KAAKia,OAAOC,MAAMlH,GAAKoH,KAAKnG,gBAcpCsuG,YAAa,SAAUjsC,EAAKliE,GAExB,OAAKpU,KAAKsgH,gBAKVtgH,KAAK2gH,aAAa9wG,IAAM7P,KAAK+C,KAAK4jC,KAAKkiF,QAAUvyC,EAEjDt2E,KAAK4gH,SAAW5gH,KAAK2gH,aAAa9wG,IAGlC7P,KAAK2gH,aAAa9wG,IAAM,GAGpBuE,IAEApU,KAAK0gH,QAAQ1gH,KAAK4gH,UAAYxsG,GAG3BpU,KAAK4gH,UAhBD,MA2Bfp+G,QAAS,WAEL,IAAK,IAAIE,EAAI,EAAGA,EAAI1C,KAAK8gH,UAAUn+G,OAAQD,IAC3C,CACI,IAAIsX,EAAQha,KAAK8gH,UAAUp+G,GAE3B,IAAK,IAAIsQ,KAAOgH,EAEA,cAARhH,GAA+B,cAARA,IAEvBhT,KAAK8oH,YAAY9uG,EAAMhH,WAEhBgH,EAAMhH,IAKzBhT,KAAK0gH,QAAU,KACf1gH,KAAK2gH,aAAe,KACpB3gH,KAAK4gH,SAAW,MAQpBkI,YAAa,SAAUxhH,GAEfA,EAAK9E,QAEL8E,EAAK9E,WAID8E,EAAK8S,MAAQ9S,EAAK8S,KAAK5X,SAEvB8E,EAAK8S,KAAK5X,UAGV8E,EAAK8M,MAAQ9M,EAAK8M,KAAK5R,SAEvB8E,EAAK8M,KAAK5R,UAGV8E,EAAKyqE,WAAazqE,EAAKyqE,UAAUvvE,SAEjC8E,EAAKyqE,UAAUvvE,UAGf8E,EAAKvJ,SAAWuJ,EAAKvJ,QAAQyE,SAE7B8E,EAAKvJ,QAAQyE,SAAQ,KAUjCk/G,WAAY,WAER1hH,KAAKyhH,cAAgB,EAErBzhH,KAAK4iH,kBACL5iH,KAAK6iH,kBAEL,IAAIxnF,EAAOr7B,KACP+oH,EAAevnH,EAAOotC,MAAMozE,cAE5BxgH,EAAOotC,MAAMozE,cAAgB,EAE7Bje,WAAW,WAEF1oE,EAAKmjB,UAENl+C,QAAQ+Z,KAAK,sDAAuD0uG,GAEpE1tF,EAAK2tF,WAEVxnH,EAAOotC,MAAMozE,eAIhBhiH,KAAKgpH,UASbrG,YAAa,WAET3iH,KAAKyhH,eAAiB,GAQ1BiB,eAAgB,WAEZ1iH,KAAKyhH,eAAiB,EACtBzhH,KAAKipH,eAQTA,YAAa,WAELjpH,KAAKw+C,SAELx+C,KAAKgpH,UASbA,OAAQ,WAEJhpH,KAAKyhH,cAAgB,EACrBzhH,KAAKy+C,QAAQ9Y,SAAS3lC,QAK9BwB,EAAOotC,MAAMtsC,UAAUC,YAAcf,EAAOotC,MAO5C5nC,OAAOyF,eAAejL,EAAOotC,MAAMtsC,UAAW,WAC1C4E,IAAK,WAED,OAAOlH,KAAKyhH,eAAiB,KAwBrCjgH,EAAOi8C,OAAS,SAAU16C,GAOtB/C,KAAK+C,KAAOA,EAOZ/C,KAAKga,MAAQjX,EAAKiX,MAOlBha,KAAKmjD,aAAc,EAOnBnjD,KAAKkpH,WAAY,EAOjBlpH,KAAKmN,WAAY,EAUjBnN,KAAKmpH,cAAgB,KAOrBnpH,KAAKopH,aAAc,EASnBppH,KAAK6oH,QAAU,GAsBf7oH,KAAKkvF,KAAO,GAuBZlvF,KAAKqpH,SACDC,eAAe,EACfhK,KAAM,mBACNY,IAAK,mBASTlgH,KAAKupH,YAAc,IAAI/nH,EAAO+gC,OAQ9BviC,KAAKwpH,qBAAuB,IAAIhoH,EAAO+gC,OAQvCviC,KAAKypH,eAAiB,IAAIjoH,EAAO+gC,OAWjCviC,KAAK0pH,eAAiB,IAAIloH,EAAO+gC,OAUjCviC,KAAK2pH,YAAc,IAAInoH,EAAO+gC,OAa9BviC,KAAK4pH,eAAiB,IAAIpoH,EAAO+gC,OAWjCviC,KAAK6pH,YAAc,IAAIroH,EAAO+gC,OAS9BviC,KAAK8pH,gBAAiB,EAWtB9pH,KAAK+pH,qBAAuB,EAM5B/pH,KAAKgqH,oBAAsB,EAU3BhqH,KAAKiqH,aAcLjqH,KAAKkqH,gBAQLlqH,KAAKmqH,gBAAkB,EASvBnqH,KAAKoqH,kBAAmB,EAOxBpqH,KAAKqqH,gBAAkB,EAOvBrqH,KAAKsqH,gBAAkB,EAOvBtqH,KAAKuqH,iBAAmB,EAOxBvqH,KAAKwqH,iBAAmB,GAO5BhpH,EAAOi8C,OAAOgtE,yBAA2B,EAMzCjpH,EAAOi8C,OAAOitE,wBAA0B,EAMxClpH,EAAOi8C,OAAOqnE,2BAA6B,EAM3CtjH,EAAOi8C,OAAOktE,yBAA2B,EAMzCnpH,EAAOi8C,OAAOmtE,oBAAsB,EAMpCppH,EAAOi8C,OAAOsnE,yBAA2B,EAQzCvjH,EAAOi8C,OAAOotE,YACVC,KAAM,aACNC,IAAK,YACL/+E,IAAK,eACLg/E,IAAK,YACLC,IAAK,eACLC,IAAK,aACLC,KAAM,aACNC,IAAK,YACLC,IAAK,gBACLC,IAAK,aACLC,KAAM,aACNC,KAAM,cAWVhqH,EAAOi8C,OAAOguE,aAAe,SAAUn1C,GAEnC,IAAI2yB,EAAU3yB,EAAIxL,MAAM,YAExB,OAAKm+B,EAEEznG,EAAOi8C,OAAOotE,WAAW5hB,EAAQ,KAAO,KAFxB,MAc3BznG,EAAOi8C,OAAOiuE,WAAa,SAAUt8G,GAEjC,MAAsB,iBAAXA,GAEEknE,IAAKlnE,EAAQoE,KAAMhS,EAAOi8C,OAAOguE,aAAar8G,IAGpDA,GAGX5N,EAAOi8C,OAAOn7C,WAcVqpH,iBAAkB,SAAUpoG,EAAQshB,GAEhCA,EAAYA,GAAa,EAEzB7kC,KAAKmpH,eAAkB5lG,OAAQA,EAAQshB,UAAWA,EAAWjnC,MAAO2lB,EAAO3lB,MAAOC,OAAQ0lB,EAAO1lB,OAAQi9B,KAAM,MAK3G96B,KAAKmpH,cAAcruF,KAHL,IAAd+J,EAG0B,IAAIrjC,EAAOS,UAAU,EAAG,EAAG,EAAGshB,EAAO1lB,QAKrC,IAAI2D,EAAOS,UAAU,EAAG,EAAGshB,EAAO3lB,MAAO,GAGvE2lB,EAAO3V,KAAK5N,KAAKmpH,cAAcruF,MAE/BvX,EAAOriB,SAAU,GAWrBiF,OAAQ,WAEAnG,KAAKmpH,eAAiBnpH,KAAKmpH,cAActrH,SAAWmC,KAAKmpH,cAAc5lG,OAAO1lB,SAE9EmC,KAAKmpH,cAAcruF,KAAKj9B,OAASmC,KAAKmpH,cAAc5lG,OAAO1lB,SAcnE+tH,eAAgB,SAAUp4G,EAAMR,GAE5B,OAAOhT,KAAK6rH,cAAcr4G,EAAMR,IAAQ,GAc5C64G,cAAe,SAAUr4G,EAAMR,GAI3B,IAAK,IAFD84G,GAAa,EAERppH,EAAI,EAAGA,EAAI1C,KAAKiqH,UAAUtnH,OAAQD,IAC3C,CACI,IAAI69F,EAAOvgG,KAAKiqH,UAAUvnH,GAE1B,GAAI69F,EAAK/sF,OAASA,GAAQ+sF,EAAKvtF,MAAQA,IAEnC84G,EAAYppH,GAGP69F,EAAKwrB,SAAWxrB,EAAKyrB,SAEtB,MAKZ,OAAOF,GAcXG,SAAU,SAAUz4G,EAAMR,GAEtB,IAAIk5G,EAAYlsH,KAAK6rH,cAAcr4G,EAAMR,GAEzC,OAAIk5G,GAAa,IAEJtjH,MAAOsjH,EAAW3rB,KAAMvgG,KAAKiqH,UAAUiC,KAkBxD5lF,MAAO,SAAUof,EAAMk1D,QAECr0G,IAAhBq0G,IAA6BA,GAAc,GAE3C56G,KAAKmjD,cAKLuC,IAEA1lD,KAAKmpH,cAAgB,MAGzBnpH,KAAKkpH,WAAY,EAEjBlpH,KAAKmqH,gBAAkB,EACvBnqH,KAAKiqH,UAAUtnH,OAAS,EACxB3C,KAAKkqH,aAAavnH,OAAS,EAE3B3C,KAAKoqH,kBAAmB,EACxBpqH,KAAKsqH,gBAAkB,EACvBtqH,KAAKqqH,gBAAkB,EACvBrqH,KAAKuqH,iBAAmB,EACxBvqH,KAAKwqH,iBAAmB,EAEpB5P,IAEA56G,KAAKupH,YAAYp/E,YACjBnqC,KAAKypH,eAAet/E,YACpBnqC,KAAK0pH,eAAev/E,YACpBnqC,KAAK2pH,YAAYx/E,YACjBnqC,KAAK4pH,eAAez/E,YACpBnqC,KAAK6pH,YAAY1/E,eAiBzBgiF,cAAe,SAAU34G,EAAMR,EAAKsjE,EAAKyf,EAAYq2B,EAAWlK,GAI5D,QAFkB37G,IAAd6lH,IAA2BA,GAAY,QAE/B7lH,IAARyM,GAA6B,KAARA,EAGrB,OADA1S,QAAQ+Z,KAAK,kDAAoD7G,GAC1DxT,KAGX,QAAYuG,IAAR+vE,GAA6B,OAARA,EACzB,CACI,IAAI4rC,EAOA,OADA5hH,QAAQ+Z,KAAK,8CAAgD7G,EAAO,SAAWR,GACxEhT,KALPs2E,EAAMtjE,EAAMkvG,EASpB,IAAI3hB,GACA/sF,KAAMA,EACNR,IAAKA,EACLk8E,KAAMlvF,KAAKkvF,KACX5Y,IAAKA,EACL+1C,UAAWrsH,KAAKgqH,oBAAsB,EACtC51G,KAAM,KACN43G,SAAS,EACTD,QAAQ,EACRxrH,OAAO,GAGX,GAAIw1F,EAEA,IAAK,IAAI3lB,KAAQ2lB,EAEbwK,EAAKnwB,GAAQ2lB,EAAW3lB,GAIhC,IAAI87C,EAAYlsH,KAAK6rH,cAAcr4G,EAAMR,GAEzC,GAAIo5G,GAAaF,GAAa,EAC9B,CACI,IAAII,EAActsH,KAAKiqH,UAAUiC,GAE5BI,EAAYN,SAAYM,EAAYP,QAMrC/rH,KAAKiqH,UAAUniH,KAAKy4F,GACpBvgG,KAAKsqH,mBALLtqH,KAAKiqH,UAAUiC,GAAa3rB,OAQZ,IAAf2rB,IAELlsH,KAAKiqH,UAAUniH,KAAKy4F,GACpBvgG,KAAKsqH,mBAGT,OAAOtqH,MAaXusH,kBAAmB,SAAU/4G,EAAMR,EAAKsjE,EAAKyf,GAEzC,OAAO/1F,KAAKmsH,cAAc34G,EAAMR,EAAKsjE,EAAKyf,GAAY,IAyB1Dy2B,KAAM,SAAUx5G,EAAKsjE,EAAKliE,EAAMo1B,GAM5B,QAJYjjC,IAAR+vE,IAAqBA,EAAM,WAClB/vE,IAAT6N,IAAsBA,EAAO,WACT7N,IAApBijC,IAAiCA,EAAkB,OAElD8sC,IAAQliE,EAIT,OAFA9T,QAAQ+Z,KAAK,qEAENra,KAGX,IAAIwsH,GACAh5G,KAAM,WACNR,IAAKA,EACLsjE,IAAKA,EACL4Y,KAAMlvF,KAAKkvF,KACXm9B,WAAW,EACXj4G,KAAM,KACN43G,SAAS,EACTD,QAAQ,EACRxrH,OAAO,EACPipC,gBAAiBA,GAIjBp1B,IAEoB,iBAATA,IAEPA,EAAOgtG,KAAK1iF,MAAMtqB,IAGtBo4G,EAAKp4G,KAAOA,MAGZo4G,EAAKT,QAAS,GAOlB,IAAK,IAAIrpH,EAAI,EAAGA,EAAI1C,KAAKiqH,UAAUtnH,OAAS,EAAGD,IAC/C,CACI,IAAI69F,EAAOvgG,KAAKiqH,UAAUvnH,GAE1B,IAAK69F,IAAUA,EAAKwrB,SAAWxrB,EAAKyrB,SAAyB,aAAdzrB,EAAK/sF,KACpD,CACIxT,KAAKiqH,UAAUnhH,OAAOpG,EAAG,EAAG8pH,GAC5BxsH,KAAKqqH,kBACL,OAIR,OAAOrqH,MA6EXka,MAAO,SAAUlH,EAAKsjE,EAAK81C,GAEvB,OAAI3kH,MAAMC,QAAQ4uE,GAEPt2E,KAAKysH,SAASz5G,EAAKsjE,EAAK81C,GAEhB,iBAAR91C,EAEAt2E,KAAKjC,QAAQiV,EAAKsjE,EAAK81C,GAIvBpsH,KAAKmsH,cAAc,QAASn5G,EAAKsjE,OAAK/vE,EAAW6lH,EAAW,SAiB3EK,SAAU,SAAUz5G,EAAK05G,EAASN,GAE9B,IAAIO,EAAgBD,EAAQA,EAAQ/pH,OAAS,GACzC2zE,EAAgC,iBAAlBq2C,EAA8BA,EAAgBA,EAAcr2C,IAE9E,OAAOt2E,KAAKmsH,cAAc,WAAYn5G,EAAKsjE,GAAOo2C,QAASA,GAAWN,IAY1EQ,oBAAqB,SAAU55G,EAAKujE,EAAY61C,GAE5C,OAAOpsH,KAAKka,MAAMlH,EAAKujE,EAAWr/D,OAAOykE,UAAU,aAAcywC,IASrES,cAAe,SAAU75G,EAAKpV,EAAOC,EAAQu3C,EAAWC,EAAYh/B,GAEhE,OAAOrW,KAAK4sH,oBAAoB55G,EAAKhT,KAAK+C,KAAKyF,OAAO2vD,KAAKnlD,EAAKpV,EAAOC,EAAQu3C,EAAWC,EAAYh/B,GAAO,KASjHy2G,iBAAkB,SAAU95G,EAAKoB,EAAM24G,EAAYC,EAAaC,GAE5D,OAAOjtH,KAAK4sH,oBAAoB55G,EAAKhT,KAAK+C,KAAKyF,OAAOzK,QAAQiV,EAAKoB,EAAM24G,EAAYC,EAAaC,GAAS,KA+C/GlvH,QAAS,SAAUiV,EAAKymC,EAAQ2yE,GAE5B,GAAIpsH,KAAK+C,KAAK4nC,aAAenpC,EAAOmV,MACpC,CACI,IACIu2G,EADA/zG,EAAcnZ,KAAK+C,KAAK8B,SAAS6R,WAAWyC,YAGhD,IAAK+zG,KAASzzE,EAEV,GAAIyzE,EAAMzxB,gBAAiBtiF,EAEvB,OAAOnZ,KAAKmsH,cAAc,UAAWn5G,EAAKymC,EAAOyzE,QAAQ3mH,EAAW6lH,EAAW,QAe3F,OALI3yE,EAAO0zE,WAEPntH,KAAKmsH,cAAc,QAASn5G,EAAKymC,EAAO0zE,eAAW5mH,EAAW6lH,EAAW,QAGtEpsH,MA2BXotH,OAAQ,SAAUx7F,EAAMy7F,GAEpB,GAAI5lH,MAAMC,QAAQ2lH,GAEd,IAAS3qH,EAAI,EAAGA,EAAIkvB,EAAKjvB,OAAQD,IAE7B1C,KAAKka,MAAM0X,EAAKlvB,GAAI2qH,EAAK3qH,SAK7B,IAAK,IAAIA,EAAI,EAAGA,EAAIkvB,EAAKjvB,OAAQD,IAE7B1C,KAAKka,MAAM0X,EAAKlvB,IAIxB,OAAO1C,MAwBXw0E,KAAM,SAAUxhE,EAAKsjE,EAAK81C,GAEtB,OAAOpsH,KAAKmsH,cAAc,OAAQn5G,EAAKsjE,OAAK/vE,EAAW6lH,EAAW,SAyBtE9M,KAAM,SAAUtsG,EAAKsjE,EAAK81C,GAEtB,OAAOpsH,KAAKmsH,cAAc,OAAQn5G,EAAKsjE,OAAK/vE,EAAW6lH,EAAW,UAwBtEn/G,OAAQ,SAAU+F,EAAKsjE,EAAK81C,GAExB,OAAOpsH,KAAKmsH,cAAc,SAAUn5G,EAAKsjE,OAAK/vE,EAAW6lH,EAAW,UAwBxElM,IAAK,SAAUltG,EAAKsjE,EAAK81C,GAErB,OAAOpsH,KAAKmsH,cAAc,MAAOn5G,EAAKsjE,OAAK/vE,EAAW6lH,EAAW,SA4BrEkB,OAAQ,SAAUt6G,EAAKsjE,EAAKthC,EAAUxL,GAMlC,YAJiBjjC,IAAbyuC,IAA0BA,GAAW,IAExB,IAAbA,QAA0CzuC,IAApBijC,IAAiCA,EAAkBxpC,MAEtEA,KAAKmsH,cAAc,SAAUn5G,EAAKsjE,GAAO+1C,WAAW,EAAMr3E,SAAUA,EAAUxL,gBAAiBA,IAAmB,EAAO,QA8BpI+2E,OAAQ,SAAUvtG,EAAKsjE,EAAKthC,EAAUxL,GAOlC,YALiBjjC,IAAbyuC,IAA0BA,GAAW,IAGxB,IAAbA,QAA0CzuC,IAApBijC,IAAiCA,EAAkBwL,GAEtEh1C,KAAKmsH,cAAc,SAAUn5G,EAAKsjE,GAAOthC,SAAUA,EAAUxL,gBAAiBA,IAAmB,EAAO,SA0DnH+jF,YAAa,SAAUv6G,EAAKsjE,EAAKkoB,EAAYC,EAAakgB,EAAUC,EAAQC,EAASC,GAOjF,YALiBv4G,IAAbo4G,IAA0BA,GAAY,QAC3Bp4G,IAAXq4G,IAAwBA,EAAS,QACrBr4G,IAAZs4G,IAAyBA,EAAU,QACpBt4G,IAAfu4G,IAA4BA,EAAa,GAEtC9+G,KAAKmsH,cAAc,cAAen5G,EAAKsjE,GAAOkoB,WAAYA,EAAYC,YAAaA,EAAakgB,SAAUA,EAAUC,OAAQA,EAAQC,QAASA,EAASC,WAAYA,IAAc,EAAO,SA4BlM5qC,MAAO,SAAUlhE,EAAKq6G,EAAMG,GAExB,OAAIxtH,KAAK+C,KAAK6jC,MAAM6mF,QAETztH,WAGQuG,IAAfinH,IAA4BA,GAAa,GAEzB,iBAATH,IAEPA,GAASA,IAGNrtH,KAAKmsH,cAAc,QAASn5G,EAAKq6G,GAAQlyG,OAAQ,KAAMqyG,WAAYA,MA2B9Er5C,YAAa,SAAUnhE,EAAKq6G,EAAMK,EAASC,EAAUH,GAEjD,OAAIxtH,KAAK+C,KAAK6jC,MAAM6mF,QAETztH,WAGKuG,IAAZmnH,IAAyBA,EAAU,WACtBnnH,IAAbonH,IAA0BA,EAAW,WACtBpnH,IAAfinH,IAA4BA,GAAa,GAE7CxtH,KAAKk0E,MAAMlhE,EAAKq6G,EAAMG,GAElBE,EAEA1tH,KAAKs/G,KAAKtsG,EAAM,cAAe06G,GAE1BC,GAEmB,iBAAbA,IAEPA,EAAWvM,KAAK1iF,MAAMivF,IAG1B3tH,KAAKga,MAAMuqG,QAAQvxG,EAAM,cAAe,GAAI26G,IAI5CrtH,QAAQ+Z,KAAK,8FAGVra,OAeX4tH,YAAa,SAAU56G,EAAKq6G,EAAMK,EAASC,EAAUH,GAEjD,OAAOxtH,KAAKm0E,YAAYnhE,EAAKq6G,EAAMK,EAASC,EAAUH,IAgC1Dn3C,MAAO,SAAUrjE,EAAKq6G,EAAMQ,EAAWC,GAqBnC,YAnBkBvnH,IAAdsnH,IAIIA,EAFA7tH,KAAK+C,KAAKonB,OAAOi3E,QAEL,aAIA,uBAIL76F,IAAXunH,IAAwBA,GAAS,GAEjB,iBAATT,IAEPA,GAASA,IAGNrtH,KAAKmsH,cAAc,QAASn5G,EAAKq6G,GAAQlyG,OAAQ,KAAM2yG,OAAQA,EAAQD,UAAWA,KAoC7F93C,QAAS,SAAU/iE,EAAKsjE,EAAKliE,EAAMK,GAmB/B,QAjBYlO,IAAR+vE,IAAqBA,EAAM,WAClB/vE,IAAT6N,IAAsBA,EAAO,WAClB7N,IAAXkO,IAAwBA,EAASjT,EAAOwwE,QAAQ+7C,KAE/Cz3C,GAAQliE,IAILkiE,EAFA7hE,IAAWjT,EAAOwwE,QAAQ+7C,IAEpB/6G,EAAM,OAINA,EAAM,SAKhBoB,EACJ,CACI,OAAQK,GAEJ,KAAKjT,EAAOwwE,QAAQ+7C,IAEhB,MAEJ,KAAKvsH,EAAOwwE,QAAQg8C,WAGI,iBAAT55G,IAEPA,EAAOgtG,KAAK1iF,MAAMtqB,IAK9BpU,KAAKga,MAAMqpG,WAAWrwG,EAAK,KAAMoB,EAAMK,QAIvCzU,KAAKmsH,cAAc,UAAWn5G,EAAKsjE,GAAO7hE,OAAQA,IAGtD,OAAOzU,MAcXiuH,WAAY,SAAUj7G,EAAKsjE,EAAKliE,GAE5B,OAAOpU,KAAK+1E,QAAQ/iE,EAAKsjE,EAAKliE,EAAM5S,EAAOwwE,QAAQ+7C,MAcvDG,iBAAkB,SAAUl7G,EAAKsjE,EAAKliE,GAElC,OAAOpU,KAAK+1E,QAAQ/iE,EAAKsjE,EAAKliE,EAAM5S,EAAOwwE,QAAQg8C,aAkCvDhnF,QAAS,SAAUh0B,EAAKsjE,EAAKliE,EAAMK,GA0B/B,YAxBYlO,IAAR+vE,IAAqBA,EAAM,WAClB/vE,IAAT6N,IAAsBA,EAAO,WAClB7N,IAAXkO,IAAwBA,EAASjT,EAAOkxC,QAAQy7E,kBAE/C73C,GAAQliE,IAETkiE,EAAMtjE,EAAM,SAIZoB,GAEoB,iBAATA,IAEPA,EAAOgtG,KAAK1iF,MAAMtqB,IAGtBpU,KAAKga,MAAMopG,eAAepwG,EAAK,KAAMoB,EAAMK,IAI3CzU,KAAKmsH,cAAc,UAAWn5G,EAAKsjE,GAAO7hE,OAAQA,IAG/CzU,MAyCXwgH,WAAY,SAAUxtG,EAAKo7G,EAAYC,EAAU3K,EAAWjuC,EAAUC,GAmBlE,QAjBmBnvE,IAAf6nH,GAA2C,OAAfA,IAE5BA,EAAap7G,EAAM,aAGNzM,IAAb8nH,IAA0BA,EAAW,WACvB9nH,IAAdm9G,IAA2BA,EAAY,MAE1B,OAAb2K,GAAmC,OAAd3K,IAErB2K,EAAWr7G,EAAM,aAGJzM,IAAbkvE,IAA0BA,EAAW,QACxBlvE,IAAbmvE,IAA0BA,EAAW,GAGrC24C,EAEAruH,KAAKmsH,cAAc,aAAcn5G,EAAKo7G,GAAcC,SAAUA,EAAU54C,SAAUA,EAAUC,SAAUA,SAKtG,GAAyB,iBAAdguC,EACX,CACI,IAAIpE,EAAMY,EAEV,IAEIZ,EAAO8B,KAAK1iF,MAAMglF,GAEtB,MAAO/0G,GAEHuxG,EAAMlgH,KAAKsuH,SAAS5K,GAGxB,IAAKxD,IAAQZ,EAET,MAAM,IAAIv2G,MAAM,kDAGpB/I,KAAKmsH,cAAc,aAAcn5G,EAAKo7G,GAClCC,SAAU,KAAM3K,UAAWpE,GAAQY,EACnCyD,UAAYrE,EAAO,OAAS,MAAQ7pC,SAAUA,EAAUC,SAAUA,IAK9E,OAAO11E,MA2CXuuH,eAAgB,SAAUv7G,EAAKo7G,EAAYC,EAAU3K,GAEjD,OAAO1jH,KAAKwuH,MAAMx7G,EAAKo7G,EAAYC,EAAU3K,EAAWliH,EAAOi8C,OAAOgtE,2BA2C1EgE,cAAe,SAAUz7G,EAAKo7G,EAAYC,EAAU3K,GAEhD,OAAO1jH,KAAKwuH,MAAMx7G,EAAKo7G,EAAYC,EAAU3K,EAAWliH,EAAOi8C,OAAOitE,0BA2C1EgE,SAAU,SAAU17G,EAAKo7G,EAAYC,EAAU3K,GAU3C,YARiBn9G,IAAb8nH,IAA0BA,EAAW,WACvB9nH,IAAdm9G,IAA2BA,EAAY,MAEtC2K,GAAa3K,IAEd2K,EAAWr7G,EAAM,QAGdhT,KAAKwuH,MAAMx7G,EAAKo7G,EAAYC,EAAU3K,EAAWliH,EAAOi8C,OAAOqnE,6BA0C1E0J,MAAO,SAAUx7G,EAAKo7G,EAAYC,EAAU3K,EAAWjvG,GAwBnD,QAtBmBlO,IAAf6nH,GAA2C,OAAfA,IAE5BA,EAAap7G,EAAM,aAGNzM,IAAb8nH,IAA0BA,EAAW,WACvB9nH,IAAdm9G,IAA2BA,EAAY,WAC5Bn9G,IAAXkO,IAAwBA,EAASjT,EAAOi8C,OAAOgtE,0BAE9C4D,GAAa3K,IAIV2K,EAFA55G,IAAWjT,EAAOi8C,OAAOqnE,2BAEd9xG,EAAM,OAINA,EAAM,SAKrBq7G,EAEAruH,KAAKmsH,cAAc,eAAgBn5G,EAAKo7G,GAAcC,SAAUA,EAAU55G,OAAQA,QAGtF,CACI,OAAQA,GAEJ,KAAKjT,EAAOi8C,OAAOgtE,yBAGU,iBAAd/G,IAEPA,EAAYtC,KAAK1iF,MAAMglF,IAE3B,MAEJ,KAAKliH,EAAOi8C,OAAOqnE,2BAGf,GAAyB,iBAAdpB,EACX,CACI,IAAIxD,EAAMlgH,KAAKsuH,SAAS5K,GAExB,IAAKxD,EAED,MAAM,IAAIn3G,MAAM,kDAGpB26G,EAAYxD,GAKxBlgH,KAAKmsH,cAAc,eAAgBn5G,EAAKo7G,GAAcC,SAAU,KAAM3K,UAAWA,EAAWjvG,OAAQA,IAGxG,OAAOzU,MAgBX2uH,cAAe,SAAU35E,EAAUxL,GAE/BxpC,KAAKgqH,sBAEL,IAEIh1E,EAASxwC,KAAKglC,GAAmBxpC,KAAMA,MAE3C,QAEIA,KAAKgqH,sBAGT,OAAOhqH,MAcX4uH,aAAc,SAAUp7G,EAAMR,GAE1B,IAAI67G,EAAQ7uH,KAAKisH,SAASz4G,EAAMR,GAOhC,OALI67G,IAEAA,EAAMtuB,KAAK8rB,WAAY,GAGpBrsH,MAaX8uH,WAAY,SAAUt7G,EAAMR,GAExB,IAAI67G,EAAQ7uH,KAAKisH,SAASz4G,EAAMR,GAE5B67G,IAEKA,EAAM9C,QAAW8C,EAAM7C,SAExBhsH,KAAKiqH,UAAUnhH,OAAO+lH,EAAMjmH,MAAO,KAW/CuhC,UAAW,WAEPnqC,KAAKiqH,UAAUtnH,OAAS,EACxB3C,KAAKkqH,aAAavnH,OAAS,GAQ/B2J,MAAO,WAECtM,KAAKkpH,YAKTlpH,KAAKmN,WAAY,EACjBnN,KAAKkpH,WAAY,EAEjBlpH,KAAK+uH,iBAEL/uH,KAAKgvH,qBAgBTA,iBAAkB,WAGd,GAAKhvH,KAAK+C,KAAKwmC,SAAf,CAKA,IAAKvpC,KAAKkpH,UAIN,OAFA5oH,QAAQ+Z,KAAK,wDACbra,KAAKivH,iBAAgB,GAKzB,IAASvsH,EAAI,EAAGA,EAAI1C,KAAKkqH,aAAavnH,OAAQD,MAEtC69F,EAAOvgG,KAAKkqH,aAAaxnH,IAEpBqpH,QAAUxrB,EAAKhgG,SAEpBP,KAAKkqH,aAAaphH,OAAOpG,EAAG,GAC5BA,IAEA69F,EAAKyrB,SAAU,EACfzrB,EAAK2uB,WAAa,KAClB3uB,EAAK4uB,cAAgB,KAEjB5uB,EAAKhgG,OAELP,KAAK6pH,YAAYlkF,SAAS46D,EAAKvtF,IAAKutF,GAGtB,aAAdA,EAAK/sF,MAELxT,KAAKwqH,mBACLxqH,KAAK4pH,eAAejkF,SAAS3lC,KAAKovH,SAAU7uB,EAAKvtF,KAAMutF,EAAKhgG,MAAOP,KAAKwqH,iBAAkBxqH,KAAKsqH,kBAE5E,aAAd/pB,EAAK/sF,MAAuB+sF,EAAKhgG,QAGtCP,KAAKuqH,mBACLvqH,KAAK0pH,eAAe/jF,SAAS46D,EAAKvtF,KAAMutF,EAAKhgG,MAAOP,KAAKuqH,iBAAkBvqH,KAAKqqH,mBAU5F,IAAK,IAJDgF,GAAY,EAEZC,EAAgBtvH,KAAK8pH,eAAiBpmH,KAAKuC,IAAI,EAAGjG,KAAK+pH,sBAAwB,EAE1ErnH,EAAI1C,KAAKmqH,gBAAiBznH,EAAI1C,KAAKiqH,UAAUtnH,OAAQD,IAC9D,CACI,IAAI69F,EAAOvgG,KAAKiqH,UAAUvnH,GA2D1B,GAxDkB,aAAd69F,EAAK/sF,OAAwB+sF,EAAKhgG,OAASggG,EAAKwrB,QAAUrpH,IAAM1C,KAAKmqH,kBAGrEnqH,KAAKuvH,YAAYhvB,GAEjBvgG,KAAKuqH,mBACLvqH,KAAK0pH,eAAe/jF,SAAS46D,EAAKvtF,KAAMutF,EAAKhgG,MAAOP,KAAKuqH,iBAAkBvqH,KAAKqqH,kBAGhF9pB,EAAKwrB,QAAUxrB,EAAKhgG,MAGhBmC,IAAM1C,KAAKmqH,kBAEXnqH,KAAKmqH,gBAAkBznH,EAAI,IAGzB69F,EAAKyrB,SAAWhsH,KAAKkqH,aAAavnH,OAAS2sH,IAG/B,aAAd/uB,EAAK/sF,MAAwB+sF,EAAKnsF,KAW5Bi7G,IAEDrvH,KAAKoqH,mBAENpqH,KAAKoqH,kBAAmB,EACxBpqH,KAAKupH,YAAY5jF,YAGrB3lC,KAAKkqH,aAAapiH,KAAKy4F,GACvBA,EAAKyrB,SAAU,EACfhsH,KAAK2pH,YAAYhkF,SAAS3lC,KAAKovH,SAAU7uB,EAAKvtF,IAAKutF,EAAKjqB,KAExDt2E,KAAKwvH,SAASjvB,KAjBdvgG,KAAKkqH,aAAapiH,KAAKy4F,GACvBA,EAAKyrB,SAAU,EAEfhsH,KAAKwvH,SAASjvB,MAkBjBA,EAAKwrB,QAAUxrB,EAAK8rB,YAErBgD,GAAY,GAOZrvH,KAAKkqH,aAAavnH,QAAU2sH,GAC3BD,GAAarvH,KAAKuqH,mBAAqBvqH,KAAKqqH,gBAE7C,MAUR,GANArqH,KAAK+uH,iBAMD/uH,KAAKmqH,iBAAmBnqH,KAAKiqH,UAAUtnH,OAEvC3C,KAAKivH,uBAEJ,IAAKjvH,KAAKkqH,aAAavnH,OAC5B,CAKIrC,QAAQ+Z,KAAK,8EAEb,IAAIsyB,EAAQ3sC,KAEZ+jG,WAAW,WAEPp3D,EAAMsiF,iBAAgB,IACvB,QAWXA,gBAAiB,SAAUQ,IAGnBzvH,KAAKmN,WAAcnN,KAAK+C,KAAK8jC,QAKjC7mC,KAAKmN,WAAY,EACjBnN,KAAKkpH,WAAY,EAGZuG,GAAazvH,KAAKoqH,mBAEnBpqH,KAAKoqH,kBAAmB,EACxBpqH,KAAKupH,YAAY5jF,YAGrB3lC,KAAK+C,KAAK8jC,MAAMK,aAChBlnC,KAAKwpH,qBAAqB7jF,WAC1B3lC,KAAKsmC,QACLtmC,KAAKypH,eAAe9jF,WACpB3lC,KAAK+C,KAAK8jC,MAAMqD,iBAYpBwlF,cAAe,SAAUnvB,EAAMovB,QAENppH,IAAjBopH,IAA8BA,EAAe,IAEjDpvB,EAAKwrB,QAAS,EACdxrB,EAAKhgG,QAAUovH,EAEXA,IAEApvB,EAAKovB,aAAeA,EAEpBrvH,QAAQ+Z,KAAK,mBAAqBkmF,EAAK/sF,KAAO,IAAM+sF,EAAKvtF,IAAM,MAAa28G,IAGhF3vH,KAAKgvH,oBAUTO,YAAa,SAAU/C,GAEnB,IAAIoD,EAAWpD,EAAKp4G,KAAKo4G,EAAKx5G,KAE9B,GAAK48G,EAML,IAAK,IAAIltH,EAAI,EAAGA,EAAIktH,EAASjtH,OAAQD,IACrC,CACI,IAAI69F,EAAOqvB,EAASltH,GAEpB,OAAQ69F,EAAK/sF,MAET,IAAK,QACDxT,KAAKka,MAAMqmF,EAAKvtF,IAAKutF,EAAKjqB,IAAKiqB,EAAK6rB,WACpC,MAEJ,IAAK,OACDpsH,KAAKw0E,KAAK+rB,EAAKvtF,IAAKutF,EAAKjqB,IAAKiqB,EAAK6rB,WACnC,MAEJ,IAAK,OACDpsH,KAAKs/G,KAAK/e,EAAKvtF,IAAKutF,EAAKjqB,IAAKiqB,EAAK6rB,WACnC,MAEJ,IAAK,MACDpsH,KAAKkgH,IAAI3f,EAAKvtF,IAAKutF,EAAKjqB,IAAKiqB,EAAK6rB,WAClC,MAEJ,IAAK,SACDpsH,KAAKstH,OAAO/sB,EAAKvtF,IAAKutF,EAAKjqB,IAAKiqB,EAAKvrD,SAAUw3E,EAAKhjF,iBAAmBxpC,MACvE,MAEJ,IAAK,SACDA,KAAKugH,OAAOhgB,EAAKvtF,IAAKutF,EAAKjqB,IAAKiqB,EAAKvrD,SAAUw3E,EAAKhjF,iBAAmBxpC,MACvE,MAEJ,IAAK,cACDA,KAAKutH,YAAYhtB,EAAKvtF,IAAKutF,EAAKjqB,IAAKiqB,EAAK/B,WAAY+B,EAAK9B,YAAa8B,EAAKoe,SAAUpe,EAAKqe,OAAQre,EAAKse,QAASte,EAAKue,YACvH,MAEJ,IAAK,QACD9+G,KAAKq2E,MAAMkqB,EAAKvtF,IAAKutF,EAAK8sB,MAC1B,MAEJ,IAAK,QACDrtH,KAAKk0E,MAAMqsB,EAAKvtF,IAAKutF,EAAK8sB,KAAM9sB,EAAKitB,YACrC,MAEJ,IAAK,cACDxtH,KAAK4tH,YAAYrtB,EAAKvtF,IAAKutF,EAAK8sB,KAAM9sB,EAAKmtB,QAASntB,EAAKotB,SAAUptB,EAAKitB,YACxE,MAEJ,IAAK,UACDxtH,KAAK+1E,QAAQwqB,EAAKvtF,IAAKutF,EAAKjqB,IAAKiqB,EAAKnsF,KAAM5S,EAAOwwE,QAAQuuB,EAAK9rF,SAChE,MAEJ,IAAK,UACDzU,KAAKgnC,QAAQu5D,EAAKvtF,IAAKutF,EAAKjqB,IAAKiqB,EAAKnsF,KAAM5S,EAAOi8C,OAAO8iD,EAAK9rF,SAC/D,MAEJ,IAAK,aACDzU,KAAKwgH,WAAWjgB,EAAKvtF,IAAKutF,EAAK6tB,WAAY7tB,EAAK8tB,SAAU9tB,EAAKmjB,UAAWnjB,EAAK9qB,SAAU8qB,EAAK7qB,UAC9F,MAEJ,IAAK,iBACD11E,KAAKuuH,eAAehuB,EAAKvtF,IAAKutF,EAAK6tB,WAAY7tB,EAAK8tB,SAAU9tB,EAAKmjB,WACnE,MAEJ,IAAK,gBACD1jH,KAAKyuH,cAAcluB,EAAKvtF,IAAKutF,EAAK6tB,WAAY7tB,EAAK8tB,SAAU9tB,EAAKmjB,WAClE,MAEJ,IAAK,WACD1jH,KAAK0uH,SAASnuB,EAAKvtF,IAAKutF,EAAK6tB,WAAY7tB,EAAK8tB,SAAU9tB,EAAKmjB,WAC7D,MAEJ,IAAK,QACD1jH,KAAKwuH,MAAMjuB,EAAKvtF,IAAKutF,EAAK6tB,WAAY7tB,EAAK8tB,SAAU9tB,EAAKmjB,UAAWliH,EAAOi8C,OAAO8iD,EAAK9rF,SACxF,MAEJ,IAAK,SACDzU,KAAKiN,OAAOszF,EAAKvtF,IAAKutF,EAAKjqB,IAAKiqB,EAAK6rB,iBA/E7C9rH,QAAQ+Z,KAAK,mBAAqBmyG,EAAKx5G,IAAM,0CAgGrD68G,aAAc,SAAUv5C,EAAKiqB,GAEzB,QAAKjqB,IAKDA,EAAIxL,MAAM,8CAEHwL,EAIAt2E,KAAK6oH,QAAUtoB,EAAKrR,KAAO5Y,IAa1Ck5C,SAAU,SAAUjvB,GAGhB,OAAQA,EAAK/sF,MAET,IAAK,WACDxT,KAAK8vH,QAAQvvB,EAAMvgG,KAAK6vH,aAAatvB,EAAKjqB,IAAKiqB,GAAO,OAAQvgG,KAAK+vH,cACnE,MAEJ,IAAK,QACL,IAAK,cACL,IAAK,eACL,IAAK,aACD/vH,KAAKgwH,aAAazvB,GAClB,MAEJ,IAAK,WACDvgG,KAAKiwH,eAAe1vB,GACpB,MAEJ,IAAK,QACDA,EAAKjqB,IAAMt2E,KAAKkwH,YAAY3vB,EAAKjqB,KAE7BiqB,EAAKjqB,IAGDt2E,KAAK+C,KAAK6jC,MAAMupF,cAEhBnwH,KAAK8vH,QAAQvvB,EAAMvgG,KAAK6vH,aAAatvB,EAAKjqB,IAAKiqB,GAAO,cAAevgG,KAAK+vH,cAErE/vH,KAAK+C,KAAK6jC,MAAMwpF,eAErBpwH,KAAKqwH,aAAa9vB,GAKtBvgG,KAAKswH,UAAU/vB,EAAM,KAAM,mFAE/B,MAEJ,IAAK,QACDA,EAAKjqB,IAAMt2E,KAAKuwH,YAAYhwB,EAAKjqB,KAE7BiqB,EAAKjqB,IAEDiqB,EAAKutB,OAEL9tH,KAAK8vH,QAAQvvB,EAAMvgG,KAAK6vH,aAAatvB,EAAKjqB,IAAKiqB,GAAO,OAAQvgG,KAAK+vH,cAInE/vH,KAAKwwH,aAAajwB,GAKtBvgG,KAAKswH,UAAU/vB,EAAM,KAAM,mFAE/B,MAEJ,IAAK,OAEDvgG,KAAK8vH,QAAQvvB,EAAMvgG,KAAK6vH,aAAatvB,EAAKjqB,IAAKiqB,GAAO,OAAQvgG,KAAKywH,kBACnE,MAEJ,IAAK,MAEDzwH,KAAK8vH,QAAQvvB,EAAMvgG,KAAK6vH,aAAatvB,EAAKjqB,IAAKiqB,GAAO,OAAQvgG,KAAK0wH,iBACnE,MAEJ,IAAK,UAEGnwB,EAAK9rF,SAAWjT,EAAOwwE,QAAQg8C,WAE/BhuH,KAAK8vH,QAAQvvB,EAAMvgG,KAAK6vH,aAAatvB,EAAKjqB,IAAKiqB,GAAO,OAAQvgG,KAAKywH,kBAE9DlwB,EAAK9rF,SAAWjT,EAAOwwE,QAAQ+7C,IAEpC/tH,KAAK8vH,QAAQvvB,EAAMvgG,KAAK6vH,aAAatvB,EAAKjqB,IAAKiqB,GAAO,OAAQvgG,KAAK2wH,iBAInE3wH,KAAK0vH,cAAcnvB,EAAM,2BAA6BA,EAAK9rF,QAE/D,MAEJ,IAAK,OACL,IAAK,SACL,IAAK,SACL,IAAK,UACDzU,KAAK8vH,QAAQvvB,EAAMvgG,KAAK6vH,aAAatvB,EAAKjqB,IAAKiqB,GAAO,OAAQvgG,KAAK+vH,cACnE,MAEJ,IAAK,UAEiC,cAA9BxvB,EAAKvtF,IAAI+e,MAAM,KAAKlR,MAEpB7gB,KAAKgwH,aAAazvB,GAIlBvgG,KAAK8vH,QAAQvvB,EAAMvgG,KAAK6vH,aAAatvB,EAAKjqB,IAAKiqB,GAAO,cAAevgG,KAAK+vH,cAE9E,MAEJ,IAAK,SACD/vH,KAAK8vH,QAAQvvB,EAAMvgG,KAAK6vH,aAAatvB,EAAKjqB,IAAKiqB,GAAO,cAAevgG,KAAK+vH,gBAStFC,aAAc,SAAUzvB,GAEpB,IAAI5zD,EAAQ3sC,KAEZugG,EAAKnsF,KAAO,IAAIs/D,MAChB6sB,EAAKnsF,KAAK8d,KAAOquE,EAAKvtF,IAElBhT,KAAKopH,cAEL7oB,EAAKnsF,KAAKg1G,YAAcppH,KAAKopH,aAGjC7oB,EAAKnsF,KAAK0nE,OAAS,WAEXykB,EAAKnsF,KAAK0nE,SAEVykB,EAAKnsF,KAAK0nE,OAAS,KACnBykB,EAAKnsF,KAAK2nE,QAAU,KACpBpvC,EAAMojF,aAAaxvB,KAI3BA,EAAKnsF,KAAK2nE,QAAU,WAEZwkB,EAAKnsF,KAAK0nE,SAEVykB,EAAKnsF,KAAK0nE,OAAS,KACnBykB,EAAKnsF,KAAK2nE,QAAU,KACpBpvC,EAAM2jF,UAAU/vB,KAIxBA,EAAKnsF,KAAKvE,IAAM7P,KAAK6vH,aAAatvB,EAAKjqB,IAAKiqB,GAMxCA,EAAKnsF,KAAKkW,UAAYi2E,EAAKnsF,KAAKxW,OAAS2iG,EAAKnsF,KAAKvW,SAEnD0iG,EAAKnsF,KAAK0nE,OAAS,KACnBykB,EAAKnsF,KAAK2nE,QAAU,KACpB/7E,KAAK+vH,aAAaxvB,KAQ1B0vB,eAAgB,SAAU1vB,GAOtB,IAAK,IALD5zD,EAAQ3sC,KACR4wH,EAASvgF,SAASsmD,cAAc,WAChC+1B,EAAUnsB,EAAKmsB,QACfC,EAAgBnrH,EAAOi8C,OAAOiuE,WAAWgB,EAAQ7rG,OAE5Cne,EAAI,EAAGsuB,EAAM07F,EAAQ/pH,OAAQD,EAAIsuB,EAAKtuB,IAC/C,CACI,IAAI0M,EAAS5N,EAAOi8C,OAAOiuE,WAAWgB,EAAQhqH,IAEzC0M,EAAOoE,MAASpE,EAAOknE,KAExBh2E,QAAQ+Z,KAAK,oEAAqEkmF,EAAKvtF,IAAK5D,EAAOknE,IAAKlnE,EAAOoE,MAGnH,IAAIq9G,EAAYxgF,SAASsmD,cAAc,UAEvCk6B,EAAUC,aAAa,OAAQ1hH,EAAOoE,MACtCq9G,EAAUC,aAAa,SAAU9wH,KAAK6vH,aAAazgH,EAAOknE,IAAKiqB,IAE/DqwB,EAAOrnB,YAAYsnB,GAGvBtwB,EAAKnsF,KAAOi8B,SAASsmD,cAAc,OACnC4J,EAAKnsF,KAAK8d,KAAOquE,EAAKvtF,IAElBhT,KAAKopH,cAEL7oB,EAAKnsF,KAAKg1G,YAAcppH,KAAKopH,aAGjC7oB,EAAKnsF,KAAK0nE,OAAS,WAEXykB,EAAKnsF,KAAK0nE,SAEVykB,EAAKnsF,KAAK0nE,OAAS,KACnBykB,EAAKnsF,KAAK2nE,QAAU,KACpBwkB,EAAKjqB,IAAMiqB,EAAKnsF,KAAK28G,WACrBpkF,EAAMojF,aAAaxvB,KAI3BA,EAAKnsF,KAAK2nE,QAAU,WAEZwkB,EAAKnsF,KAAK0nE,SAEVykB,EAAKnsF,KAAK0nE,OAAS,KACnBykB,EAAKnsF,KAAK2nE,QAAU,KACpBwkB,EAAKjqB,IAAMiqB,EAAKnsF,KAAK28G,WACrBpkF,EAAM2jF,UAAU/vB,KAIxBqwB,EAAOrnB,YAAYhJ,EAAKnsF,MAExBmsF,EAAKnsF,KAAKvE,IAAM7P,KAAK6vH,aAAalD,EAAcr2C,IAAKiqB,GAMjDA,EAAKnsF,KAAKkW,UAAYi2E,EAAKnsF,KAAKxW,OAAS2iG,EAAKnsF,KAAKvW,SAEnD0iG,EAAKnsF,KAAK0nE,OAAS,KACnBykB,EAAKnsF,KAAK2nE,QAAU,KACpB/7E,KAAK+vH,aAAaxvB,KAQ1BiwB,aAAc,SAAUjwB,GAEpB,IAAI5zD,EAAQ3sC,KAEZugG,EAAKnsF,KAAOi8B,SAASsmD,cAAc,SACnC4J,EAAKnsF,KAAK8d,KAAOquE,EAAKvtF,IACtButF,EAAKnsF,KAAKg1G,YAAcppH,KAAKopH,YAC7B7oB,EAAKnsF,KAAK48G,UAAW,EACrBzwB,EAAKnsF,KAAK68G,UAAW,EACrB1wB,EAAKnsF,KAAK88G,aAAc,EAExB,IAAIC,EAAiB,WAEjB5wB,EAAKnsF,KAAK69B,oBAAoBsuD,EAAKstB,UAAWsD,GAAgB,GAC9D5wB,EAAKnsF,KAAK2nE,QAAU,KACpBwkB,EAAKnsF,KAAKg9G,SAAU,EACpB5vH,EAAOmqB,MAAMghB,EAAM5pC,KAAKmR,IAAIyyB,KAAKopF,aAAaxvB,IAGlDA,EAAKnsF,KAAK2nE,QAAU,WAEhBwkB,EAAKnsF,KAAK69B,oBAAoBsuD,EAAKstB,UAAWsD,GAAgB,GAC9D5wB,EAAKnsF,KAAK2nE,QAAU,KACpBwkB,EAAKnsF,KAAKg9G,SAAU,EACpBzkF,EAAM2jF,UAAU/vB,IAGpBA,EAAKnsF,KAAK48B,iBAAiBuvD,EAAKstB,UAAWsD,GAAgB,GAE3D5wB,EAAKnsF,KAAKvE,IAAM7P,KAAK6vH,aAAatvB,EAAKjqB,IAAKiqB,GAC5CA,EAAKnsF,KAAKuyB,QAOd0pF,aAAc,SAAU9vB,GAEpB,IAAI5zD,EAAQ3sC,KAEZ,GAAIA,KAAK+C,KAAK6jC,MAAMs8E,YAGhB3iB,EAAKnsF,KAAO,IAAIi9G,MAChB9wB,EAAKnsF,KAAK8d,KAAOquE,EAAKvtF,IACtButF,EAAKnsF,KAAK6yB,QAAU,OACpBs5D,EAAKnsF,KAAKvE,IAAM7P,KAAK6vH,aAAatvB,EAAKjqB,IAAKiqB,GAE5CvgG,KAAK+vH,aAAaxvB,OAGtB,CACIA,EAAKnsF,KAAO,IAAIi9G,MAChB9wB,EAAKnsF,KAAK8d,KAAOquE,EAAKvtF,IAEtB,IAAIs+G,EAAmB,WAEnB/wB,EAAKnsF,KAAK69B,oBAAoB,iBAAkBq/E,GAAkB,GAClE/wB,EAAKnsF,KAAK2nE,QAAU,KACpBpvC,EAAMojF,aAAaxvB,IAGvBA,EAAKnsF,KAAK2nE,QAAU,WAEhBwkB,EAAKnsF,KAAK69B,oBAAoB,iBAAkBq/E,GAAkB,GAClE/wB,EAAKnsF,KAAK2nE,QAAU,KACpBpvC,EAAM2jF,UAAU/vB,IAGpBA,EAAKnsF,KAAK6yB,QAAU,OACpBs5D,EAAKnsF,KAAKvE,IAAM7P,KAAK6vH,aAAatvB,EAAKjqB,IAAKiqB,GAC5CA,EAAKnsF,KAAK48B,iBAAiB,iBAAkBsgF,GAAkB,GAC/D/wB,EAAKnsF,KAAKuyB,SAiBlBmpF,QAAS,SAAUvvB,EAAMjqB,EAAK9iE,EAAMsoE,EAAQC,GAExC,IAAIw1C,EAAM,IAAIC,eACdD,EAAIE,KAAK,MAAOn7C,GAAK,GACrBi7C,EAAIG,aAAel+G,GAEgB,IAA/BxT,KAAKqpH,QAAQC,eAEbiI,EAAII,iBAAiB,mBAAoB3xH,KAAKqpH,QAAQC,eAGtDtpH,KAAKqpH,QAAQ9oB,EAAK/sF,OAElB+9G,EAAII,iBAAiB,SAAU3xH,KAAKqpH,QAAQ9oB,EAAK/sF,OAGrDuoE,EAAUA,GAAW/7E,KAAKswH,UAE1B,IAAI3jF,EAAQ3sC,KAEZuxH,EAAIz1C,OAAS,WAET,IAEI,OAAuB,IAAnBy1C,EAAIztB,YAAoBytB,EAAI7a,QAAU,KAAO6a,EAAI7a,QAAU,IAEpD36B,EAAQv3E,KAAKmoC,EAAO4zD,EAAMgxB,GAI1Bz1C,EAAOt3E,KAAKmoC,EAAO4zD,EAAMgxB,GAGxC,MAAO5iH,GAOEg+B,EAAMx/B,UAMP7M,QAAQC,MAAMoO,GAJdg+B,EAAM+iF,cAAcnvB,EAAM5xF,EAAEijH,SAAW,eASnDL,EAAIx1C,QAAU,WAEV,IAEI,OAAOA,EAAQv3E,KAAKmoC,EAAO4zD,EAAMgxB,GAErC,MAAO5iH,GAEEg+B,EAAMx/B,UAMP7M,QAAQC,MAAMoO,GAJdg+B,EAAM+iF,cAAcnvB,EAAM5xF,EAAEijH,SAAW,eASnDrxB,EAAK4uB,cAAgBoC,EACrBhxB,EAAK2uB,WAAa54C,EAElBi7C,EAAIM,QAaRtB,YAAa,SAAUlD,GAEnB,IAAK,IAAI3qH,EAAI,EAAGA,EAAI2qH,EAAK1qH,OAAQD,IACjC,CACI,IACIovH,EADAx7C,EAAM+2C,EAAK3qH,GAGf,GAAI4zE,EAAIy7C,KAKJ,GAHAD,EAAYx7C,EAAI9iE,KAChB8iE,EAAMA,EAAIy7C,IAEN/xH,KAAK+C,KAAKonB,OAAO2+E,aAAagpB,GAE9B,OAAOx7C,MAIf,CAEI,GAA6B,IAAzBA,EAAIjtE,QAAQ,UAA2C,IAAzBitE,EAAIjtE,QAAQ,SAE1C,OAAOitE,EAYX,GATIA,EAAIjtE,QAAQ,MAAQ,IAEpBitE,EAAMA,EAAIvtD,OAAO,EAAGutD,EAAIjtE,QAAQ,OAKpCyoH,EAFgBx7C,EAAIvtD,QAAQrlB,KAAKuC,IAAI,EAAGqwE,EAAI07C,YAAY,OAASnnH,EAAAA,GAAY,GAEvDwjD,cAElBruD,KAAK+C,KAAKonB,OAAO2+E,aAAagpB,GAE9B,OAAOzE,EAAK3qH,IAKxB,OAAO,MAaXwtH,YAAa,SAAU7C,GAEnB,GAAIrtH,KAAK+C,KAAK6jC,MAAM6mF,QAEhB,OAAO,KAGX,IAAK,IAAI/qH,EAAI,EAAGA,EAAI2qH,EAAK1qH,OAAQD,IACjC,CACI,IACIuvH,EADA37C,EAAM+2C,EAAK3qH,GAGf,GAAI4zE,EAAIy7C,KAKJ,GAHAE,EAAY37C,EAAI9iE,KAChB8iE,EAAMA,EAAIy7C,IAEN/xH,KAAK+C,KAAKonB,OAAO0+E,aAAaopB,GAE9B,OAAO37C,MAIf,CAEI,GAA6B,IAAzBA,EAAIjtE,QAAQ,UAA2C,IAAzBitE,EAAIjtE,QAAQ,SAE1C,OAAOitE,EAYX,GATIA,EAAIjtE,QAAQ,MAAQ,IAEpBitE,EAAMA,EAAIvtD,OAAO,EAAGutD,EAAIjtE,QAAQ,OAKpC4oH,EAFgB37C,EAAIvtD,QAAQrlB,KAAKuC,IAAI,EAAGqwE,EAAI07C,YAAY,OAASnnH,EAAAA,GAAY,GAEvDwjD,cAElBruD,KAAK+C,KAAKonB,OAAO0+E,aAAaopB,GAE9B,OAAO5E,EAAK3qH,IAKxB,OAAO,MAYX4tH,UAAW,SAAU/vB,EAAMgxB,EAAKW,GAE5B,IACIN,EAAU,iCADJrxB,EAAK2uB,YAAclvH,KAAK6vH,aAAatvB,EAAKjqB,IAAKiqB,KAGpD2xB,GAAUX,IAEXW,EAASX,EAAI7a,QAGbwb,IAEAN,EAAUA,EAAU,KAAOM,EAAS,KAGxClyH,KAAK0vH,cAAcnvB,EAAMqxB,IAW7B7B,aAAc,SAAUxvB,EAAMgxB,GAG1B,GAAKvxH,KAAK+C,KAAKwmC,SAAf,CAKA,IAAI4oF,GAAW,EAEf,OAAQ5xB,EAAK/sF,MAET,IAAK,WAGGY,EAAOgtG,KAAK1iF,MAAM6yF,EAAIa,cAC1B7xB,EAAKnsF,KAAOA,MACZ,MAEJ,IAAK,UAED,IAAI8tG,EAAY,aAAexsB,KAAK6K,EAAKjqB,IAAIvkD,MAAM,IAAK,GAAG,IAAI,GAAGs8B,cAChD,OAAdkyC,EAAKnsF,KAELpU,KAAKga,MAAMioG,6BAA6B1hB,EAAKvtF,IAAKutF,EAAKjqB,IAAK4rC,EAAW3hB,EAAKnsF,MAI5EpU,KAAKga,MAAMioG,6BAA6B1hB,EAAKvtF,IAAKutF,EAAKjqB,IAAK4rC,EAAWqP,EAAIc,UAE/E,MAEJ,IAAK,QACL,IAAK,WAEDryH,KAAKga,MAAMgiE,SAASukB,EAAKvtF,IAAKutF,EAAKjqB,IAAKiqB,EAAKnsF,MAC7C,MAEJ,IAAK,cAEDpU,KAAKga,MAAM4qG,eAAerkB,EAAKvtF,IAAKutF,EAAKjqB,IAAKiqB,EAAKnsF,KAAMmsF,EAAK/B,WAAY+B,EAAK9B,YAAa8B,EAAKoe,SAAUpe,EAAKqe,OAAQre,EAAKse,QAASte,EAAKue,YAC3I,MAEJ,IAAK,eAED,GAAqB,MAAjBve,EAAK8tB,SAELruH,KAAKga,MAAM6qG,gBAAgBtkB,EAAKvtF,IAAKutF,EAAKjqB,IAAKiqB,EAAKnsF,KAAMmsF,EAAKmjB,UAAWnjB,EAAK9rF,aAO/E,GAFA09G,GAAW,EAEP5xB,EAAK9rF,SAAWjT,EAAOi8C,OAAOgtE,0BAA4BlqB,EAAK9rF,SAAWjT,EAAOi8C,OAAOitE,yBAA2BnqB,EAAK9rF,SAAWjT,EAAOi8C,OAAOsnE,yBAEjJ/kH,KAAK8vH,QAAQvvB,EAAMvgG,KAAK6vH,aAAatvB,EAAK8tB,SAAU9tB,GAAO,OAAQvgG,KAAKywH,sBAEvE,CAAA,GAAIlwB,EAAK9rF,SAAWjT,EAAOi8C,OAAOqnE,2BAMnC,MAAM,IAAI/7G,MAAM,gDAAkDw3F,EAAK9rF,QAJvEzU,KAAK8vH,QAAQvvB,EAAMvgG,KAAK6vH,aAAatvB,EAAK8tB,SAAU9tB,GAAO,OAAQvgG,KAAK0wH,iBAOhF,MAEJ,IAAK,aAEInwB,EAAK8tB,UAON8D,GAAW,EACXnyH,KAAK8vH,QAAQvvB,EAAMvgG,KAAK6vH,aAAatvB,EAAK8tB,SAAU9tB,GAAO,OAAQ,SAAUA,EAAMgxB,GAE/E,IAAIjS,EAEJ,IAGIA,EAAO8B,KAAK1iF,MAAM6yF,EAAIa,cAE1B,MAAOzjH,IAEH2wG,GAEA/e,EAAKojB,UAAY,OACjB3jH,KAAKywH,iBAAiBlwB,EAAMgxB,KAI5BhxB,EAAKojB,UAAY,MACjB3jH,KAAK0wH,gBAAgBnwB,EAAMgxB,OAzBnCvxH,KAAKga,MAAMypG,cAAcljB,EAAKvtF,IAAKutF,EAAKjqB,IAAKiqB,EAAKnsF,KAAMmsF,EAAKmjB,UAAWnjB,EAAKojB,UAAWpjB,EAAK9qB,SAAU8qB,EAAK7qB,UA6BhH,MAEJ,IAAK,QAED,GAAI6qB,EAAKutB,OAEL,IAEIvtB,EAAKnsF,KAAOm9G,EAAIc,SAEpB,MAAO1jH,GAEH,MAAM,IAAI5F,MAAM,sDAAwDw3F,EAAKvtF,KAIrFhT,KAAKga,MAAMyqG,SAASlkB,EAAKvtF,IAAKutF,EAAKjqB,IAAKiqB,EAAKnsF,KAAMmsF,EAAKutB,QACxD,MAEJ,IAAK,QAEG9tH,KAAK+C,KAAK6jC,MAAMupF,eAEhB5vB,EAAKnsF,KAAOm9G,EAAIc,SAEhBryH,KAAKga,MAAM8oG,SAASviB,EAAKvtF,IAAKutF,EAAKjqB,IAAKiqB,EAAKnsF,MAAM,GAAM,GAErDmsF,EAAKitB,YAELxtH,KAAK+C,KAAK6jC,MAAM0rF,OAAO/xB,EAAKvtF,MAKhChT,KAAKga,MAAM8oG,SAASviB,EAAKvtF,IAAKutF,EAAKjqB,IAAKiqB,EAAKnsF,MAAM,GAAO,GAE9D,MAEJ,IAAK,OACDmsF,EAAKnsF,KAAOm9G,EAAIa,aAChBpyH,KAAKga,MAAMmpG,QAAQ5iB,EAAKvtF,IAAKutF,EAAKjqB,IAAKiqB,EAAKnsF,MAC5C,MAEJ,IAAK,SACDmsF,EAAKnsF,KAAOm9G,EAAIa,aAChBpyH,KAAKga,MAAM2qG,UAAUpkB,EAAKvtF,IAAKutF,EAAKjqB,IAAKiqB,EAAKnsF,MAC9C,MAEJ,IAAK,UACD,IAAIA,EAAOgtG,KAAK1iF,MAAM6yF,EAAIa,cAC1BpyH,KAAKga,MAAMopG,eAAe7iB,EAAKvtF,IAAKutF,EAAKjqB,IAAKliE,EAAMmsF,EAAK9rF,QACzD,MAEJ,IAAK,SACD8rF,EAAKnsF,KAAOi8B,SAASsmD,cAAc,UACnC4J,EAAKnsF,KAAKm+G,SAAW,aACrBhyB,EAAKnsF,KAAKZ,KAAO,kBACjB+sF,EAAKnsF,KAAKo+G,OAAQ,EAClBjyB,EAAKnsF,KAAKogE,KAAO+8C,EAAIa,aACrB/hF,SAASoiF,KAAKlpB,YAAYhJ,EAAKnsF,MAC3BmsF,EAAKvrD,WAELurD,EAAKnsF,KAAOmsF,EAAKvrD,SAASxwC,KAAK+7F,EAAK/2D,gBAAiB+2D,EAAKvtF,IAAKu+G,EAAIa,eAEvE,MAEJ,IAAK,SACG7xB,EAAKvrD,SAELurD,EAAKnsF,KAAOmsF,EAAKvrD,SAASxwC,KAAK+7F,EAAK/2D,gBAAiB+2D,EAAKvtF,IAAKu+G,EAAIc,UAInE9xB,EAAKnsF,KAAOm9G,EAAIc,SAGpBryH,KAAKga,MAAMupG,UAAUhjB,EAAKvtF,IAAKutF,EAAKnsF,MAKxC+9G,GAEAnyH,KAAK0vH,cAAcnvB,KAY3BkwB,iBAAkB,SAAUlwB,EAAMgxB,GAE9B,IAAIn9G,EAAOgtG,KAAK1iF,MAAM6yF,EAAIa,cAER,YAAd7xB,EAAK/sF,KAELxT,KAAKga,MAAMqpG,WAAW9iB,EAAKvtF,IAAKutF,EAAKjqB,IAAKliE,EAAMmsF,EAAK9rF,QAElC,eAAd8rF,EAAK/sF,KAEVxT,KAAKga,MAAMypG,cAAcljB,EAAKvtF,IAAKutF,EAAKjqB,IAAKiqB,EAAKnsF,KAAMA,EAAMmsF,EAAKojB,UAAWpjB,EAAK9qB,SAAU8qB,EAAK7qB,UAE/E,SAAd6qB,EAAK/sF,KAEVxT,KAAKga,MAAMuqG,QAAQhkB,EAAKvtF,IAAKutF,EAAKjqB,IAAKliE,GAIvCpU,KAAKga,MAAM6qG,gBAAgBtkB,EAAKvtF,IAAKutF,EAAKjqB,IAAKiqB,EAAKnsF,KAAMA,EAAMmsF,EAAK9rF,QAGzEzU,KAAK0vH,cAAcnvB,IAWvBowB,gBAAiB,SAAUpwB,EAAMgxB,GAE7B,IAAIn9G,EAAOm9G,EAAIa,aAEfpyH,KAAKga,MAAMqpG,WAAW9iB,EAAKvtF,IAAKutF,EAAKjqB,IAAKliE,EAAMmsF,EAAK9rF,QAErDzU,KAAK0vH,cAAcnvB,IAWvBmwB,gBAAiB,SAAUnwB,EAAMgxB,GAG7B,IAAIn9G,EAAOm9G,EAAIa,aACXlS,EAAMlgH,KAAKsuH,SAASl6G,GAExB,IAAK8rG,EACL,CACI,IAAIwR,EAAeH,EAAIG,cAAgBH,EAAImB,YAG3C,OAFApyH,QAAQ+Z,KAAK,mBAAqBkmF,EAAKvtF,IAAM,kBAAoB0+G,EAAe,UAChF1xH,KAAK0vH,cAAcnvB,EAAM,eAIX,eAAdA,EAAK/sF,KAELxT,KAAKga,MAAMypG,cAAcljB,EAAKvtF,IAAKutF,EAAKjqB,IAAKiqB,EAAKnsF,KAAM8rG,EAAK3f,EAAKojB,UAAWpjB,EAAK9qB,SAAU8qB,EAAK7qB,UAE9E,iBAAd6qB,EAAK/sF,KAEVxT,KAAKga,MAAM6qG,gBAAgBtkB,EAAKvtF,IAAKutF,EAAKjqB,IAAKiqB,EAAKnsF,KAAM8rG,EAAK3f,EAAK9rF,QAEjD,QAAd8rF,EAAK/sF,MAEVxT,KAAKga,MAAMwqG,OAAOjkB,EAAKvtF,IAAKutF,EAAKjqB,IAAK4pC,GAG1ClgH,KAAK0vH,cAAcnvB,IAWvB+tB,SAAU,SAAUl6G,GAEhB,IAAI8rG,EAEJ,IAEI,GAAI9vG,OAAOuiH,UACX,CACI,IAAIC,EAAY,IAAID,UACpBzS,EAAM0S,EAAUC,gBAAgBz+G,EAAM,iBAItC8rG,EAAM,IAAI4S,cAAc,qBAGpBC,MAAQ,QACZ7S,EAAI8S,QAAQ5+G,GAGpB,MAAOzF,GAEHuxG,EAAM,KAGV,OAAKA,GAAQA,EAAI3X,kBAAmB2X,EAAIC,qBAAqB,eAAex9G,OAMjEu9G,EAJA,MAcf6O,eAAgB,WAER/uH,KAAKmpH,gBAEgC,IAAjCnpH,KAAKmpH,cAActkF,UAEnB7kC,KAAKmpH,cAAcruF,KAAKl9B,MAAQ8F,KAAKqsB,MAAO/vB,KAAKmpH,cAAcvrH,MAAQ,IAAOoC,KAAKovH,UAInFpvH,KAAKmpH,cAAcruF,KAAKj9B,OAAS6F,KAAKqsB,MAAO/vB,KAAKmpH,cAActrH,OAAS,IAAOmC,KAAKovH,UAGrFpvH,KAAKmpH,cAAc5lG,OAEnBvjB,KAAKmpH,cAAc5lG,OAAO4pD,aAK1BntE,KAAKmpH,cAAgB,OAYjC8J,iBAAkB,WAEd,OAAOjzH,KAAKwqH,kBAUhBxgF,iBAAkB,WAEd,OAAOhqC,KAAKsqH,gBAAkBtqH,KAAKwqH,kBAUvC0I,iBAAkB,WAEd,OAAOlzH,KAAKqqH,iBAUhBpgF,iBAAkB,WAEd,OAAOjqC,KAAKqqH,gBAAkBrqH,KAAKuqH,mBAc3CvjH,OAAOyF,eAAejL,EAAOi8C,OAAOn7C,UAAW,iBAE3C4E,IAAK,WAED,IAAIkoH,EAAYpvH,KAAKwqH,iBAAmBxqH,KAAKsqH,gBAAmB,IAChE,OAAO9oH,EAAOkC,KAAKi5B,MAAMyyF,GAAY,EAAG,EAAG,QAWnDpoH,OAAOyF,eAAejL,EAAOi8C,OAAOn7C,UAAW,YAE3C4E,IAAK,WAED,OAAOxD,KAAKiyB,MAAM31B,KAAKmzH,kBAK/B3xH,EAAOi8C,OAAOn7C,UAAUC,YAAcf,EAAOi8C,OAa7Cj8C,EAAO6gH,cAcH7B,WAAY,SAAUN,EAAK95G,EAAaqvE,EAAUC,EAAUroE,EAAOzI,GAE/D,OAAO5E,KAAK6jH,cAAc3D,EAAK95G,EAAaqvE,EAAUC,EAAUroE,EAAOzI,IAe3Ei/G,cAAe,SAAU3D,EAAK95G,EAAaqvE,EAAUC,EAAUroE,EAAOzI,GAEhD,MAAdA,IAEAA,EAAa,GAGjB,IAAIwP,KACAg/G,EAAOlT,EAAIC,qBAAqB,QAAQ,GACxCkT,EAASnT,EAAIC,qBAAqB,UAAU,GAEhD/rG,EAAKghE,KAAOg+C,EAAKE,aAAa,QAC9Bl/G,EAAK2N,KAAOsR,SAAS+/F,EAAKE,aAAa,QAAS,IAChDl/G,EAAKi/E,WAAahgE,SAASggG,EAAOC,aAAa,cAAe,IAAM59C,EACpEthE,EAAKmhE,SAOL,IAAK,IALDg+C,EAAUrT,EAAIC,qBAAqB,QAEnCp8G,EAAI,EAAUsJ,EAAMtJ,EAAI,EACxBC,EAAI,EAAUqJ,EAAMrJ,EAAI,EAEnBtB,EAAI,EAAGA,EAAI6wH,EAAQ5wH,OAAQD,IACpC,CACI,IAAIkiE,EAAWvxC,SAASkgG,EAAQ7wH,GAAG4wH,aAAa,MAAO,IAEnDE,EAAOp/G,EAAKmhE,MAAM3Q,IAClB7gE,EAAGsvB,SAASkgG,EAAQ7wH,GAAG4wH,aAAa,KAAM,IAC1CtvH,EAAGqvB,SAASkgG,EAAQ7wH,GAAG4wH,aAAa,KAAM,IAC1C11H,MAAOy1B,SAASkgG,EAAQ7wH,GAAG4wH,aAAa,SAAU,IAClDz1H,OAAQw1B,SAASkgG,EAAQ7wH,GAAG4wH,aAAa,UAAW,IACpD39C,QAAStiD,SAASkgG,EAAQ7wH,GAAG4wH,aAAa,WAAY,IAAM1uH,EAC5DgxE,QAASviD,SAASkgG,EAAQ7wH,GAAG4wH,aAAa,WAAY,IAAM1uH,EAC5DszF,UAAW7kE,SAASkgG,EAAQ7wH,GAAG4wH,aAAa,YAAa,IAAM79C,GAAY7wE,EAC3EqzF,YAEJ,GAAI5qF,GAASA,EAAM+kE,QACnB,CASI,GARIohD,EAAKzvH,EAAIyvH,EAAK51H,MAAQyP,EAAMglE,kBAAoBhlE,EAAMwwG,oBAEtD2V,EAAK51H,OAAS41H,EAAKzvH,EAAIyvH,EAAK51H,MAAQyP,EAAMglE,kBAAoBhlE,EAAMwwG,mBAEpE2V,EAAKxvH,EAAIwvH,EAAK31H,OAASwP,EAAMilE,kBAAoBjlE,EAAMywG,oBAEvD0V,EAAK31H,QAAU21H,EAAKxvH,EAAIwvH,EAAK31H,OAASwP,EAAMilE,kBAAoBjlE,EAAMywG,mBAEtE0V,EAAKzvH,EAAIsJ,EAAMglE,kBACnB,CACQkrC,EAAOlwG,EAAMglE,kBAAoBmhD,EAAKzvH,EAC1CyvH,EAAKzvH,EAAI,EACTyvH,EAAK51H,OAAS2/G,EACdiW,EAAK79C,SAAW4nC,EAEpB,GAAIiW,EAAKxvH,EAAIqJ,EAAMilE,kBACnB,CACI,IAAIirC,EAAOlwG,EAAMilE,kBAAoBkhD,EAAKxvH,EAC1CwvH,EAAKxvH,EAAI,EACTwvH,EAAK31H,QAAU0/G,EACfiW,EAAK59C,SAAW2nC,GAGxBiW,EAAKzvH,GAAKA,EACVyvH,EAAKxvH,GAAKA,EAGd,IAAIyvH,EAAWvT,EAAIC,qBAAqB,WAExC,IAAKz9G,EAAI,EAAGA,EAAI+wH,EAAS9wH,OAAQD,IACjC,CACI,IAAI8sD,EAAQn8B,SAASogG,EAAS/wH,GAAG4wH,aAAa,SAAU,IACpDI,EAASrgG,SAASogG,EAAS/wH,GAAG4wH,aAAa,UAAW,IACtDr8E,EAAS5jB,SAASogG,EAAS/wH,GAAG4wH,aAAa,UAAW,IAAM1uH,EAE5DwP,EAAKmhE,MAAMm+C,KAEXt/G,EAAKmhE,MAAMm+C,GAAQz7B,QAAQzoC,GAASvY,GAI5C,OAAOj3C,KAAK2zH,mBAAmBvtH,EAAagO,IAehDwvG,eAAgB,SAAUtE,EAAMl5G,EAAaqvE,EAAUC,EAAUroE,EAAOzI,GAElD,MAAdA,IAEAA,EAAa,GAGjB,IAAIwP,GACAghE,KAAMkqC,EAAKlqC,KAAKg+C,KAAKQ,MACrB7xG,KAAMsR,SAASisF,EAAKlqC,KAAKg+C,KAAKz4C,MAAO,IACrC0Y,WAAYhgE,SAASisF,EAAKlqC,KAAKi+C,OAAOQ,YAAa,IAAMn+C,EACzDH,UAGAxxE,EAAI,EAAUsJ,EAAMtJ,EAAI,EACxBC,EAAI,EAAUqJ,EAAMrJ,EAAI,EAgE5B,OA9DAs7G,EAAKlqC,KAAKG,MAAMi+C,KAAK3iG,QAEjB,SAAoBsjE,GAEhB,IAAIvvB,EAAWvxC,SAAS8gE,EAAO2/B,IAAK,IAEhCN,EAAOp/G,EAAKmhE,MAAM3Q,IAClB7gE,EAAGsvB,SAAS8gE,EAAOtwC,GAAI,IACvB7/C,EAAGqvB,SAAS8gE,EAAOrwC,GAAI,IACvBlmD,MAAOy1B,SAAS8gE,EAAOznF,OAAQ,IAC/B7O,OAAQw1B,SAAS8gE,EAAOxnF,QAAS,IACjCgpE,QAAStiD,SAAS8gE,EAAO4/B,SAAU,IAAMnvH,EACzCgxE,QAASviD,SAAS8gE,EAAO6/B,SAAU,IAAMpvH,EACzCszF,UAAW7kE,SAAS8gE,EAAO8/B,UAAW,IAAMx+C,GAAY7wE,EACxDqzF,YAEJ,GAAI5qF,GAASA,EAAM+kE,QACnB,CASI,GARIohD,EAAKzvH,EAAIyvH,EAAK51H,MAAQyP,EAAMglE,kBAAoBhlE,EAAMwwG,oBAEtD2V,EAAK51H,OAAS41H,EAAKzvH,EAAIyvH,EAAK51H,MAAQyP,EAAMglE,kBAAoBhlE,EAAMwwG,mBAEpE2V,EAAKxvH,EAAIwvH,EAAK31H,OAASwP,EAAMilE,kBAAoBjlE,EAAMywG,oBAEvD0V,EAAK31H,QAAU21H,EAAKxvH,EAAIwvH,EAAK31H,OAASwP,EAAMilE,kBAAoBjlE,EAAMywG,mBAEtE0V,EAAKzvH,EAAIsJ,EAAMglE,kBACnB,CACQkrC,EAAOlwG,EAAMglE,kBAAoBmhD,EAAKzvH,EAC1CyvH,EAAKzvH,EAAI,EACTyvH,EAAK51H,OAAS2/G,EACdiW,EAAK79C,SAAW4nC,EAEpB,GAAIiW,EAAKxvH,EAAIqJ,EAAMilE,kBACnB,CACI,IAAIirC,EAAOlwG,EAAMilE,kBAAoBkhD,EAAKxvH,EAC1CwvH,EAAKxvH,EAAI,EACTwvH,EAAK31H,QAAU0/G,EACfiW,EAAK59C,SAAW2nC,GAGxBiW,EAAKzvH,GAAKA,EACVyvH,EAAKxvH,GAAKA,IAKds7G,EAAKlqC,KAAKq+C,UAAYnU,EAAKlqC,KAAKq+C,SAASx7B,SAEzCqnB,EAAKlqC,KAAKq+C,SAASx7B,QAAQpnE,QAEvB,SAAuBonE,GAEf7jF,EAAKmhE,MAAM0iB,EAAQi8B,WAEnB9/G,EAAKmhE,MAAM0iB,EAAQi8B,SAASj8B,QAAQA,EAAQk8B,QAAU9gG,SAAS4kE,EAAQm8B,QAAS,IAAMxvH,KAO/F5E,KAAK2zH,mBAAmBvtH,EAAagO,IAYhDu/G,mBAAoB,SAAUvtH,EAAaiuH,GAavC,OAXArtH,OAAO4qB,KAAKyiG,EAAe9+C,OAAO1kD,QAE9B,SAAqB+zC,GAEjB,IAAIuvB,EAASkgC,EAAe9+C,MAAM3Q,GAElCuvB,EAAOp2F,QAAU,IAAIS,KAAKqO,QAAQzG,EAAa,IAAI5E,EAAOS,UAAUkyF,EAAOpwF,EAAGowF,EAAOnwF,EAAGmwF,EAAOv2F,MAAOu2F,EAAOt2F,WAK9Gw2H,GAUXC,IAAK,SAAUnS,GAoBX,IAIIjmG,EAJAq4G,EAAY,IAAI/xG,YAAY2/F,EAAYjyF,MAAM,EAAG,KACjDskG,EAAY,IAAIvkC,WAAWkyB,GAC3BsS,EAAY,KACZC,EAAeH,EAAU,IAAM,GAAKA,EAAU,GAE9C54G,EAAoB,EAExB,GAAqB,WAAjB44G,EAAU,KAEN,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,IACXlrH,QAAQqrH,IAAgB,EAE9B,CAcI,OAbIA,GAAe,GAAKA,GAAe,EAEnCx4G,EAAuB,QAElBw4G,GAAe,GAAKA,GAAe,GAExCx4G,EAAuB,OAEF,IAAhBw4G,IAELx4G,EAAuB,QAGnBw4G,GAEJ,KAAK,EACD/4G,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,EAG7B84G,GACInqG,UAAU,EACVg4F,WAAY,MACZpmG,qBAAsBA,EACtBy4G,MAAOJ,EAAU,GACjBG,YAAaA,EACbE,WAAYL,EAAU,GACtBM,YAAaN,EAAU,GACvB12H,OAAQ02H,EAAU,GAClB32H,MAAO22H,EAAU,GACjBO,MAAOP,EAAU,GACjBQ,iBAAkBR,EAAU,GAC5BS,cAAeT,EAAU,IACzBU,gBAAiBV,EAAU,IAC3BW,aAAcX,EAAU,IACxBpgH,YAAaqgH,EAAUtvG,SAAS,GAAKqvG,EAAU,IAAKC,EAAUW,YAC9Dx5G,kBAAmBA,GAI3B,OAAO84G,GAUXW,IAAK,SAAUjT,GAoCX,IAAIqS,EAAY,IAAIvkC,WAAWkyB,GAC3BoS,EAAY,IAAI/xG,YAAY2/F,GAC5BkT,EAAY,KA4DhB,OA1DqB,KAAjBb,EAAU,IACO,KAAjBA,EAAU,IACO,KAAjBA,EAAU,IACO,KAAjBA,EAAU,KAqCqB,UAnC/Ba,GACI/qG,UAAU,EACVg4F,WAAY,MACZpmG,qBAAsB,OACtB6F,KAAMwyG,EAAU,GAChBI,MAAOJ,EAAU,GACjB12H,OAAQ02H,EAAU,GAClB32H,MAAO22H,EAAU,GACjBe,MAAOf,EAAU,GACjBO,MAAOP,EAAU,GACjBgB,YAAahB,EAAU,GACvBiB,WAAYjB,EAAU,IACtBkB,WAAYlB,EAAU,IACtBmB,cACIhxD,OAAOC,aAAa6vD,EAAU,KAC9B9vD,OAAOC,aAAa6vD,EAAU,KAC9B9vD,OAAOC,aAAa6vD,EAAU,KAC9B9vD,OAAOC,aAAa6vD,EAAU,MAChC1kH,KAAK,IACP6lH,eAAgBpB,EAAU,IAC1BqB,eAAgBrB,EAAU,IAC1BsB,eAAgBtB,EAAU,IAC1BuB,eAAgBvB,EAAU,IAC1BwB,eAAgBxB,EAAU,IAC1ByB,MAAOzB,EAAU,IACjB0B,MAAO1B,EAAU,IACjB2B,MAAO3B,EAAU,IACjB4B,MAAO5B,EAAU,IACjB6B,UAAW7B,EAAU,IACrB8B,WAAY,KACZC,kBAAmB,KACnBC,SAAU,KACVC,UAAW,KACXriH,YAAaqgH,EAAUtvG,SAASqvG,EAAU,GAAK,EAAGC,EAAUW,cAElDO,cAEVL,EAAUgB,WAAa9B,EAAU,IACjCc,EAAUiB,kBAAoB/B,EAAU,IACxCc,EAAUkB,SAAWhC,EAAU,IAC/Bc,EAAUmB,UAAYjC,EAAU,IAChCc,EAAUkB,SAAWhC,EAAU,KAEA,SAA3Bc,EAAUK,aAEdL,EAAU15G,kBAAoB,MAEC,SAA3B05G,EAAUK,eAEdL,EAAU15G,kBAAoB,QAI/B05G,GAUXoB,IAAK,SAAUtU,GA0BX,IAAIqS,EAAY,IAAIvkC,WAAWkyB,GAC3BoS,EAAY,IAAI/xG,YAAY2/F,GAC5BuU,EAAY,KACZC,EAAkB,GAAMpC,EAAU,IAAM,EAAK,EAC7CqC,EAAYrC,EAAUoC,GACtBE,EAAmBtC,EAAU,GAC7Br4G,EAAuB,EAE3B,GAAqB,MAAjBs4G,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,MAKhC,MAGA,MAAQ,MAAQ,MAAQ,MAGxB,MAAQ,MAAQ,MAAQ,OAC1BnrH,QAAQwtH,IAAqB,EACnC,CACI,OAAQA,GAEJ,KAAK,MACD36G,EAAuB,OACvB,MACJ,KAAK,MACL,KAAK,MACL,KAAK,MACL,KAAK,MACDA,EAAuB,QACvB,MACJ,KAAK,MACL,KAAK,MACL,KAAK,MACL,KAAK,MACDA,EAAuB,OAI/Bw6G,GACIpsG,UAAU,EACVg4F,WAAY,MACZpmG,qBAAsBA,EACtB46G,WAAYvC,EAAU,GACtBwC,OAAQxC,EAAU,GAClByC,WAAYzC,EAAU,GACtB0C,SAAU1C,EAAU,GACpBsC,iBAAkBtC,EAAU,GAC5B2C,qBAAsB3C,EAAU,GAChC32H,MAAO22H,EAAU,GACjB12H,OAAQ02H,EAAU,IAClB4C,WAAY5C,EAAU,IACtB6C,sBAAuB7C,EAAU,IACjCS,cAAeT,EAAU,IACzB8C,qBAAsB9C,EAAU,IAChC+C,oBAAqB/C,EAAU,IAC/BgD,oBAAqBhD,EAAU,IAC/BqC,UAAWA,EACXziH,YAAaqgH,EAAUtvG,SAAiC,GAAvByxG,EAAkB,GAAQC,EAAY,MAI/E,OAAOF,GAUXc,IAAK,SAAUrV,GAeX,IAAIqS,EAAY,IAAIvkC,WAAWkyB,GAC3BsV,EAAY,KAoBhB,OAlBqB,KAAjBjD,EAAU,IACO,KAAjBA,EAAU,IACO,KAAjBA,EAAU,IACO,KAAjBA,EAAU,KAEViD,GACIntG,UAAU,EACVg4F,WAAY,MACZpmG,qBAAsB,OACtBzH,OAA+C,OAArC+/G,EAAU,IAAM,EAAIA,EAAU,IACxC52H,MAA8C,OAArC42H,EAAU,IAAM,EAAIA,EAAU,IACvC32H,OAAiD,OAAvC22H,EAAU,KAAO,EAAIA,EAAU,KACzCkD,cAAwD,OAAvClD,EAAU,KAAO,EAAIA,EAAU,KAChDmD,eAAyD,OAAvCnD,EAAU,KAAO,EAAIA,EAAU,KACjDrgH,YAAaqgH,EAAUtvG,SAAS,GAAIsvG,EAAU7xH,UAI/C80H,IAqBfj2H,EAAOq3E,YAAc,SAAU91E,EAAMiQ,GAMjChT,KAAK+C,KAAOA,EAMZ/C,KAAKgT,IAAMA,EAMXhT,KAAKwW,OAASxW,KAAK+C,KAAKiX,MAAMqqG,QAAQrxG,EAAM,eAM5ChT,KAAK43H,YAAc,KAOnB53H,KAAKixH,UAAW,EAMhBjxH,KAAK63H,UAEL,IAAK,IAAIxgG,KAAKr3B,KAAKwW,OAAOshH,UAC1B,CACI,IAAIr/C,EAASz4E,KAAKwW,OAAOshH,UAAUzgG,GAC/BuP,EAAQ5mC,KAAK+C,KAAKo2B,IAAIyN,MAAM5mC,KAAKgT,KAErC4zB,EAAMmxF,UAAU1gG,EAAGohD,EAAOnsE,MAAQmsE,EAAOn9D,IAAMm9D,EAAOnsE,MAAQ,KAAMmsE,EAAOpN,MAE3ErrE,KAAK63H,OAAOxgG,GAAKuP,EAGjB5mC,KAAKwW,OAAOy6G,WAEZjxH,KAAK43H,YAAc53H,KAAKwW,OAAOy6G,SAC/BjxH,KAAKmrE,KAAKnrE,KAAK43H,aACf53H,KAAKixH,SAAWjxH,KAAK63H,OAAO73H,KAAK43H,eAIzCp2H,EAAOq3E,YAAYv2E,WAUf6oE,KAAM,SAAUsN,EAAQh3C,GAIpB,YAFel7B,IAAXk7B,IAAwBA,EAAS,GAE9BzhC,KAAK63H,OAAOp/C,GAAQtN,KAAKsN,EAAQ,KAAMh3C,IASlDt1B,KAAM,SAAUssE,GAEZ,GAAKA,EASDz4E,KAAK63H,OAAOp/C,GAAQtsE,YAPpB,IAAK,IAAI6G,KAAOhT,KAAK63H,OAEjB73H,KAAK63H,OAAO7kH,GAAK7G,QAgB7BjF,IAAK,SAAUuxE,GAEX,OAAOz4E,KAAK63H,OAAOp/C,KAK3Bj3E,EAAOq3E,YAAYv2E,UAAUC,YAAcf,EAAOq3E,YAkBlDr3E,EAAOo3E,MAAQ,SAAU71E,EAAMiQ,EAAKyuB,EAAQ4pC,EAAMtP,QAE/Bx1D,IAAXk7B,IAAwBA,EAAS,QACxBl7B,IAAT8kE,IAAsBA,GAAO,QACjB9kE,IAAZw1D,IAAyBA,EAAUh5D,EAAK6jC,MAAMoxF,iBAMlDh4H,KAAK+C,KAAOA,EAKZ/C,KAAKkyB,KAAOlf,EAKZhT,KAAKgT,IAAMA,EAKXhT,KAAKqrE,KAAOA,EAKZrrE,KAAKi4H,WAKLj4H,KAAK8N,QAAU,KAKf9N,KAAKixH,UAAW,EAKhBjxH,KAAKk4H,cAAgB,EAMrBl4H,KAAKy2G,UAAY,EAKjBz2G,KAAKm4H,YAAc,EAKnBn4H,KAAK+iC,SAAW,EAKhB/iC,KAAKo4H,WAAa,EAKlBp4H,KAAKY,SAAW,EAKhBZ,KAAKq4H,SAAW,EAMhBr4H,KAAKsnC,QAAS,EAKdtnC,KAAKs4H,eAAiB,EAKtBt4H,KAAKu4H,WAAa,EAMlBv4H,KAAK67G,WAAY,EAMjB77G,KAAKw4H,cAAgB,GAKrBx4H,KAAKy4H,UAAY,KAMjBz4H,KAAK04H,iBAAkB,EAMvB14H,KAAK24H,UAAW,EAMhB34H,KAAK44H,eAAgB,EAMrB54H,KAAK64H,UAAW,EAMhB74H,KAAKmwH,cAAgBnwH,KAAK+C,KAAK6jC,MAAMupF,cAMrCnwH,KAAKowH,cAAgBpwH,KAAK+C,KAAK6jC,MAAMwpF,cAKrCpwH,KAAK84H,aAAe,KAKpB94H,KAAK+4H,eAAiB,KAKtB/4H,KAAKg5H,SAAW,KAMhBh5H,KAAKi5H,OAAS,KAMdj5H,KAAKk5H,cAAgB,EAMrBl5H,KAAKm5H,iBAAkB,EAMvBn5H,KAAKo5H,eAAgB,EAMrBp5H,KAAKq5H,yBAA0B,EAM/Br5H,KAAKs5H,UAAY,EAEbt5H,KAAKmwH,eAELnwH,KAAK8N,QAAU9N,KAAK+C,KAAK6jC,MAAM94B,QAC/B9N,KAAK+4H,eAAiB/4H,KAAK+C,KAAK6jC,MAAM2yF,gBAENhzH,IAA5BvG,KAAK8N,QAAQ0rH,WAEbx5H,KAAKg5H,SAAWh5H,KAAK8N,QAAQ2rH,iBAI7Bz5H,KAAKg5H,SAAWh5H,KAAK8N,QAAQ0rH,aAGjCx5H,KAAKg5H,SAASU,KAAKtyH,MAAQq6B,EAEvBs6B,GAEA/7D,KAAKg5H,SAASj9D,QAAQ/7D,KAAK+4H,iBAG1B/4H,KAAKowH,gBAENpwH,KAAK+C,KAAKiX,MAAMkrG,SAASlyG,IAAQhT,KAAK+C,KAAKiX,MAAMurG,aAAavyG,IAE9DhT,KAAKi5H,OAASj5H,KAAK+C,KAAKiX,MAAM2sG,aAAa3zG,GAC3ChT,KAAKk4H,cAAgB,EAEjBl4H,KAAKi5H,OAAOl2F,WAEZ/iC,KAAKk4H,cAAgBl4H,KAAKi5H,OAAOl2F,WAKrC/iC,KAAK+C,KAAKiX,MAAM6mG,cAAc1nF,IAAIn5B,KAAK25H,iBAAkB35H,OAOjEA,KAAK45H,UAAY,IAAIp4H,EAAO+gC,OAK5BviC,KAAK65H,OAAS,IAAIr4H,EAAO+gC,OAKzBviC,KAAKipC,QAAU,IAAIznC,EAAO+gC,OAK1BviC,KAAKmpC,SAAW,IAAI3nC,EAAO+gC,OAK3BviC,KAAKk1G,OAAS,IAAI1zG,EAAO+gC,OAKzBviC,KAAK85H,OAAS,IAAIt4H,EAAO+gC,OAKzBviC,KAAK+5H,OAAS,IAAIv4H,EAAO+gC,OAKzBviC,KAAKg6H,iBAAmB,IAAIx4H,EAAO+gC,OAKnCviC,KAAKyiC,eAAiB,IAAIjhC,EAAO+gC,OAMjCviC,KAAKi6H,QAAUx4F,EAMfzhC,KAAKk6H,QAAU,KAMfl6H,KAAKm6H,QAAS,EAMdn6H,KAAKo6H,YAAc,EAMnBp6H,KAAKq6H,cAAgB,EAMrBr6H,KAAKs6H,YAAc,EAMnBt6H,KAAKu6H,WAAa,EAMlBv6H,KAAKw6H,YAAc,EAMnBx6H,KAAKy6H,UAAY,EAMjBz6H,KAAKk8C,SAAU,EAMfl8C,KAAK06H,2BAA4B,GAGrCl5H,EAAOo3E,MAAMt2E,WAQTq3H,iBAAkB,SAAU3mH,GAEpBA,IAAQhT,KAAKgT,MAEbhT,KAAKi5H,OAASj5H,KAAK+C,KAAKiX,MAAM2sG,aAAa3mH,KAAKgT,KAChDhT,KAAKk4H,cAAgBl4H,KAAKi5H,OAAOl2F,WAezCg1F,UAAW,SAAU7lG,EAAM5lB,EAAOy2B,EAAUtB,EAAQ4pC,QAE/B9kE,IAAbw8B,GAAuC,OAAbA,IAAqBA,EAAW,QAC/Cx8B,IAAXk7B,GAAmC,OAAXA,IAAmBA,EAAS,QAC3Cl7B,IAAT8kE,IAAsBA,GAAO,GAEjCrrE,KAAKi4H,QAAQ/lG,IACTA,KAAMA,EACN5lB,MAAOA,EACPH,KAAMG,EAAQy2B,EACdtB,OAAQA,EACRsB,SAAUA,EACVq1F,WAAuB,IAAXr1F,EACZsoC,KAAMA,IASdsvD,aAAc,SAAUzoG,UAEblyB,KAAKi4H,QAAQ/lG,IAUxB0oG,eAAgB,WAEP56H,KAAKi5H,SAOVj5H,KAAK66H,wBACL76H,KAAK67G,WAAY,EACjB77G,KAAKm4H,YAAcn4H,KAAKo4H,WACxBp4H,KAAKmM,OAEDnM,KAAK64H,WAEL74H,KAAKm5H,iBAAkB,EACvBn5H,KAAKq5H,yBAA0B,GAG/Br5H,KAAKm5H,kBAELn5H,KAAK86H,oBAED96H,KAAKq5H,wBAELr5H,KAAK+C,KAAK6jC,MAAMxqB,OAAOpc,OAIvBA,KAAKi4H,WACLj4H,KAAK8N,QAAU,KACf9N,KAAKk6H,QAAU,KACfl6H,KAAK84H,aAAe,KAEpB94H,KAAK45H,UAAUltF,UACf1sC,KAAK65H,OAAOntF,UACZ1sC,KAAKipC,QAAQyD,UACb1sC,KAAKmpC,SAASuD,UACd1sC,KAAKk1G,OAAOxoE,UACZ1sC,KAAK85H,OAAOptF,UACZ1sC,KAAK+5H,OAAOrtF,UACZ1sC,KAAKg6H,iBAAiBttF,cAUlCrH,OAAQ,WAEJ,GAAKrlC,KAAK+C,KAAKiX,MAAM6rG,cAAc7lH,KAAKgT,KAAxC,CAMIhT,KAAK+6H,YAAc/6H,KAAK06H,4BAExB16H,KAAK45H,UAAUj0F,SAAS3lC,MACxBA,KAAK06H,2BAA4B,GAGjC16H,KAAK04H,iBAAmB14H,KAAK+C,KAAKiX,MAAMurG,aAAavlH,KAAKgT,OAE1DhT,KAAK04H,iBAAkB,EACvB14H,KAAKmrE,KAAKnrE,KAAKo6H,YAAap6H,KAAKq6H,cAAer6H,KAAKs6H,YAAat6H,KAAKy6H,YAG3E,IAAIv9E,EAAMl9C,KAAK+C,KAAK0iC,KAAKA,KAEzB,GAAIzlC,KAAK67G,UACT,CACI,GAAI77G,KAAKo5H,cACT,CACI,IAAIjB,EAAcn4H,KAAKi5H,OAAOd,YAE9B,KAAIA,IAAgBn4H,KAAKsnC,OAAStnC,KAAKu6H,WAAa,IAAMv6H,KAAKY,UAAY,IAUvE,OARAZ,KAAKo5H,eAAgB,EACrBp5H,KAAKy2G,UAAYv5D,EAAO,IAAOi7E,EAC/Bn4H,KAAKq4H,SAAWr4H,KAAKy2G,UAAYz2G,KAAKo4H,WAU9Cp4H,KAAKm4H,YAAcj7E,EAAMl9C,KAAKy2G,UAE1Bz2G,KAAKm4H,aAAen4H,KAAKo4H,aAErBp4H,KAAKmwH,cAEDnwH,KAAKqrE,MAGLrrE,KAAKk1G,OAAOvvE,SAAS3lC,MAGrBA,KAAK67G,WAAY,EAEU,KAAvB77G,KAAKw4H,eAELx4H,KAAKm4H,YAAc,EACnBn4H,KAAKy2G,UAAYv5D,EACjBl9C,KAAK67G,WAAY,IAIjB77G,KAAKg6H,iBAAiBr0F,SAAS3lC,KAAKw4H,cAAex4H,MACnDA,KAAKmrE,KAAKnrE,KAAKw4H,cAAe,EAAGx4H,KAAKyhC,QAAQ,GAAM,GAAM,KAMnC,KAAvBzhC,KAAKw4H,eAELx4H,KAAKmM,OAIRnM,KAAKqrE,MAEVrrE,KAAKk1G,OAAOvvE,SAAS3lC,MAEM,KAAvBA,KAAKw4H,gBAELx4H,KAAKm4H,YAAc,EACnBn4H,KAAKy2G,UAAYv5D,GAIrBl9C,KAAK67G,WAAY,EAEjB77G,KAAKmrE,KAAKnrE,KAAKw4H,cAAe,EAAGx4H,KAAKyhC,QAAQ,GAAM,GAAM,IAI1DzhC,KAAKmM,cA1FbnM,KAAKwC,WAuGbw4H,SAAU,SAAUv5F,GAEhB,OAAOzhC,KAAKmrE,KAAK,KAAM,EAAG1pC,GAAQ,IAetC0pC,KAAM,SAAUsN,EAAQ73E,EAAU6gC,EAAQ4pC,EAAM4vD,EAAcpB,GAM1D,QAJetzH,IAAXkyE,IAAmC,IAAXA,GAA+B,OAAXA,IAAmBA,EAAS,SACvDlyE,IAAjB00H,IAA8BA,GAAe,QAClC10H,IAAXszH,IAAwBA,GAAS,GAEjC75H,KAAK67G,YAAc77G,KAAK44H,gBAAkBqC,IAAiBj7H,KAAK24H,SAGhE,OAAO34H,KAkBX,GAfIA,KAAKi5H,QAAUj5H,KAAK67G,YAAc77G,KAAK44H,gBAAkB54H,KAAK24H,UAAYsC,KAEtEj7H,KAAKmwH,cAELnwH,KAAKk7H,2BAEAl7H,KAAKowH,gBAEVpwH,KAAKi5H,OAAO/vF,QACZlpC,KAAKi5H,OAAOd,YAAc,GAG9Bn4H,KAAK67G,WAAY,GAGN,KAAXpjC,GAAiBzxE,OAAO4qB,KAAK5xB,KAAKi4H,SAASt1H,OAAS,EAMpD,OAAO3C,KAGX,GAAe,KAAXy4E,EACJ,CACI,IAAIz4E,KAAKi4H,QAAQx/C,GA6Bb,OADAn4E,QAAQ+Z,KAAK,mCAAqCo+D,EAAS,kBACpDz4E,KA3BPA,KAAKw4H,cAAgB//C,EAGrBz4E,KAAKY,SAAWZ,KAAKi4H,QAAQx/C,GAAQnsE,MACrCtM,KAAKyhC,OAASzhC,KAAKi4H,QAAQx/C,GAAQh3C,OACnCzhC,KAAKqrE,KAAOrrE,KAAKi4H,QAAQx/C,GAAQpN,KACjCrrE,KAAK+iC,SAAW/iC,KAAKi4H,QAAQx/C,GAAQ11C,SACrC/iC,KAAKo4H,WAAap4H,KAAKi4H,QAAQx/C,GAAQ2/C,gBAEjB,IAAX32F,IAEPzhC,KAAKyhC,OAASA,QAGE,IAAT4pC,IAEPrrE,KAAKqrE,KAAOA,GAGhBrrE,KAAKo6H,YAAc3hD,EACnBz4E,KAAKq6H,cAAgBr6H,KAAKY,SAC1BZ,KAAKs6H,YAAct6H,KAAKyhC,OACxBzhC,KAAKy6H,UAAYz6H,KAAKqrE,UAU1BzqE,EAAWA,GAAY,OAER2F,IAAXk7B,IAAwBA,EAASzhC,KAAKi6H,cAC7B1zH,IAAT8kE,IAAsBA,EAAOrrE,KAAKqrE,MAEtCrrE,KAAKY,SAAW8C,KAAKuC,IAAI,EAAGrF,GAC5BZ,KAAKyhC,OAASA,EACdzhC,KAAKqrE,KAAOA,EACZrrE,KAAK+iC,SAAW,EAChB/iC,KAAKo4H,WAAa,EAElBp4H,KAAKo6H,YAAc3hD,EACnBz4E,KAAKq6H,cAAgBz5H,EACrBZ,KAAKs6H,YAAc74F,EACnBzhC,KAAKy6H,UAAYpvD,EAyHrB,OAtHIrrE,KAAKmwH,cAGDnwH,KAAK+C,KAAKiX,MAAMsrG,eAAetlH,KAAKgT,MAEpChT,KAAKm7H,0BAEDn7H,KAAKqrE,MAAmB,KAAXoN,IAEbz4E,KAAKi5H,OAAO5tD,MAAO,GAGlBrrE,KAAKqrE,MAAmB,KAAXoN,GAEdz4E,KAAKo7H,qBAGTp7H,KAAKk4H,cAAgBl4H,KAAKi5H,OAAO99G,OAAO4nB,SAElB,IAAlB/iC,KAAK+iC,WAEL/iC,KAAK+iC,SAAW/iC,KAAKk4H,cACrBl4H,KAAKo4H,WAAa10H,KAAKwC,KAA0B,IAArBlG,KAAKk4H,gBAGjCl4H,KAAKqrE,MAAmB,KAAXoN,EAEbz4E,KAAKq7H,aAAa,EAAG,GAIrBr7H,KAAKq7H,aAAa,EAAGr7H,KAAKY,SAAUZ,KAAK+iC,UAG7C/iC,KAAK67G,WAAY,EACjB77G,KAAKsnC,QAAS,EACdtnC,KAAKy2G,UAAYz2G,KAAK+C,KAAK0iC,KAAKA,KAChCzlC,KAAKm4H,YAAc,EACnBn4H,KAAKq4H,SAAWr4H,KAAKy2G,UAAYz2G,KAAKo4H,WAElCyB,GAEA75H,KAAK65H,OAAOl0F,SAAS3lC,QAKzBA,KAAK04H,iBAAkB,EAEnB14H,KAAK+C,KAAKiX,MAAMkrG,SAASllH,KAAKgT,OAA0D,IAAlDhT,KAAK+C,KAAKiX,MAAMkrG,SAASllH,KAAKgT,KAAKiwG,YAEzEjjH,KAAK+C,KAAK6jC,MAAM0rF,OAAOtyH,KAAKgT,IAAKhT,OAIpCA,KAAK+C,KAAKiX,MAAMkrG,SAASllH,KAAKgT,MAAQhT,KAAK+C,KAAKiX,MAAMkrG,SAASllH,KAAKgT,KAAK67C,QAE9E7uD,KAAK+C,KAAKiX,MAAMirG,YAAYjlH,KAAKgT,KACjChT,KAAK04H,iBAAkB,GAElB14H,KAAKi5H,SAAWj5H,KAAK+C,KAAKonB,OAAOm1B,UAAuC,IAA3Bt/C,KAAKi5H,OAAOn1B,aAE9D9jG,KAAKi5H,OAAO9tD,OAEZnrE,KAAKi5H,OAAO5tD,KAAOrrE,KAAKqrE,KAGxBrrE,KAAKk4H,cAAgBl4H,KAAKi5H,OAAOl2F,SAEX,IAAlB/iC,KAAK+iC,WAEL/iC,KAAK+iC,SAAW/iC,KAAKk4H,cACrBl4H,KAAKo4H,WAAkC,IAArBp4H,KAAKk4H,eAG3Bl4H,KAAKk5H,cAAgBl5H,KAAK+C,KAAK6jC,MAAMnF,OAErCzhC,KAAKi5H,OAAOd,YAAcn4H,KAAKY,SAC/BZ,KAAKi5H,OAAOqC,MAAQt7H,KAAKm6H,OAErBn6H,KAAKm6H,QAAUn6H,KAAK+C,KAAK6jC,MAAM20F,KAE/Bv7H,KAAKi5H,OAAOx3F,OAAS,EAIrBzhC,KAAKi5H,OAAOx3F,OAASzhC,KAAKi6H,QAAUj6H,KAAKk5H,cAG7Cl5H,KAAKo5H,eAAiBp5H,KAAKw4H,cAC3Bx4H,KAAK67G,WAAY,EACjB77G,KAAKsnC,QAAS,EACdtnC,KAAKu6H,WAAa,EAClBv6H,KAAKy2G,UAAYz2G,KAAK+C,KAAK0iC,KAAKA,KAChCzlC,KAAKm4H,YAAc,EACnBn4H,KAAKq4H,SAAWr4H,KAAKy2G,UAAYz2G,KAAKo4H,WAElCyB,GAEA75H,KAAK65H,OAAOl0F,SAAS3lC,OAKzBA,KAAK04H,iBAAkB,EAGvB14H,KAAK64H,WAED74H,KAAKqrE,MAEL/qE,QAAQ+Z,KAAK,iCAAmCra,KAAKkyB,KAAO,qCAGhElyB,KAAKm5H,iBAAkB,EACvBn5H,KAAKq5H,yBAA0B,GAG5Br5H,MAYX4pC,QAAS,SAAU6uC,EAAQ73E,EAAU6gC,EAAQ4pC,GAEzCoN,EAASA,GAAU,GACnB73E,EAAWA,GAAY,EACvB6gC,EAASA,GAAU,OACNl7B,IAAT8kE,IAAsBA,GAAO,GAEjCrrE,KAAKmrE,KAAKsN,EAAQ73E,EAAU6gC,EAAQ4pC,GAAM,IAQ9CniC,MAAO,WAEClpC,KAAK67G,YAEL77G,KAAKsnC,QAAS,EACdtnC,KAAKs4H,eAAiBt4H,KAAKm4H,YAC3Bn4H,KAAKu4H,WAAav4H,KAAK+C,KAAK0iC,KAAKA,KACjCzlC,KAAKu6H,WAAav6H,KAAKi5H,OAAOd,YAC9Bn4H,KAAKipC,QAAQtD,SAAS3lC,MACtBA,KAAKmM,SASbi9B,OAAQ,WAEJ,GAAIppC,KAAKsnC,OACT,CACI,GAAItnC,KAAKmwH,cACT,CACI,IAAIntH,EAAIU,KAAKuC,IAAI,EAAGjG,KAAKY,SAAYZ,KAAKs4H,eAAiB,KAE3Dt4H,KAAKm7H,0BAEsB,KAAvBn7H,KAAKw4H,gBAEDx4H,KAAKqrE,KAELrrE,KAAKi5H,OAAO5tD,MAAO,EAInBrrE,KAAKo7H,sBAIb,IAAIr4F,EAAW/iC,KAAK+iC,SAAY/iC,KAAKs4H,eAAiB,IAElDt4H,KAAKqrE,MAA+B,KAAvBrrE,KAAKw4H,cAElBx4H,KAAKq7H,aAAa,EAAGr4H,GAIrBhD,KAAKq7H,aAAa,EAAGr4H,EAAG+/B,QAK5B/iC,KAAKo5H,eAAiBp5H,KAAKw4H,cAC3Bx4H,KAAKi5H,OAAOd,YAAcn4H,KAAKu6H,WAC/Bv6H,KAAKu6H,WAAa,EAClBv6H,KAAKi5H,OAAO9tD,OAGhBnrE,KAAK67G,WAAY,EACjB77G,KAAKsnC,QAAS,EACdtnC,KAAKy2G,WAAcz2G,KAAK+C,KAAK0iC,KAAKA,KAAOzlC,KAAKu4H,WAC9Cv4H,KAAKmpC,SAASxD,SAAS3lC,QAS/BmM,KAAM,WAkBF,GAhBInM,KAAK67G,WAAa77G,KAAKi5H,SAEnBj5H,KAAKmwH,cAELnwH,KAAKk7H,2BAEAl7H,KAAKowH,gBAEVpwH,KAAKi5H,OAAO/vF,QACZlpC,KAAKi5H,OAAOd,YAAc,IAIlCn4H,KAAK04H,iBAAkB,EACvB14H,KAAK67G,WAAY,GAEZ77G,KAAKsnC,OACV,CACI,IAAIk0F,EAAax7H,KAAKw4H,cAEK,KAAvBx4H,KAAKw4H,eAELx4H,KAAKg6H,iBAAiBr0F,SAAS3lC,KAAKw4H,cAAex4H,MAGvDA,KAAKw4H,cAAgB,GAEE,OAAnBx4H,KAAKy4H,WAELz4H,KAAKy4H,UAAUtsH,OAGnBnM,KAAK85H,OAAOn0F,SAAS3lC,KAAMw7H,KAgBnCp2F,OAAQ,SAAUrC,EAAUsoC,EAAMoN,QAEjBlyE,IAAT8kE,IAAsBA,GAAO,QAClB9kE,IAAXkyE,IAAwBA,EAASz4E,KAAKw4H,eAEtCx4H,KAAKsnC,SAKTtnC,KAAKmrE,KAAKsN,EAAQ,EAAG,EAAGpN,GAExBrrE,KAAKy7H,OAAO14F,EAAU,KAW1B24F,QAAS,SAAU34F,GAEf/iC,KAAKy7H,OAAO14F,EAAU,IAY1B04F,OAAQ,SAAU14F,EAAUtB,GAEnBzhC,KAAK67G,YAAa77G,KAAKsnC,QAAU7F,IAAWzhC,KAAKyhC,cAKrCl7B,IAAbw8B,IAA0BA,EAAW,UAE1Bx8B,IAAXk7B,GAMJzhC,KAAKy4H,UAAYz4H,KAAK+C,KAAKo2B,IAAI46C,MAAM/zE,MAAMqxB,IAAKoQ,OAAQA,GAAUsB,EAAUvhC,EAAO+uG,OAAOK,OAAOC,MAAM,GAEvG7wG,KAAKy4H,UAAUpjB,WAAWl8E,IAAIn5B,KAAK27H,aAAc37H,OAN7CM,QAAQ+Z,KAAK,+CAerBshH,aAAc,WAEV37H,KAAKyiC,eAAekD,SAAS3lC,KAAMA,KAAKyhC,QAEpB,IAAhBzhC,KAAKyhC,QAELzhC,KAAKmM,QAebyvH,mBAAoB,SAAUC,GAItB77H,KAAKowH,eAAiBpwH,KAAKi5H,SAE3Bj5H,KAAKk5H,cAAgB2C,EACrB77H,KAAKi5H,OAAOx3F,OAASzhC,KAAKk5H,cAAgBl5H,KAAKi6H,UAUvDz3H,QAAS,SAAU4Z,QAEA7V,IAAX6V,IAAwBA,GAAS,GAErCpc,KAAKm5H,iBAAkB,EACvBn5H,KAAKq5H,wBAA0Bj9G,EAC/Bpc,KAAKmM,OAEDiQ,EAEApc,KAAK+C,KAAK6jC,MAAMxqB,OAAOpc,OAIvBA,KAAKi4H,WACLj4H,KAAK8N,QAAU,KACf9N,KAAKk6H,QAAU,KACfl6H,KAAK84H,aAAe,KAEpB94H,KAAK45H,UAAUltF,UACf1sC,KAAK65H,OAAOntF,UACZ1sC,KAAKipC,QAAQyD,UACb1sC,KAAKmpC,SAASuD,UACd1sC,KAAKk1G,OAAOxoE,UACZ1sC,KAAK85H,OAAOptF,UACZ1sC,KAAK+5H,OAAOrtF,UACZ1sC,KAAKg6H,iBAAiBttF,YAI9ByuF,wBAAyB,WAErBn7H,KAAKi5H,OAASj5H,KAAK8N,QAAQguH,qBAC3B97H,KAAKi5H,OAAOl9D,QAAQ/7D,KAAK84H,cAAgB94H,KAAKg5H,UAC9Ch5H,KAAKk6H,QAAUl6H,KAAK+C,KAAKiX,MAAM2sG,aAAa3mH,KAAKgT,KACjDhT,KAAKi5H,OAAO99G,OAASnb,KAAKk6H,QAC1Bl6H,KAAKs5H,aAGTwB,kBAAmB,WAEf96H,KAAKi5H,OAAOh9D,WAAWj8D,KAAK84H,cAAgB94H,KAAKg5H,WAGrDqC,aAAc,SAAUU,EAAMtkH,EAAQsrB,QAIjBx8B,IAAbw8B,EAEA/iC,KAAKi5H,OAAO3sH,MAAMyvH,GAAQ,EAAGtkH,GAAU,GAIvCzX,KAAKi5H,OAAO3sH,MAAMyvH,GAAQ,EAAGtkH,GAAU,EAAGsrB,IAIlDm4F,yBAA0B,WAGtBl7H,KAAK66H,wBAEL,IAEI76H,KAAKi5H,OAAO9sH,KAAK,GAErB,MAAOwC,IAKP3O,KAAK86H,oBAEL96H,KAAKi5H,OAAS,MAGlBmC,mBAAoB,WAEhBp7H,KAAKi5H,OAAO+C,QAAUh8H,KAAK46H,eAAe3qG,KAAKjwB,OAGnD66H,sBAAuB,WAEnB76H,KAAKi5H,OAAO+C,QAAU,OAK9Bx6H,EAAOo3E,MAAMt2E,UAAUC,YAAcf,EAAOo3E,MAO5C5xE,OAAOyF,eAAejL,EAAOo3E,MAAMt2E,UAAW,cAE1C4E,IAAK,WAED,OAAOlH,KAAK+C,KAAKiX,MAAMkrG,SAASllH,KAAKgT,KAAKiwG,cAUlDj8G,OAAOyF,eAAejL,EAAOo3E,MAAMt2E,UAAW,aAE1C4E,IAAK,WAED,OAAOlH,KAAK+C,KAAKiX,MAAMsrG,eAAetlH,KAAKgT,QASnDhM,OAAOyF,eAAejL,EAAOo3E,MAAMt2E,UAAW,QAE1C4E,IAAK,WAED,OAAQlH,KAAKm6H,QAAUn6H,KAAK+C,KAAK6jC,MAAM20F,MAG3Cp0H,IAAK,SAAUC,IAEXA,EAAQA,IAAS,KAEHpH,KAAKm6H,SAKf/yH,GAEApH,KAAKm6H,QAAS,EACdn6H,KAAKw6H,YAAcx6H,KAAKs6H,YAEpBt6H,KAAKmwH,cAELnwH,KAAKg5H,SAASU,KAAKtyH,MAAQ,EAEtBpH,KAAKowH,eAAiBpwH,KAAKi5H,SAEhCj5H,KAAKi5H,OAAOx3F,OAAS,KAKzBzhC,KAAKm6H,QAAS,EAEVn6H,KAAKmwH,cAELnwH,KAAKg5H,SAASU,KAAKtyH,MAAQpH,KAAKw6H,YAE3Bx6H,KAAKowH,eAAiBpwH,KAAKi5H,SAEhCj5H,KAAKi5H,OAAOx3F,OAASzhC,KAAKw6H,cAIlCx6H,KAAK+5H,OAAOp0F,SAAS3lC,UAS7BgH,OAAOyF,eAAejL,EAAOo3E,MAAMt2E,UAAW,UAE1C4E,IAAK,WAED,OAAOlH,KAAKi6H,SAGhB9yH,IAAK,SAAUC,GAGPpH,KAAKowH,gBAELhpH,EAAQpH,KAAK+C,KAAKgjC,KAAKpJ,MAAMv1B,EAAO,EAAG,IAGvCpH,KAAKm6H,OAELn6H,KAAKw6H,YAAcpzH,GAIvBpH,KAAKs6H,YAAclzH,EACnBpH,KAAKi6H,QAAU7yH,EAEXpH,KAAKmwH,cAELnwH,KAAKg5H,SAASU,KAAKtyH,MAAQA,EAEtBpH,KAAKowH,eAAiBpwH,KAAKi5H,SAEhCj5H,KAAKi5H,OAAOx3F,OAASzhC,KAAKk5H,cAAgB9xH,OAMtDJ,OAAOyF,eAAejL,EAAOo3E,MAAMt2E,UAAW,YAE1C4E,IAAK,WAED,OAAOlH,KAAKi5H,OAASj5H,KAAKs5H,UAAY,QA8B9C93H,EAAOq8C,aAAe,SAAU96C,GAK5B/C,KAAK+C,KAAOA,EAKZ/C,KAAKi8H,cAAgB,IAAIz6H,EAAO+gC,OAMhCviC,KAAKk8H,eAAiB,IAAI16H,EAAO+gC,OAMjCviC,KAAK+5H,OAAS,IAAIv4H,EAAO+gC,OAMzBviC,KAAKm8H,SAAW,IAAI36H,EAAO+gC,OAO3BviC,KAAKo8H,cAAgB,IAAI56H,EAAO+gC,OAMhCviC,KAAKmoC,cAAgB,IAAI3mC,EAAO+gC,OAMhCviC,KAAK8N,QAAU,KAUf9N,KAAKq8H,YAAc,KAMnBr8H,KAAKmwH,eAAgB,EAMrBnwH,KAAKowH,eAAgB,EAMrBpwH,KAAKytH,SAAU,EAMfztH,KAAKg4H,iBAAkB,EAMvBh4H,KAAKkjH,aAAc,EAMnBljH,KAAKs8H,SAAW,GAShBt8H,KAAK0gD,aAAc,EAOnB1gD,KAAKu8H,YAAa,EAOlBv8H,KAAKm6H,QAAS,EAOdn6H,KAAKw8H,cAAgB,KAOrBx8H,KAAKi6H,QAAU,EAMfj6H,KAAKy8H,WAMLz8H,KAAK08H,WAAa,IAAIl7H,EAAO62C,SAM7Br4C,KAAK28H,WAAY,EAMjB38H,KAAK48H,eAAiB,KAMtB58H,KAAK68H,cAAgB,KAMrB78H,KAAK8wC,SAAW9wC,KAAK8wC,SAAS7gB,KAAKjwB,MAMnCA,KAAK88H,eAAiB98H,KAAK88H,eAAe7sG,KAAKjwB,OAGnDwB,EAAOq8C,aAAav7C,WAOhB2hC,KAAM,WAEF,IAAI9Z,EAASnqB,KAAK+C,KAAKonB,OACnBu0B,EAAetuC,OAAOsuC,aAQ1B,GANIv0B,EAAOo2B,MAA2B,IAApBp2B,EAAO00B,WAErB7+C,KAAKs8H,SAAW,GAIhB59E,EACJ,CAEI,IAAkC,IAA9BA,EAAaq+E,aAIb,OAFA/8H,KAAKytH,SAAU,OACfztH,KAAKkjH,aAAc,GAKvB,IAAqC,IAAjCxkE,EAAas+E,gBAIb,OAFAh9H,KAAKowH,eAAgB,OACrBpwH,KAAKkjH,aAAc,GAK3B,GAAIxkE,GAAgBA,EAAau+E,aAE7Bj9H,KAAK8N,QAAU4wC,EAAau+E,iBAGhC,CACI,IAAIj4B,EAAe50F,OAAO40F,cAAgB50F,OAAO60F,mBAEjD,GAAID,EAEA,IAEIhlG,KAAK8N,QAAU,IAAIk3F,EAEvB,MAAOzkG,GAEHP,KAAK8N,QAAU,KACf9N,KAAKmwH,eAAgB,EACrBnwH,KAAKkjH,aAAc,EAEnB5iH,QAAQ+Z,KAAK9Z,IAKzB,GAAqB,OAAjBP,KAAK8N,QACT,CAEI,QAAqBvH,IAAjB6J,OAAOihH,MAGP,YADArxH,KAAKytH,SAAU,GAKfztH,KAAKowH,eAAgB,OAKzBpwH,KAAKmwH,eAAgB,EAErBnwH,KAAKq8H,YAAcr8H,KAAK8N,QAAQuuH,aAAgB,KAAOr8H,KAAK8N,QAAQkgC,YAAc,YAElDznC,IAA5BvG,KAAK8N,QAAQ0rH,WAEbx5H,KAAKu5H,WAAav5H,KAAK8N,QAAQ2rH,iBAI/Bz5H,KAAKu5H,WAAav5H,KAAK8N,QAAQ0rH,aAGnCx5H,KAAKu5H,WAAWG,KAAKtyH,MAAQ,EAC7BpH,KAAKu5H,WAAWx9D,QAAQ/7D,KAAK8N,QAAQ0xE,aAIrCx/E,KAAK8N,QAAQovH,cAAgBl9H,KAAK88H,eAEP,cAAvB98H,KAAK8N,QAAQ+4B,OAEb7mC,KAAK+C,KAAKmU,OAAO85B,iBAAiB,QAAShxC,KAAK8wC,UAInD9wC,KAAKytH,SAGFtjG,EAAO4+E,oBAEP/oG,KAAKm9H,eAITn9H,KAAKmwH,eAAiBhmG,EAAO82E,QAAU92E,EAAO+2E,eAAiB,IAE/D5gG,QAAQ+P,IAAI,6IAUpB8sH,aAAc,WAENn9H,KAAKytH,SAAYr9G,OAAOsuC,eAAqD,IAArCtuC,OAAOsuC,aAAaq+E,eAKhE/8H,KAAK+C,KAAK2jC,MAAMye,qBAAqBnlD,KAAKo9H,OAAQp9H,MAAM,GAExDA,KAAKkjH,aAAc,IASvBma,eAAgB,WAEZr9H,KAAKkjH,aAAc,EACnBljH,KAAKw8H,cAAgB,KACrBx8H,KAAKo8H,cAAcz2F,YAQvB23F,oBAAqB,WAEjB,OAAQt9H,KAAKmwH,eAAwC,cAAvBnwH,KAAK8N,QAAQ+4B,OAQ/C02F,eAAgB,WAEZ,GAAIv9H,KAAKmwH,cAEL,OAAOnwH,KAAK8N,QAAQs7B,UAS5Bo0F,0BAA2B,WAEvB,GAAIx9H,KAAKs9H,sBAEL,OAAOt9H,KAAK8N,QAAQs7B,UAU5Bg0F,OAAQ,WAEJ,GAAIp9H,KAAKytH,UAAYztH,KAAKkjH,aAAsC,OAAvBljH,KAAKw8H,cAE1C,OAAO,EAIX,GAAIx8H,KAAKowH,cAELpwH,KAAKq9H,sBAEJ,GAAIr9H,KAAKmwH,cACd,CAMI,IAAIh1G,EAASnb,KAAK8N,QAAQqV,aAAa,EAAG,EAAG,OAC7CnjB,KAAKw8H,cAAgBx8H,KAAK8N,QAAQguH,qBAClC97H,KAAKw8H,cAAcrhH,OAASA,EAC5Bnb,KAAKw8H,cAAczgE,QAAQ/7D,KAAK8N,QAAQ0xE,aAExC,IAAI7yC,EAAQ3sC,KAEZA,KAAKw8H,cAAcR,QAAU,WAEzBrvF,EAAM0wF,iBACN1wF,EAAM6wF,kCAGuBj3H,IAA7BvG,KAAKw8H,cAAclwH,MAEnBtM,KAAKw8H,cAAciB,OAAO,GAI1Bz9H,KAAKw8H,cAAclwH,MAAM,GAI7BtM,KAAKw9H,4BAIT,OAAO,GAQXE,QAAS,WAEL,IAAI19H,KAAKytH,QAKT,IAAK,IAAI/qH,EAAI,EAAGA,EAAI1C,KAAKy8H,QAAQ95H,OAAQD,IAEjC1C,KAAKy8H,QAAQ/5H,IAEb1C,KAAKy8H,QAAQ/5H,GAAGyJ,QAU5BwoG,SAAU,WAEN,IAAI30G,KAAKytH,QAKT,IAAK,IAAI/qH,EAAI,EAAGA,EAAI1C,KAAKy8H,QAAQ95H,OAAQD,IAEjC1C,KAAKy8H,QAAQ/5H,IAEb1C,KAAKy8H,QAAQ/5H,GAAGwmC,SAU5B0rE,UAAW,WAEP,IAAI50G,KAAKytH,QAKT,IAAK,IAAI/qH,EAAI,EAAGA,EAAI1C,KAAKy8H,QAAQ95H,OAAQD,IAEjC1C,KAAKy8H,QAAQ/5H,IAEb1C,KAAKy8H,QAAQ/5H,GAAG0mC,UAY5BkpF,OAAQ,SAAUt/G,EAAK4zB,GAEnBA,EAAQA,GAAS,KAEjB,IAAI+2F,EAAY39H,KAAK+C,KAAKiX,MAAM2sG,aAAa3zG,GAE7C,GAAI2qH,IAE4C,IAAxC39H,KAAK+C,KAAKiX,MAAMsrG,eAAetyG,GACnC,CACIhT,KAAK+C,KAAKiX,MAAMorG,YAAYpyG,EAAK,cAAc,GAE/C,IAAI25B,EAAQ3sC,KAEZ,IAEIA,KAAK8N,QAAQ8vH,gBAAgBD,EAAW,SAAUxiH,GAEzCwxB,EAAM5pC,KAAKwmC,UAOZpuB,IAEAwxB,EAAM5pC,KAAKiX,MAAMqrG,aAAaryG,EAAKmI,GACnCwxB,EAAMsvF,cAAct2F,SAAS3yB,EAAK4zB,MAI9C,MAAOj4B,OAgBnBkvH,mBAAoB,SAAUC,EAAO9oF,EAAUxL,GAEtB,iBAAVs0F,IAEPA,GAAUA,IAGd99H,KAAK08H,WAAWp2F,QAEhB,IAAK,IAAI5jC,EAAI,EAAGA,EAAIo7H,EAAMn7H,OAAQD,IAE1Bo7H,EAAMp7H,aAAclB,EAAOo3E,MAEtB54E,KAAK+C,KAAKiX,MAAMsrG,eAAewY,EAAMp7H,GAAGsQ,MAEzChT,KAAK08H,WAAWvjG,IAAI2kG,EAAMp7H,GAAGsQ,KAG3BhT,KAAK+C,KAAKiX,MAAMsrG,eAAewY,EAAMp7H,KAE3C1C,KAAK08H,WAAWvjG,IAAI2kG,EAAMp7H,IAKJ,IAA1B1C,KAAK08H,WAAW1jF,OAEhBh5C,KAAK28H,WAAY,EACjB3nF,EAASxwC,KAAKglC,KAIdxpC,KAAK28H,WAAY,EACjB38H,KAAK48H,eAAiB5nF,EACtBh1C,KAAK68H,cAAgBrzF,IAU7BnE,OAAQ,WAEJ,IAAIrlC,KAAKytH,QAAT,CAOA,IAAKztH,KAAKs9H,sBAEN,IAAK,IAAI56H,EAAI,EAAGA,EAAI1C,KAAKy8H,QAAQ95H,OAAQD,IAErC1C,KAAKy8H,QAAQ/5H,GAAG2iC,SAIxB,GAAIrlC,KAAK28H,UACT,CAGI,IAFA,IAAI3pH,EAAMhT,KAAK08H,WAAWltE,MAEnBx8C,GAEChT,KAAK+C,KAAKiX,MAAMsrG,eAAetyG,IAE/BhT,KAAK08H,WAAWtgH,OAAOpJ,GAG3BA,EAAMhT,KAAK08H,WAAWlnF,KAGI,IAA1Bx1C,KAAK08H,WAAW1jF,QAEhBh5C,KAAK28H,WAAY,EACjB38H,KAAK48H,eAAep4H,KAAKxE,KAAK68H,mBAe1C1jG,IAAK,SAAUnmB,EAAKyuB,EAAQ4pC,EAAMtP,QAEfx1D,IAAXk7B,IAAwBA,EAAS,QACxBl7B,IAAT8kE,IAAsBA,GAAO,QACjB9kE,IAAZw1D,IAAyBA,EAAU/7D,KAAKg4H,iBAE5C,IAAIpxF,EAAQ,IAAIplC,EAAOo3E,MAAM54E,KAAK+C,KAAMiQ,EAAKyuB,EAAQ4pC,EAAMtP,GAI3D,OAFA/7D,KAAKy8H,QAAQ30H,KAAK8+B,GAEXA,GAUXwtC,UAAW,SAAUphE,GAIjB,OAFkB,IAAIxR,EAAOq3E,YAAY74E,KAAK+C,KAAMiQ,IAYxDoJ,OAAQ,SAAUwqB,GAId,IAFA,IAAIlkC,EAAI1C,KAAKy8H,QAAQ95H,OAEdD,KAEH,GAAI1C,KAAKy8H,QAAQ/5H,KAAOkkC,EAIpB,OAFA5mC,KAAKy8H,QAAQ/5H,GAAGF,SAAQ,GACxBxC,KAAKy8H,QAAQ3zH,OAAOpG,EAAG,IAChB,EAIf,OAAO,GASXynC,UAAW,WAEPnqC,KAAK09H,UAEL,IAAK,IAAIh7H,EAAI,EAAGA,EAAI1C,KAAKy8H,QAAQ95H,OAAQD,IAEjC1C,KAAKy8H,QAAQ/5H,IAEb1C,KAAKy8H,QAAQ/5H,GAAGF,UAIxBxC,KAAKy8H,QAAQ95H,OAAS,GAW1Bo7H,YAAa,SAAU/qH,GAKnB,IAHA,IAAItQ,EAAI1C,KAAKy8H,QAAQ95H,OACjBqH,EAAU,EAEPtH,KAEC1C,KAAKy8H,QAAQ/5H,GAAGsQ,MAAQA,IAExBhT,KAAKy8H,QAAQ/5H,GAAGF,SAAQ,GACxBxC,KAAKy8H,QAAQ3zH,OAAOpG,EAAG,GACvBsH,KAIR,OAAOA,GAYXmhE,KAAM,SAAUn4D,EAAKyuB,EAAQ4pC,GAEzB,IAAIrrE,KAAKytH,QAAT,CAKA,IAAI7mF,EAAQ5mC,KAAKm5B,IAAInmB,EAAKyuB,EAAQ4pC,GAIlC,OAFAzkC,EAAMukC,OAECvkC,IASX+Z,QAAS,WAEL,IAAI3gD,KAAKm6H,OAAT,CAKAn6H,KAAKm6H,QAAS,EAEVn6H,KAAKmwH,gBAELnwH,KAAKw6H,YAAcx6H,KAAKu5H,WAAWG,KAAKtyH,MACxCpH,KAAKu5H,WAAWG,KAAKtyH,MAAQ,GAIjC,IAAK,IAAI1E,EAAI,EAAGA,EAAI1C,KAAKy8H,QAAQ95H,OAAQD,IAEjC1C,KAAKy8H,QAAQ/5H,GAAG0tH,gBAEhBpwH,KAAKy8H,QAAQ/5H,GAAG64H,MAAO,GAI/Bv7H,KAAK+5H,OAAOp0F,aAShBib,UAAW,WAEP,GAAK5gD,KAAKm6H,SAAUn6H,KAAKu8H,WAAzB,CAKAv8H,KAAKm6H,QAAS,EAEVn6H,KAAKmwH,gBAELnwH,KAAKu5H,WAAWG,KAAKtyH,MAAQpH,KAAKw6H,aAItC,IAAK,IAAI93H,EAAI,EAAGA,EAAI1C,KAAKy8H,QAAQ95H,OAAQD,IAEjC1C,KAAKy8H,QAAQ/5H,GAAG0tH,gBAEhBpwH,KAAKy8H,QAAQ/5H,GAAG64H,MAAO,GAI/Bv7H,KAAKm8H,SAASx2F,aAOlBkM,WAAY,WAEJ7xC,KAAK0gD,aAEL1gD,KAAK2gD,WAQb7O,YAAa,WAET9xC,KAAKu9H,iBAEDv9H,KAAK0gD,aAEL1gD,KAAK4gD,aASbp+C,QAAS,WAELxC,KAAKmqC,YAELnqC,KAAK+5H,OAAOrtF,UACZ1sC,KAAKi8H,cAAcvvF,UACnB1sC,KAAKmoC,cAAcuE,UACnB1sC,KAAKo8H,cAAc1vF,UACnB1sC,KAAKm8H,SAASzvF,UACd1sC,KAAKk8H,eAAexvF,UAEpB1sC,KAAK+C,KAAKmU,OAAO+6B,oBAAoB,QAASjyC,KAAK8wC,UAE/C9wC,KAAK8N,UAEL9N,KAAK8N,QAAQovH,cAAgB,KAEzB9sH,OAAOsuC,aAGPtuC,OAAOsuC,aAAau+E,aAAej9H,KAAK8N,QAGxC9N,KAAK8N,QAAQkwH,OAEbh+H,KAAK8N,QAAQkwH,QAGjBh+H,KAAK8N,QAAU,OAQvBgvH,eAAgB,WAEZ98H,KAAKmoC,cAAcxC,SAAS3lC,KAAK8N,QAAQ+4B,QAO7CiK,SAAU,WAEN9wC,KAAKw9H,4BAELx9H,KAAK+C,KAAKmU,OAAO+6B,oBAAoB,QAASjyC,KAAK8wC,YAK3DtvC,EAAOq8C,aAAav7C,UAAUC,YAAcf,EAAOq8C,aAMnD72C,OAAOyF,eAAejL,EAAOq8C,aAAav7C,UAAW,QAEjD4E,IAAK,WAED,OAAOlH,KAAKm6H,QAGhBhzH,IAAK,SAAUC,GAIX,GAFAA,EAAQA,IAAS,EAGjB,CACI,GAAIpH,KAAKm6H,OAEL,OAGJn6H,KAAKu8H,YAAa,EAClBv8H,KAAK2gD,cAGT,CACI,IAAK3gD,KAAKm6H,OAEN,OAGJn6H,KAAKu8H,YAAa,EAClBv8H,KAAK4gD,gBAUjB55C,OAAOyF,eAAejL,EAAOq8C,aAAav7C,UAAW,UAEjD4E,IAAK,WAED,OAAOlH,KAAKi6H,SAGhB9yH,IAAK,SAAUC,GAWX,GATIA,EAAQ,EAERA,EAAQ,EAEHA,EAAQ,IAEbA,EAAQ,GAGRpH,KAAKi6H,UAAY7yH,EACrB,CAGI,GAFApH,KAAKi6H,QAAU7yH,EAEXpH,KAAKmwH,cAELnwH,KAAKu5H,WAAWG,KAAKtyH,MAAQA,OAK7B,IAAK,IAAI1E,EAAI,EAAGA,EAAI1C,KAAKy8H,QAAQ95H,OAAQD,IAEjC1C,KAAKy8H,QAAQ/5H,GAAG0tH,eAEhBpwH,KAAKy8H,QAAQ/5H,GAAGk5H,mBAAmBx0H,GAK/CpH,KAAKk8H,eAAev2F,SAASv+B,OAyEzC5F,EAAO67C,aAAe,SAAUt6C,EAAMnF,EAAOC,GAQzCmC,KAAK+C,KAAOA,EAQZ/C,KAAKi+H,IAAMz8H,EAAOwuC,IAOlBhwC,KAAKm4D,KAAO,KAOZn4D,KAAKpC,MAAQ,EAOboC,KAAKnC,OAAS,EASdmC,KAAKk+H,SAAW,KAUhBl+H,KAAK63F,SAAW,KAShB73F,KAAKm+H,UAAY,KAUjBn+H,KAAKo+H,UAAY,KASjBp+H,KAAKyX,OAAS,IAAIjW,EAAOX,MAUzBb,KAAKq+H,gBAAiB,EAUtBr+H,KAAKs+H,eAAgB,EAWrBt+H,KAAKu+H,sBAAuB,EAO5Bv+H,KAAKw+H,wBAAyB,EAO9Bx+H,KAAKy+H,sBAAuB,EA0B5Bz+H,KAAK0+H,oBAAsB,IAAIl9H,EAAO+gC,OAUtCviC,KAAK2+H,0BAA4B,IAAIn9H,EAAO+gC,OAU5CviC,KAAK4+H,0BAA4B,IAAIp9H,EAAO+gC,OAY5CviC,KAAK6+H,wBAAyB,EAe9B7+H,KAAK8+H,iBAAmB,KAQxB9+H,KAAK++H,yBAA2B,KAuBhC/+H,KAAKg/H,iBAAmB,IAAIx9H,EAAO+gC,OAWnCviC,KAAKi/H,mBAAqB,IAAIz9H,EAAO+gC,OAWrCviC,KAAKk/H,kBAAoB,IAAI19H,EAAO+gC,OAUpCviC,KAAKm/H,kBAAoBn/H,KAAKi+H,IAAImB,uBAOlCp/H,KAAKq/H,YAAc,IAAI79H,EAAOX,MAAM,EAAG,GAQvCb,KAAKs/H,oBAAsB,IAAI99H,EAAOX,MAAM,EAAG,GAS/Cb,KAAK4+G,QAAU/qF,KAAM,EAAG0C,IAAK,EAAG3C,MAAO,EAAG4C,OAAQ,EAAGzyB,EAAG,EAAGC,EAAG,GAO9DhE,KAAK8E,OAAS,IAAItD,EAAOS,UAOzBjC,KAAKu/H,YAAc,EAOnBv/H,KAAKw/H,kBAAoB,EAQzBx/H,KAAK0wC,MAAQ,KAeb1wC,KAAKy/H,mBACD7rG,MAAO,SACP4C,OAAQ,IA6BZx2B,KAAK0/H,eACDC,oBAAoB,EACpBC,oBAAqB,KACrBC,WAAW,EACXC,SAAU,KACVC,4BAA4B,EAC5BC,iBAAiB,EACjBC,gBAAiB,IAQrBjgI,KAAKkgI,WAAa1+H,EAAO67C,aAAa8iF,SAOtCngI,KAAKogI,qBAAuB5+H,EAAO67C,aAAa8iF,SAWhDngI,KAAKqgI,gBAAiB,EAYtBrgI,KAAKwpG,WAAa,KAOlBxpG,KAAKsgI,kBAAoB,IAAI9+H,EAAOX,MAAM,EAAG,GAW7Cb,KAAKugI,oBAAsB,IAkB3BvgI,KAAKwgI,aAAe,IAAIh/H,EAAO+gC,OAO/BviC,KAAKygI,SAAW,KAOhBzgI,KAAK0gI,gBAAkB,KAMvB1gI,KAAK2gI,kBAAoB,KAOzB3gI,KAAK4gI,mBAAqB,KAO1B5gI,KAAK6gI,UAAY,IAAIr/H,EAAOS,UAO5BjC,KAAK8gI,iBAAmB,IAAIt/H,EAAOX,MAAM,EAAG,GAO5Cb,KAAK+gI,eAAiB,IAAIv/H,EAAOX,MAAM,EAAG,GAO1Cb,KAAKghI,YAAc,EASnBhhI,KAAKihI,gBAAkB,EAOvBjhI,KAAKkhI,qBAAuB,IAO5BlhI,KAAKmhI,cAAgB,IAAI3/H,EAAOS,UAOhCjC,KAAKohI,YAAc,IAAI5/H,EAAOS,UAO9BjC,KAAKqhI,wBAA0B,IAAI7/H,EAAOS,UAO1CjC,KAAKshI,sBAAwB,IAAI9/H,EAAOS,UAMxCjC,KAAKuhI,SAAU,EAEXx+H,EAAKyT,QAELxW,KAAK6vC,YAAY9sC,EAAKyT,QAG1BxW,KAAKwhI,WAAW5jI,EAAOC,IAS3B2D,EAAO67C,aAAaokF,UAAY,EAQhCjgI,EAAO67C,aAAa8iF,SAAW,EAQ/B3+H,EAAO67C,aAAaqkF,SAAW,EAQ/BlgI,EAAO67C,aAAaskF,OAAS,EAQ7BngI,EAAO67C,aAAaukF,WAAa,EAQjCpgI,EAAO67C,aAAawkF,OAChB,YACA,WACA,WACA,SACA,cAGJrgI,EAAO67C,aAAa/6C,WAQhB2hC,KAAM,WAIF,IAAI69F,EAAS9hI,KAAK0/H,cAElBoC,EAAOnC,mBAAqB3/H,KAAK+C,KAAKonB,OAAOi5E,aAAepjG,KAAK+C,KAAKonB,OAAOm1B,SAGxEt/C,KAAK+C,KAAKonB,OAAO64E,MAAShjG,KAAK+C,KAAKonB,OAAO23E,QAAW9hG,KAAK+C,KAAKonB,OAAOs1E,UAEpEz/F,KAAK+C,KAAKonB,OAAO61E,UAAYhgG,KAAK+C,KAAKonB,OAAO82E,OAE9C6gC,EAAOhC,SAAW,IAAIt+H,EAAOX,MAAM,EAAG,GAItCihI,EAAOhC,SAAW,IAAIt+H,EAAOX,MAAM,EAAG,IAI1Cb,KAAK+C,KAAKonB,OAAOs1E,SAEjBqiC,EAAOlC,oBAAsB,SAC7BkC,EAAO7B,gBAAkB,mBAIzB6B,EAAOlC,oBAAsB,GAC7BkC,EAAO7B,gBAAkB,IAK7B,IAAItzF,EAAQ3sC,KAEZA,KAAK+hI,mBAAqB,SAAUrxF,GAEhC,OAAO/D,EAAMq1F,kBAAkBtxF,IAGnC1wC,KAAKiiI,cAAgB,SAAUvxF,GAE3B,OAAO/D,EAAMu1F,aAAaxxF,IAI9BtgC,OAAO4gC,iBAAiB,oBAAqBhxC,KAAK+hI,oBAAoB,GACtE3xH,OAAO4gC,iBAAiB,SAAUhxC,KAAKiiI,eAAe,GAElDjiI,KAAK0/H,cAAcC,qBAEnB3/H,KAAKmiI,kBAAoB,SAAUzxF,GAE/B,OAAO/D,EAAMy1F,iBAAiB1xF,IAGlC1wC,KAAKqiI,iBAAmB,SAAU3xF,GAE9B,OAAO/D,EAAM21F,gBAAgB5xF,IAGjCL,SAASW,iBAAiB,yBAA0BhxC,KAAKmiI,mBAAmB,GAC5E9xF,SAASW,iBAAiB,sBAAuBhxC,KAAKmiI,mBAAmB,GACzE9xF,SAASW,iBAAiB,qBAAsBhxC,KAAKmiI,mBAAmB,GACxE9xF,SAASW,iBAAiB,mBAAoBhxC,KAAKmiI,mBAAmB,GAEtE9xF,SAASW,iBAAiB,wBAAyBhxC,KAAKqiI,kBAAkB,GAC1EhyF,SAASW,iBAAiB,qBAAsBhxC,KAAKqiI,kBAAkB,GACvEhyF,SAASW,iBAAiB,oBAAqBhxC,KAAKqiI,kBAAkB,GACtEhyF,SAASW,iBAAiB,kBAAmBhxC,KAAKqiI,kBAAkB,IAGxEriI,KAAK+C,KAAKomC,SAAShQ,IAAIn5B,KAAKuiI,aAAcviI,MAI1CA,KAAKi+H,IAAIhuF,UAAUjwC,KAAK+C,KAAKmU,OAAQlX,KAAKyX,QAE1CzX,KAAK8E,OAAOwwB,MAAMt1B,KAAKyX,OAAO1T,EAAG/D,KAAKyX,OAAOzT,EAAGhE,KAAKpC,MAAOoC,KAAKnC,QAEjEmC,KAAKwiI,YAAYxiI,KAAK+C,KAAKnF,MAAOoC,KAAK+C,KAAKlF,QAG5CmC,KAAKm/H,kBAAoBn/H,KAAKi+H,IAAImB,qBAAqBp/H,KAAK0/H,cAAcE,qBAEtEp+H,EAAOihI,WAEPziI,KAAKm4D,KAAO,IAAI32D,EAAOihI,SAASziI,KAAMA,KAAKpC,MAAOoC,KAAKnC,SAG3DmC,KAAKuhI,SAAU,EAEgB,OAA3BvhI,KAAK2gI,oBAEL3gI,KAAKlC,UAAYkC,KAAK2gI,kBACtB3gI,KAAK2gI,kBAAoB,OAWjC9wF,YAAa,SAAUr5B,QAEMjQ,IAArBiQ,EAAO1Y,YAEHkC,KAAKuhI,QAELvhI,KAAKlC,UAAY0Y,EAAO1Y,UAIxBkC,KAAK2gI,kBAAoBnqH,EAAO1Y,gBAILyI,IAA/BiQ,EAAOksH,sBAEP1iI,KAAK0iI,oBAAsBlsH,EAAOksH,qBAGlClsH,EAAOsoH,mBAEP9+H,KAAK8+H,iBAAmBtoH,EAAOsoH,kBAGnC9+H,KAAK2iI,sBAAwBnsH,EAAOosH,SAAU,EAC9C5iI,KAAK6iI,oBAAsBrsH,EAAOssH,SAAU,EAExCtsH,EAAOusH,QAAUvsH,EAAOwsH,QAExBhjI,KAAKijI,aAAazsH,EAAOusH,OAAQvsH,EAAOwsH,OAAQxsH,EAAO0sH,MAAO1sH,EAAO2sH,QAc7E3B,WAAY,SAAU5jI,EAAOC,GAEzB,IAAImK,EACA8yB,EAAO,IAAIt5B,EAAOS,UAEG,KAArBjC,KAAK+C,KAAK1B,SAEsB,iBAArBrB,KAAK+C,KAAK1B,OAGjB2G,EAASqoC,SAASg5D,eAAerpG,KAAK+C,KAAK1B,QAEtCrB,KAAK+C,KAAK1B,QAAwC,IAA9BrB,KAAK+C,KAAK1B,OAAO0yB,WAG1C/rB,EAAShI,KAAK+C,KAAK1B,SAKtB2G,GAaDhI,KAAKwpG,WAAaxhG,EAClBhI,KAAKqgI,gBAAiB,EAEtBrgI,KAAKojI,gBAAgBpjI,KAAKmhI,cAAenhI,KAAKwpG,YAE9C1uE,EAAKl9B,MAAQoC,KAAKmhI,cAAcvjI,MAChCk9B,EAAKj9B,OAASmC,KAAKmhI,cAActjI,OAEjCmC,KAAKyX,OAAOtQ,IAAInH,KAAKmhI,cAAcp9H,EAAG/D,KAAKmhI,cAAcn9H,KAlBzDhE,KAAKwpG,WAAa,KAClBxpG,KAAKqgI,gBAAiB,EAEtBvlG,EAAKl9B,MAAQoC,KAAKi+H,IAAIoF,aAAazlI,MACnCk9B,EAAKj9B,OAASmC,KAAKi+H,IAAIoF,aAAaxlI,OAEpCmC,KAAKyX,OAAOtQ,IAAI,EAAG,IAevB,IAAI+2E,EAAW,EACXC,EAAY,EAEK,iBAAVvgF,EAEPsgF,EAAWtgF,GAKXoC,KAAKsgI,kBAAkBv8H,EAAIsvB,SAASz1B,EAAO,IAAM,IACjDsgF,EAAWpjD,EAAKl9B,MAAQoC,KAAKsgI,kBAAkBv8H,GAG7B,iBAAXlG,EAEPsgF,EAAYtgF,GAKZmC,KAAKsgI,kBAAkBt8H,EAAIqvB,SAASx1B,EAAQ,IAAM,IAClDsgF,EAAYrjD,EAAKj9B,OAASmC,KAAKsgI,kBAAkBt8H,GAGrDk6E,EAAWx6E,KAAKqsB,MAAMmuD,GACtBC,EAAYz6E,KAAKqsB,MAAMouD,GAEvBn+E,KAAK6gI,UAAUvrG,MAAM,EAAG,EAAG4oD,EAAUC,GAErCn+E,KAAKsjI,iBAAiBplD,EAAUC,GAAW,IAS/CokD,aAAc,WAEVviI,KAAKujI,aAAY,IAkBrBf,YAAa,SAAU5kI,EAAOC,GAE1BmC,KAAK6gI,UAAUvrG,MAAM,EAAG,EAAG13B,EAAOC,GAE9BmC,KAAKwjI,mBAAqBhiI,EAAO67C,aAAaskF,QAE9C3hI,KAAKsjI,iBAAiB1lI,EAAOC,GAAQ,GAGzCmC,KAAKujI,aAAY,IAqBrBN,aAAc,SAAUQ,EAAQC,EAAQC,EAAOC,EAAOL,EAAa3+F,GAE/D5kC,KAAK8gI,iBAAiBxrG,MAAMmuG,EAAQC,GACpC1jI,KAAK+gI,eAAezrG,MAAc,EAARquG,EAAmB,EAARC,QAEjBr9H,IAAhBg9H,IAA6BA,GAAc,QACjCh9H,IAAVq+B,IAAuBA,GAAQ,GAE/B2+F,GAEAvjI,KAAKujI,YAAY3+F,IA8BzBi/F,kBAAmB,SAAU7uF,EAAUlnC,GAEnC9N,KAAKygI,SAAWzrF,EAChBh1C,KAAK0gI,gBAAkB5yH,GAa3Bg2H,iBAAkB,WAEd,IAAKtiI,EAAOS,UAAUy/B,eAAe1hC,KAAMA,KAAKqhI,2BAC3C7/H,EAAOS,UAAUy/B,eAAe1hC,KAAK+C,KAAM/C,KAAKshI,uBACrD,CACI,IAAI1jI,EAAQoC,KAAKpC,MACbC,EAASmC,KAAKnC,OAElBmC,KAAKqhI,wBAAwB/rG,MAAM,EAAG,EAAG13B,EAAOC,GAChDmC,KAAKshI,sBAAsBhsG,MAAM,EAAG,EAAGt1B,KAAK+C,KAAKnF,MAAOoC,KAAK+C,KAAKlF,QAE9DmC,KAAKm4D,MAELn4D,KAAKm4D,KAAKsoE,SAAS7iI,EAAOC,GAG9BmC,KAAKwgI,aAAa76F,SAAS3lC,KAAMpC,EAAOC,GAGpCmC,KAAKwjI,mBAAqBhiI,EAAO67C,aAAaskF,SAE9C3hI,KAAK+C,KAAK8jC,MAAM1gC,OAAOvI,EAAOC,GAC9BmC,KAAK+C,KAAK4jC,KAAKxgC,OAAOvI,EAAOC,MAoBzCkmI,UAAW,SAAU7F,EAAUC,EAAWtmC,EAAUumC,GAEhDp+H,KAAKk+H,SAAWA,EAChBl+H,KAAKm+H,UAAYA,OAEO,IAAbtmC,IAEP73F,KAAK63F,SAAWA,QAGK,IAAdumC,IAEPp+H,KAAKo+H,UAAYA,IAUzB15H,UAAW,WAEP,KAAI1E,KAAK+C,KAAK0iC,KAAKA,KAAQzlC,KAAKghI,YAAchhI,KAAKihI,iBAAnD,CAKA,IAAI+C,EAAehkI,KAAKihI,gBACxBjhI,KAAKkhI,qBAAuB8C,GAAgB,IAAM,EAAI,IAEtDhkI,KAAKi+H,IAAIhuF,UAAUjwC,KAAK+C,KAAKmU,OAAQlX,KAAKyX,QAE1C,IAAIwsH,EAAYjkI,KAAKmhI,cAAcvjI,MAC/BsmI,EAAalkI,KAAKmhI,cAActjI,OAChCiH,EAAS9E,KAAKojI,gBAAgBpjI,KAAKmhI,eAEnCgD,EAAgBr/H,EAAOlH,QAAUqmI,GAAan/H,EAAOjH,SAAWqmI,EAGhEE,EAAqBpkI,KAAKqkI,0BAE1BF,GAAiBC,KAEbpkI,KAAKygI,UAELzgI,KAAKygI,SAASj8H,KAAKxE,KAAK0gI,gBAAiB1gI,KAAM8E,GAGnD9E,KAAKskI,eAELtkI,KAAK8jI,oBAIT,IAAIS,EAAkC,EAAvBvkI,KAAKihI,gBAGhBjhI,KAAKihI,gBAAkB+C,IAEvBO,EAAW7gI,KAAK81B,IAAIwqG,EAAchkI,KAAKkhI,uBAG3ClhI,KAAKihI,gBAAkBz/H,EAAOkC,KAAKi5B,MAAM4nG,EAAU,GAAIvkI,KAAKugI,qBAC5DvgI,KAAKghI,YAAchhI,KAAK+C,KAAK0iC,KAAKA,OAStC+B,YAAa,WAETxnC,KAAK0E,YAGL1E,KAAKihI,gBAAkBjhI,KAAKugI,qBAYhC+C,iBAAkB,SAAU1lI,EAAOC,EAAQsI,GAEvCnG,KAAKpC,MAAQA,EAAQoC,KAAKsgI,kBAAkBv8H,EAC5C/D,KAAKnC,OAASA,EAASmC,KAAKsgI,kBAAkBt8H,EAE9ChE,KAAK+C,KAAKnF,MAAQoC,KAAKpC,MACvBoC,KAAK+C,KAAKlF,OAASmC,KAAKnC,OAExBmC,KAAKw/H,kBAAoBx/H,KAAKpC,MAAQoC,KAAKnC,OAC3CmC,KAAKwkI,yBAEDr+H,IAGAnG,KAAK+C,KAAK8B,SAASsB,OAAOnG,KAAKpC,MAAOoC,KAAKnC,QAG3CmC,KAAK+C,KAAK+X,OAAOurB,QAAQrmC,KAAKpC,MAAOoC,KAAKnC,QAG1CmC,KAAK+C,KAAKE,MAAMkD,OAAOnG,KAAKpC,MAAOoC,KAAKnC,UAWhD2mI,uBAAwB,WAEpBxkI,KAAKq/H,YAAYt7H,EAAI/D,KAAK+C,KAAKnF,MAAQoC,KAAKpC,MAC5CoC,KAAKq/H,YAAYr7H,EAAIhE,KAAK+C,KAAKlF,OAASmC,KAAKnC,OAE7CmC,KAAKs/H,oBAAoBv7H,EAAI/D,KAAKpC,MAAQoC,KAAK+C,KAAKnF,MACpDoC,KAAKs/H,oBAAoBt7H,EAAIhE,KAAKnC,OAASmC,KAAK+C,KAAKlF,OAErDmC,KAAKu/H,YAAcv/H,KAAKpC,MAAQoC,KAAKnC,OAGjCmC,KAAK+C,KAAKmU,QAEVlX,KAAKi+H,IAAIhuF,UAAUjwC,KAAK+C,KAAKmU,OAAQlX,KAAKyX,QAG9CzX,KAAK8E,OAAOwwB,MAAMt1B,KAAKyX,OAAO1T,EAAG/D,KAAKyX,OAAOzT,EAAGhE,KAAKpC,MAAOoC,KAAKnC,QAG7DmC,KAAK+C,KAAK2jC,OAAS1mC,KAAK+C,KAAK2jC,MAAM5lC,OAEnCd,KAAK+C,KAAK2jC,MAAM5lC,MAAMw0B,MAAMt1B,KAAKq/H,YAAYt7H,EAAG/D,KAAKq/H,YAAYr7H,IAkBzEygI,iBAAkB,SAAUpG,EAAgBC,QAElB/3H,IAAlB+3H,IAA+BA,GAAgB,IAE5B,IAAnBD,IAA6C,IAAlBC,GAM/Bt+H,KAAKq+H,eAAiBA,EACtBr+H,KAAKs+H,cAAgBA,EAErBt+H,KAAKujI,aAAY,IAPbjjI,QAAQ+Z,KAAK,+EAkBrBqqH,oBAAqB,SAAUC,GAE3B,MAAoB,qBAAhBA,GAAsD,uBAAhBA,EAE/B,WAEc,sBAAhBA,GAAuD,wBAAhBA,EAErC,YAIA,MAWfN,uBAAwB,WAEpB,IAAIO,EAAsB5kI,KAAKm/H,kBAC3B0F,EAAsB7kI,KAAKu+H,qBAE/Bv+H,KAAKm/H,kBAAoBn/H,KAAKi+H,IAAImB,qBAAqBp/H,KAAK0/H,cAAcE,qBAE1E5/H,KAAKu+H,qBAAwBv+H,KAAKq+H,iBAAmBr+H,KAAK8kI,aACrD9kI,KAAKs+H,gBAAkBt+H,KAAK+kI,WAEjC,IAAIC,EAAUJ,IAAwB5kI,KAAKm/H,kBACvC8F,EAAqBJ,IAAwB7kI,KAAKu+H,qBAmBtD,OAjBI0G,IAEIjlI,KAAKu+H,qBAELv+H,KAAK2+H,0BAA0Bh5F,WAI/B3lC,KAAK4+H,0BAA0Bj5F,aAInCq/F,GAAWC,IAEXjlI,KAAK0+H,oBAAoB/4F,SAAS3lC,KAAM4kI,EAAqBC,GAG1DG,GAAWC,GAUtBjD,kBAAmB,SAAUtxF,GAEzB1wC,KAAK0wC,MAAQA,EAEb1wC,KAAKujI,aAAY,IAUrBrB,aAAc,SAAUxxF,GAEpB1wC,KAAK0wC,MAAQA,EAEb1wC,KAAKujI,aAAY,IASrB2B,UAAW,WAEP,IAAIpF,EAAW9/H,KAAK0/H,cAAcI,SAE9BA,GAEA1vH,OAAO0vH,SAASA,EAAS/7H,EAAG+7H,EAAS97H,IAwB7C0lB,QAAS,WAEL1pB,KAAKklI,YACLllI,KAAKujI,aAAY,IASrBe,aAAc,WAEV,IAAIxmI,EAAYkC,KAAKwjI,iBAErB,GAAI1lI,IAAc0D,EAAO67C,aAAaskF,OAAtC,CAwDA,GAlDA3hI,KAAKklI,YAEDllI,KAAK0/H,cAAcK,6BAMnB1vF,SAASk4D,gBAAgBhtF,MAAM4iH,UAAY/tH,OAAOmjB,YAAc,MAGhEvzB,KAAKu+H,qBAELv+H,KAAKmlI,aAGLrnI,IAAc0D,EAAO67C,aAAaokF,UAElCzhI,KAAKolI,cAEAtnI,IAAc0D,EAAO67C,aAAaqkF,UAElC1hI,KAAKqlI,cAAgBrlI,KAAKslI,gBACvBtlI,KAAK0/H,cAAcM,iBAOvBhgI,KAAKulI,YAAW,GAChBvlI,KAAKwlI,cACLxlI,KAAKulI,cAILvlI,KAAKulI,aAGJznI,IAAc0D,EAAO67C,aAAa8iF,UAEvCngI,KAAKpC,MAAQoC,KAAK+C,KAAKnF,MACvBoC,KAAKnC,OAASmC,KAAK+C,KAAKlF,QAEnBC,IAAc0D,EAAO67C,aAAaukF,aAEvC5hI,KAAKpC,MAASoC,KAAK+C,KAAKnF,MAAQoC,KAAK8gI,iBAAiB/8H,EAAK/D,KAAK+gI,eAAeh9H,EAC/E/D,KAAKnC,OAAUmC,KAAK+C,KAAKlF,OAASmC,KAAK8gI,iBAAiB98H,EAAKhE,KAAK+gI,eAAe/8H,IAGhFhE,KAAK0/H,cAAcM,kBACnBliI,IAAc0D,EAAO67C,aAAaqkF,UAAY5jI,IAAc0D,EAAO67C,aAAaukF,YACrF,CACI,IAAI98H,EAAS9E,KAAKojI,gBAAgBpjI,KAAKohI,aACvCphI,KAAKpC,MAAQ8F,KAAK81B,IAAIx5B,KAAKpC,MAAOkH,EAAOlH,OACzCoC,KAAKnC,OAAS6F,KAAK81B,IAAIx5B,KAAKnC,OAAQiH,EAAOjH,QAI/CmC,KAAKpC,MAAqB,EAAboC,KAAKpC,MAClBoC,KAAKnC,OAAuB,EAAdmC,KAAKnC,OAEnBmC,KAAKylI,oBAlEDzlI,KAAK0lI,cAsFbtC,gBAAiB,SAAUp7H,EAAQ3G,GAE/B,IAAIyD,EAASkD,GAAU,IAAIxG,EAAOS,UAC9BunG,EAAanoG,GAAUrB,KAAKslI,eAC5BjC,EAAerjI,KAAKi+H,IAAIoF,aACxBsC,EAAe3lI,KAAKi+H,IAAI0H,aAE5B,GAAKn8B,EAKL,CAEI,IAAIo8B,EAAap8B,EAAWq8B,wBACxBC,EAAct8B,EAAuB,aAAIA,EAAWu8B,aAAaF,wBAA0Br8B,EAAWq8B,wBAE1G/gI,EAAOwwB,MAAMswG,EAAW/xG,KAAOiyG,EAAWjyG,KAAM+xG,EAAWrvG,IAAMuvG,EAAWvvG,IAAKqvG,EAAWhoI,MAAOgoI,EAAW/nI,QAE9G,IAAImoI,EAAKhmI,KAAKy/H,kBAEd,GAAIuG,EAAGpyG,MACP,CACQqyG,EAA4B,WAAbD,EAAGpyG,MAAqB+xG,EAAetC,EAC1Dv+H,EAAO8uB,MAAQlwB,KAAK81B,IAAI10B,EAAO8uB,MAAOqyG,EAAaroI,OAGvD,GAAIooI,EAAGxvG,OACP,CACI,IAAIyvG,EAA6B,WAAdD,EAAGxvG,OAAsBmvG,EAAetC,EAC3Dv+H,EAAO0xB,OAAS9yB,KAAK81B,IAAI10B,EAAO0xB,OAAQyvG,EAAapoI,cArBzDiH,EAAOwwB,MAAM,EAAG,EAAG+tG,EAAazlI,MAAOylI,EAAaxlI,QA6BxD,OAJAiH,EAAOwwB,MACH5xB,KAAKiyB,MAAM7wB,EAAOf,GAAIL,KAAKiyB,MAAM7wB,EAAOd,GACxCN,KAAKiyB,MAAM7wB,EAAOlH,OAAQ8F,KAAKiyB,MAAM7wB,EAAOjH,SAEzCiH,GAUXqwC,MAAO,SAAUnS,EAAYC,GAEP,MAAdD,IAEAhjC,KAAK2iI,sBAAwB3/F,GAGjB,MAAZC,IAEAjjC,KAAK6iI,oBAAsB5/F,IAcnCijG,YAAa,SAAUljG,EAAYC,GAE/B,IAAIkjG,EAAenmI,KAAKojI,gBAAgBpjI,KAAKohI,aACzClqH,EAASlX,KAAK+C,KAAKmU,OACnB0nG,EAAS5+G,KAAK4+G,OAElB,GAAI57E,EACJ,CACI47E,EAAO/qF,KAAO+qF,EAAOhrF,MAAQ,EAEzBwyG,EAAelvH,EAAO2uH,wBAE1B,GAAI7lI,KAAKpC,MAAQuoI,EAAavoI,QAAUoC,KAAKu+H,qBAC7C,CACI,IAAI8H,EAAcD,EAAavyG,KAAOsyG,EAAapiI,EAC/CuiI,EAAcH,EAAavoI,MAAQ,EAAMoC,KAAKpC,MAAQ,EAItD6Z,GAFJ6uH,EAAa5iI,KAAKuC,IAAIqgI,EAAY,IAERD,EAE1BznB,EAAO/qF,KAAOnwB,KAAKiyB,MAAMle,GAG7BP,EAAOqE,MAAMgrH,WAAa3nB,EAAO/qF,KAAO,KAEpB,IAAhB+qF,EAAO/qF,OAEP+qF,EAAOhrF,QAAUuyG,EAAavoI,MAAQwoI,EAAaxoI,MAAQghH,EAAO/qF,MAClE3c,EAAOqE,MAAMirH,YAAc5nB,EAAOhrF,MAAQ,MAIlD,GAAIqP,EACJ,CACI27E,EAAOroF,IAAMqoF,EAAOpoF,OAAS,EAE7B,IAAI4vG,EAAelvH,EAAO2uH,wBAE1B,GAAI7lI,KAAKnC,OAASsoI,EAAatoI,SAAWmC,KAAKu+H,qBAC/C,CACI,IAAI8H,EAAcD,EAAa7vG,IAAM4vG,EAAaniI,EAC9CsiI,EAAcH,EAAatoI,OAAS,EAAMmC,KAAKnC,OAAS,EAIxD4Z,GAFJ6uH,EAAa5iI,KAAKuC,IAAIqgI,EAAY,IAERD,EAC1BznB,EAAOroF,IAAM7yB,KAAKiyB,MAAMle,GAG5BP,EAAOqE,MAAMkrH,UAAY7nB,EAAOroF,IAAM,KAEnB,IAAfqoF,EAAOroF,MAEPqoF,EAAOpoF,SAAW2vG,EAAatoI,OAASuoI,EAAavoI,OAAS+gH,EAAOroF,KACrErf,EAAOqE,MAAMmrH,aAAe9nB,EAAOpoF,OAAS,MAKpDooF,EAAO76G,EAAI66G,EAAO/qF,KAClB+qF,EAAO56G,EAAI46G,EAAOroF,KAWtBmvG,WAAY,WAER1lI,KAAKwlI,YAAY,GAAI,IAErB,IAAI1gI,EAAS9E,KAAKojI,gBAAgBpjI,KAAKohI,aACvCphI,KAAKsjI,iBAAiBx+H,EAAOlH,MAAOkH,EAAOjH,QAAQ,IAWvD4nI,aAAc,WAELzlI,KAAKu+H,uBAENv+H,KAAKpC,MAAQ4D,EAAOkC,KAAKi5B,MAAM38B,KAAKpC,MAAOoC,KAAKk+H,UAAY,EAAGl+H,KAAK63F,UAAY73F,KAAKpC,OACrFoC,KAAKnC,OAAS2D,EAAOkC,KAAKi5B,MAAM38B,KAAKnC,OAAQmC,KAAKm+H,WAAa,EAAGn+H,KAAKo+H,WAAap+H,KAAKnC,SAG7FmC,KAAKwlI,cAEAxlI,KAAK0/H,cAAcG,YAEhB7/H,KAAKqlI,cAAgBrlI,KAAK++H,yBAE1B/+H,KAAKkmI,aAAY,GAAM,GAIvBlmI,KAAKkmI,YAAYlmI,KAAK2iI,sBAAuB3iI,KAAK6iI,sBAI1D7iI,KAAKwkI,0BAWTgB,YAAa,SAAUmB,EAAUC,QAEZrgI,IAAbogI,IAA0BA,EAAW3mI,KAAKpC,MAAQ,WACpC2I,IAAdqgI,IAA2BA,EAAY5mI,KAAKnC,OAAS,MAEzD,IAAIqZ,EAASlX,KAAK+C,KAAKmU,OAElBlX,KAAK0/H,cAAcG,YAEpB3oH,EAAOqE,MAAMgrH,WAAa,GAC1BrvH,EAAOqE,MAAMkrH,UAAY,GACzBvvH,EAAOqE,MAAMirH,YAAc,GAC3BtvH,EAAOqE,MAAMmrH,aAAe,IAGhCxvH,EAAOqE,MAAM3d,MAAQ+oI,EACrBzvH,EAAOqE,MAAM1d,OAAS+oI,GAU1BrD,YAAa,SAAU3+F,GAEfA,IAEA5kC,KAAKmhI,cAAcvjI,MAAQ,EAC3BoC,KAAKmhI,cAActjI,OAAS,GAGhCmC,KAAKihI,gBAAkBjhI,KAAKkhI,sBAShC56F,MAAO,SAAUmD,GAETA,GAAczpC,KAAKm4D,MAEnBn4D,KAAKm4D,KAAK7xB,SAUlB6+F,WAAY,WAERnlI,KAAKpC,MAAQoC,KAAKi+H,IAAIoF,aAAazlI,MACnCoC,KAAKnC,OAASmC,KAAKi+H,IAAIoF,aAAaxlI,QAUxC0nI,WAAY,SAAUsB,GAElB,IAIIC,EAJAhiI,EAAS9E,KAAKojI,gBAAgBpjI,KAAKohI,aACnCxjI,EAAQkH,EAAOlH,MACfC,EAASiH,EAAOjH,OAMhBipI,EAFAD,EAEanjI,KAAKuC,IAAKpI,EAASmC,KAAK+C,KAAKlF,OAAUD,EAAQoC,KAAK+C,KAAKnF,OAIzD8F,KAAK81B,IAAK37B,EAASmC,KAAK+C,KAAKlF,OAAUD,EAAQoC,KAAK+C,KAAKnF,OAG1EoC,KAAKpC,MAAQ8F,KAAKiyB,MAAM31B,KAAK+C,KAAKnF,MAAQkpI,GAC1C9mI,KAAKnC,OAAS6F,KAAKiyB,MAAM31B,KAAK+C,KAAKlF,OAASipI,IAUhD1B,YAAa,WAET,IAAItgI,EAAS9E,KAAKojI,gBAAgBpjI,KAAKohI,aAEvCphI,KAAKpC,MAAQkH,EAAOlH,MACpBoC,KAAKnC,OAASiH,EAAOjH,OAEjBmC,KAAKqlI,eAMLrlI,KAAK63F,WAEL73F,KAAKpC,MAAQ8F,KAAK81B,IAAIx5B,KAAKpC,MAAOoC,KAAK63F,WAGvC73F,KAAKo+H,YAELp+H,KAAKnC,OAAS6F,KAAK81B,IAAIx5B,KAAKnC,OAAQmC,KAAKo+H,cAajD2I,uBAAwB,WAEpB,IAAIC,EAAW32F,SAASsmD,cAAc,OAMtC,OAJAqwC,EAASzrH,MAAMqjG,OAAS,IACxBooB,EAASzrH,MAAMmL,QAAU,IACzBsgH,EAASzrH,MAAM0rH,WAAa,OAErBD,GA+BXE,gBAAiB,SAAU9vH,EAAW+vH,EAAiBlzG,GAEnD,GAAIj0B,KAAKqlI,aAEL,OAAO,EAGX,CAAA,GAAKrlI,KAAK0/H,cAAcC,mBAAxB,CAaA,GAA2C,mBAAvC3/H,KAAK0/H,cAAcO,gBACvB,CACI,IAAIv5F,EAAQ1mC,KAAK+C,KAAK2jC,MAEtB,GAAIA,EAAMmc,eACNnc,EAAMmc,gBAAkBnc,EAAMoc,eAC7BqkF,IAAuC,IAApBA,GAGpB,YADAzgG,EAAMmc,cAAcwN,mBAAmB,kBAAmBrwD,KAAKknI,gBAAiBlnI,MAAQoX,GAAW,SAKzF7Q,IAAd6Q,GAA2BpX,KAAK+C,KAAK4nC,aAAenpC,EAAOioB,SAE3DzpB,KAAK+C,KAAKuX,MAAMilC,SAAWnoC,GAG/B,IAAI4vH,EAAWhnI,KAAK8+H,iBAEfkI,IAEDhnI,KAAKonI,uBAELpnI,KAAK++H,yBAA2B/+H,KAAK+mI,yBACrCC,EAAWhnI,KAAK++H,0BAGpB,IAAIsI,GAAYC,cAAeN,GAM/B,GAJAhnI,KAAK6+H,wBAAyB,EAE9B7+H,KAAKg/H,iBAAiBr5F,SAAS3lC,KAAMqnI,GAEjCrnI,KAAK++H,yBACT,CAKI,IAAI7nH,EAASlX,KAAK+C,KAAKmU,OACVA,EAAOsyF,WACbvD,aAAa+gC,EAAU9vH,GAC9B8vH,EAASz9B,YAAYryF,GAiBzB,YAdgB3Q,IAAZ0tB,IAEAA,GAAYszG,aAAc,SAG1BvnI,KAAK+C,KAAKonB,OAAOo5E,mBAEjByjC,EAAShnI,KAAK+C,KAAKonB,OAAOk5E,mBAAmB+E,QAAQC,sBAIrD2+B,EAAShnI,KAAK+C,KAAKonB,OAAOk5E,mBAAmBpvE,IAG1C,EAtEH,IAAI0Y,EAAQ3sC,KAEZ+jG,WAAW,WAEPp3D,EAAM21F,mBACP,MA2EXkF,eAAgB,WAEZ,SAAKxnI,KAAKqlI,eAAiBrlI,KAAK0/H,cAAcC,sBAK9C3/H,KAAK6+H,wBAAyB,EAE9BxuF,SAASrwC,KAAK+C,KAAKonB,OAAOm5E,qBAEnB,IAUX8jC,qBAAsB,WAElB,IAAIJ,EAAWhnI,KAAK++H,yBAEpB,GAAIiI,GAAYA,EAASx9B,WACzB,CAKI,IAAInoG,EAAS2lI,EAASx9B,WACtBnoG,EAAO4kG,aAAajmG,KAAK+C,KAAKmU,OAAQ8vH,GACtC3lI,EAAOwH,YAAYm+H,GAGvBhnI,KAAK++H,yBAA2B,MAWpC0I,eAAgB,SAAUC,GAEtB,IAAIC,IAAkB3nI,KAAK++H,yBACvBiI,EAAWhnI,KAAK++H,0BAA4B/+H,KAAK8+H,iBAEjD4I,GAEIC,GAAiB3nI,KAAK0iI,sBAAwBlhI,EAAO67C,aAAaokF,YAG9DuF,IAAahnI,KAAK+C,KAAKmU,SAEvBlX,KAAK4gI,oBACD3hC,YAAa+nC,EAASzrH,MAAM3d,MAC5BshG,aAAc8nC,EAASzrH,MAAM1d,QAGjCmpI,EAASzrH,MAAM3d,MAAQ,OACvBopI,EAASzrH,MAAM1d,OAAS,SAO5BmC,KAAK4gI,qBAELoG,EAASzrH,MAAM3d,MAAQoC,KAAK4gI,mBAAmB3hC,YAC/C+nC,EAASzrH,MAAM1d,OAASmC,KAAK4gI,mBAAmB1hC,aAEhDl/F,KAAK4gI,mBAAqB,MAI9B5gI,KAAKsjI,iBAAiBtjI,KAAK6gI,UAAUjjI,MAAOoC,KAAK6gI,UAAUhjI,QAAQ,GACnEmC,KAAKwlI,gBAWbpD,iBAAkB,SAAU1xF,GAExB1wC,KAAK0wC,MAAQA,EAET1wC,KAAKqlI,cAELrlI,KAAKynI,gBAAe,GAEpBznI,KAAKskI,eACLtkI,KAAKujI,aAAY,KAIjBvjI,KAAKynI,gBAAe,GAEpBznI,KAAKonI,uBAELpnI,KAAKskI,eACLtkI,KAAKujI,aAAY,IAGrBvjI,KAAKi/H,mBAAmBt5F,SAAS3lC,KAAMA,KAAKpC,MAAOoC,KAAKnC,SAW5DykI,gBAAiB,SAAU5xF,GAEvB1wC,KAAK0wC,MAAQA,EAEb1wC,KAAKonI,uBAEL9mI,QAAQ+Z,KAAK,+FAEbra,KAAKk/H,kBAAkBv5F,SAAS3lC,OAkBpC4nI,YAAa,SAAUrkH,EAAQ3lB,EAAOC,EAAQgqI,GAM1C,QAJcthI,IAAV3I,IAAuBA,EAAQoC,KAAKpC,YACzB2I,IAAX1I,IAAwBA,EAASmC,KAAKnC,aACxB0I,IAAdshI,IAA2BA,GAAY,IAEtCtkH,IAAWA,EAAOziB,MAEnB,OAAOyiB,EAMX,GAHAA,EAAOziB,MAAMiD,EAAI,EACjBwf,EAAOziB,MAAMkD,EAAI,EAEZuf,EAAO3lB,OAAS,GAAO2lB,EAAO1lB,QAAU,GAAOD,GAAS,GAAOC,GAAU,EAE1E,OAAO0lB,EAGX,IAAIukH,EAAUlqI,EACVmqI,EAAWxkH,EAAO1lB,OAASD,EAAS2lB,EAAO3lB,MAE3CoqI,EAAWzkH,EAAO3lB,MAAQC,EAAU0lB,EAAO1lB,OAC3CoqI,EAAUpqI,EAEVqqI,EAAgBF,EAAUpqI,EA4B9B,OAxBIsqI,EAFAA,EAEeL,GAICA,IAKhBtkH,EAAO3lB,MAAQ8F,KAAKqsB,MAAM+3G,GAC1BvkH,EAAO1lB,OAAS6F,KAAKqsB,MAAMg4G,KAI3BxkH,EAAO3lB,MAAQ8F,KAAKqsB,MAAMi4G,GAC1BzkH,EAAO1lB,OAAS6F,KAAKqsB,MAAMk4G,IASxB1kH,GAUX/gB,QAAS,WAELxC,KAAK+C,KAAKomC,SAAS/sB,OAAOpc,KAAKuiI,aAAcviI,MAE7CoQ,OAAO6hC,oBAAoB,oBAAqBjyC,KAAK+hI,oBAAoB,GACzE3xH,OAAO6hC,oBAAoB,SAAUjyC,KAAKiiI,eAAe,GAErDjiI,KAAK0/H,cAAcC,qBAEnBtvF,SAAS4B,oBAAoB,yBAA0BjyC,KAAKmiI,mBAAmB,GAC/E9xF,SAAS4B,oBAAoB,sBAAuBjyC,KAAKmiI,mBAAmB,GAC5E9xF,SAAS4B,oBAAoB,qBAAsBjyC,KAAKmiI,mBAAmB,GAC3E9xF,SAAS4B,oBAAoB,mBAAoBjyC,KAAKmiI,mBAAmB,GAEzE9xF,SAAS4B,oBAAoB,wBAAyBjyC,KAAKqiI,kBAAkB,GAC7EhyF,SAAS4B,oBAAoB,qBAAsBjyC,KAAKqiI,kBAAkB,GAC1EhyF,SAAS4B,oBAAoB,oBAAqBjyC,KAAKqiI,kBAAkB,GACzEhyF,SAAS4B,oBAAoB,kBAAmBjyC,KAAKqiI,kBAAkB,MAMnF7gI,EAAO67C,aAAa/6C,UAAUC,YAAcf,EAAO67C,aAYnDr2C,OAAOyF,eAAejL,EAAO67C,aAAa/6C,UAAW,kBAEjD4E,IAAK,WAED,OAAIlH,KAAKqgI,gBACJrgI,KAAKqlI,cAAgBrlI,KAAK6+H,yBAA2B7+H,KAAK++H,yBAEpD,KAGM/+H,KAAK+C,KAAKmU,QAAUlX,KAAK+C,KAAKmU,OAAOsyF,YAEjC,QA0C7BxiG,OAAOyF,eAAejL,EAAO67C,aAAa/6C,UAAW,aAEjD4E,IAAK,WAED,OAAOlH,KAAKkgI,YAGhB/4H,IAAK,SAAUC,GAaX,OAXIA,IAAUpH,KAAKkgI,aAEVlgI,KAAKqlI,eAENrlI,KAAKsjI,iBAAiBtjI,KAAK6gI,UAAUjjI,MAAOoC,KAAK6gI,UAAUhjI,QAAQ,GACnEmC,KAAKujI,aAAY,IAGrBvjI,KAAKkgI,WAAa94H,GAGfpH,KAAKkgI,cAapBl5H,OAAOyF,eAAejL,EAAO67C,aAAa/6C,UAAW,uBAEjD4E,IAAK,WAED,OAAOlH,KAAKogI,sBAGhBj5H,IAAK,SAAUC,GAmBX,OAjBIA,IAAUpH,KAAKogI,uBAGXpgI,KAAKqlI,cAELrlI,KAAKynI,gBAAe,GACpBznI,KAAKogI,qBAAuBh5H,EAC5BpH,KAAKynI,gBAAe,GAEpBznI,KAAKujI,aAAY,IAIjBvjI,KAAKogI,qBAAuBh5H,GAI7BpH,KAAKogI,wBAepBp5H,OAAOyF,eAAejL,EAAO67C,aAAa/6C,UAAW,oBAEjD4E,IAAK,WAED,OAAOlH,KAAKqlI,aAAerlI,KAAKogI,qBAAuBpgI,KAAKkgI,cAiBpEl5H,OAAOyF,eAAejL,EAAO67C,aAAa/6C,UAAW,yBAEjD4E,IAAK,WAED,OAAOlH,KAAKw+H,wBAGhBr3H,IAAK,SAAUC,GAEPA,IAAUpH,KAAKw+H,yBAEfx+H,KAAKw+H,uBAAyBp3H,EAC9BpH,KAAKujI,aAAY,OAyB7Bv8H,OAAOyF,eAAejL,EAAO67C,aAAa/6C,UAAW,uBAEjD4E,IAAK,WAED,OAAOlH,KAAKy+H,sBAGhBt3H,IAAK,SAAUC,GAEPA,IAAUpH,KAAKy+H,uBAEfz+H,KAAKy+H,qBAAuBr3H,EAC5BpH,KAAKujI,aAAY,OAY7Bv8H,OAAOyF,eAAejL,EAAO67C,aAAa/6C,UAAW,gBAEjD4E,IAAK,WAED,SAAUmpC,SAAS83F,mBACf93F,SAAS+3F,yBACT/3F,SAASg4F,sBACTh4F,SAASi4F,wBAYrBthI,OAAOyF,eAAejL,EAAO67C,aAAa/6C,UAAW,cAEjD4E,IAAK,WAED,MAA4D,aAArDlH,KAAK0kI,oBAAoB1kI,KAAKm/H,sBAY7Cn4H,OAAOyF,eAAejL,EAAO67C,aAAa/6C,UAAW,eAEjD4E,IAAK,WAED,MAA4D,cAArDlH,KAAK0kI,oBAAoB1kI,KAAKm/H,sBAe7Cn4H,OAAOyF,eAAejL,EAAO67C,aAAa/6C,UAAW,kBAEjD4E,IAAK,WAED,OAAQlH,KAAKnC,OAASmC,KAAKpC,SAenCoJ,OAAOyF,eAAejL,EAAO67C,aAAa/6C,UAAW,mBAEjD4E,IAAK,WAED,OAAQlH,KAAKpC,MAAQoC,KAAKnC,UA2BlC2D,EAAOkwB,MAAMssB,MAAQ,SAAUj7C,GAK3B/C,KAAK+C,KAAOA,EAKZ/C,KAAKujB,OAAS,KAKdvjB,KAAKuoI,IAAM,KAKXvoI,KAAKkX,OAAS,KAKdlX,KAAK8N,QAAU,KAMf9N,KAAKo1E,KAAO,iBAMZp1E,KAAKwoI,YAAc,IAMnBxoI,KAAKqzF,WAAa,GAMlBrzF,KAAKggF,UAAY,EAMjBhgF,KAAKyoI,cAAe,EAOpBzoI,KAAK0oI,aAAe,KAMpB1oI,KAAKm5F,SAAW,EAMhBn5F,KAAKo5F,SAAW,EAMhBp5F,KAAK2oI,aAAe,EAMpB3oI,KAAKwR,OAAQ,EAObxR,KAAKk+C,YAAa,EAMlBl+C,KAAK4oI,MAAQ,KAMb5oI,KAAK6oI,MAAQ,MAOjBrnI,EAAOkwB,MAAMssB,MAAM8qF,UAAY,EAM/BtnI,EAAOkwB,MAAMssB,MAAM+qF,eAAiB,EAMpCvnI,EAAOkwB,MAAMssB,MAAMgrF,YAAc,EAMjCxnI,EAAOkwB,MAAMssB,MAAMirF,WAAa,EAMhCznI,EAAOkwB,MAAMssB,MAAMkrF,UAAY,EAM/B1nI,EAAOkwB,MAAMssB,MAAMmrF,aAAe,EAElC3nI,EAAOkwB,MAAMssB,MAAM17C,WAQf2hC,KAAM,WAEEjkC,KAAK+C,KAAK4nC,aAAenpC,EAAOioB,OAEhCzpB,KAAK8N,QAAU9N,KAAK+C,KAAK+K,SAIzB9N,KAAKuoI,IAAM,IAAI/mI,EAAOmwE,WAAW3xE,KAAK+C,KAAM,UAAW/C,KAAK+C,KAAKnF,MAAOoC,KAAK+C,KAAKlF,QAAQ,GAC1FmC,KAAKujB,OAASvjB,KAAK+C,KAAK0jC,KAAKvsB,MAAM,EAAG,EAAGla,KAAKuoI,KAC9CvoI,KAAK+C,KAAKuX,MAAM7R,SAASzI,KAAKujB,QAE9BvjB,KAAK+C,KAAKjC,MAAM0/H,aAAarnG,IAAIn5B,KAAKmG,OAAQnG,MAE9CA,KAAKkX,OAAS1V,EAAOqF,WAAW2B,OAAOxI,KAAMA,KAAK+C,KAAKnF,MAAOoC,KAAK+C,KAAKlF,QACxEmC,KAAK8N,QAAU9N,KAAKkX,OAAOsB,WAAW,OAG1CxY,KAAK4oI,MAAQ,IAAIpnI,EAAO22B,KACxBn4B,KAAK6oI,MAAQ,IAAIrnI,EAAOS,WAU5BkE,OAAQ,WAEJnG,KAAKuoI,IAAIpiI,OAAOnG,KAAK+C,KAAKnF,MAAOoC,KAAK+C,KAAKlF,QAE3CmC,KAAKkX,OAAOtZ,MAAQoC,KAAK+C,KAAKnF,MAC9BoC,KAAKkX,OAAOrZ,OAASmC,KAAK+C,KAAKlF,QASnC6G,UAAW,WAEH1E,KAAKwR,OAASxR,KAAKujB,SAEnBvjB,KAAKuoI,IAAI3tH,QACT5a,KAAKuoI,IAAI/sD,KAAKx7E,KAAKkX,OAAQ,EAAG,GAE9BlX,KAAK8N,QAAQoa,UAAU,EAAG,EAAGloB,KAAK+C,KAAKnF,MAAOoC,KAAK+C,KAAKlF,QACxDmC,KAAKwR,OAAQ,IASrB80B,MAAO,WAECtmC,KAAK8N,SAEL9N,KAAK8N,QAAQoa,UAAU,EAAG,EAAGloB,KAAK+C,KAAKnF,MAAOoC,KAAK+C,KAAKlF,QAGxDmC,KAAKujB,QAELvjB,KAAKuoI,IAAI3tH,SAcjBtO,MAAO,SAAUvI,EAAGC,EAAGqS,EAAOmyH,GAET,iBAANzkI,IAAkBA,EAAI,GAChB,iBAANC,IAAkBA,EAAI,GACjCqS,EAAQA,GAAS,wBACG9P,IAAhBiiI,IAA6BA,EAAc,GAE/CxoI,KAAKm5F,SAAWp1F,EAChB/D,KAAKo5F,SAAWp1F,EAChBhE,KAAK0oI,aAAeryH,EACpBrW,KAAKwoI,YAAcA,EAEnBxoI,KAAKwR,OAAQ,EAEbxR,KAAK8N,QAAQsa,OACbpoB,KAAK8N,QAAQe,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GACzC7O,KAAK8N,QAAQmyE,YAAc5pE,EAC3BrW,KAAK8N,QAAQ+a,UAAYxS,EACzBrW,KAAK8N,QAAQsnE,KAAOp1E,KAAKo1E,KACzBp1E,KAAK8N,QAAQG,YAAcjO,KAAK2oI,cASpCx8H,KAAM,WAEFnM,KAAK8N,QAAQ4a,WASjBkQ,KAAM,WAIF,IAAK,IAFD70B,EAAI/D,KAAKm5F,SAEJz2F,EAAI,EAAGA,EAAI8tB,UAAU7tB,OAAQD,IAE9B1C,KAAKyoI,eAELzoI,KAAK8N,QAAQ+a,UAAY,aACzB7oB,KAAK8N,QAAQ4xE,SAASlvD,UAAU9tB,GAAIqB,EAAI,EAAG/D,KAAKo5F,SAAW,GAC3Dp5F,KAAK8N,QAAQ+a,UAAY7oB,KAAK0oI,cAGlC1oI,KAAK8N,QAAQ4xE,SAASlvD,UAAU9tB,GAAIqB,EAAG/D,KAAKo5F,UAE5Cr1F,GAAK/D,KAAKwoI,YAGdxoI,KAAKo5F,UAAYp5F,KAAKqzF,YAW1B+1C,SAAU,SAAUrlI,EAAGC,EAAGqS,GAEtB,IAAItT,EAAO/C,KAAK+C,KAEhB/C,KAAKsM,MAAMvI,EAAGC,EAAGqS,GAEjBrW,KAAK44B,KAAK,WAAa71B,EAAKmR,IAC5BlU,KAAK44B,MAAMywG,EAAG,SAAUC,EAAG,QAASC,EAAG,WAAYC,EAAG,sBAAsBzmI,EAAK4nC,YAAc,KAAO5nC,EAAKnF,MAAQ,MAAQmF,EAAKlF,OAAS,KACzImC,KAAK44B,KAAK,WAAa71B,EAAKukC,QAC5BtnC,KAAK44B,KAAK,aAAe71B,EAAK64C,SAAW,KAAO74C,EAAK+4C,UAAY,KAEjE97C,KAAKmM,QAaT06B,MAAO,SAAU9iC,EAAGC,EAAGqS,GAEnB,IAAIwwB,EAAQ7mC,KAAK+C,KAAK8jC,MAClBjV,EAAO5qB,OAAO4qB,KAAKiV,EAAMe,QAE7B5nC,KAAKsM,MAAMvI,EAAGC,EAAGqS,GAEjB,IAAK,IAAI3T,EAAI,EAAGA,EAAIkvB,EAAKjvB,OAAQD,IACjC,CACI,IAAIsQ,EAAM4e,EAAKlvB,GAEXsQ,IAAQ6zB,EAAMqB,QAEdloC,KAAK44B,MAAMiO,EAAMmB,SAAW,KAAO,MAAQh1B,GAEtCA,IAAQ6zB,EAAMgB,cAEnB7nC,KAAK44B,KAAK,KAAO5lB,GAIjBhT,KAAK44B,KAAK,KAAO5lB,GAIzBhT,KAAKmM,QAWTy6B,MAAO,SAAU7iC,EAAGC,EAAGqS,GAEnB,IAAIuwB,EAAQ5mC,KAAK+C,KAAK6jC,MAEtB5mC,KAAKsM,MAAMvI,EAAGC,EAAGqS,GAEbuwB,EAAM6mF,QAENztH,KAAK44B,KAAK,sBAIV54B,KAAK44B,KAAK,WAAagO,EAAMnF,OAAO8M,QAAQ,IAAM3H,EAAM20F,KAAO,UAAY,KAC3Ev7H,KAAK44B,KAAK,kBAAoBgO,EAAM8Z,aACpC1gD,KAAK44B,KAAK,WAAagO,EAAMupF,cAAiB,eAAiBvpF,EAAM94B,QAAQ+4B,MAAS,cACtF7mC,KAAK44B,KAAK,iBAAmBgO,EAAMs8E,aACnCljH,KAAK44B,KAAK,WAAagO,EAAM61F,QAAQ95H,SAGzC3C,KAAKmM,QAYTs9H,UAAW,SAAU7iG,EAAO7iC,EAAGC,EAAGqS,GAgB9B,GAdArW,KAAKsM,MAAMvI,EAAGC,EAAGqS,GACjBrW,KAAK44B,KAAK,UAAYgO,EAAM5zB,IAAM,mBAAqB4zB,EAAM7jC,KAAK6jC,MAAMs8E,aACxEljH,KAAK44B,KAAK,cAAgB54B,KAAK+C,KAAKiX,MAAMurG,aAAa3+E,EAAM5zB,KAAO,uBAAyB4zB,EAAM8xF,iBACnG14H,KAAK44B,KAAK,YAAcgO,EAAMm0F,UAAY,eAAiBn0F,EAAMq8E,YACjEjjH,KAAK44B,KAAK,YAAcgO,EAAMi1E,UAAY,WAAaj1E,EAAMykC,MAC7DrrE,KAAK44B,KAAK,UAAYgO,EAAMuxF,YAAc,KAAM5pF,QAAQ,GAAK,aAAe3H,EAAMsxF,cAAc3pF,QAAQ,GAAK,KAC7GvuC,KAAK44B,KAAK,WAAagO,EAAMnF,OAAO8M,QAAQ,IAAM3H,EAAM20F,KAAO,UAAY,KAC3Ev7H,KAAK44B,KAAK,WAAagO,EAAMupF,cAAgB,YAAc,cAEvDvpF,EAAMupF,eAENnwH,KAAK44B,KAAK,cAAgBgO,EAAM8iG,UAAY,SAG5C9iG,EAAMwpF,eAAiBxpF,EAAMqyF,OACjC,CACI,IAAI7pH,EAASw3B,EAAMqyF,OAEnBj5H,KAAK44B,KAAK,iBAAmBxpB,EAAO2hH,YACpC/wH,KAAK44B,KAAK,kBAAoBxpB,EAAO+oH,aACrCn4H,KAAK44B,KAAK,eAAiBxpB,EAAO2zB,UAClC/iC,KAAK44B,KAAK,YAAcxpB,EAAOu6H,OAC/B3pI,KAAK44B,KAAK,WAAaxpB,EAAOi8D,MAC9BrrE,KAAK44B,KAAK,YAAcxpB,EAAOksH,OAC/Bt7H,KAAK44B,KAAK,aAAexpB,EAAOk4B,QAGR,KAAxBV,EAAM4xF,gBAENx4H,KAAK44B,KAAK,WAAagO,EAAM4xF,cAAgB,eAAiB5xF,EAAM7D,SAASwL,QAAQ,GAAK,MAAQ3H,EAAMwxF,WAAa,OACrHp4H,KAAK44B,KAAK,UAAYgO,EAAMqxF,QAAQrxF,EAAM4xF,eAAelsH,MAAMiiC,QAAQ,GAAK,WAAa3H,EAAMqxF,QAAQrxF,EAAM4xF,eAAersH,KAAKoiC,QAAQ,IACzIvuC,KAAK44B,KAAK,aAAegO,EAAMhmC,SAAS2tC,QAAQ,KAGpDvuC,KAAKmM,QAWT2O,OAAQ,SAAUA,EAAQzE,EAAOuzH,GAE7B,IAAI3nG,EAAWnnB,EAAOmnB,SAClBj6B,EAAS8S,EAAO9S,OAChBiP,EAAO6D,EAAO7D,KAEdgrB,IAEAjiC,KAAK6oI,MAAMvzG,MAAMre,EAAKlT,EAAIk+B,EAASl+B,EAAGkT,EAAKjT,EAAIi+B,EAASj+B,EAAGi+B,EAASrkC,MAAOqkC,EAASpkC,QACpFmC,KAAK6pI,UAAU7pI,KAAK6oI,MAAOxyH,EAAOuzH,IAGlC5hI,IAEAhI,KAAK4oI,MAAMtzG,MAAMre,EAAK8gB,QAAS9gB,EAAK+gB,QAAShwB,EAAOjE,EAAGiE,EAAOhE,GAC9DhE,KAAK8pI,KAAK9pI,KAAK4oI,MAAOvyH,EAAOuzH,GAC7B5pI,KAAK8pI,KAAK9hI,EAAQqO,GAAO,EAAO,KAaxC0zH,WAAY,SAAUjvH,EAAQ/W,EAAGC,EAAGqS,GAEhC,IAAIvR,EAASgW,EAAOhW,OAChBm9B,EAAWnnB,EAAOmnB,SAClBj6B,EAAS8S,EAAO9S,OAChBiP,EAAO6D,EAAO7D,KAElBjX,KAAKsM,MAAMvI,EAAGC,EAAGqS,GACjBrW,KAAK44B,KAAK,WAAa9d,EAAOld,MAAQ,MAAQkd,EAAOjd,OAAS,KAC9DmC,KAAK44B,KAAK,MAAQ9d,EAAO/W,EAAI,OAAS+W,EAAO9W,GAC7ChE,KAAK44B,KAAK,YAAc9zB,EAAU,MAAQA,EAAOf,EAAI,OAASe,EAAOd,EAAI,OAASc,EAAOlH,MAAQ,OAASkH,EAAOjH,OAAU,SAC3HmC,KAAK44B,KAAK,YAAc3hB,EAAKlT,EAAI,OAASkT,EAAKjT,EAAI,OAASiT,EAAKrZ,MAAQ,OAASqZ,EAAKpZ,QACvFmC,KAAK44B,KAAK,cAAgB9d,EAAOid,QAAU,OAASjd,EAAOkd,SAC3Dh4B,KAAK44B,KAAK,cAAgBqJ,EAAY,MAAQA,EAASl+B,EAAI,OAASk+B,EAASj+B,EAAI,OAASi+B,EAASrkC,MAAQ,OAASqkC,EAASpkC,OAAUokC,IACvIjiC,KAAK44B,KAAK,kBAAoB9d,EAAOsnB,aACrCpiC,KAAK44B,KAAK,gBAAkB9d,EAAOqnB,QAAQp+B,EAAI,OAAS+W,EAAOqnB,QAAQn+B,GACvEhE,KAAK44B,KAAK,YAAc5wB,EAAUA,EAAOkqB,MAAQlqB,EAAU,SAC3DhI,KAAKmM,QAYTgtG,MAAO,SAAUA,EAAOp1G,EAAGC,EAAGqS,GAE1BrW,KAAKsM,MAAMvI,EAAGC,EAAGqS,GACjBrW,KAAK44B,KAAK,mBAAqBugF,EAAMU,QAAU,aAAeV,EAAMW,QAAU,KAC9E95G,KAAK44B,KAAK,cAAgBugF,EAAM3jE,KAAO,cAAgB2jE,EAAMp2E,UAC7D/iC,KAAK44B,KAAK,WAAaugF,EAAM7xE,OAAS,YAAc6xE,EAAMx2G,QAC1D3C,KAAKmM,QAcTmiC,QAAS,SAAUA,EAAS07F,EAAUC,EAAWC,EAAS7zH,EAAO8zH,GAE7D,GAAe,MAAX77F,SAKa/nC,IAAbyjI,IAA0BA,GAAW,GAEzCC,EAAYA,GAAa,oBACzBC,EAAUA,GAAW,sBACrBC,EAAgBA,GAAiB,qBAEhB,IAAbH,IAAsC,IAAjB17F,EAAQ6c,MAAjC,CAKAnrD,KAAKsM,MAAMgiC,EAAQvqC,EAAGuqC,EAAQtqC,EAAI,IAAKqS,GACvCrW,KAAK8N,QAAQ6xE,YACb3/E,KAAK8N,QAAQ8xE,IAAItxC,EAAQvqC,EAAGuqC,EAAQtqC,EAAGsqC,EAAQiT,OAAOlsB,OAAQ,EAAa,EAAV3xB,KAAKwxB,IAElEoZ,EAAQtD,OAERhrC,KAAK8N,QAAQ+a,UAAYylB,EAAQ4c,OAAS++E,EAAYC,EAItDlqI,KAAK8N,QAAQ+a,UAAYshH,EAG7BnqI,KAAK8N,QAAQ+4C,OACb7mD,KAAK8N,QAAQ+xE,YAGb7/E,KAAK8N,QAAQ6xE,YACb3/E,KAAK8N,QAAQgyE,OAAOxxC,EAAQuf,aAAa9pD,EAAGuqC,EAAQuf,aAAa7pD,GACjEhE,KAAK8N,QAAQiyE,OAAOzxC,EAAQ1tC,SAASmD,EAAGuqC,EAAQ1tC,SAASoD,GACzDhE,KAAK8N,QAAQkyE,UAAY,EACzBhgF,KAAK8N,QAAQoyE,SACblgF,KAAK8N,QAAQ+xE,YAEb,IAAIuqD,EAAK97F,EAAQ+e,UACbg9E,EAAK/7F,EAAQgf,WAEb88E,GAAMC,KAENrqI,KAAK8N,QAAQ6xE,YACb3/E,KAAK8N,QAAQgyE,OAAOsqD,EAAK97F,EAAQ1tC,SAASmD,EAAGsmI,EAAK/7F,EAAQ1tC,SAASoD,GACnEhE,KAAK8N,QAAQiyE,OAAOzxC,EAAQ1tC,SAASmD,EAAGuqC,EAAQ1tC,SAASoD,GACzDhE,KAAK8N,QAAQkyE,UAAY,EACzBhgF,KAAK8N,QAAQoyE,SACblgF,KAAK8N,QAAQ+xE,aAIjB7/E,KAAK44B,KAAK,OAAS0V,EAAQp6B,GAAK,YAAco6B,EAAQtD,QACtDhrC,KAAK44B,KAAK,YAAc0V,EAAQg8F,OAAO/7F,QAAQ,GAAK,aAAeD,EAAQi8F,OAAOh8F,QAAQ,IAC1FvuC,KAAK44B,KAAK,aAAe0V,EAAQvqC,EAAEwqC,QAAQ,GAAK,cAAgBD,EAAQtqC,EAAEuqC,QAAQ,GAAK,QAAUD,EAAQua,YACzG7oD,KAAK44B,KAAK,gBAAkBwxG,EAAK,OAASC,GAC1CrqI,KAAK44B,KAAK,aAAe0V,EAAQvL,SAAW,OAC5C/iC,KAAK44B,KAAK,YAAc0V,EAAQ4c,OAAS,WAAa5c,EAAQ6c,MAC9DnrD,KAAK44B,KAAK,eAAiB0V,EAAQyX,WAAa,gBAAkBzX,EAAQgY,WAEtEhY,EAAQif,SAERvtD,KAAK44B,KAAK,YAAc54B,KAAKwqI,mBAAmBl8F,EAAQ4d,YAAc,IAC9ClsD,KAAKwqI,mBAAmBl8F,EAAQ6d,cAAgB,IAChDnsD,KAAKwqI,mBAAmBl8F,EAAQ8d,cAG5DpsD,KAAKmM,SAGTq+H,mBAAoB,SAAUC,GAE1B,OAAIA,EAAIv/E,OAAiB,IAChBu/E,EAAIt/E,KAAe,IAErB,KAYXu/E,gBAAiB,SAAUnnH,EAAQxf,EAAGC,EAAGqS,GAErCrW,KAAKsM,MAAMvI,EAAGC,EAAGqS,GACjBrW,KAAK44B,KAAK,kBAAoBrV,EAAO3lB,MAAQ,MAAQ2lB,EAAO1lB,OAAS,KACrEmC,KAAK44B,KAAK,MAAQrV,EAAOmjB,MAAMyuB,WAAW5mB,QAAQ,GAAK,OAAShrB,EAAOmjB,MAAM0uB,WAAW7mB,QAAQ,IAChGvuC,KAAK44B,KAAK,SAAWrV,EAAOmjB,MAAM+uB,cAAgB,cAAgBlyC,EAAOmjB,MAAM+wB,eAAelpB,QAAQ,IACtGvuC,KAAK44B,KAAK,SAAWrV,EAAOmjB,MAAM2uB,cAAgB,cAAgB9xC,EAAOmjB,MAAMguB,eAAenmB,QAAQ,IACtGvuC,KAAK44B,KAAK,cAAgBrV,EAAOmjB,MAAM6wB,WAAa,cAAgBh0C,EAAOmjB,MAAMgxB,WACjF13D,KAAKmM,QAYT6G,IAAK,SAAUA,EAAKjP,EAAGC,EAAGqS,GAEtBrW,KAAKsM,MAAMvI,EAAGC,EAAGqS,EAAO,KAExBrW,KAAK44B,KAAK,OAAQ5lB,EAAI8vD,QAAS,UAAW9vD,EAAIk4C,QAC9ClrD,KAAK44B,KAAK,YAAa5lB,EAAI23H,SAAU,UAAW33H,EAAI43H,QACpD5qI,KAAK44B,KAAK,aAAc5lB,EAAIo4C,SAAS7c,QAAQ,GAAI,YAAav7B,EAAI+vB,SAASwL,QAAQ,IAEnFvuC,KAAKmM,QAYT0+H,UAAW,SAAU9mI,EAAGC,EAAGqS,EAAOy0H,GAE9B,IAAIpkG,EAAQ1mC,KAAK+C,KAAK2jC,MAetB,QAboBngC,IAAhBukI,IAEAA,GAAc,GAGlB9qI,KAAKsM,MAAMvI,EAAGC,EAAGqS,GAEjBrW,KAAK44B,KAAK,SACV54B,KAAK44B,KAAK,MAAQ8N,EAAM3iC,EAAI,OAAS2iC,EAAM1iC,GAC3ChE,KAAK44B,KAAK,YAAc8N,EAAM4jG,OAAS,aAAe5jG,EAAM6jG,QAC5DvqI,KAAK44B,KAAK,YAAc8N,EAAM5lC,MAAMiD,EAAEwqC,QAAQ,GAAK,aAAe7H,EAAM5lC,MAAMiD,EAAEwqC,QAAQ,IACxFvuC,KAAK44B,KAAK,aAAe8N,EAAMmc,cAAcoK,QAAQ1e,QAAQ,GAAK,cAAgB7H,EAAMmc,cAAcqK,QAAQ3e,QAAQ,IAEjHu8F,EAAL,CAOA9qI,KAAK44B,KAAK,YACV54B,KAAK44B,KAAK,KAAO54B,KAAK+qI,cAAcrkG,EAAM8G,MAAO,UACjDxtC,KAAK44B,KAAK,KAAO54B,KAAK+qI,cAAcrkG,EAAMuc,UAAW,cACrDjjD,KAAK44B,KAAK,KAAO54B,KAAK+qI,cAAcrkG,EAAMsc,MAAO,UAEjD,IAAIJ,EAAWlc,EAAMkc,SACjBE,EAAepc,EAAMoc,aACrBxmC,EAAQ9a,EAAOmvD,aACf3lB,EAAS,EACTggG,EAAO,EAEXhrI,KAAK44B,KAAK,aACV54B,KAAK44B,KAAK,MAAQkqB,EAAaoI,OAAS,IAAM,KAAO,IAAM5uC,EAAMwmC,EAAakJ,aAAe,IAAMlJ,EAAaiD,YAEhH,IAAK,IAAIrjD,EAAI,EAAGA,EAAIkgD,EAASjgD,OAAQD,IACrC,CACI,IAAIM,EAAI4/C,EAASlgD,GAEjB1C,KAAK44B,KAAK,MAAQ51B,EAAEgoC,OAAS,IAAM,KAAO,IAAM1uB,EAAMtZ,EAAEgpD,aAAe,IAAMhpD,EAAE+iD,YAE3E/iD,EAAEgoC,OAAUA,GAAU,EACnBggG,GAAQ,EAGnBhrI,KAAK44B,KAAK,aAAeoS,EAAS,UAAYggG,EAAO,SAAWtkG,EAAM8a,aAEtExhD,KAAKmM,YA/BDnM,KAAKmM,QA4Cb8+H,aAAc,SAAUjkF,EAAS90B,EAAMnuB,EAAGC,EAAGqS,GAEzCrW,KAAKsM,MAAMvI,EAAGC,EAAGqS,GAEjBrW,KAAK44B,KAAK1G,GAAQ,KAClBlyB,KAAK44B,KAAK,WAAaouB,EAAQhc,QAE1Bgc,EAAQhc,QAObhrC,KAAK44B,KAAK,YAAcouB,EAAQ7F,SAE5B,YAAa6F,GAEbhnD,KAAK44B,KAAK,YAAcouB,EAAQK,SAGhC,mBAAoBL,GAEpBhnD,KAAK44B,KAAK,mBAAqBouB,EAAQvH,gBAGvC,UAAWuH,GAEXhnD,KAAK44B,KAAK,WAAaouB,EAAQtW,MAAQsW,EAAQtW,MAAMl9B,KAAOwzC,EAAQtW,QAGxE1wC,KAAKmM,QAtBDnM,KAAKmM,QAyBb4+H,cAAe,SAAU/jF,EAAS90B,GAE9B,OAAOlyB,KAAKkrI,wBAAwBlkF,GAAW,IAAM90B,EAAO,IAAMlyB,KAAKmrI,yBAAyBnkF,IAGpGkkF,wBAAyB,SAAUlkF,GAE/B,OAAKA,EAAQhc,OAKNgc,EAAQ7F,QAAU,IAAM,IAHpB,KAMfgqF,yBAA0B,SAAUnkF,GAEhC,OAAKA,EAAQhc,SAKLgc,EAAQK,SAAWL,EAAQvH,gBAAkB,IAH1C,KAcf2rF,aAAc,SAAU7nH,EAAQlN,EAAOuzH,GAEnC,IAAI9kI,EAASye,EAAOrZ,YAEpBpF,EAAOf,GAAK/D,KAAK+C,KAAK+X,OAAO/W,EAC7Be,EAAOd,GAAKhE,KAAK+C,KAAK+X,OAAO9W,EAE7BhE,KAAK6pI,UAAU/kI,EAAQuR,EAAOuzH,IAWlCyB,aAAc,SAAU/2D,EAAMj+D,EAAOuzH,GAEjC,IAEIvuG,EAAOr7B,KAFIs0E,EAAK6Z,SAIXt9D,QAAQ,SAAUy6G,GAEvBjwG,EAAKwuG,UAAUyB,EAASj1H,EAAOuzH,IAChC5pI,OAYPurI,WAAY,SAAUhoH,EAAQxf,EAAGC,EAAGqS,GAEhCrW,KAAKsM,MAAMvI,EAAGC,EAAGqS,GAEjBrW,KAAK44B,KAAK,YAAcrV,EAAO2O,MAAQ,IAAM,KAAO3O,EAAO3lB,MAAQ,MAAQ2lB,EAAO1lB,OAAS,aAAe0lB,EAAO5c,OAAO5C,EAAI,MAAQwf,EAAO5c,OAAO3C,GAClJhE,KAAK44B,KAAK,MAAQrV,EAAOxf,EAAEwqC,QAAQ,GAAK,OAAShrB,EAAOvf,EAAEuqC,QAAQ,IAClEvuC,KAAK44B,KAAK,UAAYrV,EAAOuS,MAAMyY,QAAQ,GAAK,cAAgBhrB,EAAOviB,SAASutC,QAAQ,IACxFvuC,KAAK44B,KAAK,YAAcrV,EAAOriB,QAAU,eAAiBqiB,EAAOmoD,UACjE1rE,KAAK44B,KAAK,aAAerV,EAAOvhB,QAAQ+B,EAAEwqC,QAAQ,GAAK,OAAShrB,EAAOvhB,QAAQgC,EAAEuqC,QAAQ,GAAK,OAAShrB,EAAOvhB,QAAQpE,MAAM2wC,QAAQ,GAAK,OAAShrB,EAAOvhB,QAAQnE,OAAO0wC,QAAQ,IAChLvuC,KAAK44B,KAAK,YAAcrV,EAAOliB,OAAUkiB,EAAOliB,OAAO6wB,MAAQ,kBAAqB,WAEpFlyB,KAAKmM,QAYTq/H,aAAc,SAAUjoH,EAAQxf,EAAGC,EAAGqS,GAElCrW,KAAKsM,MAAMvI,EAAGC,EAAGqS,EAAO,KAEpBkN,EAAO2O,MAEPlyB,KAAK44B,KAAKrV,EAAO2O,MAGrBlyB,KAAK44B,KAAK,KAAMrV,EAAOxf,EAAEwqC,QAAQ,GAAI,KAAMhrB,EAAOvf,EAAEuqC,QAAQ,IAC5DvuC,KAAK44B,KAAK,SAAUrV,EAAO3iB,SAASmD,EAAEwqC,QAAQ,GAAI,SAAUhrB,EAAO3iB,SAASoD,EAAEuqC,QAAQ,IACtFvuC,KAAK44B,KAAK,WAAYrV,EAAOtgB,MAAMc,EAAEwqC,QAAQ,GAAI,WAAYhrB,EAAOtgB,MAAMe,EAAEuqC,QAAQ,IAEpFvuC,KAAKmM,QAYTs/H,SAAU,SAAU7yG,EAAM70B,EAAGC,EAAGqS,GAE5BrW,KAAKsM,MAAMvI,EAAGC,EAAGqS,EAAO,IACxBrW,KAAK44B,KAAK,WAAYA,EAAKtsB,MAAMvI,EAAEwqC,QAAQ,GAAI,WAAY3V,EAAKtsB,MAAMtI,EAAEuqC,QAAQ,IAChFvuC,KAAK44B,KAAK,SAAUA,EAAKtd,IAAIvX,EAAEwqC,QAAQ,GAAI,SAAU3V,EAAKtd,IAAItX,EAAEuqC,QAAQ,IACxEvuC,KAAK44B,KAAK,UAAWA,EAAKj2B,OAAO4rC,QAAQ,GAAI,SAAU3V,EAAK9C,OAC5D91B,KAAKmM,QAYT+vE,MAAO,SAAUn4E,EAAGC,EAAGqS,EAAO0L,GAE1BA,EAAOA,GAAQ,EAEf/hB,KAAKsM,QACLtM,KAAK8N,QAAQ+a,UAAYxS,EACzBrW,KAAK8N,QAAQkb,SAASjlB,EAAGC,EAAG+d,EAAMA,GAClC/hB,KAAKmM,QAYT29H,KAAM,SAAUrwF,EAAQpjC,EAAOuzH,EAAQ8B,QAEpBnlI,IAAXqjI,IAAwBA,GAAS,QACnBrjI,IAAdmlI,IAA2BA,EAAY,GAE3Cr1H,EAAQA,GAAS,oBAEjBrW,KAAKsM,QAELtM,KAAK8N,QAAQ+a,UAAYxS,EACzBrW,KAAK8N,QAAQmyE,YAAc5pE,EAC3BrW,KAAK8N,QAAQkyE,UAAYhgF,KAAKggF,UAE9B,IAAIhiC,EAAQx8C,EAAOkwB,MAAMssB,MAErB0tF,IAAc1tF,EAAM+qF,gBAAkBtvF,aAAkBj4C,EAAOS,UAE3D2nI,EAEA5pI,KAAK8N,QAAQkb,SAASywB,EAAO11C,EAAI/D,KAAK+C,KAAK+X,OAAO/W,EAAG01C,EAAOz1C,EAAIhE,KAAK+C,KAAK+X,OAAO9W,EAAGy1C,EAAO77C,MAAO67C,EAAO57C,QAIzGmC,KAAK8N,QAAQi9E,WAAWtxC,EAAO11C,EAAI/D,KAAK+C,KAAK+X,OAAO/W,EAAG01C,EAAOz1C,EAAIhE,KAAK+C,KAAK+X,OAAO9W,EAAGy1C,EAAO77C,MAAO67C,EAAO57C,QAG1G6tI,IAAc1tF,EAAMgrF,aAAevvF,aAAkBj4C,EAAOqzB,QAEjE70B,KAAK8N,QAAQ6xE,YACb3/E,KAAK8N,QAAQ8xE,IAAInmC,EAAO11C,EAAI/D,KAAK+C,KAAK+X,OAAO/W,EAAG01C,EAAOz1C,EAAIhE,KAAK+C,KAAK+X,OAAO9W,EAAGy1C,EAAOpkB,OAAQ,EAAa,EAAV3xB,KAAKwxB,IAAQ,GAC9Gl1B,KAAK8N,QAAQ+xE,YAET+pD,EAEA5pI,KAAK8N,QAAQ+4C,OAIb7mD,KAAK8N,QAAQoyE,UAGZwrD,IAAc1tF,EAAMirF,YAAcxvF,aAAkBj4C,EAAOX,MAEhEb,KAAK8N,QAAQkb,SAASywB,EAAO11C,EAAI/D,KAAK+C,KAAK+X,OAAO/W,EAAG01C,EAAOz1C,EAAIhE,KAAK+C,KAAK+X,OAAO9W,EAAG,EAAG,GAElF0nI,IAAc1tF,EAAMkrF,WAAazvF,aAAkBj4C,EAAO22B,MAE/Dn4B,KAAK8N,QAAQ6xE,YACb3/E,KAAK8N,QAAQgyE,OAAQrmC,EAAOntC,MAAMvI,EAAI,GAAO/D,KAAK+C,KAAK+X,OAAO/W,EAAI01C,EAAOntC,MAAMtI,EAAI,GAAOhE,KAAK+C,KAAK+X,OAAO9W,GAC3GhE,KAAK8N,QAAQiyE,OAAQtmC,EAAOn+B,IAAIvX,EAAI,GAAO/D,KAAK+C,KAAK+X,OAAO/W,EAAI01C,EAAOn+B,IAAItX,EAAI,GAAOhE,KAAK+C,KAAK+X,OAAO9W,GACvGhE,KAAK8N,QAAQ+xE,YACb7/E,KAAK8N,QAAQoyE,WAERwrD,IAAc1tF,EAAMmrF,cAAgB1vF,aAAkBj4C,EAAOs2B,WAElE93B,KAAK8N,QAAQ6xE,YACb3/E,KAAK8N,QAAQ69H,QAAQlyF,EAAO1hB,QAAU/3B,KAAK+C,KAAK+X,OAAO/W,EAAG01C,EAAOzhB,QAAUh4B,KAAK+C,KAAK+X,OAAO9W,EAAGy1C,EAAO77C,MAAQ,EAAG67C,EAAO57C,OAAS,EAAG,EAAG,EAAI6F,KAAKwxB,IAAI,GACpJl1B,KAAK8N,QAAQ+xE,YAET+pD,EAEA5pI,KAAK8N,QAAQ+4C,OAIb7mD,KAAK8N,QAAQoyE,UAIrBlgF,KAAKmM,QAWT09H,UAAW,SAAUpwF,EAAQpjC,EAAOuzH,QAEjBrjI,IAAXqjI,IAAwBA,GAAS,GAErCvzH,EAAQA,GAAS,uBAEjBrW,KAAKsM,QAEDs9H,GAEA5pI,KAAK8N,QAAQ+a,UAAYxS,EACzBrW,KAAK8N,QAAQkb,SAASywB,EAAO11C,EAAI/D,KAAK+C,KAAK+X,OAAO/W,EAAG01C,EAAOz1C,EAAIhE,KAAK+C,KAAK+X,OAAO9W,EAAGy1C,EAAO77C,MAAO67C,EAAO57C,UAIzGmC,KAAK8N,QAAQkyE,UAAYhgF,KAAKggF,UAC9BhgF,KAAK8N,QAAQmyE,YAAc5pE,EAC3BrW,KAAK8N,QAAQi9E,WAAWtxC,EAAO11C,EAAI/D,KAAK+C,KAAK+X,OAAO/W,EAAG01C,EAAOz1C,EAAIhE,KAAK+C,KAAK+X,OAAO9W,EAAGy1C,EAAO77C,MAAO67C,EAAO57C,SAG/GmC,KAAKmM,QAaTqoE,KAAM,SAAUA,EAAMzwE,EAAGC,EAAGqS,EAAO++D,GAE/B/+D,EAAQA,GAAS,mBACjB++D,EAAOA,GAAQp1E,KAAKo1E,KAEpBp1E,KAAKsM,QACLtM,KAAK8N,QAAQsnE,KAAOA,EAEhBp1E,KAAKyoI,eAELzoI,KAAK8N,QAAQ+a,UAAY,aACzB7oB,KAAK8N,QAAQ4xE,SAASlL,EAAMzwE,EAAI,EAAGC,EAAI,IAG3ChE,KAAK8N,QAAQ+a,UAAYxS,EACzBrW,KAAK8N,QAAQ4xE,SAASlL,EAAMzwE,EAAGC,GAE/BhE,KAAKmM,QAUTy/H,SAAU,SAAUC,EAAUx1H,GAE1BA,EAAQA,GAAS,oBAEjBrW,KAAKsM,QAEL,IAAIxH,EAAS+mI,EAAS/mI,OAEtB,GAA8B,IAA1B+mI,EAASn8B,MAAM/sG,OACnB,CACI3C,KAAK8N,QAAQmyE,YAAc5pE,EAC3BrW,KAAK8N,QAAQi9E,WAAWjmF,EAAOf,EAAGe,EAAOd,EAAGc,EAAOlH,MAAOkH,EAAOjH,QACjEmC,KAAKw0E,KAAK,SAAWq3D,EAASp8B,QAAQ9sG,OAAQmC,EAAOf,EAAI,EAAGe,EAAOd,EAAI,GAAI,eAAgB,gBAE3FhE,KAAK8N,QAAQmyE,YAAc,eAE3B,IAASv9E,EAAI,EAAGA,EAAImpI,EAASp8B,QAAQ9sG,OAAQD,IAEzC1C,KAAK8N,QAAQi9E,WAAW8gD,EAASp8B,QAAQ/sG,GAAGqB,EAAG8nI,EAASp8B,QAAQ/sG,GAAGsB,EAAG6nI,EAASp8B,QAAQ/sG,GAAG9E,MAAOiuI,EAASp8B,QAAQ/sG,GAAG7E,aAKzH,IAAK,IAAI6E,EAAI,EAAGA,EAAImpI,EAASn8B,MAAM/sG,OAAQD,IAEvC1C,KAAK4rI,SAASC,EAASn8B,MAAMhtG,IAIrC1C,KAAKmM,QAaTgmC,KAAM,SAAU5uB,EAAQlN,EAAOuzH,GAEvBrmH,EAAO4uB,OAEPnyC,KAAKsM,QAEDiX,EAAO4uB,KAAK3+B,OAAShS,EAAOkxC,QAAQC,OAEpCnxC,EAAOkxC,QAAQuiC,OAAO62D,KAAK3mI,OAAOnF,KAAK8N,QAASyV,EAAO4uB,KAAM97B,EAAOuzH,EAAQ5pI,KAAKggF,WAE5Ez8D,EAAO4uB,KAAK3+B,OAAShS,EAAOkxC,QAAQq5F,MAEzCvqI,EAAOkxC,QAAQs5F,MAAMF,KAAK3mI,OAAOnF,KAAK8N,QAASyV,EAAO4uB,KAAM97B,EAAOuzH,GAE9DrmH,EAAO4uB,KAAK3+B,OAAShS,EAAOkxC,QAAQu5F,OAEzCzqI,EAAOkxC,QAAQw5F,MAAMC,WAAWnsI,KAAK8N,QAASyV,EAAO4uB,KAAM97B,GAG/DrW,KAAKmM,SAabigI,SAAU,SAAU7oH,EAAQxf,EAAGC,EAAGqS,GAE1BkN,EAAO4uB,OAEPnyC,KAAKsM,MAAMvI,EAAGC,EAAGqS,EAAO,KAEpBkN,EAAO4uB,KAAK3+B,OAAShS,EAAOkxC,QAAQC,OAEpCnxC,EAAOkxC,QAAQuiC,OAAO62D,KAAKO,eAAersI,KAAMujB,EAAO4uB,MAElD5uB,EAAO4uB,KAAK3+B,OAAShS,EAAOkxC,QAAQu5F,OAEzCjsI,KAAK+C,KAAKikC,QAAQslG,MAAMD,eAAersI,KAAMujB,EAAO4uB,MAGxDnyC,KAAKmM,SAWbogI,WAAY,WAERvsI,KAAKsM,QAELtM,KAAK8N,QAAQiuB,WAAW/7B,KAAK+C,KAAK+X,OAAO7D,KAAKlT,GAAI/D,KAAK+C,KAAK+X,OAAO7D,KAAKjT,EAAG,GAC3EhE,KAAK+C,KAAKikC,QAAQslG,MAAME,gBAAgBxsI,KAAK8N,SAE7C9N,KAAKmM,QAWTsgI,UAAW,SAAUt6F,EAAM97B,GAEvBrW,KAAKsM,QACL9K,EAAOkxC,QAAQw5F,MAAMC,WAAWnsI,KAAK8N,QAASqkC,EAAM97B,GACpDrW,KAAKmM,QAaTugI,YAAa,SAAUxxH,GAanB,QAXsB3U,IAAlB2U,IAA+BA,EAAgBlb,KAAK+C,KAAKE,OAEzDiY,EAAcqW,eAAe,iBAE7BjxB,QAAQ+P,IAAI,IAAM6K,EAAci9B,cAAgB,IAAKj9B,GAIrD5a,QAAQ+P,IAAI,KAAM6K,GAGlBA,EAAczY,UAAYyY,EAAczY,SAASE,OAAS,EAE1D,IAAK,IAAID,EAAI,EAAGA,EAAIwY,EAAczY,SAASE,OAAQD,IAE/C1C,KAAK+C,KAAKqnC,MAAMsiG,YAAYxxH,EAAczY,SAASC,KAa/DmC,SAAU,SAAUd,EAAGC,EAAGqS,GAEtB,IAAInS,EAAIlE,KAAK+C,KAAK8B,SACdR,EAAIH,EAAE0B,cAWV,GATA5F,KAAKsM,MAAMvI,EAAGC,EAAGqS,GAEjBrW,KAAK44B,MAAM10B,EAAEvG,GAAK,QAAU,UAAY,cAAgBuG,EAAEtG,MAAQ,MAAQsG,EAAErG,OAAS,KACrFmC,KAAK44B,KAAK,eAAiB10B,EAAE2S,YAC7B7W,KAAK44B,KAAK,sBAAwB10B,EAAE6S,mBACpC/W,KAAK44B,KAAK,eAAiB10B,EAAEU,YAC7B5E,KAAK44B,KAAK,gBAAkB10B,EAAE0S,aAC9B5W,KAAK44B,KAAK,kBAEN10B,EAAEvG,GACN,CACIqC,KAAK44B,KAAK,8BAAgC10B,EAAEiU,uBAAuBxV,OAAS,KAE5E,IAAK,IAAID,EAAI,EAAGA,EAAIwB,EAAEiU,uBAAuBxV,OAAQD,IAEjD1C,KAAK44B,KAAK,OAAS10B,EAAEiU,uBAAuBzV,IAGhD1C,KAAK44B,KAAK,gBAAkBv0B,EAAE+T,WAC9BpY,KAAK44B,KAAK,kBAAoB10B,EAAEuU,aAChCzY,KAAK44B,KAAK,qBAAuB10B,EAAEwU,gBACnC1Y,KAAK44B,KAAK,+BAAiCv0B,EAAEgU,0BAC7CrY,KAAK44B,KAAK,kBAAoBv0B,EAAEuK,kBAIhC5O,KAAK44B,KAAK,kBAAoBv0B,EAAEuK,aAChC5O,KAAK44B,KAAK,iBAAmC,IAAhBv0B,EAAEvG,UAAkB,SAA4B,IAAhBuG,EAAEvG,UAAkB,UAAYuG,EAAEvG,YAGnGkC,KAAKmM,QAGTwgI,WAAY,SAAU5oI,EAAGC,EAAGqS,EAAOmyH,GAE/B,IAAIppC,EAAO59F,EAAOqF,WAElB7G,KAAKsM,MAAMvI,EAAGC,EAAGqS,EAAOmyH,GAAe,KACvCxoI,KAAK44B,KAAK,eACV54B,KAAK44B,KAAK,QAASwmE,EAAKC,YACxBr/F,KAAK44B,KAAK,QAASwmE,EAAKE,WACxBt/F,KAAK44B,KAAK,SAAUwmE,EAAKz8F,QACzB3C,KAAKmM,QAYT6nE,aAAc,SAAUz5B,EAAOlkC,EAAOuzH,EAAQjyF,GAE1C4C,EAAM1pB,QAAQ7wB,KAAKmyC,KAAMnyC,KAAM23C,EAAathC,EAAOuzH,IAWvDgD,OAAQ,SAAU7oI,EAAGC,EAAGqS,GAEpBrW,KAAKw0E,KAAK,WAAahzE,EAAOkqB,QAAU,KACnC1rB,KAAK+C,KAAK4nC,aAAenpC,EAAOmV,MAAQ,QAAU,UAAY,KAC9D3W,KAAK+C,KAAKonB,OAAO00B,SAAW,WAAa,cAC9C96C,EAAGC,EAAGqS,EAAOrW,KAAKo1E,OAWtBt0E,MAAO,SAAUiD,EAAGC,EAAGqS,GAEnBrW,KAAKsM,MAAMvI,EAAGC,EAAGqS,GAEjB,IAAIvV,EAAQd,KAAK+C,KAAKjC,MAClB+rI,EAAS/rI,EAAMw+H,oBACfx6H,EAAShE,EAAMqgI,cACfp9H,EAAI,MAER/D,KAAK44B,KAAK,SAAW54B,KAAK+C,KAAKnF,MAAQmG,EAAI/D,KAAK+C,KAAKlF,QACrDmC,KAAK44B,KAAK,WAAa93B,EAAMlD,MAAQmG,EAAIjD,EAAMjD,OAC3C,KAAOgvI,EAAO9oI,EAAEwqC,QAAQ,GAAKxqC,EAAI8oI,EAAO7oI,EAAEuqC,QAAQ,GAAK,MAChDztC,EAAMy+H,YAAYhxF,QAAQ,GAAK,KAC1CvuC,KAAK44B,KAAK,SAAWp3B,EAAO67C,aAAawkF,MAAM/gI,EAAM0iI,mBAChD1iI,EAAM0iI,mBAAqBhiI,EAAO67C,aAAaukF,WAC3C,KAAO9gI,EAAMggI,iBAAiB/8H,EAAIA,EAAIjD,EAAMggI,iBAAiB98H,EAAI,IAClE,KACRhE,KAAK44B,KAAK,YAAc93B,EAAMu/H,eAAiB,SAAWv/H,EAAM0oG,aAC3D1kG,EAAOi2B,MAAQ,GAAM,KAAOj2B,EAAOlH,MAAQmG,EAAIe,EAAOjH,OAAS,MACpEmC,KAAK44B,KAAK,WAAa93B,EAAM4jI,oBAAoB5jI,EAAMq+H,oBAClDr+H,EAAMy9H,qBAAuB,eAAiB,KAEnDv+H,KAAKmM,QAiBT2gI,OAAQ,SAAUA,EAAQ/oI,EAAGC,EAAGqS,GAE5B,IAAImd,EAAMhyB,EAAOkwB,MAAM8B,IAEvBxzB,KAAKsM,MAAMvI,EAAGC,EAAGqS,GAEby2H,EAAO3/H,UAEPnN,KAAK44B,KAAK,YAAck0G,EAAO3pF,YAAc,YAAc,KAEtD2pF,EAAO5jB,UAEZlpH,KAAK44B,KAAK,WAIV54B,KAAK44B,KAAK,eAGTk0G,EAAO3/H,YAAa2/H,EAAO3pF,cAE5BnjD,KAAK44B,KAAK,aAAgBpF,EAAIs5G,EAAO1d,SAAU,GAAK,KACpDpvH,KAAK44B,KAAK,UAAYk0G,EAAOtiB,iBAAmB,OAC1BsiB,EAAOxiB,iBAC7BtqH,KAAK44B,KAAK,UAAYk0G,EAAOviB,iBAAmB,OAC1BuiB,EAAOviB,mBAGjCvqH,KAAKmM,QAWTge,OAAQ,SAAUpmB,EAAGC,EAAGqS,GAEpB,IAAI8T,EAASnqB,KAAK+C,KAAKonB,OAEvBnqB,KAAKsM,MAAMvI,EAAGC,EAAGqS,GAEjBrW,KAAK44B,KAAK,UACV54B,KAAK44B,KAAK,mBAAqBzO,EAAO84B,WACtCjjD,KAAK44B,KAAK,UAAYzO,EAAO64B,OAC7BhjD,KAAK44B,KAAK,cAAgBzO,EAAO00B,UACjC7+C,KAAK44B,KAAK,UAAYzO,EAAOg1B,OAE7Bn/C,KAAKmM,QAQT3J,QAAS,WAELhB,EAAOqF,WAAWuV,OAAOpc,QAKjCwB,EAAOkwB,MAAMssB,MAAM17C,UAAUC,YAAcf,EAAOkwB,MAAMssB,MAmBxDx8C,EAAOwuC,KAYHC,UAAW,SAAU+Y,EAAS1yB,GAE1BA,EAAQA,GAAS,IAAI90B,EAAOX,MAE5B,IAAIksI,EAAM/jF,EAAQ68E,wBAEdX,EAAY1jI,EAAOwuC,IAAIg9F,QACvBC,EAAazrI,EAAOwuC,IAAIk9F,QACxBC,EAAY98F,SAASk4D,gBAAgB4kC,UACrCC,EAAa/8F,SAASk4D,gBAAgB6kC,WAK1C,OAHA92G,EAAMvyB,EAAIgpI,EAAIl5G,KAAOo5G,EAAaG,EAClC92G,EAAMtyB,EAAI+oI,EAAIx2G,IAAM2uG,EAAYiI,EAEzB72G,GAgBXpsB,UAAW,SAAU8+C,EAASqkF,GAM1B,YAJgB9mI,IAAZ8mI,IAAyBA,EAAU,OAEvCrkF,EAAUA,IAAYA,EAAQj1B,SAAWi1B,EAAQ,GAAKA,IAEjB,IAArBA,EAAQj1B,WAMb/zB,KAAKstI,UAAUtkF,EAAQ68E,wBAAyBwH,IAa/DC,UAAW,SAAUC,EAAQF,GAEzBA,GAAWA,GAAW,EAEtB,IAAIz3G,GAAWh4B,MAAO,EAAGC,OAAQ,EAAGg2B,KAAM,EAAGD,MAAO,EAAG2C,IAAK,EAAGC,OAAQ,GAKvE,OAHAZ,EAAOh4B,OAASg4B,EAAOhC,MAAQ25G,EAAO35G,MAAQy5G,IAAYz3G,EAAO/B,KAAO05G,EAAO15G,KAAOw5G,GACtFz3G,EAAO/3B,QAAU+3B,EAAOY,OAAS+2G,EAAO/2G,OAAS62G,IAAYz3G,EAAOW,IAAMg3G,EAAOh3G,IAAM82G,GAEhFz3G,GAUX43G,eAAgB,SAAU/zF,GAItB,IAAIpkC,GAFJokC,EAAmB,MAAVA,EAAiBz5C,KAAKqjI,aAAmC,IAApB5pF,EAAO1lB,SAAiB/zB,KAAKkK,UAAUuvC,GAAUA,GAEhF77C,MACX4mB,EAAIi1B,EAAO57C,OAYf,MAViB,mBAANwX,IAEPA,EAAIA,EAAE7Q,KAAKi1C,IAGE,mBAANj1B,IAEPA,EAAIA,EAAEhgB,KAAKi1C,IAGRpkC,EAAImP,GAgBfipH,iBAAkB,SAAUzkF,EAASqkF,GAEjC,IAAInpI,EAAIlE,KAAKkK,UAAU8+C,EAASqkF,GAEhC,QAASnpI,GAAKA,EAAEsyB,QAAU,GAAKtyB,EAAE0vB,OAAS,GAAK1vB,EAAEqyB,KAAOv2B,KAAK2lI,aAAa/nI,OAASsG,EAAE2vB,MAAQ7zB,KAAK2lI,aAAa9nI,QA4BnHuhI,qBAAsB,SAAUsO,GAE5B,IAAIC,EAASv9H,OAAOu9H,OAChBhJ,EAAcgJ,EAAOhJ,aAAegJ,EAAOC,gBAAkBD,EAAOE,cAExE,GAAIlJ,GAA2C,iBAArBA,EAAYnxH,KAGlC,OAAOmxH,EAAYnxH,KAElB,GAA2B,iBAAhBmxH,EAGZ,OAAOA,EAGX,IAAIt2G,EAAW,mBACXD,EAAY,oBAEhB,GAAwB,WAApBs/G,EAEA,OAAQC,EAAO9vI,OAAS8vI,EAAO/vI,MAASywB,EAAWD,EAElD,GAAwB,aAApBs/G,EAEL,OAAQ1tI,KAAKqjI,aAAaxlI,OAASmC,KAAKqjI,aAAazlI,MAASywB,EAAWD,EAExE,GAAwB,uBAApBs/G,GAA0E,iBAAvBt9H,OAAOu0H,YAG/D,OAA+B,IAAvBv0H,OAAOu0H,aAA4C,MAAvBv0H,OAAOu0H,YAAuBt2G,EAAWD,EAE5E,GAAIhe,OAAO09H,WAChB,CACI,GAAI19H,OAAO09H,WAAW,2BAA2B7kC,QAE7C,OAAO56E,EAEN,GAAIje,OAAO09H,WAAW,4BAA4B7kC,QAEnD,OAAO76E,EAIf,OAAQpuB,KAAKqjI,aAAaxlI,OAASmC,KAAKqjI,aAAazlI,MAASywB,EAAWD,GAoB7Ei1G,aAAc,IAAI7hI,EAAOS,UAqBzB0jI,aAAc,IAAInkI,EAAOS,UAczB8rI,eAAgB,IAAIvsI,EAAOS,WAI/BT,EAAOk6C,OAAOyB,UAAU,SAAUhzB,GAG9B,IAAI+iH,EAAU98H,QAAW,gBAAiBA,OACtC,WAAc,OAAOA,OAAO49H,aAC5B,WAAc,OAAO39F,SAASk4D,gBAAgB0kC,YAE9CD,EAAU58H,QAAW,gBAAiBA,OACtC,WAAc,OAAOA,OAAO69H,aAC5B,WAAc,OAAO59F,SAASk4D,gBAAgB28B,WAuClD,GA7BAl+H,OAAOyF,eAAejL,EAAOwuC,IAAK,WAAY9oC,IAAKgmI,IAUnDlmI,OAAOyF,eAAejL,EAAOwuC,IAAK,WAAY9oC,IAAK8lI,IAEnDhmI,OAAOyF,eAAejL,EAAOwuC,IAAIqzF,aAAc,KAAMn8H,IAAKgmI,IAE1DlmI,OAAOyF,eAAejL,EAAOwuC,IAAIqzF,aAAc,KAAMn8H,IAAK8lI,IAE1DhmI,OAAOyF,eAAejL,EAAOwuC,IAAI21F,aAAc,KAAMv+H,MAAO,IAE5DJ,OAAOyF,eAAejL,EAAOwuC,IAAI21F,aAAc,KAAMv+H,MAAO,IAEvC+iB,EAAOs1E,SACvBpvD,SAASk4D,gBAAgB2lC,aAAe99H,OAAOkjB,YAC/C+c,SAASk4D,gBAAgB4lC,cAAgB/9H,OAAOmjB,YAQrD,CAKI,IAAI26G,EAAc,WAEd,OAAOxqI,KAAKuC,IAAImK,OAAOkjB,WAAY+c,SAASk4D,gBAAgB2lC,cAE5DC,EAAe,WAEf,OAAOzqI,KAAKuC,IAAImK,OAAOmjB,YAAa8c,SAASk4D,gBAAgB4lC,eAIjEnnI,OAAOyF,eAAejL,EAAOwuC,IAAIqzF,aAAc,SAAUn8H,IAAKgnI,IAE9DlnI,OAAOyF,eAAejL,EAAOwuC,IAAIqzF,aAAc,UAAWn8H,IAAKinI,IAE/DnnI,OAAOyF,eAAejL,EAAOwuC,IAAI21F,aAAc,SAAUz+H,IAAKgnI,IAE9DlnI,OAAOyF,eAAejL,EAAOwuC,IAAI21F,aAAc,UAAWz+H,IAAKinI,SAI/DnnI,OAAOyF,eAAejL,EAAOwuC,IAAIqzF,aAAc,SAC3Cn8H,IAAK,WAED,OAAOkJ,OAAOkjB,cAItBtsB,OAAOyF,eAAejL,EAAOwuC,IAAIqzF,aAAc,UAC3Cn8H,IAAK,WAED,OAAOkJ,OAAOmjB,eAItBvsB,OAAOyF,eAAejL,EAAOwuC,IAAI21F,aAAc,SAE3Cz+H,IAAK,WAED,IAAIhE,EAAImtC,SAASk4D,gBAAgB2lC,YAC7B/qI,EAAIiN,OAAOkjB,WAEf,OAAOpwB,EAAIC,EAAIA,EAAID,KAK3B8D,OAAOyF,eAAejL,EAAOwuC,IAAI21F,aAAc,UAE3Cz+H,IAAK,WAED,IAAIhE,EAAImtC,SAASk4D,gBAAgB4lC,aAC7BhrI,EAAIiN,OAAOmjB,YAEf,OAAOrwB,EAAIC,EAAIA,EAAID,KAW/B8D,OAAOyF,eAAejL,EAAOwuC,IAAI+9F,eAAgB,KAAM3mI,MAAO,IAE9DJ,OAAOyF,eAAejL,EAAOwuC,IAAI+9F,eAAgB,KAAM3mI,MAAO,IAE9DJ,OAAOyF,eAAejL,EAAOwuC,IAAI+9F,eAAgB,SAE7C7mI,IAAK,WAED,IAAI7D,EAAIgtC,SAASk4D,gBACjB,OAAO7kG,KAAKuC,IAAI5C,EAAE6qI,YAAa7qI,EAAE+qI,YAAa/qI,EAAEgrI,gBAKxDrnI,OAAOyF,eAAejL,EAAOwuC,IAAI+9F,eAAgB,UAE7C7mI,IAAK,WAED,IAAI7D,EAAIgtC,SAASk4D,gBACjB,OAAO7kG,KAAKuC,IAAI5C,EAAE8qI,aAAc9qI,EAAEirI,aAAcjrI,EAAEkrI,kBAI3D,MAAM,GAoBT/sI,EAAO62C,SAAW,SAAU6B,GAOxBl6C,KAAKY,SAAW,EAMhBZ,KAAKk6C,KAAOA,OAGhB14C,EAAO62C,SAAS/1C,WAUZ62B,IAAK,SAAU7xB,GAOX,OALKtH,KAAKkN,OAAO5F,IAEbtH,KAAKk6C,KAAKpyC,KAAKR,GAGZA,GAUXuuC,SAAU,SAAUvuC,GAEhB,OAAOtH,KAAKk6C,KAAK7wC,QAAQ/B,IAY7BknI,SAAU,SAAUx3F,EAAU5vC,GAI1B,IAFA,IAAI1E,EAAI1C,KAAKk6C,KAAKv3C,OAEXD,KAEH,GAAI1C,KAAKk6C,KAAKx3C,GAAGs0C,KAAc5vC,EAE3B,OAAOpH,KAAKk6C,KAAKx3C,GAIzB,OAAO,MAUXwK,OAAQ,SAAU5F,GAEd,OAAQtH,KAAKk6C,KAAK7wC,QAAQ/B,IAAS,GAQvCg/B,MAAO,WAEHtmC,KAAKk6C,KAAKv3C,OAAS,GAUvByZ,OAAQ,SAAU9U,GAEd,IAAIivF,EAAMv2F,KAAKk6C,KAAK7wC,QAAQ/B,GAE5B,GAAIivF,GAAO,EAGP,OADAv2F,KAAKk6C,KAAKpxC,OAAOytF,EAAK,GACfjvF,GAWfqvC,OAAQ,SAAU3jC,EAAK5L,GAInB,IAFA,IAAI1E,EAAI1C,KAAKk6C,KAAKv3C,OAEXD,KAEC1C,KAAKk6C,KAAKx3C,KAEV1C,KAAKk6C,KAAKx3C,GAAGsQ,GAAO5L,IAehC2wC,QAAS,SAAU/kC,GAMf,IAJA,IAAIqd,EAAO5oB,MAAMnF,UAAU4tB,MAAM1rB,KAAKgsB,UAAW,GAE7C9tB,EAAI1C,KAAKk6C,KAAKv3C,OAEXD,KAEC1C,KAAKk6C,KAAKx3C,IAAM1C,KAAKk6C,KAAKx3C,GAAGsQ,IAE7BhT,KAAKk6C,KAAKx3C,GAAGsQ,GAAKzN,MAAMvF,KAAKk6C,KAAKx3C,GAAI2tB,IAWlD8Z,UAAW,SAAU3nC,QAED+D,IAAZ/D,IAAyBA,GAAU,GAIvC,IAFA,IAAIE,EAAI1C,KAAKk6C,KAAKv3C,OAEXD,KAEH,GAAI1C,KAAKk6C,KAAKx3C,GACd,CACI,IAAI4E,EAAOtH,KAAKoc,OAAOpc,KAAKk6C,KAAKx3C,IAE7BF,GAEA8E,EAAK9E,UAKjBxC,KAAKY,SAAW,EAChBZ,KAAKk6C,UAWblzC,OAAOyF,eAAejL,EAAO62C,SAAS/1C,UAAW,SAE7C4E,IAAK,WAED,OAAOlH,KAAKk6C,KAAKv3C,UAWzBqE,OAAOyF,eAAejL,EAAO62C,SAAS/1C,UAAW,SAE7C4E,IAAK,WAID,OAFAlH,KAAKY,SAAW,EAEZZ,KAAKk6C,KAAKv3C,OAAS,EAEZ3C,KAAKk6C,KAAK,GAIV,QAYnBlzC,OAAOyF,eAAejL,EAAO62C,SAAS/1C,UAAW,QAE7C4E,IAAK,WAED,OAAIlH,KAAKY,SAAWZ,KAAKk6C,KAAKv3C,QAE1B3C,KAAKY,WAEEZ,KAAKk6C,KAAKl6C,KAAKY,WAIf,QAMnBY,EAAO62C,SAAS/1C,UAAUC,YAAcf,EAAO62C,SAc/C72C,EAAOu4C,YAcHC,cAAe,SAAUy1D,EAAS7pF,EAAYjjB,GAE1C,GAAgB,OAAZ8sG,EAAoB,OAAO,UACZlpG,IAAfqf,IAA4BA,EAAa,QAC9Brf,IAAX5D,IAAwBA,EAAS8sG,EAAQ9sG,QAE7C,IAAI8rI,EAAc7oH,EAAaliB,KAAKqsB,MAAMrsB,KAAKmvB,SAAWlwB,GAE1D,YAAgC4D,IAAzBkpG,EAAQg/B,GAA6B,KAAOh/B,EAAQg/B,IAe/DC,iBAAkB,SAAUj/B,EAAS7pF,EAAYjjB,GAE7C,GAAe,MAAX8sG,EAEA,OAAO,UAGQlpG,IAAfqf,IAA4BA,EAAa,QAC9Brf,IAAX5D,IAAwBA,EAAS8sG,EAAQ9sG,QAE7C,IAAI8rI,EAAc7oH,EAAaliB,KAAKqsB,MAAMrsB,KAAKmvB,SAAWlwB,GAC1D,GAAI8rI,EAAch/B,EAAQ9sG,OAC1B,CACI,IAAIqH,EAAUylG,EAAQ3mG,OAAO2lI,EAAa,GAC1C,YAAsBloI,IAAfyD,EAAQ,GAAmB,KAAOA,EAAQ,GAIjD,OAAO,MAoBfoS,OAAQ,SAAUwf,EAAOhW,EAAYpH,GAEjC,IAAI7b,EAASi5B,EAAMj5B,OAEnB,KAAIijB,GAAcjjB,GAAoB,IAAV6b,GAA5B,CAEa,MAATA,IAAiBA,EAAQ,GAI7B,IAAK,IAFDmwH,EAAYhsI,EAAS6b,EAEhB9b,EAAIkjB,EAAYljB,EAAIisI,IAAajsI,EAEtCk5B,EAAMl5B,GAAKk5B,EAAMl5B,EAAI8b,GAGzBod,EAAMj5B,OAASgsI,IAUnBh0F,QAAS,SAAU/e,GAEf,IAAK,IAAIl5B,EAAIk5B,EAAMj5B,OAAS,EAAGD,EAAI,EAAGA,IACtC,CACI,IAAImF,EAAInE,KAAKqsB,MAAMrsB,KAAKmvB,UAAYnwB,EAAI,IACpCiL,EAAOiuB,EAAMl5B,GACjBk5B,EAAMl5B,GAAKk5B,EAAM/zB,GACjB+zB,EAAM/zB,GAAK8F,EAGf,OAAOiuB,GAUXgzG,gBAAiB,SAAUhzG,GAOvB,IAAK,IALDizG,EAAiBjzG,EAAMj5B,OACvBmsI,EAAiBlzG,EAAM,GAAGj5B,OAE1Bm2B,EAAS,IAAIrxB,MAAMqnI,GAEdpsI,EAAI,EAAGA,EAAIosI,EAAgBpsI,IACpC,CACIo2B,EAAOp2B,GAAK,IAAI+E,MAAMonI,GAEtB,IAAK,IAAIhnI,EAAIgnI,EAAiB,EAAGhnI,GAAK,EAAGA,IAErCixB,EAAOp2B,GAAGmF,GAAK+zB,EAAM/zB,GAAGnF,GAIhC,OAAOo2B,GAaXi2G,aAAc,SAAUrhI,EAAQm3B,GAO5B,GALyB,iBAAdA,IAEPA,GAAcA,EAAY,IAAO,KAAO,KAG1B,KAAdA,IAAmC,MAAfA,GAAoC,eAAdA,EAG1Cn3B,GADAA,EAASlM,EAAOu4C,WAAW60F,gBAAgBlhI,IAC3B6Q,eAEf,IAAmB,KAAfsmB,GAAmC,MAAdA,GAAmC,gBAAdA,EAE/Cn3B,EAASA,EAAO6Q,UAChB7Q,EAASlM,EAAOu4C,WAAW60F,gBAAgBlhI,QAE1C,GAA4B,MAAxBhK,KAAKmzB,IAAIgO,IAAoC,cAAdA,EACxC,CACI,IAAK,IAAIniC,EAAI,EAAGA,EAAIgL,EAAO/K,OAAQD,IAE/BgL,EAAOhL,GAAG6b,UAGd7Q,EAASA,EAAO6Q,UAGpB,OAAO7Q,GAYXshI,YAAa,SAAU5nI,EAAO6nI,GAE1B,IAAKA,EAAItsI,OAEL,OAAOusI,IAEN,GAAmB,IAAfD,EAAItsI,QAAgByE,EAAQ6nI,EAAI,GAErC,OAAOA,EAAI,GAIf,IADA,IAAIvsI,EAAI,EACDusI,EAAIvsI,GAAK0E,GAEZ1E,IAGJ,IAAIysI,EAAMF,EAAIvsI,EAAI,GACd0sI,EAAQ1sI,EAAIusI,EAAItsI,OAAUssI,EAAIvsI,GAAKq9B,OAAO8B,kBAE9C,OAASutG,EAAOhoI,GAAWA,EAAQ+nI,EAAQC,EAAOD,GAgBtDE,YAAa,SAAUzzG,GAEnB,IAAIv3B,EAAIu3B,EAAM/a,MAGd,OAFA+a,EAAM4tD,QAAQnlF,GAEPA,GAgBXirI,WAAY,SAAU1zG,GAElB,IAAIv3B,EAAIu3B,EAAM8yB,QAGd,OAFA9yB,EAAM9zB,KAAKzD,GAEJA,GAsBXkrI,YAAa,SAAUjjI,EAAOgP,QAEd/U,IAAR+U,GAA6B,OAARA,IAErBA,EAAMhP,EACNA,EAAQ,GAKZ,IAAK,IAFDwsB,KAEKp2B,EAAI4J,EAAO5J,GAAK4Y,EAAK5Y,IAE1Bo2B,EAAOhxB,KAAKpF,GAGhB,OAAOo2B,GAoCX02G,gBAAiB,SAAUljI,EAAOgP,EAAK8kC,QAErB75C,IAAV+F,GAAiC,OAAVA,IAAkBA,EAAQ,QAEzC/F,IAAR+U,GAA6B,OAARA,IAErBA,EAAMhP,EACNA,EAAQ,QAGC/F,IAAT65C,IAAsBA,EAAO,GAKjC,IAAK,IAHDtnB,KACAkgB,EAAQt1C,KAAKuC,IAAIzE,EAAOkC,KAAKgqG,mBAAmBpyF,EAAMhP,IAAU8zC,GAAQ,IAAK,GAExE19C,EAAI,EAAGA,EAAIs2C,EAAOt2C,IAEvBo2B,EAAOhxB,KAAKwE,GACZA,GAAS8zC,EAGb,OAAOtnB,IAsBft3B,EAAOiuI,WAAa,WAOhBzvI,KAAKw1C,KAAO,KAOZx1C,KAAK+6E,KAAO,KAOZ/6E,KAAKwvD,MAAQ,KAObxvD,KAAKmjF,KAAO,KAOZnjF,KAAKg5C,MAAQ,GAGjBx3C,EAAOiuI,WAAWntI,WASd62B,IAAK,SAAU7xB,GAGX,OAAmB,IAAftH,KAAKg5C,OAA8B,OAAfh5C,KAAKwvD,OAAgC,OAAdxvD,KAAKmjF,MAEhDnjF,KAAKwvD,MAAQloD,EACbtH,KAAKmjF,KAAO77E,EACZtH,KAAKw1C,KAAOluC,EACZA,EAAKyzE,KAAO/6E,KACZA,KAAKg5C,QACE1xC,IAIXtH,KAAKmjF,KAAK3tC,KAAOluC,EAEjBA,EAAKyzE,KAAO/6E,KAAKmjF,KAEjBnjF,KAAKmjF,KAAO77E,EAEZtH,KAAKg5C,QAEE1xC,IAQXg/B,MAAO,WAEHtmC,KAAKwvD,MAAQ,KACbxvD,KAAKmjF,KAAO,KACZnjF,KAAKw1C,KAAO,KACZx1C,KAAK+6E,KAAO,KACZ/6E,KAAKg5C,MAAQ,GASjB58B,OAAQ,SAAU9U,GAEd,GAAmB,IAAftH,KAAKg5C,MAIL,OAFAh5C,KAAKsmC,aACLh/B,EAAKkuC,KAAOluC,EAAKyzE,KAAO,MAIxBzzE,IAAStH,KAAKwvD,MAGdxvD,KAAKwvD,MAAQxvD,KAAKwvD,MAAMha,KAEnBluC,IAAStH,KAAKmjF,OAGnBnjF,KAAKmjF,KAAOnjF,KAAKmjF,KAAKpI,MAGtBzzE,EAAKyzE,OAGLzzE,EAAKyzE,KAAKvlC,KAAOluC,EAAKkuC,MAGtBluC,EAAKkuC,OAGLluC,EAAKkuC,KAAKulC,KAAOzzE,EAAKyzE,MAG1BzzE,EAAKkuC,KAAOluC,EAAKyzE,KAAO,KAEL,OAAf/6E,KAAKwvD,QAELxvD,KAAKmjF,KAAO,MAGhBnjF,KAAKg5C,SAUTjB,QAAS,SAAU/C,GAEf,GAAKh1C,KAAKwvD,OAAUxvD,KAAKmjF,KAAzB,CAKA,IAAIusD,EAAS1vI,KAAKwvD,MAElB,GAEQkgF,GAAUA,EAAO16F,IAEjB06F,EAAO16F,GAAUxwC,KAAKkrI,GAG1BA,EAASA,EAAOl6F,WAEbk6F,IAAW1vI,KAAKmjF,KAAK3tC,SAKpCh0C,EAAOiuI,WAAWntI,UAAUC,YAAcf,EAAOiuI,WAmBjDjuI,EAAOu8C,OAAS,SAAUh7C,GAKtB/C,KAAK+C,KAAOA,EAKZ/C,KAAKuoI,IAAM,KAKXvoI,KAAKkX,OAAS,KAKdlX,KAAKi6E,IAAM,KAKXj6E,KAAK2vI,WACCC,EAAG,OAAQvG,EAAG,UAAWC,EAAG,OAAQC,EAAG,UAAWC,EAAG,UAAWqG,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWprE,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWx0C,EAAG,YAC/Mk/G,EAAG,OAAQvG,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWqG,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWprE,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWx0C,EAAG,YAClNk/G,EAAG,OAAQvG,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWqG,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWprE,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWx0C,EAAG,SAClNk/G,EAAG,OAAQvG,EAAG,OAAQC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWqG,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWprE,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWx0C,EAAG,YAC/Mk/G,EAAG,OAAQvG,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWqG,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWprE,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWx0C,EAAG,UAS5NlvB,EAAOu8C,OAAOmyF,aAAe,EAO7B1uI,EAAOu8C,OAAOoyF,YAAc,EAO5B3uI,EAAOu8C,OAAOqyF,YAAc,EAO5B5uI,EAAOu8C,OAAOsyF,YAAc,EAO5B7uI,EAAOu8C,OAAOuyF,yBAA2B,EAEzC9uI,EAAOu8C,OAAOz7C,WAsCVvE,QAAS,SAAUiV,EAAKoB,EAAM24G,EAAYC,EAAaC,EAAStoH,EAAiBqwC,EAAUxL,QAEpEjjC,IAAfwmH,IAA4BA,EAAa,QACzBxmH,IAAhBymH,IAA6BA,EAAcD,QAC/BxmH,IAAZ0mH,IAAyBA,EAAU,QACf1mH,IAApB5B,IAAiCA,GAAkB,GAEvD,IAAI0Q,EAAIjB,EAAK,GAAGzR,OAASoqH,EACrBvoG,EAAIpQ,EAAKzR,OAASqqH,EAGL,OAAbhtH,KAAKuoI,MAELvoI,KAAKuoI,IAAMvoI,KAAK+C,KAAK0jC,KAAK8vC,aAC1Bv2E,KAAKkX,OAASlX,KAAKuoI,IAAIrxH,OACvBlX,KAAKi6E,IAAMj6E,KAAKuoI,IAAIz6H,SAGxB9N,KAAKuoI,IAAIpiI,OAAOkP,EAAGmP,GACnBxkB,KAAKuoI,IAAI3tH,QAGT,IAAK,IAAI5W,EAAI,EAAGA,EAAIoQ,EAAKzR,OAAQqB,IAI7B,IAAK,IAFD+6G,EAAM3qG,EAAKpQ,GAEND,EAAI,EAAGA,EAAIg7G,EAAIp8G,OAAQoB,IAChC,CACI,IAAIV,EAAI07G,EAAIh7G,GAEF,MAANV,GAAmB,MAANA,IAEbrD,KAAKi6E,IAAIpxD,UAAY7oB,KAAK2vI,SAAS1iB,GAAS5pH,GAC5CrD,KAAKi6E,IAAIjxD,SAASjlB,EAAIgpH,EAAY/oH,EAAIgpH,EAAaD,EAAYC,IAK3E,OAAOroH,EACH3E,KAAKuoI,IAAI5jI,gBAAgBqO,EAAKgiC,EAAUxL,GACxCxpC,KAAKk0B,QAoBbikC,KAAM,SAAUnlD,EAAKpV,EAAOC,EAAQu3C,EAAWC,EAAYh/B,EAAO1R,EAAiBqwC,EAAUxL,QAEjEjjC,IAApB5B,IAAiCA,GAAkB,GAGtC,OAAb3E,KAAKuoI,MAELvoI,KAAKuoI,IAAMvoI,KAAK+C,KAAK0jC,KAAK8vC,aAC1Bv2E,KAAKkX,OAASlX,KAAKuoI,IAAIrxH,OACvBlX,KAAKi6E,IAAMj6E,KAAKuoI,IAAIz6H,SAGxB9N,KAAKuoI,IAAIpiI,OAAOvI,EAAOC,GAEvBmC,KAAKi6E,IAAIpxD,UAAYxS,EAErB,IAAK,IAAIrS,EAAI,EAAGA,EAAInG,EAAQmG,GAAKqxC,EAE7Br1C,KAAKi6E,IAAIjxD,SAAS,EAAGhlB,EAAGpG,EAAO,GAGnC,IAAK,IAAImG,EAAI,EAAGA,EAAInG,EAAOmG,GAAKqxC,EAE5Bp1C,KAAKi6E,IAAIjxD,SAASjlB,EAAG,EAAG,EAAGlG,GAG/B,OAAO8G,EACH3E,KAAKuoI,IAAI5jI,gBAAgBqO,EAAKgiC,EAAUxL,GACxCxpC,KAAKk0B,QAebA,KAAM,SAAUuB,EAAM1xB,EAAGC,EAAGpG,EAAOC,EAAQoK,EAAWi6B,GAMlD,OAJY,MAARzM,IAAgBA,EAAOz1B,KAAK+C,KAAK0jC,KAAK8vC,cAE1C9gD,EAAKtvB,OAAOnG,KAAKuoI,IAAI3qI,MAAOoC,KAAKuoI,IAAI1qI,QAE9B43B,EAAK+lD,KAAKx7E,KAAKuoI,IAAKxkI,EAAGC,EAAGpG,EAAOC,EAAQoK,EAAWi6B,KAKnE1gC,EAAOu8C,OAAOz7C,UAAUC,YAAcf,EAAOu8C,OAsB7Cv8C,EAAOihI,SAAW,SAAU5tB,EAASj3G,EAAOC,GAKxCmC,KAAK+C,KAAO8xG,EAAQ9xG,KAKpB/C,KAAK60G,QAAUA,EAGf70G,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEdmC,KAAKuwI,aAAe,IAAI/uI,EAAOS,UAAU,EAAG,EAAGrE,EAAOC,GACtDmC,KAAKo4D,YAAc,IAAI52D,EAAOS,UAAU,EAAG,EAAGrE,EAAOC,GACrDmC,KAAKwwI,WAAa,IAAIhvI,EAAOS,UAAU,EAAG,EAAGrE,EAAOC,GACpDmC,KAAKywI,WAAa,IAAIjvI,EAAOS,UAAU,EAAG,EAAGrE,EAAOC,GAMpDmC,KAAK0wI,eAAiB,IAAIlvI,EAAOX,MAAM,EAAG,GAC1Cb,KAAK2wI,cAAgB,IAAInvI,EAAOX,MAAM,EAAG,GACzCb,KAAK4wI,aAAe,IAAIpvI,EAAOX,MAAM,EAAG,GACxCb,KAAK6wI,aAAe,IAAIrvI,EAAOX,MAAM,EAAG,GAMxCb,KAAK8wI,YAAc,IAAItvI,EAAOX,MAAM,EAAG,GACvCb,KAAK+wI,WAAa,IAAIvvI,EAAOX,MAAM,EAAG,GACtCb,KAAKq4D,mBAAqB,IAAI72D,EAAOX,MAAM,EAAG,GAC9Cb,KAAKgxI,UAAY,IAAIxvI,EAAOX,MAAM,EAAG,GACrCb,KAAKixI,UAAY,IAAIzvI,EAAOX,MAAM,EAAG,GAErCb,KAAKkxI,YAAc,EACnBlxI,KAAKmxI,aAAe,EACpBnxI,KAAKoxI,cAAgB,EACrBpxI,KAAKqxI,cAAgB,EAErBrxI,KAAKsxI,OAAS1zI,EAAQC,EACtBmC,KAAKuxI,OAAS1zI,EAASD,EAEvBoC,KAAK8mI,WAAa,EAElB9mI,KAAK4/G,WAGTp+G,EAAOihI,SAASngI,WASZ+jC,QAAS,SAAUzoC,EAAOC,GAGtBmC,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEdmC,KAAKsxI,OAAS1zI,EAAQC,EACtBmC,KAAKuxI,OAAS1zI,EAASD,EAEvBoC,KAAKixI,UAAY,IAAIzvI,EAAOX,MAAM,EAAG,GAErCb,KAAKywI,WAAW7yI,MAAQoC,KAAKpC,MAC7BoC,KAAKywI,WAAW5yI,OAASmC,KAAKnC,OAE9BmC,KAAK0pB,WAcT8nH,kBAAmB,SAAU5zI,EAAOC,EAAQ4E,EAAUgsC,QAE/BloC,IAAfkoC,IAA4BA,GAAa,GAE7CzuC,KAAKkxI,YAActzI,EACnBoC,KAAKmxI,aAAetzI,EAEpBmC,KAAKuwI,aAAa3yI,MAAQA,EAC1BoC,KAAKuwI,aAAa1yI,OAASA,EAE3B,IAAI4zI,EAAQ,IAAIjwI,EAAOkwI,UAAU1xI,KAAMA,KAAK0wI,eAAgB1wI,KAAKuwI,aAAcvwI,KAAK8wI,aAcpF,OAZIriG,GAEAzuC,KAAK+C,KAAKE,MAAMk2B,IAAIs4G,GAGxBzxI,KAAK4/G,OAAO93G,KAAK2pI,GAEbhvI,GAEAgvI,EAAM98F,YAAYlyC,GAGfgvI,GAUXE,iBAAkB,SAAUlvI,EAAUgsC,QAEfloC,IAAfkoC,IAA4BA,GAAa,GAE7C,IAAIgjG,EAAQ,IAAIjwI,EAAOkwI,UAAU1xI,KAAMA,KAAK2wI,cAAe3wI,KAAKo4D,YAAap4D,KAAK+wI,YAclF,OAZItiG,GAEAzuC,KAAK+C,KAAKE,MAAMk2B,IAAIs4G,GAGxBzxI,KAAK4/G,OAAO93G,KAAK2pI,GAEbhvI,GAEAgvI,EAAM98F,YAAYlyC,GAGfgvI,GAUXG,gBAAiB,SAAUnvI,GAEvB,IAAIgvI,EAAQ,IAAIjwI,EAAOkwI,UAAU1xI,KAAMA,KAAK4wI,aAAc5wI,KAAKwwI,WAAYxwI,KAAK+wI,YAWhF,OATA/wI,KAAK+C,KAAKE,MAAMk2B,IAAIs4G,GAEpBzxI,KAAK4/G,OAAO93G,KAAK2pI,QAEO,IAAbhvI,GAEPgvI,EAAM98F,YAAYlyC,GAGfgvI,GAUXI,iBAAkB,SAAUpvI,GAExB,IAAIgvI,EAAQ,IAAIjwI,EAAOkwI,UAAU1xI,KAAMA,KAAK6wI,aAAc7wI,KAAKywI,WAAYzwI,KAAKixI,WAWhF,OATAjxI,KAAK+C,KAAKE,MAAMk2B,IAAIs4G,GAEpBzxI,KAAK4/G,OAAO93G,KAAK2pI,QAEO,IAAbhvI,GAEPgvI,EAAM98F,YAAYlyC,GAGfgvI,GAQXnrG,MAAO,WAIH,IAFA,IAAI5jC,EAAI1C,KAAK4/G,OAAOj9G,OAEbD,KAEE1C,KAAK4/G,OAAOl9G,GAAGovI,UAGhB9xI,KAAK4/G,OAAOl9G,GAAG9B,SAAW,KAC1BZ,KAAK4/G,OAAOl9G,GAAG5B,MAAQ,KACvBd,KAAK4/G,OAAO1vF,MAAMxtB,EAAG,KAYjC+9H,SAAU,SAAU7iI,EAAOC,GAEvBmC,KAAKsxI,OAAS1zI,EAAQC,EACtBmC,KAAKuxI,OAAS1zI,EAASD,EAEvBoC,KAAK0pB,QAAQ9rB,EAAOC,IAQxB6rB,QAAS,WAEL1pB,KAAK8mI,WAAapjI,KAAK81B,IAAKx5B,KAAK60G,QAAQh3G,OAASmC,KAAKnC,OAAUmC,KAAK60G,QAAQj3G,MAAQoC,KAAKpC,OAE3FoC,KAAKo4D,YAAYx6D,MAAQ8F,KAAKiyB,MAAM31B,KAAKpC,MAAQoC,KAAK8mI,YACtD9mI,KAAKo4D,YAAYv6D,OAAS6F,KAAKiyB,MAAM31B,KAAKnC,OAASmC,KAAK8mI,YAExD9mI,KAAK+wI,WAAW5pI,IAAInH,KAAKo4D,YAAYx6D,MAAQoC,KAAKpC,MAAOoC,KAAKo4D,YAAYv6D,OAASmC,KAAKnC,QACxFmC,KAAKq4D,mBAAmBlxD,IAAInH,KAAKpC,MAAQoC,KAAKo4D,YAAYx6D,MAAOoC,KAAKnC,OAASmC,KAAKo4D,YAAYv6D,QAEhGmC,KAAKgxI,UAAU7pI,IAAInH,KAAKwwI,WAAW5yI,MAAQoC,KAAKpC,MAAOoC,KAAKwwI,WAAW3yI,OAASmC,KAAKnC,QAErFmC,KAAKwwI,WAAW5yI,MAAQ8F,KAAKiyB,MAAM31B,KAAK60G,QAAQj3G,MAAQoC,KAAKq4D,mBAAmBt0D,GAChF/D,KAAKwwI,WAAW3yI,OAAS6F,KAAKiyB,MAAM31B,KAAK60G,QAAQh3G,OAASmC,KAAKq4D,mBAAmBr0D,GAElFhE,KAAKo4D,YAAYl/B,SAASl5B,KAAK60G,QAAQ/vG,OAAOizB,QAAS/3B,KAAK60G,QAAQ/vG,OAAOkzB,SAC3Eh4B,KAAKywI,WAAWv3G,SAASl5B,KAAK60G,QAAQ/vG,OAAOizB,QAAS/3B,KAAK60G,QAAQ/vG,OAAOkzB,SAE1Eh4B,KAAK2wI,cAAcxpI,IAAInH,KAAKo4D,YAAYr0D,EAAG/D,KAAKo4D,YAAYp0D,GAC5DhE,KAAK6wI,aAAa1pI,IAAInH,KAAKywI,WAAW1sI,EAAG/D,KAAKywI,WAAWzsI,IAS7D+tI,UAAW,SAAUxuH,GAEjBvjB,KAAK60G,QAAQ+yB,YAAYrkH,GAEzBA,EAAOxf,EAAI/D,KAAK60G,QAAQ/vG,OAAOizB,QAC/BxU,EAAOvf,EAAIhE,KAAK60G,QAAQ/vG,OAAOkzB,SAQnCoS,MAAO,WAcHpqC,KAAK+C,KAAKqnC,MAAMoqC,KAAKx0E,KAAKo4D,YAAYx6D,MAAQ,MAAQoC,KAAKo4D,YAAYv6D,OAAQmC,KAAKo4D,YAAYr0D,EAAI,EAAG/D,KAAKo4D,YAAYp0D,EAAI,IAC5HhE,KAAK+C,KAAKqnC,MAAM0/F,KAAK9pI,KAAKo4D,YAAa,oBAAoB,KAenE52D,EAAOihI,SAASngI,UAAUC,YAAcf,EAAOihI,SAuB/CjhI,EAAOkwI,UAAY,SAAU78B,EAASj0G,EAAUkE,EAAQhE,GAEpDU,EAAO8wC,MAAM9tC,KAAKxE,KAAM60G,EAAQ9xG,KAAM,KAAM,cAAgB8xG,EAAQ9xG,KAAK6iC,IAAIuwC,QAAQ,GAKrFn2E,KAAK60G,QAAUA,EAAQA,QAKvB70G,KAAKm4D,KAAO08C,EAOZ70G,KAAK8xI,SAAU,EAKf9xI,KAAKY,SAAWA,EAKhBZ,KAAK8E,OAASA,EAKd9E,KAAKc,MAAQA,EAKbd,KAAKgyI,QAAUltI,EAAOktI,QAKtBhyI,KAAKiyI,UAAY,IAAIzwI,EAAOX,MAAMiE,EAAOgyB,UAAW,GAKpD92B,KAAKkyI,SAAWptI,EAAOotI,SAKvBlyI,KAAKmyI,WAAartI,EAAOqtI,WAKzBnyI,KAAKoyI,aAAe,IAAI5wI,EAAOX,MAAMiE,EAAOgyB,UAAWhyB,EAAO0xB,QAK9Dx2B,KAAKqyI,YAAcvtI,EAAOutI,aAG9B7wI,EAAOkwI,UAAUpvI,UAAY0E,OAAOwB,OAAOhH,EAAO8wC,MAAMhwC,WACxDd,EAAOkwI,UAAUpvI,UAAUC,YAAcf,EAAOkwI,UAOhDlwI,EAAOkwI,UAAUpvI,UAAU6D,OAAS,aASpC3E,EAAOkwI,UAAUpvI,UAAU8nC,MAAQ,WAE/BpqC,KAAK+C,KAAKqnC,MAAMoqC,KAAKx0E,KAAK8E,OAAOlH,MAAQ,MAAQoC,KAAK8E,OAAOjH,OAAQmC,KAAK8E,OAAOf,EAAI,EAAG/D,KAAK8E,OAAOd,EAAI,IACxGhE,KAAK+C,KAAKqnC,MAAM0/F,KAAK9pI,KAAK8E,OAAQ,oBAAoB,GAEtD9E,KAAK+C,KAAKqnC,MAAM0/F,KAAK9pI,KAAKgyI,QAAS,wBACnChyI,KAAK+C,KAAKqnC,MAAM0/F,KAAK9pI,KAAKiyI,UAAW,wBACrCjyI,KAAK+C,KAAKqnC,MAAM0/F,KAAK9pI,KAAKkyI,SAAU,yBAcxC1wI,EAAO4e,OASHkyH,IAAK,SASLC,OAAQ,SASRC,OAAQ,SASRC,MAAO,MASPC,KAAM,MASNC,KAAM,IASNC,OAAQ,SASRC,MAAO,SASPC,MAAO,EASPC,KAAM,QAeNj2D,UAAW,SAAU54E,EAAGyW,EAAGxX,EAAGD,GAE1B,OAAI1B,EAAOk6C,OAAO+hC,eAELv6E,GAAK,GAAOC,GAAK,GAAOwX,GAAK,EAAKzW,KAAO,GAIzCA,GAAK,GAAOyW,GAAK,GAAOxX,GAAK,EAAKD,KAAO,GAuB1Dk5E,YAAa,SAAUpyD,EAAMmL,EAAK0oD,EAAKC,GAkCnC,YAhCYv3E,IAAR4uB,GAA6B,OAARA,IAAgBA,EAAM3zB,EAAO4e,MAAM+7D,oBAChD51E,IAARs3E,GAA6B,OAARA,IAAgBA,GAAM,QACnCt3E,IAARu3E,GAA6B,OAARA,IAAgBA,GAAM,GAE3Ct8E,EAAOk6C,OAAO+hC,eAEdtoD,EAAIjyB,GAAa,WAAP8mB,KAAuB,GACjCmL,EAAIhyB,GAAa,SAAP6mB,KAAuB,GACjCmL,EAAIxa,GAAa,MAAPqP,KAAuB,EACjCmL,EAAIjxB,EAAa,IAAP8lB,IAIVmL,EAAIjxB,GAAa,WAAP8lB,KAAuB,GACjCmL,EAAIxa,GAAa,SAAPqP,KAAuB,GACjCmL,EAAIhyB,GAAa,MAAP6mB,KAAuB,EACjCmL,EAAIjyB,EAAa,IAAP8mB,GAGdmL,EAAI9e,MAAQ2T,EACZmL,EAAInL,KAAO,QAAUmL,EAAIjxB,EAAI,IAAMixB,EAAIxa,EAAI,IAAMwa,EAAIhyB,EAAI,IAAOgyB,EAAIjyB,EAAI,IAAO,IAE3E26E,GAEAr8E,EAAO4e,MAAM4yH,SAAS79G,EAAIjxB,EAAGixB,EAAIxa,EAAGwa,EAAIhyB,EAAGgyB,GAG3C2oD,GAEAt8E,EAAO4e,MAAM6yH,SAAS99G,EAAIjxB,EAAGixB,EAAIxa,EAAGwa,EAAIhyB,EAAGgyB,GAGxCA,GAcX+9G,SAAU,SAAUlpH,EAAMmL,GActB,OAZKA,IAEDA,EAAM3zB,EAAO4e,MAAM+7D,eAGvBhnD,EAAIjxB,GAAa,WAAP8lB,KAAuB,GACjCmL,EAAIxa,GAAa,SAAPqP,KAAuB,GACjCmL,EAAIhyB,GAAa,MAAP6mB,KAAuB,EACjCmL,EAAIjyB,EAAa,IAAP8mB,EAEVmL,EAAInL,KAAO,QAAUmL,EAAIjxB,EAAI,IAAMixB,EAAIxa,EAAI,IAAMwa,EAAIhyB,EAAI,IAAMgyB,EAAIjyB,EAAI,IAEhEiyB,GAeXg+G,OAAQ,SAAUjvI,EAAGyW,EAAGxX,EAAGD,GAEvB,OAAQgB,GAAK,GAAOyW,GAAK,GAAOxX,GAAK,EAAKD,GAc9CkwI,OAAQ,SAAUlvI,EAAGyW,EAAGxX,EAAGD,GAEvB,OAASA,GAAK,GAAOC,GAAK,GAAOwX,GAAK,EAAKzW,KAAO,GAWtDmc,cAAe,SAAUhK,GAErB,QACKA,GAAS,GAAK,KAAQ,KACtBA,GAAS,EAAI,KAAQ,KACb,IAARA,GAAgB,MAYzBg9H,cAAe,SAAUC,GAErB,OAAkB,IAATA,EAAI,IAAY,KAAgB,IAATA,EAAI,IAAY,GAAc,IAATA,EAAI,IAiB7DN,SAAU,SAAU9uI,EAAGyW,EAAGxX,EAAGgyB,GAEpBA,IAEDA,EAAM3zB,EAAO4e,MAAM+7D,YAAYj4E,EAAGyW,EAAGxX,EAAG,IAG5Ce,GAAK,IACLyW,GAAK,IACLxX,GAAK,IAEL,IAAIq2B,EAAM91B,KAAK81B,IAAIt1B,EAAGyW,EAAGxX,GACrB8C,EAAMvC,KAAKuC,IAAI/B,EAAGyW,EAAGxX,GAOzB,GAJAgyB,EAAI3Q,EAAI,EACR2Q,EAAI9wB,EAAI,EACR8wB,EAAIgC,GAAKlxB,EAAMuzB,GAAO,EAElBvzB,IAAQuzB,EACZ,CACI,IAAIn2B,EAAI4C,EAAMuzB,EAEdrE,EAAI9wB,EAAI8wB,EAAIgC,EAAI,GAAM9zB,GAAK,EAAI4C,EAAMuzB,GAAOn2B,GAAK4C,EAAMuzB,GAEnDvzB,IAAQ/B,EAERixB,EAAI3Q,GAAK7J,EAAIxX,GAAKE,GAAKsX,EAAIxX,EAAI,EAAI,GAE9B8C,IAAQ0U,EAEbwa,EAAI3Q,GAAKrhB,EAAIe,GAAKb,EAAI,EAEjB4C,IAAQ9C,IAEbgyB,EAAI3Q,GAAKtgB,EAAIyW,GAAKtX,EAAI,GAG1B8xB,EAAI3Q,GAAK,EAGb,OAAO2Q,GAiBXgoD,SAAU,SAAU34D,EAAGngB,EAAG8yB,EAAGhC,GAczB,GAZKA,GAODA,EAAIjxB,EAAIizB,EACRhC,EAAIxa,EAAIwc,EACRhC,EAAIhyB,EAAIg0B,GAPRhC,EAAM3zB,EAAO4e,MAAM+7D,YAAYhlD,EAAGA,EAAGA,GAU/B,IAAN9yB,EACJ,CACI,IAAIqhF,EAAIvuD,EAAI,GAAMA,GAAK,EAAI9yB,GAAK8yB,EAAI9yB,EAAI8yB,EAAI9yB,EACxCrB,EAAI,EAAIm0B,EAAIuuD,EAChBvwD,EAAIjxB,EAAI1C,EAAO4e,MAAMmzH,WAAWvwI,EAAG0iF,EAAGlhE,EAAI,EAAI,GAC9C2Q,EAAIxa,EAAInZ,EAAO4e,MAAMmzH,WAAWvwI,EAAG0iF,EAAGlhE,GACtC2Q,EAAIhyB,EAAI3B,EAAO4e,MAAMmzH,WAAWvwI,EAAG0iF,EAAGlhE,EAAI,EAAI,GAelD,OANA2Q,EAAIjxB,EAAIR,KAAKqsB,MAAe,IAARoF,EAAIjxB,EAAU,GAClCixB,EAAIxa,EAAIjX,KAAKqsB,MAAe,IAARoF,EAAIxa,EAAU,GAClCwa,EAAIhyB,EAAIO,KAAKqsB,MAAe,IAARoF,EAAIhyB,EAAU,GAElC3B,EAAO4e,MAAM4xB,YAAY7c,GAElBA,GAiBX89G,SAAU,SAAU/uI,EAAGyW,EAAGxX,EAAGgyB,GAEpBA,IAEDA,EAAM3zB,EAAO4e,MAAM+7D,YAAYj4E,EAAGyW,EAAGxX,EAAG,MAG5Ce,GAAK,IACLyW,GAAK,IACLxX,GAAK,IAEL,IAAIq2B,EAAM91B,KAAK81B,IAAIt1B,EAAGyW,EAAGxX,GACrB8C,EAAMvC,KAAKuC,IAAI/B,EAAGyW,EAAGxX,GACrBE,EAAI4C,EAAMuzB,EAyBd,OAtBArE,EAAI3Q,EAAI,EACR2Q,EAAI9wB,EAAY,IAAR4B,EAAY,EAAI5C,EAAI4C,EAC5BkvB,EAAIypB,EAAI34C,EAEJA,IAAQuzB,IAEJvzB,IAAQ/B,EAERixB,EAAI3Q,GAAK7J,EAAIxX,GAAKE,GAAKsX,EAAIxX,EAAI,EAAI,GAE9B8C,IAAQ0U,EAEbwa,EAAI3Q,GAAKrhB,EAAIe,GAAKb,EAAI,EAEjB4C,IAAQ9C,IAEbgyB,EAAI3Q,GAAKtgB,EAAIyW,GAAKtX,EAAI,GAG1B8xB,EAAI3Q,GAAK,GAGN2Q,GAiBXq+G,SAAU,SAAUhvH,EAAGngB,EAAGu6C,EAAGzpB,QAEb5uB,IAAR4uB,IAAqBA,EAAM3zB,EAAO4e,MAAM+7D,YAAY,EAAG,EAAG,EAAG,EAAG33D,EAAGngB,EAAG,EAAGu6C,IAE7E,IAAI16C,EAAGyW,EAAGxX,EACNT,EAAIgB,KAAKqsB,MAAU,EAAJvL,GACf2O,EAAQ,EAAJ3O,EAAQ9hB,EACZM,EAAI47C,GAAK,EAAIv6C,GACbqhF,EAAI9mC,GAAK,EAAIzrB,EAAI9uB,GACjB0sB,EAAI6tB,GAAK,GAAK,EAAIzrB,GAAK9uB,GAE3B,OAAQ3B,EAAI,GAER,KAAK,EACDwB,EAAI06C,EACJjkC,EAAIoW,EACJ5tB,EAAIH,EACJ,MACJ,KAAK,EACDkB,EAAIwhF,EACJ/qE,EAAIikC,EACJz7C,EAAIH,EACJ,MACJ,KAAK,EACDkB,EAAIlB,EACJ2X,EAAIikC,EACJz7C,EAAI4tB,EACJ,MACJ,KAAK,EACD7sB,EAAIlB,EACJ2X,EAAI+qE,EACJviF,EAAIy7C,EACJ,MACJ,KAAK,EACD16C,EAAI6sB,EACJpW,EAAI3X,EACJG,EAAIy7C,EACJ,MACJ,KAAK,EACD16C,EAAI06C,EACJjkC,EAAI3X,EACJG,EAAIuiF,EAUZ,OANAvwD,EAAIjxB,EAAIR,KAAKqsB,MAAU,IAAJ7rB,GACnBixB,EAAIxa,EAAIjX,KAAKqsB,MAAU,IAAJpV,GACnBwa,EAAIhyB,EAAIO,KAAKqsB,MAAU,IAAJ5sB,GAEnB3B,EAAO4e,MAAM4xB,YAAY7c,GAElBA,GAcXo+G,WAAY,SAAUvwI,EAAG0iF,EAAG30D,GAYxB,OAVIA,EAAI,IAEJA,GAAK,GAGLA,EAAI,IAEJA,GAAK,GAGLA,EAAI,EAAI,EAED/tB,EAAc,GAAT0iF,EAAI1iF,GAAS+tB,EAGzBA,EAAI,GAEG20D,EAGP30D,EAAI,EAAI,EAED/tB,GAAK0iF,EAAI1iF,IAAM,EAAI,EAAI+tB,GAAK,EAGhC/tB,GAsBXm5E,YAAa,SAAUj4E,EAAGyW,EAAGxX,EAAGD,EAAGshB,EAAGngB,EAAG8yB,EAAGynB,GAExC,IAAIzpB,GAAQjxB,EAAGA,GAAK,EAAGyW,EAAGA,GAAK,EAAGxX,EAAGA,GAAK,EAAGD,EAAGA,GAAK,EAAGshB,EAAGA,GAAK,EAAGngB,EAAGA,GAAK,EAAG8yB,EAAGA,GAAK,EAAGynB,EAAGA,GAAK,EAAGvoC,MAAO,EAAGo9H,QAAS,EAAGzpH,KAAM,IAEhI,OAAOxoB,EAAO4e,MAAM4xB,YAAY7c,IAWpC6c,YAAa,SAAU7c,GAMnB,OAJAA,EAAInL,KAAO,QAAUmL,EAAIjxB,EAAEqqC,UAAY,IAAMpZ,EAAIxa,EAAE4zB,UAAY,IAAMpZ,EAAIhyB,EAAEorC,UAAY,IAAMpZ,EAAIjyB,EAAE4lB,WAAa,IAChHqM,EAAI9e,MAAQ7U,EAAO4e,MAAMszH,SAASv+G,EAAIjxB,EAAGixB,EAAIxa,EAAGwa,EAAIhyB,GACpDgyB,EAAIs+G,QAAUjyI,EAAO4e,MAAMuzH,WAAmB,IAARx+G,EAAIjyB,EAASiyB,EAAIjxB,EAAGixB,EAAIxa,EAAGwa,EAAIhyB,GAE9DgyB,GAcXw+G,WAAY,SAAUzwI,EAAGgB,EAAGyW,EAAGxX,GAE3B,OAAOD,GAAK,GAAKgB,GAAK,GAAKyW,GAAK,EAAIxX,GAaxCuwI,SAAU,SAAUxvI,EAAGyW,EAAGxX,GAEtB,OAAOe,GAAK,GAAKyW,GAAK,EAAIxX,GAgB9BywI,YAAa,SAAU1vI,EAAGyW,EAAGxX,EAAGD,EAAGwmG,GAK/B,YAHUnjG,IAANrD,IAAmBA,EAAI,UACZqD,IAAXmjG,IAAwBA,EAAS,KAEtB,MAAXA,EAEO,MAAQ,GAAK,KAAOxlG,GAAK,KAAOyW,GAAK,GAAKxX,GAAG2lB,SAAS,IAAIoH,MAAM,GAIhE,KAAO1uB,EAAO4e,MAAMyzH,eAAe3wI,GAAK1B,EAAO4e,MAAMyzH,eAAe3vI,GAAK1C,EAAO4e,MAAMyzH,eAAel5H,GAAKnZ,EAAO4e,MAAMyzH,eAAe1wI,IAYrJ2wI,SAAU,SAAUC,GAEhB,IAAIT,EAAM9xI,EAAO4e,MAAM4zH,WAAWD,GAElC,GAAIT,EAEA,OAAO9xI,EAAO4e,MAAMuzH,WAAWL,EAAIpwI,EAAGowI,EAAIpvI,EAAGovI,EAAI34H,EAAG24H,EAAInwI,IAiBhE6wI,WAAY,SAAUD,EAAK5+G,GAGvB4+G,EAAMA,EAAIv/G,QAAQ,0CAA2C,SAAU8C,EAAGpzB,EAAGyW,EAAGxX,GAE5E,OAAOe,EAAIA,EAAIyW,EAAIA,EAAIxX,EAAIA,IAG/B,IAAI21B,EAAS,mDAAqD48D,KAAKq+C,GAEvE,GAAIj7G,EACJ,CACI,IAAI50B,EAAImvB,SAASyF,EAAO,GAAI,IACxBne,EAAI0Y,SAASyF,EAAO,GAAI,IACxB31B,EAAIkwB,SAASyF,EAAO,GAAI,IAEvB3D,GAMDA,EAAIjxB,EAAIA,EACRixB,EAAIxa,EAAIA,EACRwa,EAAIhyB,EAAIA,GANRgyB,EAAM3zB,EAAO4e,MAAM+7D,YAAYj4E,EAAGyW,EAAGxX,GAU7C,OAAOgyB,GAcX8+G,WAAY,SAAUC,EAAK/+G,GAElBA,IAEDA,EAAM3zB,EAAO4e,MAAM+7D,eAGvB,IAAIrjD,EAAS,4EAA8E48D,KAAKw+C,GAWhG,OATIp7G,IAEA3D,EAAIjxB,IAAM67B,OAAOjH,EAAO,IACxB3D,EAAIxa,IAAMolB,OAAOjH,EAAO,IACxB3D,EAAIhyB,IAAM48B,OAAOjH,EAAO,IACxB3D,EAAIjyB,OAAkBqD,IAAduyB,EAAO,GAAmBiH,OAAOjH,EAAO,IAAM,EACtDt3B,EAAO4e,MAAM4xB,YAAY7c,IAGtBA,GAgBX4c,aAAc,SAAU3qC,EAAO+tB,GAW3B,GALKA,IAEDA,EAAM3zB,EAAO4e,MAAM+7D,eAGF,iBAAV/0E,EAEP,OAA6B,IAAzBA,EAAMiC,QAAQ,OAEP7H,EAAO4e,MAAM6zH,WAAW7sI,EAAO+tB,IAKtCA,EAAIjyB,EAAI,EACD1B,EAAO4e,MAAM4zH,WAAW5sI,EAAO+tB,IAGzC,GAAqB,iBAAV/tB,EAChB,CAKI,IAAI+sI,EAAY3yI,EAAO4e,MAAMg0H,OAAOhtI,GAKpC,OAJA+tB,EAAIjxB,EAAIiwI,EAAUjwI,EAClBixB,EAAIxa,EAAIw5H,EAAUx5H,EAClBwa,EAAIhyB,EAAIgxI,EAAUhxI,EAClBgyB,EAAIjyB,EAAIixI,EAAUjxI,EAAI,IACfiyB,EAIP,OAAOA,GAYf0+G,eAAgB,SAAUx9H,GAEtB,IAAI09H,EAAM19H,EAAMyS,SAAS,IAEzB,OAAuB,IAAfirH,EAAIpxI,OAAgB,IAAMoxI,EAAMA,GAY5CM,cAAe,SAAUhwI,EAAGu6C,QAEdr4C,IAANlC,IAAmBA,EAAI,QACjBkC,IAANq4C,IAAmBA,EAAI,GAI3B,IAAK,IAFDr8B,KAEKnf,EAAI,EAAGA,GAAK,IAAKA,IAEtBmf,EAAOza,KAAKtG,EAAO4e,MAAMozH,SAASpwI,EAAI,IAAKiB,EAAGu6C,IAGlD,OAAOr8B,GAYX+xH,cAAe,SAAUjwI,EAAG8yB,QAEd5wB,IAANlC,IAAmBA,EAAI,SACjBkC,IAAN4wB,IAAmBA,EAAI,IAI3B,IAAK,IAFD5U,KAEKnf,EAAI,EAAGA,GAAK,IAAKA,IAEtBmf,EAAOza,KAAKtG,EAAO4e,MAAM+8D,SAAS/5E,EAAI,IAAKiB,EAAG8yB,IAGlD,OAAO5U,GAgBXgyH,iBAAkB,SAAUC,EAAQC,EAAQx+G,EAAOy+G,EAAazzI,EAAO2zH,QAErDruH,IAAVtF,IAAuBA,EAAQ,UAChBsF,IAAfquH,IAA4BA,EAAa,GAE7C,IAAI+f,EAAOnzI,EAAO4e,MAAMg0H,OAAOI,GAC3BI,EAAOpzI,EAAO4e,MAAMg0H,OAAOK,GAE/B,GAAmB,IAAf7f,EAEA,IAAI1wH,GAAO0wI,EAAKv3D,IAAMs3D,EAAKt3D,KAAOq3D,EAAez+G,EAAS0+G,EAAKt3D,IAC3D1iE,GAAOi6H,EAAKt3D,MAAQq3D,EAAKr3D,OAASo3D,EAAez+G,EAAS0+G,EAAKr3D,MAC/Dn6E,GAAOyxI,EAAKr3D,KAAOo3D,EAAKp3D,MAAQm3D,EAAez+G,EAAS0+G,EAAKp3D,KAGrE,GAAmB,IAAfq3C,EACJ,CACI,IAGIpwG,EAHAqwH,EAAOrzI,EAAO4e,MAAM6yH,SAAS0B,EAAKzwI,EAAGywI,EAAKh6H,EAAGg6H,EAAKxxI,GAClD2xI,EAAOtzI,EAAO4e,MAAM6yH,SAAS2B,EAAK1wI,EAAG0wI,EAAKj6H,EAAGi6H,EAAKzxI,GAClD4xI,EAAKD,EAAKtwH,EAAIqwH,EAAKrwH,EAGvB,GAAIqwH,EAAKrwH,EAAIswH,EAAKtwH,EAClB,CACI,IAAIwwH,EAAKF,EAAKtwH,EACdswH,EAAKtwH,EAAIqwH,EAAKrwH,EACdqwH,EAAKrwH,EAAIwwH,EACTD,GAAMA,EACNL,EAAcz+G,EAAQy+G,EAGtBK,EAAK,KAELF,EAAKrwH,EAAIqwH,EAAKrwH,EAAI,EAClBA,IAAOswH,EAAKtwH,EAAIqwH,EAAKrwH,GAAKkwH,EAAcz+G,EAAS4+G,EAAKrwH,GAAK,GAG3DuwH,GAAM,KAENvwH,GAAMswH,EAAKtwH,EAAIqwH,EAAKrwH,GAAKkwH,EAAcz+G,EAAS4+G,EAAKrwH,GAGzD,IAAIngB,GAAOywI,EAAKzwI,EAAIwwI,EAAKxwI,GAAKqwI,EAAez+G,EAAS4+G,EAAKxwI,EACvDu6C,GAAOk2F,EAAKl2F,EAAIi2F,EAAKj2F,GAAK81F,EAAez+G,EAAS4+G,EAAKj2F,EAEvD00F,EAAM9xI,EAAO4e,MAAMozH,SAAShvH,EAAGngB,EAAGu6C,EAAG00F,GACrCpvI,EAAIovI,EAAIpvI,EACRyW,EAAI24H,EAAI34H,EACRxX,EAAImwI,EAAInwI,EAGhB,OAAO3B,EAAO4e,MAAMuzH,WAAW1yI,EAAOiD,EAAGyW,EAAGxX,IAgBhD8xI,wBAAyB,SAAU5+H,EAAOnS,EAAGyW,EAAGxX,EAAG8yB,EAAOy+G,GAEtD,IAAI7kI,EAAMrO,EAAO4e,MAAMg0H,OAAO/9H,GAC1B6+H,GAAQhxI,EAAI2L,EAAIwtE,KAAOq3D,EAAez+G,EAASpmB,EAAIwtE,IACnD83D,GAAQx6H,EAAI9K,EAAIytE,OAASo3D,EAAez+G,EAASpmB,EAAIytE,MACrD83D,GAAQjyI,EAAI0M,EAAI0tE,MAAQm3D,EAAez+G,EAASpmB,EAAI0tE,KAExD,OAAO/7E,EAAO4e,MAAMszH,SAASwB,EAAIC,EAAIC,IAiBzCC,eAAgB,SAAU54D,EAAIC,EAAIpiD,EAAIqiD,EAAIC,EAAIriD,EAAItE,EAAOy+G,GAErD,IAAIxwI,GAAOy4E,EAAKF,GAAMi4D,EAAez+G,EAASwmD,EAC1C9hE,GAAOiiE,EAAKF,GAAMg4D,EAAez+G,EAASymD,EAC1Cv5E,GAAOo3B,EAAKD,GAAMo6G,EAAez+G,EAASqE,EAE9C,OAAO94B,EAAO4e,MAAMszH,SAASxvI,EAAGyW,EAAGxX,IAgBvCizB,OAAQ,SAAUo+G,EAAQC,EAAQ1jH,GAE9B,OAAO/wB,KAAKu0I,iBAAiBC,EAAQC,EAAQ,EAAG1jH,IAepDm8E,oBAAqB,SAAU3qF,EAAQwO,GAEnC,IAAIsG,EAAI71B,EAAOkC,KAAK0yB,OAAO,EAAG7T,EAAO5f,OAAS,EAAGouB,GAC7CyjH,EAASjyH,EAAO7e,KAAKqsB,MAAMsH,IAC3Bo9G,EAASlyH,EAAO7e,KAAKwC,KAAKmxB,IAE9B,OAAOr3B,KAAKo2B,OAAOo+G,EAAQC,EAAQp9G,EAAI,IAe3Ci+G,eAAgB,SAAU97G,EAAKvzB,EAAKhF,GAOhC,QALYsF,IAARizB,IAAqBA,EAAM,QACnBjzB,IAARN,IAAqBA,EAAM,UACjBM,IAAVtF,IAAuBA,EAAQ,KAG/BgF,EAAM,KAAOuzB,EAAMvzB,EAEnB,OAAOzE,EAAO4e,MAAMszH,SAAS,IAAK,IAAK,KAG3C,IAAIr2D,EAAM7jD,EAAM91B,KAAKiyB,MAAMjyB,KAAKmvB,UAAY5sB,EAAMuzB,IAC9C8jD,EAAQ9jD,EAAM91B,KAAKiyB,MAAMjyB,KAAKmvB,UAAY5sB,EAAMuzB,IAChD+jD,EAAO/jD,EAAM91B,KAAKiyB,MAAMjyB,KAAKmvB,UAAY5sB,EAAMuzB,IAEnD,OAAOh4B,EAAO4e,MAAMuzH,WAAW1yI,EAAOo8E,EAAKC,EAAOC,IAatD62D,OAAQ,SAAU/9H,GAEd,OAAIA,EAAQ,UAIJpV,MAAOoV,IAAU,GACjBgnE,IAAKhnE,GAAS,GAAK,IACnBinE,MAAOjnE,GAAS,EAAI,IACpBknE,KAAc,IAARlnE,EACNnT,EAAGmT,IAAU,GACbnS,EAAGmS,GAAS,GAAK,IACjBsE,EAAGtE,GAAS,EAAI,IAChBlT,EAAW,IAARkT,IAMHpV,MAAO,IACPo8E,IAAKhnE,GAAS,GAAK,IACnBinE,MAAOjnE,GAAS,EAAI,IACpBknE,KAAc,IAARlnE,EACNnT,EAAG,IACHgB,EAAGmS,GAAS,GAAK,IACjBsE,EAAGtE,GAAS,EAAI,IAChBlT,EAAW,IAARkT,IAafk/H,UAAW,SAAUl/H,GAEjB,GAAqB,iBAAVA,EAEP,MAAO,QAAUA,EAAMnS,EAAE4kB,WAAa,IAAMzS,EAAMsE,EAAEmO,WAAa,IAAMzS,EAAMlT,EAAE2lB,WAAa,KAAOzS,EAAMnT,EAAI,KAAK4lB,WAAa,IAI/H,IAAIwqH,EAAM9xI,EAAO4e,MAAMg0H,OAAO/9H,GAC9B,MAAO,QAAUi9H,EAAIpvI,EAAE4kB,WAAa,IAAMwqH,EAAI34H,EAAEmO,WAAa,IAAMwqH,EAAInwI,EAAE2lB,WAAa,KAAOwqH,EAAIpwI,EAAI,KAAK4lB,WAAa,KAY/H0sH,SAAU,SAAUn/H,GAEhB,OAAOA,IAAU,IAWrBo/H,cAAe,SAAUp/H,GAErB,OAAQA,IAAU,IAAM,KAW5Bq/H,OAAQ,SAAUr/H,GAEd,OAAOA,GAAS,GAAK,KAWzBs/H,SAAU,SAAUt/H,GAEhB,OAAOA,GAAS,EAAI,KAWxBu/H,QAAS,SAAUv/H,GAEf,OAAe,IAARA,GAYXw/H,YAAa,SAAU3yI,GAEnB,OAAOA,GAYXi+E,aAAc,SAAUj+E,EAAGC,GAEvB,OAAQA,EAAID,EAAKC,EAAID,GAYzBg+E,YAAa,SAAUh+E,EAAGC,GAEtB,OAAQA,EAAID,EAAKA,EAAIC,GAezB49E,cAAe,SAAU79E,EAAGC,GAExB,OAAQD,EAAIC,EAAK,KAYrB2yI,aAAc,SAAU5yI,EAAGC,GAEvB,OAAQD,EAAIC,GAAK,GAYrB29E,SAAU,SAAU59E,EAAGC,GAEnB,OAAOO,KAAK81B,IAAI,IAAKt2B,EAAIC,IAY7B4yI,cAAe,SAAU7yI,EAAGC,GAExB,OAAOO,KAAKuC,IAAI,EAAG/C,EAAIC,EAAI,MAc/Bq+E,gBAAiB,SAAUt+E,EAAGC,GAE1B,OAAOO,KAAKmzB,IAAI3zB,EAAIC,IAYxB6yI,cAAe,SAAU9yI,EAAGC,GAExB,OAAO,IAAMO,KAAKmzB,IAAI,IAAM3zB,EAAIC,IAcpC69E,YAAa,SAAU99E,EAAGC,GAEtB,OAAO,MAAS,IAAMD,IAAM,IAAMC,IAAO,IAa7Cs+E,eAAgB,SAAUv+E,EAAGC,GAEzB,OAAOD,EAAIC,EAAI,EAAID,EAAIC,EAAI,KAc/B89E,aAAc,SAAU/9E,EAAGC,GAEvB,OAAOA,EAAI,IAAO,EAAID,EAAIC,EAAI,IAAQ,IAAM,GAAK,IAAMD,IAAM,IAAMC,GAAK,KAsB5Eo+E,eAAgB,SAAUr+E,EAAGC,GAEzB,OAAOA,EAAI,IAAO,GAAgB,IAAVD,GAAK,KAAaC,EAAI,KAAO,IAAO,GAAK,KAAkB,IAAVD,GAAK,MAAa,IAAMC,GAAK,KAuB1Gm+E,eAAgB,SAAUp+E,EAAGC,GAEzB,OAAO3B,EAAO4e,MAAM6gE,aAAa99E,EAAGD,IAaxCk+E,gBAAiB,SAAUl+E,EAAGC,GAE1B,OAAa,MAANA,EAAYA,EAAIO,KAAK81B,IAAI,KAAOt2B,GAAK,IAAM,IAAMC,KAa5Dk+E,eAAgB,SAAUn+E,EAAGC,GAEzB,OAAa,IAANA,EAAUA,EAAIO,KAAKuC,IAAI,EAAI,KAAQ,IAAM/C,GAAM,GAAKC,IAY/D8yI,iBAAkB,SAAU/yI,EAAGC,GAE3B,OAAO3B,EAAO4e,MAAM0gE,SAAS59E,EAAGC,IAYpC+yI,gBAAiB,SAAUhzI,EAAGC,GAE1B,OAAO3B,EAAO4e,MAAM21H,cAAc7yI,EAAGC,IAczCgzI,iBAAkB,SAAUjzI,EAAGC,GAE3B,OAAOA,EAAI,IAAM3B,EAAO4e,MAAM81H,gBAAgBhzI,EAAG,EAAIC,GAAK3B,EAAO4e,MAAM61H,iBAAiB/yI,EAAI,GAAKC,EAAI,OAezGizI,gBAAiB,SAAUlzI,EAAGC,GAE1B,OAAOA,EAAI,IAAM3B,EAAO4e,MAAMihE,eAAen+E,EAAG,EAAIC,GAAK3B,EAAO4e,MAAMghE,gBAAgBl+E,EAAI,GAAKC,EAAI,OAavGkzI,cAAe,SAAUnzI,EAAGC,GAExB,OAAOA,EAAI,IAAM3B,EAAO4e,MAAM8gE,YAAYh+E,EAAG,EAAIC,GAAK3B,EAAO4e,MAAM+gE,aAAaj+E,EAAI,GAAKC,EAAI,OAejGmzI,aAAc,SAAUpzI,EAAGC,GAEvB,OAAO3B,EAAO4e,MAAMg2H,gBAAgBlzI,EAAGC,GAAK,IAAM,EAAI,KAY1DozI,aAAc,SAAUrzI,EAAGC,GAEvB,OAAa,MAANA,EAAYA,EAAIO,KAAK81B,IAAI,IAAMt2B,EAAIA,GAAK,IAAMC,KAYzDqzI,UAAW,SAAUtzI,EAAGC,GAEpB,OAAO3B,EAAO4e,MAAMm2H,aAAapzI,EAAGD,IAYxCuzI,aAAc,SAAUvzI,EAAGC,GAEvB,OAAOO,KAAK81B,IAAIt2B,EAAGC,GAAKO,KAAKuC,IAAI/C,EAAGC,GAAK,MAyBjD3B,EAAOkxC,QAAU,SAAU3vC,EAAMyT,GAE7BA,EAASA,MAKTxW,KAAK+C,KAAOA,EAKZ/C,KAAKwW,OAASA,EAKdxW,KAAK02I,OAAS,KAKd12I,KAAKkgC,GAAK,KAKVlgC,KAAK22I,MAAQ,KAKb32I,KAAKssI,MAAQ,KAKbtsI,KAAK42I,SAAW,KAKhB52I,KAAK62I,OAAS,KAEd72I,KAAK6vC,eAOTruC,EAAOkxC,QAAQC,OAAS,EAMxBnxC,EAAOkxC,QAAQm6B,KAAO,EAMtBrrE,EAAOkxC,QAAQq5F,MAAQ,EAMvBvqI,EAAOkxC,QAAQu5F,MAAQ,EAMvBzqI,EAAOkxC,QAAQokG,SAAW,EAM1Bt1I,EAAOkxC,QAAQqkG,SAAW,EAE1Bv1I,EAAOkxC,QAAQpwC,WAOXutC,YAAa,WAEH7vC,KAAKwW,OAAO+a,eAAe,YAAoC,IAAvBvxB,KAAKwW,OAAOkgI,SAAoBl1I,EAAOkxC,QAAQnhB,eAAe,YAGxGvxB,KAAK02I,OAAS,IAAIl1I,EAAOkxC,QAAQuiC,OAAOj1E,KAAK+C,OAG7C/C,KAAKwW,OAAO+a,eAAe,WAAkC,IAAtBvxB,KAAKwW,OAAOmgI,OAAkBn1I,EAAOkxC,QAAQnhB,eAAe,WAEnGvxB,KAAK22I,MAAQ,IAAIn1I,EAAOkxC,QAAQs5F,MAAMhsI,KAAK+C,OAG3C/C,KAAKwW,OAAO+a,eAAe,QAA4B,IAAnBvxB,KAAKwW,OAAO0pB,IAAe1+B,EAAOkxC,QAAQnhB,eAAe,QAE7FvxB,KAAKkgC,GAAK,IAAI1+B,EAAOkxC,QAAQskG,GAAGh3I,KAAK+C,KAAM/C,KAAKwW,SAGhDxW,KAAKwW,OAAO+a,eAAe,WAAkC,IAAtBvxB,KAAKwW,OAAO81H,OAAkB9qI,EAAOkxC,QAAQnhB,eAAe,WAEnGvxB,KAAKssI,MAAQ,IAAI9qI,EAAOkxC,QAAQw5F,MAAMlsI,KAAK+C,KAAM/C,KAAKwW,SAGtDxW,KAAKwW,OAAO+a,eAAe,YAAoC,IAAvBvxB,KAAKwW,OAAOqgI,QAAmBr1I,EAAOkxC,QAAQnhB,eAAe,YAErGvxB,KAAK62I,OAAS,IAAIr1I,EAAOkxC,QAAQukG,OAAOj3I,KAAK+C,KAAM/C,KAAKwW,UAwBhE0gI,YAAa,SAAUC,GAEfA,IAAW31I,EAAOkxC,QAAQC,OAE1B3yC,KAAK02I,OAAS,IAAIl1I,EAAOkxC,QAAQuiC,OAAOj1E,KAAK+C,MAExCo0I,IAAW31I,EAAOkxC,QAAQm6B,KAEf,OAAZ7sE,KAAKkgC,GAELlgC,KAAKkgC,GAAK,IAAI1+B,EAAOkxC,QAAQskG,GAAGh3I,KAAK+C,KAAM/C,KAAKwW,QAIhDxW,KAAKkgC,GAAGoG,QAGP6wG,IAAW31I,EAAOkxC,QAAQq5F,MAE/B/rI,KAAK22I,MAAQ,IAAIn1I,EAAOkxC,QAAQs5F,MAAMhsI,KAAK+C,MAEtCo0I,IAAW31I,EAAOkxC,QAAQu5F,MAEZ,OAAfjsI,KAAKssI,MAELtsI,KAAKssI,MAAQ,IAAI9qI,EAAOkxC,QAAQw5F,MAAMlsI,KAAK+C,KAAM/C,KAAKwW,QAItDxW,KAAKssI,MAAMhmG,QAGV6wG,IAAW31I,EAAOkxC,QAAQqkG,WAEX,OAAhB/2I,KAAK62I,OAEL72I,KAAK62I,OAAS,IAAIr1I,EAAOkxC,QAAQukG,OAAOj3I,KAAK+C,KAAM/C,KAAKwW,QAIxDxW,KAAK62I,OAAOvwG,UAyBxBttB,OAAQ,SAAUygC,EAAQ09F,EAAQ/sG,QAEf7jC,IAAX4wI,IAAwBA,EAAS31I,EAAOkxC,QAAQC,aACtCpsC,IAAV6jC,IAAuBA,GAAQ,GAE/B+sG,IAAW31I,EAAOkxC,QAAQC,OAE1B3yC,KAAK02I,OAAO19H,OAAOygC,GAEd09F,IAAW31I,EAAOkxC,QAAQm6B,MAAQ7sE,KAAKkgC,GAE5ClgC,KAAKkgC,GAAGlnB,OAAOygC,EAAQrP,GAElB+sG,IAAW31I,EAAOkxC,QAAQq5F,OAAS/rI,KAAK22I,MAE7C32I,KAAK22I,MAAMS,WAAW39F,GAEjB09F,IAAW31I,EAAOkxC,QAAQu5F,OAASjsI,KAAKssI,MAE7CtsI,KAAKssI,MAAMtzH,OAAOygC,GAEb09F,IAAW31I,EAAOkxC,QAAQqkG,UAAY/2I,KAAK62I,OAEhD72I,KAAK62I,OAAO79H,OAAOygC,GAInBn5C,QAAQ+Z,KAAKo/B,EAAOzmC,IAAM,6EAUlCtO,UAAW,WAIH1E,KAAKkgC,IAELlgC,KAAKkgC,GAAGx7B,YAGR1E,KAAKssI,OAELtsI,KAAKssI,MAAM5nI,YAGX1E,KAAK62I,QAEL72I,KAAK62I,OAAOnyI,aAUpB2gC,OAAQ,WAIArlC,KAAKkgC,IAELlgC,KAAKkgC,GAAGmF,SAGRrlC,KAAKssI,OAELtsI,KAAKssI,MAAMjnG,SAGXrlC,KAAK62I,QAEL72I,KAAK62I,OAAOxxG,UAUpBW,iBAAkB,WAEVhmC,KAAK02I,QAEL12I,KAAK02I,OAAO1wG,mBAGZhmC,KAAK22I,OAEL32I,KAAK22I,MAAM3wG,mBAGXhmC,KAAKkgC,IAELlgC,KAAKkgC,GAAG8F,mBAGRhmC,KAAKssI,OAELtsI,KAAKssI,MAAMtmG,mBAGXhmC,KAAK62I,QAEL72I,KAAK62I,OAAO7wG,oBAUpBprB,MAAO,WAEC5a,KAAKkgC,IAELlgC,KAAKkgC,GAAGtlB,QAGR5a,KAAKssI,OAELtsI,KAAKssI,MAAM1xH,QAGX5a,KAAK62I,QAEL72I,KAAK62I,OAAOj8H,SAUpB0rB,MAAO,WAECtmC,KAAKkgC,IAELlgC,KAAKkgC,GAAGoG,QAGRtmC,KAAKssI,OAELtsI,KAAKssI,MAAMhmG,QAGXtmC,KAAK62I,QAEL72I,KAAK62I,OAAOvwG,SASpB9jC,QAAS,WAEDxC,KAAKkgC,IAELlgC,KAAKkgC,GAAG19B,UAGRxC,KAAKssI,OAELtsI,KAAKssI,MAAM9pI,UAGXxC,KAAK62I,QAEL72I,KAAK62I,OAAOr0I,UAGhBxC,KAAK02I,OAAS,KACd12I,KAAK22I,MAAQ,KACb32I,KAAKkgC,GAAK,KACVlgC,KAAKssI,MAAQ,KACbtsI,KAAK62I,OAAS,OAKtBr1I,EAAOkxC,QAAQpwC,UAAUC,YAAcf,EAAOkxC,QAe9ClxC,EAAOkxC,QAAQuiC,OAAS,SAAUlyE,GAK9B/C,KAAK+C,KAAOA,EAKZ/C,KAAKq3I,QAAU,IAAI71I,EAAOX,MAK1Bb,KAAK8E,OAAS,IAAItD,EAAOS,UAAU,EAAG,EAAGc,EAAKE,MAAMrF,MAAOmF,EAAKE,MAAMpF,QAOtEmC,KAAKs3I,gBAAmBhzE,IAAI,EAAMhW,MAAM,EAAMz6B,MAAM,EAAMD,OAAO,GAKjE5zB,KAAKuvG,WAAa,GAKlBvvG,KAAKwvG,UAAY,EAMjBxvG,KAAKu3I,aAAe,EAKpBv3I,KAAKw3I,QAAS,EAMdx3I,KAAKy3I,cAAgBj2I,EAAOkxC,QAAQuiC,OAAOyiE,WAK3C13I,KAAK23I,cAAe,EAKpB33I,KAAKu1G,UAAW,EAKhBv1G,KAAK4rI,SAAW,IAAIpqI,EAAO8tG,SAAStvG,KAAK+C,KAAKE,MAAM6B,OAAOf,EAAG/D,KAAK+C,KAAKE,MAAM6B,OAAOd,EAAGhE,KAAK+C,KAAKE,MAAM6B,OAAOlH,MAAOoC,KAAK+C,KAAKE,MAAM6B,OAAOjH,OAAQmC,KAAKuvG,WAAYvvG,KAAKwvG,WAM3KxvG,KAAK43I,OAAS,EAGd53I,KAAKgmC,oBAGTxkC,EAAOkxC,QAAQuiC,OAAO3yE,UAAUC,YAAcf,EAAOkxC,QAAQuiC,OAQ7DzzE,EAAOkxC,QAAQuiC,OAAO4iE,UAAY,EAQlCr2I,EAAOkxC,QAAQuiC,OAAOyiE,WAAa,EAQnCl2I,EAAOkxC,QAAQuiC,OAAO6iE,WAAa,EAQnCt2I,EAAOkxC,QAAQuiC,OAAO8iE,WAAa,EAQnCv2I,EAAOkxC,QAAQuiC,OAAO+iE,WAAa,EAEnCx2I,EAAOkxC,QAAQuiC,OAAO3yE,WAWlB24C,UAAW,SAAUl3C,EAAGC,EAAGpG,EAAOC,GAE9BmC,KAAK8E,OAAOwwB,MAAMvxB,EAAGC,EAAGpG,EAAOC,IAQnCmoC,iBAAkB,WAEdhmC,KAAK8E,OAAOywB,SAASv1B,KAAK+C,KAAKE,MAAM6B,SAWzCkU,OAAQ,SAAUygC,EAAQh3C,QAEL8D,IAAb9D,IAA0BA,GAAW,GAEzC,IAAIC,EAAI,EAER,GAAI+E,MAAMC,QAAQ+xC,GAId,IAFA/2C,EAAI+2C,EAAO92C,OAEJD,KAEC+2C,EAAO/2C,aAAclB,EAAO8wC,MAG5BtyC,KAAKgZ,OAAOygC,EAAO/2C,GAAGD,SAAUA,IAIhCzC,KAAKwyC,WAAWiH,EAAO/2C,IAEnBD,GAAYg3C,EAAO/2C,GAAG6uB,eAAe,aAAekoB,EAAO/2C,GAAGD,SAASE,OAAS,GAEhF3C,KAAKgZ,OAAOygC,EAAO/2C,IAAI,SAMnC+2C,aAAkBj4C,EAAO8wC,MAGzBtyC,KAAKgZ,OAAOygC,EAAOh3C,SAAUA,IAI7BzC,KAAKwyC,WAAWiH,GAEZh3C,GAAYg3C,EAAOloB,eAAe,aAAekoB,EAAOh3C,SAASE,OAAS,GAE1E3C,KAAKgZ,OAAOygC,EAAOh3C,UAAU,KAezC+vC,WAAY,SAAUiH,GAEdA,EAAOloB,eAAe,SAA2B,OAAhBkoB,EAAOtH,OAExCsH,EAAOtH,KAAO,IAAI3wC,EAAOkxC,QAAQuiC,OAAO62D,KAAKryF,GAEzCA,EAAOp4C,QAAUo4C,EAAOp4C,kBAAkBG,EAAO8wC,OAEjDmH,EAAOp4C,OAAOizC,UAAUmF,KAWpCw+F,aAAc,SAAU9lG,GAEpB,GAAIA,EAAK+lG,cACT,CACI,IAAIC,EAAgBn4I,KAAKo4I,gBAAgB,EAAGjmG,EAAMA,EAAKkmG,gBAAiBlmG,EAAKmmG,oBAAqBnmG,EAAKomG,YAAapmG,EAAKqmG,YAAcrmG,EAAKkmG,gBAC5IlmG,EAAKkmG,iBAAmBF,EACxBhmG,EAAKnxC,UAAoC,KAAvBmxC,EAAKkmG,gBAA0Br4I,KAAK+C,KAAK0iC,KAAKC,MAGpEyM,EAAKsmG,SAAS10I,EAAI/D,KAAKo4I,gBAAgB,EAAGjmG,EAAMA,EAAKsmG,SAAS10I,EAAGouC,EAAKumG,aAAa30I,EAAGouC,EAAKwmG,KAAK50I,EAAGouC,EAAKymG,YAAY70I,GACpHouC,EAAKsmG,SAASz0I,EAAIhE,KAAKo4I,gBAAgB,EAAGjmG,EAAMA,EAAKsmG,SAASz0I,EAAGmuC,EAAKumG,aAAa10I,EAAGmuC,EAAKwmG,KAAK30I,EAAGmuC,EAAKymG,YAAY50I,IAgBxHo0I,gBAAiB,SAAU71E,EAAMpwB,EAAMsmG,EAAUC,EAAcC,EAAM1yI,GA4CjE,YA1CYM,IAARN,IAAqBA,EAAM,KAElB,IAATs8D,GAAcpwB,EAAK0mG,aAEnBJ,GAAgD,MAAnCz4I,KAAKq3I,QAAQtzI,EAAIouC,EAAKklG,QAAQtzI,GAAa/D,KAAK+C,KAAK0iC,KAAKC,MAEzD,IAAT68B,GAAcpwB,EAAK0mG,eAExBJ,GAAgD,MAAnCz4I,KAAKq3I,QAAQrzI,EAAImuC,EAAKklG,QAAQrzI,GAAahE,KAAK+C,KAAK0iC,KAAKC,OAGvEgzG,EAEAD,GAA2B,KAAfC,EAAuB14I,KAAK+C,KAAK0iC,KAAKC,MAE7CizG,GAAQxmG,EAAK2mG,YAIdL,GAFJE,GAAQ,KAAQ34I,KAAK+C,KAAK0iC,KAAKC,OAET,EAElB+yG,GAAYE,EAEPF,EAAWE,EAAO,EAEvBF,GAAYE,EAIZF,EAAW,GAIfA,EAAWxyI,EAEXwyI,EAAWxyI,EAENwyI,GAAYxyI,IAEjBwyI,GAAYxyI,GAGTwyI,GA8BX7lE,QAAS,SAAUmmE,EAASC,EAASC,EAAiBC,EAAiB1vG,GAUnE,OARAyvG,EAAkBA,GAAmB,KACrCC,EAAkBA,GAAmB,KACrC1vG,EAAkBA,GAAmByvG,EAErCj5I,KAAK43I,OAAS,EAEd53I,KAAKm5I,eAAeJ,EAASC,EAASC,EAAiBC,EAAiB1vG,GAAiB,GAEjFxpC,KAAK43I,OAAS,GAoD1BwB,QAAS,SAAUL,EAASC,EAASK,EAAiBH,EAAiB1vG,GAUnE,OARA6vG,EAAkBA,GAAmB,KACrCH,EAAkBA,GAAmB,KACrC1vG,EAAkBA,GAAmB6vG,EAErCr5I,KAAK43I,OAAS,EAEd53I,KAAKm5I,eAAeJ,EAASC,EAASK,EAAiBH,EAAiB1vG,GAAiB,GAEjFxpC,KAAK43I,OAAS,GAa1B0B,cAAe,SAAUp2I,EAAGC,GAExB,OAAKD,EAAEivC,MAAShvC,EAAEgvC,KAKXjvC,EAAEivC,KAAKpuC,EAAIZ,EAAEgvC,KAAKpuC,EAHd,GAgBfw1I,cAAe,SAAUr2I,EAAGC,GAExB,OAAKD,EAAEivC,MAAShvC,EAAEgvC,KAKXhvC,EAAEgvC,KAAKpuC,EAAIb,EAAEivC,KAAKpuC,EAHd,GAgBfy1I,cAAe,SAAUt2I,EAAGC,GAExB,OAAKD,EAAEivC,MAAShvC,EAAEgvC,KAKXjvC,EAAEivC,KAAKnuC,EAAIb,EAAEgvC,KAAKnuC,EAHd,GAgBfy1I,cAAe,SAAUv2I,EAAGC,GAExB,OAAKD,EAAEivC,MAAShvC,EAAEgvC,KAKXhvC,EAAEgvC,KAAKnuC,EAAId,EAAEivC,KAAKnuC,EAHd,GAmBfi7B,KAAM,SAAUsb,EAAOk9F,GAEgB,OAA/Bl9F,EAAM9G,qBAENgkG,EAAgBl9F,EAAM9G,0BAGJltC,IAAlBkxI,IAA+BA,EAAgBz3I,KAAKy3I,eAEpDA,IAAkBj2I,EAAOkxC,QAAQuiC,OAAOyiE,WAGxCn9F,EAAMnI,KAAKnT,KAAKj/B,KAAKs5I,eAEhB7B,IAAkBj2I,EAAOkxC,QAAQuiC,OAAO6iE,WAG7Cv9F,EAAMnI,KAAKnT,KAAKj/B,KAAKu5I,eAEhB9B,IAAkBj2I,EAAOkxC,QAAQuiC,OAAO8iE,WAG7Cx9F,EAAMnI,KAAKnT,KAAKj/B,KAAKw5I,eAEhB/B,IAAkBj2I,EAAOkxC,QAAQuiC,OAAO+iE,YAG7Cz9F,EAAMnI,KAAKnT,KAAKj/B,KAAKy5I,gBAU7BN,eAAgB,SAAUJ,EAASC,EAASK,EAAiBH,EAAiB1vG,EAAiBkwG,GAE3F,IAAKjyI,MAAMC,QAAQqxI,IAAYtxI,MAAMC,QAAQsxI,GAEzC,IAASt2I,EAAI,EAAGA,EAAIs2I,EAAQr2I,OAAQD,IAE3Bs2I,EAAQt2I,IAEb1C,KAAK25I,eAAeZ,EAASC,EAAQt2I,GAAI22I,EAAiBH,EAAiB1vG,EAAiBkwG,QAG/F,GAAIjyI,MAAMC,QAAQqxI,KAAatxI,MAAMC,QAAQsxI,GAE9C,IAASt2I,EAAI,EAAGA,EAAIq2I,EAAQp2I,OAAQD,IAE3Bq2I,EAAQr2I,IAEb1C,KAAK25I,eAAeZ,EAAQr2I,GAAIs2I,EAASK,EAAiBH,EAAiB1vG,EAAiBkwG,QAG/F,GAAIjyI,MAAMC,QAAQqxI,IAAYtxI,MAAMC,QAAQsxI,IAE7C,IAAK,IAAIt2I,EAAI,EAAGA,EAAIq2I,EAAQp2I,OAAQD,IAEhC,GAAKq2I,EAAQr2I,GAEb,IAAK,IAAImF,EAAI,EAAGA,EAAImxI,EAAQr2I,OAAQkF,IAE3BmxI,EAAQnxI,IAEb7H,KAAK25I,eAAeZ,EAAQr2I,GAAIs2I,EAAQnxI,GAAIwxI,EAAiBH,EAAiB1vG,EAAiBkwG,QAMvG15I,KAAK25I,eAAeZ,EAASC,EAASK,EAAiBH,EAAiB1vG,EAAiBkwG,IAgBjGC,eAAgB,SAAUZ,EAASC,EAASK,EAAiBH,EAAiB1vG,EAAiBkwG,GAG3F,QAAgBnzI,IAAZyyI,GAAyBD,EAAQnmG,cAAgBpxC,EAAOmrB,MAIxD,OAFA3sB,KAAKi/B,KAAK85G,QACV/4I,KAAK45I,mBAAmBb,EAASM,EAAiBH,EAAiB1vG,EAAiBkwG,GAKnFX,GAAYC,GAAYD,EAAQ7rI,QAAW8rI,EAAQ9rI,SAMpDlN,KAAKy3I,gBAAkBj2I,EAAOkxC,QAAQuiC,OAAO4iE,YAEzCkB,EAAQnmG,cAAgBpxC,EAAOmrB,OAE/B3sB,KAAKi/B,KAAK85G,GAGVC,EAAQpmG,cAAgBpxC,EAAOmrB,OAE/B3sB,KAAKi/B,KAAK+5G,IAKdD,EAAQnmG,cAAgBpxC,EAAO4qB,OAE3B4sH,EAAQpmG,cAAgBpxC,EAAO4qB,OAE/BpsB,KAAK65I,sBAAsBd,EAASC,EAASK,EAAiBH,EAAiB1vG,EAAiBkwG,GAE3FV,EAAQpmG,cAAgBpxC,EAAOmrB,MAEpC3sB,KAAK85I,qBAAqBf,EAASC,EAASK,EAAiBH,EAAiB1vG,EAAiBkwG,GAE1FV,EAAQpmG,cAAgBpxC,EAAOsrB,cAEpC9sB,KAAK+5I,4BAA4BhB,EAASC,EAASK,EAAiBH,EAAiB1vG,EAAiBkwG,GAKrGX,EAAQnmG,cAAgBpxC,EAAOmrB,MAEhCqsH,EAAQpmG,cAAgBpxC,EAAO4qB,OAE/BpsB,KAAK85I,qBAAqBd,EAASD,EAASM,EAAiBH,EAAiB1vG,EAAiBkwG,GAE1FV,EAAQpmG,cAAgBpxC,EAAOmrB,MAEpC3sB,KAAKg6I,oBAAoBjB,EAASC,EAASK,EAAiBH,EAAiB1vG,EAAiBkwG,GAEzFV,EAAQpmG,cAAgBpxC,EAAOsrB,cAEpC9sB,KAAKi6I,2BAA2BlB,EAASC,EAASK,EAAiBH,EAAiB1vG,EAAiBkwG,GAKpGX,EAAQnmG,cAAgBpxC,EAAOsrB,eAEhCksH,EAAQpmG,cAAgBpxC,EAAO4qB,OAE/BpsB,KAAK+5I,4BAA4Bf,EAASD,EAASM,EAAiBH,EAAiB1vG,EAAiBkwG,GAEjGV,EAAQpmG,cAAgBpxC,EAAOmrB,OAEpC3sB,KAAKi6I,2BAA2BjB,EAASD,EAASM,EAAiBH,EAAiB1vG,EAAiBkwG,MAkBjHG,sBAAuB,SAAUK,EAASC,EAASd,EAAiBH,EAAiB1vG,EAAiBkwG,GAElG,SAAKQ,EAAQ/nG,OAASgoG,EAAQhoG,QAK1BnyC,KAAKo6I,SAASF,EAAQ/nG,KAAMgoG,EAAQhoG,KAAM+mG,EAAiB1vG,EAAiBkwG,KAExEL,GAEAA,EAAgB70I,KAAKglC,EAAiB0wG,EAASC,GAGnDn6I,KAAK43I,WAGF,IAeXkC,qBAAsB,SAAUv2H,EAAQg3B,EAAO8+F,EAAiBH,EAAiB1vG,EAAiBkwG,GAE9F,GAAqB,IAAjBn/F,EAAM53C,QAAiB4gB,EAAO4uB,KAKlC,GAAInyC,KAAK23I,cAAgBp0H,EAAO4uB,KAAKwlG,aAIjC,IAAK,IAFD7yI,KAEKpC,EAAI,EAAGA,EAAI63C,EAAMnI,KAAKzvC,OAAQD,IACvC,CACI,IAAIq2I,EAAUx+F,EAAMnI,KAAK1vC,GAGzB,GAAKq2I,GAAYA,EAAQ7rI,QAAW6rI,EAAQ5mG,KAA5C,CASA,GAHArtC,EAASi0I,EAAQ5mG,KAAKjoC,UAAUpF,GAG5B9E,KAAKy3I,gBAAkBj2I,EAAOkxC,QAAQuiC,OAAOyiE,WACjD,CACI,GAAIn0H,EAAO4uB,KAAKve,MAAQ9uB,EAAOf,EAE3B,MAEC,GAAIe,EAAO8uB,MAAQrQ,EAAO4uB,KAAKpuC,EAEhC,cAGH,GAAI/D,KAAKy3I,gBAAkBj2I,EAAOkxC,QAAQuiC,OAAO6iE,WACtD,CACI,GAAIv0H,EAAO4uB,KAAKpuC,EAAIe,EAAO8uB,MAEvB,MAEC,GAAI9uB,EAAOf,EAAIwf,EAAO4uB,KAAKve,MAE5B,cAGH,GAAI5zB,KAAKy3I,gBAAkBj2I,EAAOkxC,QAAQuiC,OAAO8iE,WACtD,CACI,GAAIx0H,EAAO4uB,KAAK3b,OAAS1xB,EAAOd,EAE5B,MAEC,GAAIc,EAAO0xB,OAASjT,EAAO4uB,KAAKnuC,EAEjC,cAGH,GAAIhE,KAAKy3I,gBAAkBj2I,EAAOkxC,QAAQuiC,OAAO+iE,WACtD,CACI,GAAIz0H,EAAO4uB,KAAKnuC,EAAIc,EAAO0xB,OAEvB,MAEC,GAAI1xB,EAAOd,EAAIuf,EAAO4uB,KAAK3b,OAE5B,SAIRx2B,KAAK65I,sBAAsBt2H,EAAQw1H,EAASM,EAAiBH,EAAiB1vG,EAAiBkwG,QAIvG,CAEI15I,KAAK4rI,SAAShxH,QAEd5a,KAAK4rI,SAAStlG,MAAMtmC,KAAK+C,KAAKE,MAAM6B,OAAOf,EAAG/D,KAAK+C,KAAKE,MAAM6B,OAAOd,EAAGhE,KAAK+C,KAAKE,MAAM6B,OAAOlH,MAAOoC,KAAK+C,KAAKE,MAAM6B,OAAOjH,OAAQmC,KAAKuvG,WAAYvvG,KAAKwvG,WAE3JxvG,KAAK4rI,SAAS97B,SAASv1D,GAIvB,IAAK,IAFD8/F,EAAQr6I,KAAK4rI,SAAS37B,SAAS1sF,GAE1B7gB,EAAI,EAAGA,EAAI23I,EAAM13I,OAAQD,IAG1B1C,KAAKo6I,SAAS72H,EAAO4uB,KAAMkoG,EAAM33I,GAAIw2I,EAAiB1vG,EAAiBkwG,KAEnEL,GAEAA,EAAgB70I,KAAKglC,EAAiBjmB,EAAQ82H,EAAM33I,GAAG6gB,QAG3DvjB,KAAK43I,YAkBrBgC,mBAAoB,SAAUr/F,EAAO8+F,EAAiBH,EAAiB1vG,EAAiBkwG,GAEpF,GAAqB,IAAjBn/F,EAAM53C,OAKV,IAAK,IAAID,EAAI,EAAGA,EAAI63C,EAAMnI,KAAKzvC,OAAQD,IACvC,CACI,IAAI43I,KACAvB,EAAUx+F,EAAMnI,KAAK1vC,GAGzB,GAAKq2I,GAAYA,EAAQ7rI,QAAW6rI,EAAQ5mG,KAA5C,CAMAmoG,EAAUvB,EAAQ5mG,KAAKjoC,UAAUowI,GAEjC,IAAK,IAAIzyI,EAAInF,EAAI,EAAGmF,EAAI0yC,EAAMnI,KAAKzvC,OAAQkF,IAC3C,CACI,IAAI0yI,KACAvB,EAAUz+F,EAAMnI,KAAKvqC,GAGzB,GAAKmxI,GAAYA,EAAQ9rI,QAAW8rI,EAAQ7mG,KAA5C,CASA,GAHAooG,EAAUvB,EAAQ7mG,KAAKjoC,UAAUqwI,GAG7Bv6I,KAAKy3I,gBAAkBj2I,EAAOkxC,QAAQuiC,OAAOyiE,WACjD,CACI,GAAI4C,EAAQ1mH,MAAQ2mH,EAAQx2I,EAExB,MAEC,GAAIw2I,EAAQ3mH,MAAQ0mH,EAAQv2I,EAE7B,cAGH,GAAI/D,KAAKy3I,gBAAkBj2I,EAAOkxC,QAAQuiC,OAAO6iE,WACtD,CACI,GAAIwC,EAAQv2I,EAAIw2I,EAAQ3mH,MAEpB,SAEC,GAAI2mH,EAAQx2I,EAAIu2I,EAAQ1mH,MAEzB,WAGH,GAAI5zB,KAAKy3I,gBAAkBj2I,EAAOkxC,QAAQuiC,OAAO8iE,WACtD,CACI,GAAIuC,EAAQ9jH,OAAS+jH,EAAQv2I,EAEzB,SAEC,GAAIu2I,EAAQ/jH,OAAS8jH,EAAQt2I,EAE9B,WAGH,GAAIhE,KAAKy3I,gBAAkBj2I,EAAOkxC,QAAQuiC,OAAO+iE,WACtD,CACI,GAAIsC,EAAQt2I,EAAIu2I,EAAQ/jH,OAEpB,SAEC,GAAI+jH,EAAQv2I,EAAI+0I,EAAQ5mG,KAAK3b,OAE9B,MAIRx2B,KAAK65I,sBAAsBd,EAASC,EAASK,EAAiBH,EAAiB1vG,EAAiBkwG,QAiB5GM,oBAAqB,SAAUQ,EAAQC,EAAQpB,EAAiBH,EAAiB1vG,EAAiBkwG,GAE9F,GAAsB,IAAlBc,EAAO73I,QAAkC,IAAlB83I,EAAO93I,OAKlC,IAAK,IAAID,EAAI,EAAGA,EAAI83I,EAAO/3I,SAASE,OAAQD,IAEpC83I,EAAO/3I,SAASC,GAAGwK,SAEfstI,EAAO/3I,SAASC,GAAGkwC,cAAgBpxC,EAAOmrB,MAE1C3sB,KAAKg6I,oBAAoBQ,EAAO/3I,SAASC,GAAI+3I,EAAQpB,EAAiBH,EAAiB1vG,EAAiBkwG,GAIxG15I,KAAK85I,qBAAqBU,EAAO/3I,SAASC,GAAI+3I,EAAQpB,EAAiBH,EAAiB1vG,EAAiBkwG,KAkBzHU,SAAU,SAAUM,EAAOC,EAAOzB,EAAiB1vG,EAAiBkwG,GAEhE,IACKgB,EAAM1hI,SACN2hI,EAAM3hI,QACP0hI,EAAMpD,eAAesD,MACrBD,EAAMrD,eAAesD,OACpB56I,KAAK02B,WAAWgkH,EAAOC,GAExB,OAAO,EAIX,GAAIzB,IAAyF,IAAtEA,EAAgB10I,KAAKglC,EAAiBkxG,EAAMn3H,OAAQo3H,EAAMp3H,QAE7E,OAAO,EAIX,GAAIm3H,EAAMG,UAAYF,EAAME,SAExB,OAAO76I,KAAK86I,eAAeJ,EAAOC,EAAOjB,GAS7C,GAAIgB,EAAMG,WAAaF,EAAME,SAC7B,CACI,IAAIE,EAAYL,EAAc,SAAIC,EAAQD,EACtCM,EAAcN,EAAc,SAAIA,EAAQC,EAExC7/G,GACA/2B,EAAGg3I,EAASh3I,EACZC,EAAG+2I,EAAS/2I,EACZ4vB,MAAOmnH,EAASnnH,MAChB4C,OAAQukH,EAASvkH,QAGjB+qB,EAASy5F,EAAWh8G,OAExB,IAAIuiB,EAAOv9C,EAAI82B,EAAK92B,GAAKu9C,EAAOv9C,EAAI82B,EAAKtE,UAEjC+qB,EAAOx9C,EAAI+2B,EAAK/2B,GAAKw9C,EAAOx9C,EAAI+2B,EAAKlH,OAErC,OAAO5zB,KAAK86I,eAAeJ,EAAOC,EAAOjB,GAKrD,IAAIuB,GAAU,EACVC,GAAU,EAGVl7I,KAAKw3I,QAAU9zI,KAAKmzB,IAAI72B,KAAKq3I,QAAQrzI,EAAI02I,EAAMrD,QAAQrzI,GAAKN,KAAKmzB,IAAI72B,KAAKq3I,QAAQtzI,EAAI22I,EAAMrD,QAAQtzI,IAEpGk3I,EAAUj7I,KAAKm7I,UAAUT,EAAOC,EAAOjB,GAGnC15I,KAAK02B,WAAWgkH,EAAOC,KAEvBO,EAAUl7I,KAAKo7I,UAAUV,EAAOC,EAAOjB,MAK3CwB,EAAUl7I,KAAKo7I,UAAUV,EAAOC,EAAOjB,GAGnC15I,KAAK02B,WAAWgkH,EAAOC,KAEvBM,EAAUj7I,KAAKm7I,UAAUT,EAAOC,EAAOjB,KAI/C,IAAI5gH,EAAUmiH,GAAWC,EA8BzB,OA5BIpiH,IAEI4gH,GAEIgB,EAAMW,WAENX,EAAMW,UAAU11G,SAAS+0G,EAAMn3H,OAAQo3H,EAAMp3H,QAG7Co3H,EAAMU,WAENV,EAAMU,UAAU11G,SAASg1G,EAAMp3H,OAAQm3H,EAAMn3H,UAK7Cm3H,EAAMY,WAENZ,EAAMY,UAAU31G,SAAS+0G,EAAMn3H,OAAQo3H,EAAMp3H,QAG7Co3H,EAAMW,WAENX,EAAMW,UAAU31G,SAASg1G,EAAMp3H,OAAQm3H,EAAMn3H,UAKlDuV,GAWXpC,WAAY,SAAUgkH,EAAOC,GAEzB,OAAID,IAAUC,IAKVD,EAAMG,SAEFF,EAAME,SAGCr5I,EAAOkC,KAAKgyB,SAASglH,EAAM17G,OAAOj7B,EAAG22I,EAAM17G,OAAOh7B,EAAG22I,EAAM37G,OAAOj7B,EAAG42I,EAAM37G,OAAOh7B,IAAO02I,EAAM5jH,UAAY6jH,EAAM7jH,UAKjH92B,KAAKu7I,qBAAqBb,EAAOC,GAI5CA,EAAME,SAGC76I,KAAKu7I,qBAAqBZ,EAAOD,KAKpCA,EAAM9mH,OAAS+mH,EAAM/5I,SAASmD,OAK9B22I,EAAMlkH,QAAUmkH,EAAM/5I,SAASoD,OAK/B02I,EAAM95I,SAASmD,GAAK42I,EAAM/mH,UAK1B8mH,EAAM95I,SAASoD,GAAK22I,EAAMnkH,YAiBtC+kH,qBAAsB,SAAUh6F,EAAQpP,GAEpC,IAAIpuC,EAAIvC,EAAOkC,KAAKi5B,MAAM4kB,EAAOviB,OAAOj7B,EAAGouC,EAAKte,KAAMse,EAAKve,OACvD5vB,EAAIxC,EAAOkC,KAAKi5B,MAAM4kB,EAAOviB,OAAOh7B,EAAGmuC,EAAK5b,IAAK4b,EAAK3b,QAK1D,OAHU+qB,EAAOviB,OAAOj7B,EAAIA,IAAMw9C,EAAOviB,OAAOj7B,EAAIA,IAC1Cw9C,EAAOviB,OAAOh7B,EAAIA,IAAMu9C,EAAOviB,OAAOh7B,EAAIA,IAE/Bu9C,EAAOzqB,UAAYyqB,EAAOzqB,WAanDgkH,eAAgB,SAAUJ,EAAOC,EAAOjB,GAGpC15I,KAAKw7I,YAAYd,EAAOC,GACxB36I,KAAKy7I,YAAYf,EAAOC,GAExB,IAAIxsI,EAAKwsI,EAAM37G,OAAOj7B,EAAI22I,EAAM17G,OAAOj7B,EACnCsK,EAAKssI,EAAM37G,OAAOh7B,EAAI02I,EAAM17G,OAAOh7B,EAEnC03I,EAAiBh4I,KAAKu5B,MAAM5uB,EAAIF,GAEhCykE,EAAU,EAEd,GAAI8nE,EAAMG,WAAaF,EAAME,SAC7B,CACI,IAAI//G,GACA/2B,EAAI42I,EAAc,SAAID,EAAM95I,SAASmD,EAAI42I,EAAM/5I,SAASmD,EACxDC,EAAI22I,EAAc,SAAID,EAAM95I,SAASoD,EAAI22I,EAAM/5I,SAASoD,EACxD4vB,MAAQ+mH,EAAc,SAAID,EAAM9mH,MAAQ+mH,EAAM/mH,MAC9C4C,OAASmkH,EAAc,SAAID,EAAMlkH,OAASmkH,EAAMnkH,QAGhD+qB,GACAx9C,EAAI22I,EAAc,SAAIA,EAAM17G,OAAOj7B,EAAI42I,EAAM37G,OAAOj7B,EACpDC,EAAI02I,EAAc,SAAIA,EAAM17G,OAAOh7B,EAAI22I,EAAM37G,OAAOh7B,EACpDqxB,OAASqlH,EAAc,SAAIA,EAAM5jH,UAAY6jH,EAAM7jH,WAGnDyqB,EAAOv9C,EAAI82B,EAAK92B,EAEZu9C,EAAOx9C,EAAI+2B,EAAK/2B,EAEhB6uE,EAAUpxE,EAAOkC,KAAKgyB,SAAS6rB,EAAOx9C,EAAGw9C,EAAOv9C,EAAG82B,EAAK/2B,EAAG+2B,EAAK92B,GAAKu9C,EAAOlsB,OAEvEksB,EAAOx9C,EAAI+2B,EAAKlH,QAErBg/C,EAAUpxE,EAAOkC,KAAKgyB,SAAS6rB,EAAOx9C,EAAGw9C,EAAOv9C,EAAG82B,EAAKlH,MAAOkH,EAAK92B,GAAKu9C,EAAOlsB,QAG/EksB,EAAOv9C,EAAI82B,EAAKtE,SAEjB+qB,EAAOx9C,EAAI+2B,EAAK/2B,EAEhB6uE,EAAUpxE,EAAOkC,KAAKgyB,SAAS6rB,EAAOx9C,EAAGw9C,EAAOv9C,EAAG82B,EAAK/2B,EAAG+2B,EAAKtE,QAAU+qB,EAAOlsB,OAE5EksB,EAAOx9C,EAAI+2B,EAAKlH,QAErBg/C,EAAUpxE,EAAOkC,KAAKgyB,SAAS6rB,EAAOx9C,EAAGw9C,EAAOv9C,EAAG82B,EAAKlH,MAAOkH,EAAKtE,QAAU+qB,EAAOlsB,SAI7Fu9C,IAAY,OAIZA,EAAW8nE,EAAM5jH,UAAY6jH,EAAM7jH,UAAat1B,EAAOkC,KAAKgyB,SAASglH,EAAM17G,OAAOj7B,EAAG22I,EAAM17G,OAAOh7B,EAAG22I,EAAM37G,OAAOj7B,EAAG42I,EAAM37G,OAAOh7B,GAItI,GAAI01I,GAA2B,IAAZ9mE,GAAkB8nE,EAAMiB,WAAahB,EAAMgB,WAAcjB,EAAMkB,iBAAmBjB,EAAMiB,gBAgBvG,OAdgB,IAAZhpE,IAEI8nE,EAAMW,WAENX,EAAMW,UAAU11G,SAAS+0G,EAAMn3H,OAAQo3H,EAAMp3H,QAG7Co3H,EAAMU,WAENV,EAAMU,UAAU11G,SAASg1G,EAAMp3H,OAAQm3H,EAAMn3H,SAKjC,IAAZqvD,EAOZ,IAAIuqB,GACAp5F,EAAG22I,EAAMjC,SAAS10I,EAAIL,KAAKI,IAAI43I,GAAkBhB,EAAMjC,SAASz0I,EAAIN,KAAKG,IAAI63I,GAC7E13I,GAAI02I,EAAMjC,SAAS10I,EAAIL,KAAKG,IAAI63I,GAAkBhB,EAAMjC,SAASz0I,EAAIN,KAAKI,IAAI43I,IAG9Et+C,GACAr5F,EAAG42I,EAAMlC,SAAS10I,EAAIL,KAAKI,IAAI43I,GAAkBf,EAAMlC,SAASz0I,EAAIN,KAAKG,IAAI63I,GAC7E13I,GAAI22I,EAAMlC,SAAS10I,EAAIL,KAAKG,IAAI63I,GAAkBf,EAAMlC,SAASz0I,EAAIN,KAAKI,IAAI43I,IAI9EG,IAAanB,EAAMoB,KAAOnB,EAAMmB,MAAQ3+C,EAAGp5F,EAAI,EAAI42I,EAAMmB,KAAO1+C,EAAGr5F,IAAM22I,EAAMoB,KAAOnB,EAAMmB,MAC5FC,GAAY,EAAIrB,EAAMoB,KAAO3+C,EAAGp5F,GAAK42I,EAAMmB,KAAOpB,EAAMoB,MAAQ1+C,EAAGr5F,IAAM22I,EAAMoB,KAAOnB,EAAMmB,MAkFhG,OA/EKpB,EAAMiB,YAEPjB,EAAMjC,SAAS10I,GAAK83I,EAAWn4I,KAAKI,IAAI43I,GAAkBv+C,EAAGn5F,EAAIN,KAAKG,IAAI63I,IAAmBhB,EAAMsB,OAAOj4I,EAC1G22I,EAAMjC,SAASz0I,GAAKm5F,EAAGn5F,EAAIN,KAAKI,IAAI43I,GAAkBG,EAAWn4I,KAAKG,IAAI63I,IAAmBhB,EAAMsB,OAAOh4I,GAGzG22I,EAAMgB,YAEPhB,EAAMlC,SAAS10I,GAAKg4I,EAAWr4I,KAAKI,IAAI43I,GAAkBt+C,EAAGp5F,EAAIN,KAAKG,IAAI63I,IAAmBf,EAAMqB,OAAOj4I,EAC1G42I,EAAMlC,SAASz0I,GAAKo5F,EAAGp5F,EAAIN,KAAKI,IAAI43I,GAAkBK,EAAWr4I,KAAKG,IAAI63I,IAAmBf,EAAMqB,OAAOh4I,GAS1GN,KAAKmzB,IAAI6kH,GAAkBh4I,KAAKwxB,GAAK,EAEhCwlH,EAAMjC,SAAS10I,EAAI,IAAO22I,EAAMiB,WAAchB,EAAMlC,SAAS10I,EAAI22I,EAAMjC,SAAS10I,EAEjF22I,EAAMjC,SAAS10I,IAAM,EAEf42I,EAAMlC,SAAS10I,EAAI,IAAO42I,EAAMgB,WAAcjB,EAAMjC,SAAS10I,EAAI42I,EAAMlC,SAAS10I,EAEtF42I,EAAMlC,SAAS10I,IAAM,EAEf22I,EAAMjC,SAASz0I,EAAI,IAAO02I,EAAMiB,WAAchB,EAAMlC,SAASz0I,EAAI02I,EAAMjC,SAASz0I,EAEtF02I,EAAMjC,SAASz0I,IAAM,EAEf22I,EAAMlC,SAASz0I,EAAI,IAAO22I,EAAMgB,WAAcjB,EAAMjC,SAASz0I,EAAI22I,EAAMlC,SAASz0I,IAEtF22I,EAAMlC,SAASz0I,IAAM,GAGpBN,KAAKmzB,IAAI6kH,GAAkBh4I,KAAKwxB,GAAK,IAErCwlH,EAAMjC,SAAS10I,EAAI,IAAO22I,EAAMiB,WAAchB,EAAMlC,SAAS10I,EAAI22I,EAAMjC,SAAS10I,EAEjF22I,EAAMjC,SAAS10I,IAAM,EAEf42I,EAAMlC,SAAS10I,EAAI,IAAO42I,EAAMgB,WAAcjB,EAAMjC,SAAS10I,EAAI42I,EAAMlC,SAAS10I,EAEtF42I,EAAMlC,SAAS10I,IAAM,EAEf22I,EAAMjC,SAASz0I,EAAI,IAAO02I,EAAMiB,WAAchB,EAAMlC,SAASz0I,EAAI02I,EAAMjC,SAASz0I,EAEtF02I,EAAMjC,SAASz0I,IAAM,EAEf22I,EAAMlC,SAASz0I,EAAI,IAAO22I,EAAMgB,WAAcjB,EAAMjC,SAAS10I,EAAI42I,EAAMlC,SAASz0I,IAEtF22I,EAAMlC,SAASz0I,IAAM,IAIxB02I,EAAMiB,YAEPjB,EAAM32I,GAAyB,KAAnB22I,EAAMjC,SAAS10I,EAAY/D,KAAK+C,KAAK0iC,KAAKC,MAASktC,EAAUlvE,KAAKI,IAAI43I,GAClFhB,EAAM12I,GAAyB,KAAnB02I,EAAMjC,SAASz0I,EAAYhE,KAAK+C,KAAK0iC,KAAKC,MAASktC,EAAUlvE,KAAKG,IAAI63I,IAGjFf,EAAMgB,YAEPhB,EAAM52I,GAAyB,KAAnB42I,EAAMlC,SAAS10I,EAAY/D,KAAK+C,KAAK0iC,KAAKC,MAASktC,EAAUlvE,KAAKI,IAAI43I,GAClFf,EAAM32I,GAAyB,KAAnB22I,EAAMlC,SAASz0I,EAAYhE,KAAK+C,KAAK0iC,KAAKC,MAASktC,EAAUlvE,KAAKG,IAAI63I,IAGlFhB,EAAMY,WAENZ,EAAMY,UAAU31G,SAAS+0G,EAAMn3H,OAAQo3H,EAAMp3H,QAG7Co3H,EAAMW,WAENX,EAAMW,UAAU31G,SAASg1G,EAAMp3H,OAAQm3H,EAAMn3H,SAG1C,GAaXi4H,YAAa,SAAUd,EAAOC,EAAOjB,GAEjC,IAAI9mE,EAAU,EACVqpE,EAAavB,EAAMwB,YAAcvB,EAAMuB,YAAcl8I,KAAKu3I,aA+C9D,OA7CuB,IAAnBmD,EAAM/sE,UAAqC,IAAnBgtE,EAAMhtE,UAG9B+sE,EAAMyB,UAAW,EACjBxB,EAAMwB,UAAW,GAEZzB,EAAM/sE,SAAWgtE,EAAMhtE,UAG5BiF,EAAU8nE,EAAM9mH,MAAQ+mH,EAAM52I,GAEfk4I,IAAevC,IAA+C,IAA/BgB,EAAMpD,eAAe1jH,QAAiD,IAA9B+mH,EAAMrD,eAAezjH,KAEvG++C,EAAU,GAIV8nE,EAAM0B,SAASxB,MAAO,EACtBF,EAAM0B,SAASxoH,OAAQ,EACvB+mH,EAAMyB,SAASxB,MAAO,EACtBD,EAAMyB,SAASvoH,MAAO,GAGrB6mH,EAAM/sE,SAAWgtE,EAAMhtE,aAG5BiF,EAAU8nE,EAAM32I,EAAI42I,EAAM/8I,MAAQ+8I,EAAM52I,GAExBk4I,IAAevC,IAA8C,IAA9BgB,EAAMpD,eAAezjH,OAAiD,IAA/B8mH,EAAMrD,eAAe1jH,MAEvGg/C,EAAU,GAIV8nE,EAAM0B,SAASxB,MAAO,EACtBF,EAAM0B,SAASvoH,MAAO,EACtB8mH,EAAMyB,SAASxB,MAAO,EACtBD,EAAMyB,SAASxoH,OAAQ,IAK/B8mH,EAAM2B,SAAWzpE,EACjB+nE,EAAM0B,SAAWzpE,EAEVA,GAaX6oE,YAAa,SAAUf,EAAOC,EAAOjB,GAEjC,IAAI9mE,EAAU,EACVqpE,EAAavB,EAAM4B,YAAc3B,EAAM2B,YAAct8I,KAAKu3I,aA+C9D,OA7CuB,IAAnBmD,EAAMlxF,UAAqC,IAAnBmxF,EAAMnxF,UAG9BkxF,EAAMyB,UAAW,EACjBxB,EAAMwB,UAAW,GAEZzB,EAAMlxF,SAAWmxF,EAAMnxF,UAG5BopB,EAAU8nE,EAAMlkH,OAASmkH,EAAM32I,GAEhBi4I,IAAevC,IAA8C,IAA9BgB,EAAMpD,eAAehpF,OAA8C,IAA5BqsF,EAAMrD,eAAehzE,GAEtGsO,EAAU,GAIV8nE,EAAM0B,SAASxB,MAAO,EACtBF,EAAM0B,SAAS9tF,MAAO,EACtBqsF,EAAMyB,SAASxB,MAAO,EACtBD,EAAMyB,SAAS93E,IAAK,GAGnBo2E,EAAMlxF,SAAWmxF,EAAMnxF,aAG5BopB,EAAU8nE,EAAM12I,EAAI22I,EAAMnkH,QAEVylH,IAAevC,IAA4C,IAA5BgB,EAAMpD,eAAehzE,KAA8C,IAA9Bq2E,EAAMrD,eAAehpF,KAErGskB,EAAU,GAIV8nE,EAAM0B,SAASxB,MAAO,EACtBF,EAAM0B,SAAS93E,IAAK,EACpBq2E,EAAMyB,SAASxB,MAAO,EACtBD,EAAMyB,SAAS9tF,MAAO,IAK9BosF,EAAM6B,SAAW3pE,EACjB+nE,EAAM4B,SAAW3pE,EAEVA,GAaXuoE,UAAW,SAAUT,EAAOC,EAAOjB,GAE/B,IAAI9mE,EAAU5yE,KAAKw7I,YAAYd,EAAOC,EAAOjB,GAG7C,GAAIA,GAA2B,IAAZ9mE,GAAkB8nE,EAAMiB,WAAahB,EAAMgB,WAAcjB,EAAMkB,iBAAmBjB,EAAMiB,gBAGvG,OAAoB,IAAZhpE,GAAmB8nE,EAAMyB,UAAYxB,EAAMwB,SAIvD,IAAIh/C,EAAKu9C,EAAMjC,SAAS10I,EACpBq5F,EAAKu9C,EAAMlC,SAAS10I,EAExB,GAAK22I,EAAMiB,WAAchB,EAAMgB,UAiBrBjB,EAAMiB,WAaZhB,EAAM52I,GAAK6uE,EACX+nE,EAAMlC,SAAS10I,EAAIo5F,EAAKC,EAAKu9C,EAAMqB,OAAOj4I,EAGtC22I,EAAM8B,QAEN7B,EAAM32I,IAAM02I,EAAM12I,EAAI02I,EAAM3/D,KAAK/2E,GAAK02I,EAAM+B,SAASz4I,KAjBzD02I,EAAM32I,GAAK6uE,EACX8nE,EAAMjC,SAAS10I,EAAIq5F,EAAKD,EAAKu9C,EAAMsB,OAAOj4I,EAGtC42I,EAAM6B,QAEN9B,EAAM12I,IAAM22I,EAAM32I,EAAI22I,EAAM5/D,KAAK/2E,GAAK22I,EAAM8B,SAASz4I,QAxB7D,CACI4uE,GAAW,GAEX8nE,EAAM32I,GAAK6uE,EACX+nE,EAAM52I,GAAK6uE,EAEX,IAAI8pE,EAAMh5I,KAAKS,KAAMi5F,EAAKA,EAAKu9C,EAAMmB,KAAQpB,EAAMoB,OAAU1+C,EAAK,EAAK,GAAK,GACxEu/C,EAAMj5I,KAAKS,KAAMg5F,EAAKA,EAAKu9C,EAAMoB,KAAQnB,EAAMmB,OAAU3+C,EAAK,EAAK,GAAK,GACxEy/C,EAAoB,IAAbF,EAAMC,GAEjBD,GAAOE,EACPD,GAAOC,EAEPlC,EAAMjC,SAAS10I,EAAI64I,EAAMF,EAAMhC,EAAMsB,OAAOj4I,EAC5C42I,EAAMlC,SAAS10I,EAAI64I,EAAMD,EAAMhC,EAAMqB,OAAOj4I,EA0BhD,OAAO,GAaXq3I,UAAW,SAAUV,EAAOC,EAAOjB,GAE/B,IAAI9mE,EAAU5yE,KAAKy7I,YAAYf,EAAOC,EAAOjB,GAG7C,GAAIA,GAA2B,IAAZ9mE,GAAkB8nE,EAAMiB,WAAahB,EAAMgB,WAAcjB,EAAMmC,iBAAmBlC,EAAMkC,gBAGvG,OAAoB,IAAZjqE,GAAmB8nE,EAAMyB,UAAYxB,EAAMwB,SAIvD,IAAIh/C,EAAKu9C,EAAMjC,SAASz0I,EACpBo5F,EAAKu9C,EAAMlC,SAASz0I,EAExB,GAAK02I,EAAMiB,WAAchB,EAAMgB,UAiBrBjB,EAAMiB,WAaZhB,EAAM32I,GAAK4uE,EACX+nE,EAAMlC,SAASz0I,EAAIm5F,EAAKC,EAAKu9C,EAAMqB,OAAOh4I,EAGtC02I,EAAM8B,QAEN7B,EAAM52I,IAAM22I,EAAM32I,EAAI22I,EAAM3/D,KAAKh3E,GAAK22I,EAAM+B,SAAS14I,KAjBzD22I,EAAM12I,GAAK4uE,EACX8nE,EAAMjC,SAASz0I,EAAIo5F,EAAKD,EAAKu9C,EAAMsB,OAAOh4I,EAGtC22I,EAAM6B,QAEN9B,EAAM32I,IAAM42I,EAAM52I,EAAI42I,EAAM5/D,KAAKh3E,GAAK42I,EAAM8B,SAAS14I,QAxB7D,CACI6uE,GAAW,GAEX8nE,EAAM12I,GAAK4uE,EACX+nE,EAAM32I,GAAK4uE,EAEX,IAAI8pE,EAAMh5I,KAAKS,KAAMi5F,EAAKA,EAAKu9C,EAAMmB,KAAQpB,EAAMoB,OAAU1+C,EAAK,EAAK,GAAK,GACxEu/C,EAAMj5I,KAAKS,KAAMg5F,EAAKA,EAAKu9C,EAAMoB,KAAQnB,EAAMmB,OAAU3+C,EAAK,EAAK,GAAK,GACxEy/C,EAAoB,IAAbF,EAAMC,GAEjBD,GAAOE,EACPD,GAAOC,EAEPlC,EAAMjC,SAASz0I,EAAI44I,EAAMF,EAAMhC,EAAMsB,OAAOh4I,EAC5C22I,EAAMlC,SAASz0I,EAAI44I,EAAMD,EAAMhC,EAAMqB,OAAOh4I,EA0BhD,OAAO,GAeX84I,uBAAwB,SAAUxuG,EAASiM,EAAOvF,EAAUxL,GAExD,GAAqB,IAAjB+Q,EAAM53C,QAAiB2rC,EAAQphC,OAKnC,OAAOlN,KAAK+8I,qBAAqBzuG,EAAQvqC,EAAGuqC,EAAQtqC,EAAGu2C,EAAOvF,EAAUxL,EAAiB8E,IAiB7FyuG,qBAAsB,SAAUh5I,EAAGC,EAAGu2C,EAAOvF,EAAUxL,EAAiBwzG,GAEpEh9I,KAAK4rI,SAAShxH,QAEd5a,KAAK4rI,SAAStlG,MAAMtmC,KAAK+C,KAAKE,MAAM6B,OAAOf,EAAG/D,KAAK+C,KAAKE,MAAM6B,OAAOd,EAAGhE,KAAK+C,KAAKE,MAAM6B,OAAOlH,MAAOoC,KAAK+C,KAAKE,MAAM6B,OAAOjH,OAAQmC,KAAKuvG,WAAYvvG,KAAKwvG,WAE3JxvG,KAAK4rI,SAAS97B,SAASv1D,GAOvB,IAAK,IALDzf,EAAO,IAAIt5B,EAAOS,UAAU8B,EAAGC,EAAG,EAAG,GACrC4xB,KAEAykH,EAAQr6I,KAAK4rI,SAAS37B,SAASn1E,GAE1Bp4B,EAAI,EAAGA,EAAI23I,EAAM13I,OAAQD,IAE1B23I,EAAM33I,GAAG8jD,QAAQziD,EAAGC,KAEhBgxC,GAEAA,EAASxwC,KAAKglC,EAAiBwzG,EAAa3C,EAAM33I,GAAG6gB,QAGzDqS,EAAO9tB,KAAKuyI,EAAM33I,GAAG6gB,SAI7B,OAAOqS,GAkBXqnH,aAAc,SAAU/hI,EAAeskE,EAAal+B,EAAO47F,QAEzC32I,IAAV+6C,IAAuBA,EAAQ,SACnB/6C,IAAZ22I,IAAyBA,EAAU,GAEvC,IAAIpnH,EAAQt0B,EAAOX,MAAMi1B,MAAM0pD,EAAatkE,GAU5C,OARIgiI,EAAU,IAGV57F,EAAQthD,KAAKm9I,gBAAgBjiI,EAAeskE,IAAgB09D,EAAU,MAG1EhiI,EAAci3B,KAAKsmG,SAASp8G,WAAWvG,EAAOwrB,GAEvCxrB,GAiBXsnH,cAAe,SAAUliI,EAAeomC,EAAOhT,EAAS4uG,QAEtC32I,IAAV+6C,IAAuBA,EAAQ,IACnChT,EAAUA,GAAWtuC,KAAK+C,KAAK2jC,MAAMmc,mBACrBt8C,IAAZ22I,IAAyBA,EAAU,GAEvC,IAAIpnH,EAAQ91B,KAAKq9I,eAAeniI,EAAeozB,GAU/C,OARI4uG,EAAU,IAGV57F,EAAQthD,KAAKs9I,kBAAkBpiI,EAAeozB,IAAY4uG,EAAU,MAGxEhiI,EAAci3B,KAAKsmG,SAASp8G,WAAWvG,EAAOwrB,GAEvCxrB,GAmBXynH,SAAU,SAAUriI,EAAenX,EAAGC,EAAGs9C,EAAO47F,QAE9B32I,IAAV+6C,IAAuBA,EAAQ,SACnB/6C,IAAZ22I,IAAyBA,EAAU,GAEvC,IAAIpnH,EAAQpyB,KAAKu5B,MAAMj5B,EAAIkX,EAAclX,EAAGD,EAAImX,EAAcnX,GAU9D,OARIm5I,EAAU,IAGV57F,EAAQthD,KAAKw9I,aAAatiI,EAAenX,EAAGC,IAAMk5I,EAAU,MAGhEhiI,EAAci3B,KAAKsmG,SAASp8G,WAAWvG,EAAOwrB,GAEvCxrB,GAaX2nH,kBAAmB,SAAU3nH,EAAOwrB,EAAOhrB,GAKvC,YAHc/vB,IAAV+6C,IAAuBA,EAAQ,KACnChrB,EAAQA,GAAS,IAAI90B,EAAOX,OAEfw7B,WAAWvG,EAAOwrB,GAAO,IAa1Co8F,qBAAsB,SAAU18I,EAAUsgD,EAAOhrB,GAK7C,YAHc/vB,IAAV+6C,IAAuBA,EAAQ,KACnChrB,EAAQA,GAAS,IAAI90B,EAAOX,OAEfw7B,WAAWr7B,EAAUsgD,IAatCq8F,yBAA0B,SAAU38I,EAAUsgD,EAAOhrB,GAKjD,YAHc/vB,IAAV+6C,IAAuBA,EAAQ,KACnChrB,EAAQA,GAAS,IAAI90B,EAAOX,OAEfw7B,WAAWr7B,EAAUsgD,IAiBtCs8F,mBAAoB,SAAU1iI,EAAeskE,EAAal+B,EAAOu8F,EAAWC,QAE1Dv3I,IAAV+6C,IAAuBA,EAAQ,SACjB/6C,IAAds3I,IAA2BA,EAAY,UACzBt3I,IAAdu3I,IAA2BA,EAAY,KAE3C,IAAIhoH,EAAQ91B,KAAKosG,aAAalxF,EAAeskE,GAK7C,OAHAtkE,EAAci3B,KAAKumG,aAAar8G,WAAWvG,EAAOwrB,GAClDpmC,EAAci3B,KAAKymG,YAAYtjH,MAAMuoH,EAAWC,GAEzChoH,GAiBXioH,oBAAqB,SAAU7iI,EAAeozB,EAASgT,EAAOu8F,EAAWC,QAEvDv3I,IAAV+6C,IAAuBA,EAAQ,SACnB/6C,IAAZ+nC,IAAyBA,EAAUtuC,KAAK+C,KAAK2jC,MAAMmc,oBACrCt8C,IAAds3I,IAA2BA,EAAY,UACzBt3I,IAAdu3I,IAA2BA,EAAY,KAE3C,IAAIhoH,EAAQ91B,KAAKq9I,eAAeniI,EAAeozB,GAK/C,OAHApzB,EAAci3B,KAAKumG,aAAar8G,WAAWvG,EAAOwrB,GAClDpmC,EAAci3B,KAAKymG,YAAYtjH,MAAMuoH,EAAWC,GAEzChoH,GAkBXkoH,eAAgB,SAAU9iI,EAAenX,EAAGC,EAAGs9C,EAAOu8F,EAAWC,QAE/Cv3I,IAAV+6C,IAAuBA,EAAQ,SACjB/6C,IAAds3I,IAA2BA,EAAY,UACzBt3I,IAAdu3I,IAA2BA,EAAY,KAE3C,IAAIhoH,EAAQ91B,KAAKi+I,UAAU/iI,EAAenX,EAAGC,GAK7C,OAHAkX,EAAci3B,KAAKumG,aAAapjH,MAAMQ,EAAOwrB,GAC7CpmC,EAAci3B,KAAKymG,YAAYtjH,MAAMuoH,EAAWC,GAEzChoH,GAuBXqnH,gBAAiB,SAAU/tI,EAAQpH,EAAQ/E,EAAOu1B,QAEhCjyB,IAAVtD,IAAuBA,GAAQ,GAEnC,IAAIkL,EACAE,EAkBJ,OAhBImqB,GAEArqB,EAAKiB,EAAO2oB,QAAU/vB,EAAO+vB,QAC7B1pB,EAAKe,EAAO4oB,QAAUhwB,EAAOgwB,SAExB/0B,GAELkL,EAAKiB,EAAOnM,MAAMc,EAAIiE,EAAO/E,MAAMc,EACnCsK,EAAKe,EAAOnM,MAAMe,EAAIgE,EAAO/E,MAAMe,IAInCmK,EAAKiB,EAAOrL,EAAIiE,EAAOjE,EACvBsK,EAAKe,EAAOpL,EAAIgE,EAAOhE,GAGpBN,KAAKS,KAAKgK,EAAKA,EAAKE,EAAKA,IAmBpCmvI,aAAc,SAAUtiI,EAAenX,EAAGC,EAAGf,QAE3BsD,IAAVtD,IAAuBA,GAAQ,GAEnC,IAAIkL,EAAK,EAAU+M,EAAcjY,MAAMc,EAAIA,EAAImX,EAAcnX,EAAIA,EAC7DsK,EAAK,EAAU6M,EAAcjY,MAAMe,EAAIA,EAAIkX,EAAclX,EAAIA,EAEjE,OAAON,KAAKS,KAAKgK,EAAKA,EAAKE,EAAKA,IAkBpCivI,kBAAmB,SAAUpiI,EAAeozB,EAASrrC,QAEjCsD,IAAZ+nC,IAAyBA,EAAUtuC,KAAK+C,KAAK2jC,MAAMmc,oBACzCt8C,IAAVtD,IAAuBA,GAAQ,GAEnC,IAAIkL,EAAK,EAAU+M,EAAcjY,MAAMc,EAAIuqC,EAAQg8F,OAASpvH,EAAcnX,EAAIuqC,EAAQg8F,OAClFj8H,EAAK,EAAU6M,EAAcjY,MAAMe,EAAIsqC,EAAQi8F,OAASrvH,EAAclX,EAAIsqC,EAAQi8F,OAEtF,OAAO7mI,KAAKS,KAAKgK,EAAKA,EAAKE,EAAKA,IAapC6vI,QAAS,SAAU9uI,EAAQ+uI,EAASl7I,EAAOu1B,GAKvC,IAAK,IAHDgB,EAAM3uB,EAAAA,EACNqzI,EAAU,KAELx7I,EAAI,EAAGsuB,EAAMmtH,EAAQx7I,OAAQD,EAAIsuB,EAAKtuB,IAC/C,CACI,IAAIsF,EAASm2I,EAAQz7I,GACjBgzB,EAAW11B,KAAKm9I,gBAAgB/tI,EAAQpH,EAAQ/E,EAAOu1B,GAEvD9C,EAAW8D,IAEX0kH,EAAUl2I,EACVwxB,EAAM9D,GAId,OAAOwoH,GAaXE,SAAU,SAAUhvI,EAAQ+uI,EAASl7I,EAAOu1B,GAKxC,IAAK,IAHDvyB,GAAO,EACPm4I,EAAW,KAEN17I,EAAI,EAAGsuB,EAAMmtH,EAAQx7I,OAAQD,EAAIsuB,EAAKtuB,IAC/C,CACI,IAAIsF,EAASm2I,EAAQz7I,GACjBgzB,EAAW11B,KAAKm9I,gBAAgB/tI,EAAQpH,EAAQ/E,EAAOu1B,GAEvD9C,EAAWzvB,IAEXm4I,EAAWp2I,EACX/B,EAAMyvB,GAId,OAAO0oH,GAgBXhyC,aAAc,SAAUh9F,EAAQpH,EAAQ/E,GAIpC,YAFcsD,IAAVtD,IAAuBA,GAAQ,GAE/BA,EAEOzB,EAAOX,MAAMi1B,MAAM9tB,EAAO/E,MAAOmM,EAAOnM,OAIxCzB,EAAOX,MAAMi1B,MAAM9tB,EAAQoH,IAY1CivI,oBAAqB,SAAUjvI,EAAQpH,GAEnC,IAAImG,EAAKnG,EAAO+vB,QAAU3oB,EAAO2oB,QAC7B1pB,EAAKrG,EAAOgwB,QAAU5oB,EAAO4oB,QAEjC,OAAOt0B,KAAKu5B,MAAM5uB,EAAIF,IAiB1B8vI,UAAW,SAAU/iI,EAAenX,EAAGC,EAAGf,GAItC,YAFcsD,IAAVtD,IAAuBA,GAAQ,GAE/BA,EAEOS,KAAKu5B,MAAMj5B,EAAIkX,EAAcjY,MAAMe,EAAGD,EAAImX,EAAcjY,MAAMc,GAI9DL,KAAKu5B,MAAMj5B,EAAIkX,EAAclX,EAAGD,EAAImX,EAAcnX,IAiBjEs5I,eAAgB,SAAUniI,EAAeozB,EAASrrC,GAK9C,YAHgBsD,IAAZ+nC,IAAyBA,EAAUtuC,KAAK+C,KAAK2jC,MAAMmc,oBACzCt8C,IAAVtD,IAAuBA,GAAQ,GAE/BA,EAEOS,KAAKu5B,MAAMqR,EAAQi8F,OAASrvH,EAAcjY,MAAMe,EAAGsqC,EAAQg8F,OAASpvH,EAAcjY,MAAMc,GAIxFL,KAAKu5B,MAAMqR,EAAQi8F,OAASrvH,EAAclX,EAAGsqC,EAAQg8F,OAASpvH,EAAcnX,IAa3Fu6I,oBAAqB,SAAUpjI,EAAeozB,GAE1C,OAAOtuC,KAAKq9I,eAAeniI,EAAeozB,GAAS,KAmB3D9sC,EAAOkxC,QAAQuiC,OAAO62D,KAAO,SAAUvoH,GAKnCvjB,KAAKujB,OAASA,EAKdvjB,KAAK+C,KAAOwgB,EAAOxgB,KAKnB/C,KAAKwT,KAAOhS,EAAOkxC,QAAQC,OAM3B3yC,KAAKgZ,QAAS,EASdhZ,KAAK66I,UAAW,EAWhB76I,KAAKq1B,OAAS,EAKdr1B,KAAKyX,OAAS,IAAIjW,EAAOX,MAMzBb,KAAKY,SAAW,IAAIY,EAAOX,MAAM0iB,EAAOxf,EAAGwf,EAAOvf,GAMlDhE,KAAK+6E,KAAO,IAAIv5E,EAAOX,MAAMb,KAAKY,SAASmD,EAAG/D,KAAKY,SAASoD,GAM5DhE,KAAKk4I,eAAgB,EAOrBl4I,KAAKgB,SAAWuiB,EAAOuS,MAMvB91B,KAAKu+I,YAAch7H,EAAOuS,MAM1B91B,KAAKpC,MAAQ2lB,EAAO3lB,MAMpBoC,KAAKnC,OAAS0lB,EAAO1lB,OAMrBmC,KAAKu3F,YAAch0E,EAAO3lB,MAM1BoC,KAAKw3F,aAAej0E,EAAO1lB,OAEvB0lB,EAAOxlB,UAEPiC,KAAKu3F,YAAch0E,EAAOxlB,QAAQsP,MAAMzP,MACxCoC,KAAKw3F,aAAej0E,EAAOxlB,QAAQsP,MAAMxP,QAO7CmC,KAAK82B,UAAYpzB,KAAKmzB,IAAItT,EAAO3lB,MAAQ,GAMzCoC,KAAK+2B,WAAarzB,KAAKmzB,IAAItT,EAAO1lB,OAAS,GAM3CmC,KAAKg/B,OAAS,IAAIx9B,EAAOX,MAAM0iB,EAAOxf,EAAI/D,KAAK82B,UAAWvT,EAAOvf,EAAIhE,KAAK+2B,YAK1E/2B,KAAKy4I,SAAW,IAAIj3I,EAAOX,MAM3Bb,KAAKw+I,YAAc,IAAIh9I,EAAOX,MAK9Bb,KAAK+/C,SAAW,IAAIv+C,EAAOX,MAK3Bb,KAAK04I,aAAe,IAAIl3I,EAAOX,MAM/Bb,KAAK84I,WAAY,EAKjB94I,KAAK24I,KAAO,IAAIn3I,EAAOX,MAMvBb,KAAK64I,cAAe,EAKpB74I,KAAKq3I,QAAU,IAAI71I,EAAOX,MAK1Bb,KAAKg8I,OAAS,IAAIx6I,EAAOX,MAQzBb,KAAKy+I,YAAc,KAYnBz+I,KAAK0+I,cAAgB,KAoBrB1+I,KAAKs7I,UAAY,KAoBjBt7I,KAAKq7I,UAAY,KAMjBr7I,KAAK44I,YAAc,IAAIp3I,EAAOX,MAAM,IAAO,KAK3Cb,KAAKy8I,SAAW,IAAIj7I,EAAOX,MAAM,EAAG,GAMpCb,KAAKq4I,gBAAkB,EAMvBr4I,KAAKs4I,oBAAsB,EAM3Bt4I,KAAKu4I,YAAc,EAMnBv4I,KAAKw4I,WAAa,IAMlBx4I,KAAK87I,KAAO,EAMZ97I,KAAK81B,MAAQ,EAMb91B,KAAKshD,MAAQ,EAMbthD,KAAK2+I,OAASn9I,EAAOuqB,KAMrB/rB,KAAK27I,WAAY,EAcjB37I,KAAKw8I,OAAQ,EAQbx8I,KAAK47I,iBAAkB,EAQvB57I,KAAK68I,iBAAkB,EAMvB78I,KAAKq8I,SAAW,EAMhBr8I,KAAKu8I,SAAW,EAMhBv8I,KAAK4+I,SAAW,EAMhB5+I,KAAKm8I,UAAW,EAMhBn8I,KAAK6+I,oBAAqB,EAS1B7+I,KAAKs3I,gBAAmBsD,MAAM,EAAOt2E,IAAI,EAAMhW,MAAM,EAAMz6B,MAAM,EAAMD,OAAO,GAO9E5zB,KAAKo8I,UAAaxB,MAAM,EAAMt2E,IAAI,EAAOhW,MAAM,EAAOz6B,MAAM,EAAOD,OAAO,GAM1E5zB,KAAK8+I,aAAgBlE,MAAM,EAAMt2E,IAAI,EAAOhW,MAAM,EAAOz6B,MAAM,EAAOD,OAAO,GAO7E5zB,KAAK++I,SAAYnE,MAAM,EAAMt2E,IAAI,EAAOhW,MAAM,EAAOz6B,MAAM,EAAOD,OAAO,GAOzE5zB,KAAKg/I,YAAc,IAAIx9I,EAAOX,MAK9Bb,KAAKwR,OAAQ,EAKbxR,KAAK23I,cAAe,EAUpB33I,KAAKi/I,YAAa,EAKlBj/I,KAAKk/I,UAAW,EAKhBl/I,KAAKm/I,uBAAwB,EAM7Bn/I,KAAKo/I,UAAY,EAMjBp/I,KAAKq/I,aAAe,EAMpBr/I,KAAKs/I,aAAe,EAMpBt/I,KAAKu/I,WAAa,KAMlBv/I,KAAKw/I,QAAU,KAKfx/I,KAAKy/I,eAAiB,IAAIj+I,EAAO+gC,OAKjCviC,KAAK0/I,iBAAmB,KAKxB1/I,KAAK2/I,wBAA0B,KAM/B3/I,KAAK6yE,QAAS,EAMd7yE,KAAK4/I,IAAMr8H,EAAOziB,MAAMiD,EAMxB/D,KAAK6/I,IAAMt8H,EAAOziB,MAAMkD,EAMxBhE,KAAKg2D,IAAM,EAMXh2D,KAAKi2D,IAAM,GAGfz0D,EAAOkxC,QAAQuiC,OAAO62D,KAAKxpI,WAQvBw9I,aAAc,WAEV,GAAI9/I,KAAKi/I,WACT,CACI,IAAI97I,EAAInD,KAAKujB,OAAOrZ,YACpB/G,EAAEk9B,UAEEl9B,EAAEvF,QAAUoC,KAAKpC,OAASuF,EAAEtF,SAAWmC,KAAKnC,SAE5CmC,KAAKpC,MAAQuF,EAAEvF,MACfoC,KAAKnC,OAASsF,EAAEtF,OAChBmC,KAAK6yE,QAAS,OAItB,CACI,IAAIktE,EAAMr8I,KAAKmzB,IAAI72B,KAAKujB,OAAOziB,MAAMiD,GACjCi8I,EAAMt8I,KAAKmzB,IAAI72B,KAAKujB,OAAOziB,MAAMkD,GAEjC+7I,IAAQ//I,KAAK4/I,KAAOI,IAAQhgJ,KAAK6/I,MAEjC7/I,KAAKpC,MAAQoC,KAAKu3F,YAAcwoD,EAChC//I,KAAKnC,OAASmC,KAAKw3F,aAAewoD,EAClChgJ,KAAK4/I,IAAMG,EACX//I,KAAK6/I,IAAMG,EACXhgJ,KAAK6yE,QAAS,GAIlB7yE,KAAK6yE,SAEL7yE,KAAK82B,UAAYpzB,KAAKqsB,MAAM/vB,KAAKpC,MAAQ,GACzCoC,KAAK+2B,WAAarzB,KAAKqsB,MAAM/vB,KAAKnC,OAAS,GAC3CmC,KAAKigJ,iBAUbA,aAAc,WAEVjgJ,KAAKg/B,OAAO1J,MAAMt1B,KAAKY,SAASmD,EAAI/D,KAAK82B,UAAW92B,KAAKY,SAASoD,EAAIhE,KAAK+2B,aAS/EryB,UAAW,WAEF1E,KAAKgZ,SAAUhZ,KAAK+C,KAAKikC,QAAQ0vG,OAAOnhC,WAK7Cv1G,KAAKwR,OAAQ,EAGbxR,KAAK8+I,YAAYlE,KAAO56I,KAAKo8I,SAASxB,KACtC56I,KAAK8+I,YAAYx6E,GAAKtkE,KAAKo8I,SAAS93E,GACpCtkE,KAAK8+I,YAAYxwF,KAAOtuD,KAAKo8I,SAAS9tF,KACtCtuD,KAAK8+I,YAAYjrH,KAAO7zB,KAAKo8I,SAASvoH,KACtC7zB,KAAK8+I,YAAYlrH,MAAQ5zB,KAAKo8I,SAASxoH,MAEvC5zB,KAAKo8I,SAASxB,MAAO,EACrB56I,KAAKo8I,SAAS93E,IAAK,EACnBtkE,KAAKo8I,SAAS9tF,MAAO,EACrBtuD,KAAKo8I,SAASvoH,MAAO,EACrB7zB,KAAKo8I,SAASxoH,OAAQ,EAEtB5zB,KAAK++I,QAAQnE,MAAO,EACpB56I,KAAK++I,QAAQz6E,IAAK,EAClBtkE,KAAK++I,QAAQzwF,MAAO,EACpBtuD,KAAK++I,QAAQlrH,MAAO,EACpB7zB,KAAK++I,QAAQnrH,OAAQ,EAErB5zB,KAAK4+I,SAAW,EAChB5+I,KAAKq8I,SAAW,EAChBr8I,KAAKu8I,SAAW,EAEhBv8I,KAAKm8I,UAAW,EAEhBn8I,KAAK8/I,eAEL9/I,KAAKY,SAASmD,EAAK/D,KAAKujB,OAAOtgB,MAAMc,EAAK/D,KAAKujB,OAAO5c,OAAO5C,EAAI/D,KAAKujB,OAAO3lB,MAAUoC,KAAKujB,OAAOziB,MAAMiD,EAAI/D,KAAKyX,OAAO1T,EACzH/D,KAAKY,SAASmD,GAAK/D,KAAKujB,OAAOziB,MAAMiD,EAAI,EAAI/D,KAAKpC,MAAQ,EAE1DoC,KAAKY,SAASoD,EAAKhE,KAAKujB,OAAOtgB,MAAMe,EAAKhE,KAAKujB,OAAO5c,OAAO3C,EAAIhE,KAAKujB,OAAO1lB,OAAWmC,KAAKujB,OAAOziB,MAAMkD,EAAIhE,KAAKyX,OAAOzT,EAC1HhE,KAAKY,SAASoD,GAAKhE,KAAKujB,OAAOziB,MAAMkD,EAAI,EAAIhE,KAAKnC,OAAS,EAE3DmC,KAAKigJ,eAELjgJ,KAAKgB,SAAWhB,KAAKujB,OAAOuS,MAE5B91B,KAAKu+I,YAAcv+I,KAAKgB,UAEpBhB,KAAK6yE,QAAU7yE,KAAKujB,OAAOopD,SAE3B3sE,KAAK+6E,KAAKh3E,EAAI/D,KAAKY,SAASmD,EAC5B/D,KAAK+6E,KAAK/2E,EAAIhE,KAAKY,SAASoD,GAG5BhE,KAAKw8I,QAELx8I,KAAK+C,KAAKikC,QAAQ0vG,OAAOuB,aAAaj4I,MAEtCA,KAAKw+I,YAAYr3I,IAAsB,KAAlBnH,KAAKy4I,SAAS10I,EAAY/D,KAAK+C,KAAK0iC,KAAKC,MAAyB,KAAlB1lC,KAAKy4I,SAASz0I,EAAYhE,KAAK+C,KAAK0iC,KAAKC,OAE9G1lC,KAAKY,SAASmD,GAAK/D,KAAKw+I,YAAYz6I,EACpC/D,KAAKY,SAASoD,GAAKhE,KAAKw+I,YAAYx6I,EACpChE,KAAKigJ,eAEDjgJ,KAAKY,SAASmD,IAAM/D,KAAK+6E,KAAKh3E,GAAK/D,KAAKY,SAASoD,IAAMhE,KAAK+6E,KAAK/2E,IAEjEhE,KAAK81B,MAAQ91B,KAAKy4I,SAASt7G,QAG/Bn9B,KAAKshD,MAAQ59C,KAAKS,KAAKnE,KAAKy4I,SAAS10I,EAAI/D,KAAKy4I,SAAS10I,EAAI/D,KAAKy4I,SAASz0I,EAAIhE,KAAKy4I,SAASz0I,GAOvFhE,KAAK6+I,oBAED7+I,KAAK2rE,oBAAsB3rE,KAAK0+I,eAEhC1+I,KAAK0+I,cAAc/4G,SAAS3lC,KAAKujB,OAAQvjB,KAAK++I,QAAQz6E,GAAItkE,KAAK++I,QAAQzwF,KAAMtuD,KAAK++I,QAAQlrH,KAAM7zB,KAAK++I,QAAQnrH,QAKzH5zB,KAAKg2D,IAAMh2D,KAAK2tE,SAChB3tE,KAAKi2D,IAAMj2D,KAAKwpD,SAEhBxpD,KAAK6yE,QAAS,IASlBqtE,eAAgB,WAEZ,IAAIvxC,EAAU,EACVwxC,EAA8B,IAAlBngJ,KAAKq8I,UAAoC,IAAlBr8I,KAAKu8I,SAiB5C,GAbIv8I,KAAKs/I,aAAe,GAEpBt/I,KAAKo/I,WAAap/I,KAAK+C,KAAK0iC,KAAKC,MAEjCipE,EAAU3uG,KAAKo/I,UAAYp/I,KAAKs/I,eAIhCt/I,KAAKu/I,WAAWjkI,IAAInU,IAAInH,KAAKY,SAASmD,EAAG/D,KAAKY,SAASoD,GAEvD2qG,EAAU3uG,KAAKu/I,WAAW58I,OAAS3C,KAAKq/I,cAGxCr/I,KAAK0/I,iBAEL,IAAI5mH,EAAS94B,KAAK0/I,iBAAiBl7I,KAAKxE,KAAK2/I,wBAAyB3/I,KAAMA,KAAKy4I,SAAU9pC,GAG/F,QAAIwxC,GAAYxxC,GAAW,QAAiBpoG,IAAXuyB,IAAmC,IAAXA,KAErD94B,KAAKogJ,aAAczxC,GAAW,GAAO3uG,KAAKm/I,uBAAyBgB,IAC5D,IAgBfC,aAAc,SAAUC,GAEhBrgJ,KAAKk/I,WAELl/I,KAAKk/I,UAAW,EAEZmB,GAEArgJ,KAAKy4I,SAAStxI,IAAI,GAOtBnH,KAAKy/I,eAAe95G,SAAS3lC,KAAKujB,OAA2B,IAAlBvjB,KAAKq8I,UAAoC,IAAlBr8I,KAAKu8I,YAU/En1G,WAAY,WAGHpnC,KAAKgZ,QAAWhZ,KAAKwR,QAMtBxR,KAAKk/I,UAELl/I,KAAKkgJ,iBAGTlgJ,KAAKwR,OAAQ,EAETxR,KAAK2tE,SAAW,EAEhB3tE,KAAK2+I,OAASn9I,EAAOwqB,KAEhBhsB,KAAK2tE,SAAW,IAErB3tE,KAAK2+I,OAASn9I,EAAOyqB,OAGrBjsB,KAAKwpD,SAAW,EAEhBxpD,KAAK2+I,OAASn9I,EAAO0qB,GAEhBlsB,KAAKwpD,SAAW,IAErBxpD,KAAK2+I,OAASn9I,EAAO2qB,MAGrBnsB,KAAKw8I,QAELx8I,KAAKg2D,IAAMh2D,KAAK2tE,SAChB3tE,KAAKi2D,IAAMj2D,KAAKwpD,SAEQ,IAApBxpD,KAAK+/C,SAASh8C,GAAwB,IAAb/D,KAAKg2D,MAE1Bh2D,KAAKg2D,IAAM,GAAKh2D,KAAKg2D,KAAOh2D,KAAK+/C,SAASh8C,EAE1C/D,KAAKg2D,KAAOh2D,KAAK+/C,SAASh8C,EAErB/D,KAAKg2D,IAAM,GAAKh2D,KAAKg2D,IAAMh2D,KAAK+/C,SAASh8C,IAE9C/D,KAAKg2D,IAAMh2D,KAAK+/C,SAASh8C,IAIT,IAApB/D,KAAK+/C,SAAS/7C,GAAwB,IAAbhE,KAAKi2D,MAE1Bj2D,KAAKi2D,IAAM,GAAKj2D,KAAKi2D,KAAOj2D,KAAK+/C,SAAS/7C,EAE1ChE,KAAKi2D,KAAOj2D,KAAK+/C,SAAS/7C,EAErBhE,KAAKi2D,IAAM,GAAKj2D,KAAKi2D,IAAMj2D,KAAK+/C,SAAS/7C,IAE9ChE,KAAKi2D,IAAMj2D,KAAK+/C,SAAS/7C,IAIjChE,KAAKujB,OAAO3iB,SAASmD,GAAK/D,KAAKg2D,IAC/Bh2D,KAAKujB,OAAO3iB,SAASoD,GAAKhE,KAAKi2D,IAC/Bj2D,KAAK6yE,QAAS,GAGlB7yE,KAAKigJ,eAEDjgJ,KAAKk4I,gBAELl4I,KAAKujB,OAAOuS,OAAS91B,KAAK4tE,UAG9B5tE,KAAK+6E,KAAKh3E,EAAI/D,KAAKY,SAASmD,EAC5B/D,KAAK+6E,KAAK/2E,EAAIhE,KAAKY,SAASoD,IAUhC2nE,iBAAkB,WAEd,IAAI9vC,EAAM77B,KAAKY,SACXkE,EAAS9E,KAAK+C,KAAKikC,QAAQ0vG,OAAO5xI,OAClCw7I,EAAQtgJ,KAAK+C,KAAKikC,QAAQ0vG,OAAOY,eAEjCnxD,EAAMnmF,KAAgB,aAAKA,KAAKy+I,YAAY16I,GAAK/D,KAAKg8I,OAAOj4I,EAC7DqiF,EAAMpmF,KAAgB,aAAKA,KAAKy+I,YAAYz6I,GAAKhE,KAAKg8I,OAAOh4I,EAgCjE,OA9BI63B,EAAI93B,EAAIe,EAAOf,GAAKu8I,EAAMzsH,MAE1BgI,EAAI93B,EAAIe,EAAOf,EACf/D,KAAKy4I,SAAS10I,GAAKoiF,EACnBnmF,KAAK++I,QAAQlrH,MAAO,EACpB7zB,KAAK++I,QAAQnE,MAAO,GAEf56I,KAAK4zB,MAAQ9uB,EAAO8uB,OAAS0sH,EAAM1sH,QAExCiI,EAAI93B,EAAIe,EAAO8uB,MAAQ5zB,KAAKpC,MAC5BoC,KAAKy4I,SAAS10I,GAAKoiF,EACnBnmF,KAAK++I,QAAQnrH,OAAQ,EACrB5zB,KAAK++I,QAAQnE,MAAO,GAGpB/+G,EAAI73B,EAAIc,EAAOd,GAAKs8I,EAAMh8E,IAE1BzoC,EAAI73B,EAAIc,EAAOd,EACfhE,KAAKy4I,SAASz0I,GAAKoiF,EACnBpmF,KAAK++I,QAAQz6E,IAAK,EAClBtkE,KAAK++I,QAAQnE,MAAO,GAEf56I,KAAKw2B,OAAS1xB,EAAO0xB,QAAU8pH,EAAMhyF,OAE1CzyB,EAAI73B,EAAIc,EAAO0xB,OAASx2B,KAAKnC,OAC7BmC,KAAKy4I,SAASz0I,GAAKoiF,EACnBpmF,KAAK++I,QAAQzwF,MAAO,EACpBtuD,KAAK++I,QAAQnE,MAAO,IAGhB56I,KAAK++I,QAAQnE,MAiCzB2F,SAAU,SAAUx9G,EAAUue,EAAOzc,GAIjC,QAFct+B,IAAV+6C,IAAuBA,EAAQthD,KAAKshD,OAE1B,IAAVA,EAEA,OAAO,EAGX,IAAIxrB,EA+BJ,YA7BkBvvB,IAAds+B,GAEA/O,EAAQ91B,KAAK81B,MACb+O,EAAY7kC,KAAK+C,KAAKgjC,KAAK7I,SAASpH,IAIpCA,EAAQ91B,KAAK+C,KAAKgjC,KAAKpP,SAASkO,GAGpC7kC,KAAKo/I,UAAY,EACjBp/I,KAAKs/I,aAAev8G,EAGF,IAAd8B,GAAiC,MAAdA,EAEnB7kC,KAAKy4I,SAAStxI,IAAIzD,KAAKI,IAAIgyB,GAASwrB,EAAO,GAExB,KAAdzc,GAAkC,MAAdA,EAEzB7kC,KAAKy4I,SAAStxI,IAAI,EAAGzD,KAAKG,IAAIiyB,GAASwrB,GAIvCthD,KAAKy4I,SAASp8G,WAAWvG,EAAOwrB,GAGpCthD,KAAKk/I,UAAW,GAET,GAgCXp/D,OAAQ,SAAU/8C,EAAUrN,EAAUmP,GAElC,IAAIyc,EAAQ5rB,GAAYqN,EAAW,KAEnC,GAAc,IAAVue,EAEA,OAAO,EAGX,IAAIxrB,EA6CJ,YA3CkBvvB,IAAds+B,GAEA/O,EAAQ91B,KAAK81B,MACb+O,EAAY7kC,KAAK+C,KAAKgjC,KAAK7I,SAASpH,IAIpCA,EAAQ91B,KAAK+C,KAAKgjC,KAAKpP,SAASkO,GAGpCnP,EAAWhyB,KAAKmzB,IAAInB,GAEpB11B,KAAKs/I,aAAe,EACpBt/I,KAAKq/I,aAAe3pH,EAEI,OAApB11B,KAAKu/I,aAELv/I,KAAKu/I,WAAa,IAAI/9I,EAAO22B,KAC7Bn4B,KAAKw/I,QAAU,IAAIh+I,EAAOX,OAG9Bb,KAAKu/I,WAAW9mH,UAAUz4B,KAAK+D,EAAG/D,KAAKgE,EAAG8xB,EAAOJ,GAEjD11B,KAAKw/I,QAAQr4I,IAAInH,KAAKu/I,WAAWjkI,IAAIvX,EAAG/D,KAAKu/I,WAAWjkI,IAAItX,GAE5DhE,KAAKu/I,WAAWjqH,MAAMt1B,KAAK+D,EAAG/D,KAAKgE,EAAGhE,KAAK+D,EAAG/D,KAAKgE,GAGjC,IAAd6gC,GAAiC,MAAdA,EAEnB7kC,KAAKy4I,SAAStxI,IAAIzD,KAAKI,IAAIgyB,GAASwrB,EAAO,GAExB,KAAdzc,GAAkC,MAAdA,EAEzB7kC,KAAKy4I,SAAStxI,IAAI,EAAGzD,KAAKG,IAAIiyB,GAASwrB,GAIvCthD,KAAKy4I,SAASp8G,WAAWvG,EAAOwrB,GAGpCthD,KAAKk/I,UAAW,GAET,GA2CX74G,QAAS,SAAUzoC,EAAOC,EAAQ8mB,EAASC,QAEvBre,IAAZoe,IAAyBA,EAAU3kB,KAAKyX,OAAO1T,QACnCwC,IAAZqe,IAAyBA,EAAU5kB,KAAKyX,OAAOzT,GAEnDhE,KAAKu3F,YAAc35F,EACnBoC,KAAKw3F,aAAe35F,EACpBmC,KAAKpC,MAAQoC,KAAKu3F,YAAcv3F,KAAK4/I,IACrC5/I,KAAKnC,OAASmC,KAAKw3F,aAAex3F,KAAK6/I,IACvC7/I,KAAK82B,UAAYpzB,KAAKqsB,MAAM/vB,KAAKpC,MAAQ,GACzCoC,KAAK+2B,WAAarzB,KAAKqsB,MAAM/vB,KAAKnC,OAAS,GAC3CmC,KAAKyX,OAAO6d,MAAM3Q,EAASC,GAE3B5kB,KAAKigJ,eAELjgJ,KAAK66I,UAAW,EAChB76I,KAAKq1B,OAAS,GAmBlBmrH,UAAW,SAAUnrH,EAAQ1Q,EAASC,QAElBre,IAAZoe,IAAyBA,EAAU3kB,KAAKyX,OAAO1T,QACnCwC,IAAZqe,IAAyBA,EAAU5kB,KAAKyX,OAAOzT,GAE/CqxB,EAAS,GAETr1B,KAAK66I,UAAW,EAChB76I,KAAKq1B,OAASA,EAEdr1B,KAAKu3F,YAAuB,EAATliE,EACnBr1B,KAAKw3F,aAAwB,EAATniE,EAEpBr1B,KAAKpC,MAAQoC,KAAKu3F,YAAcv3F,KAAK4/I,IACrC5/I,KAAKnC,OAASmC,KAAKw3F,aAAex3F,KAAK6/I,IAEvC7/I,KAAK82B,UAAYpzB,KAAKqsB,MAAM/vB,KAAKpC,MAAQ,GACzCoC,KAAK+2B,WAAarzB,KAAKqsB,MAAM/vB,KAAKnC,OAAS,GAE3CmC,KAAKyX,OAAO6d,MAAM3Q,EAASC,GAE3B5kB,KAAKigJ,gBAILjgJ,KAAK66I,UAAW,GAWxBv0G,MAAO,SAAUviC,EAAGC,GAEhBhE,KAAKmM,OAELnM,KAAKY,SAASmD,EAAKA,EAAK/D,KAAKujB,OAAO5c,OAAO5C,EAAI/D,KAAKujB,OAAO3lB,MAAUoC,KAAKujB,OAAOziB,MAAMiD,EAAI/D,KAAKyX,OAAO1T,EACvG/D,KAAKY,SAASmD,GAAK/D,KAAKujB,OAAOziB,MAAMiD,EAAI,EAAI/D,KAAKpC,MAAQ,EAE1DoC,KAAKY,SAASoD,EAAKA,EAAKhE,KAAKujB,OAAO5c,OAAO3C,EAAIhE,KAAKujB,OAAO1lB,OAAWmC,KAAKujB,OAAOziB,MAAMkD,EAAIhE,KAAKyX,OAAOzT,EACxGhE,KAAKY,SAASoD,GAAKhE,KAAKujB,OAAOziB,MAAMkD,EAAI,EAAIhE,KAAKnC,OAAS,EAE3DmC,KAAK+6E,KAAKh3E,EAAI/D,KAAKY,SAASmD,EAC5B/D,KAAK+6E,KAAK/2E,EAAIhE,KAAKY,SAASoD,EAE5BhE,KAAKgB,SAAWhB,KAAKujB,OAAOuS,MAC5B91B,KAAKu+I,YAAcv+I,KAAKgB,SAExBhB,KAAK8/I,eAEL9/I,KAAKigJ,gBAQT9zI,KAAM,WAEFnM,KAAKy4I,SAAStxI,IAAI,GAClBnH,KAAK04I,aAAavxI,IAAI,GACtBnH,KAAKshD,MAAQ,EACbthD,KAAKq4I,gBAAkB,EACvBr4I,KAAKs4I,oBAAsB,GAY/BpuI,UAAW,SAAU+nB,GAOjB,OALAA,EAAIluB,EAAI/D,KAAK+D,EACbkuB,EAAIjuB,EAAIhE,KAAKgE,EACbiuB,EAAI2B,MAAQ5zB,KAAK4zB,MACjB3B,EAAIuE,OAASx2B,KAAKw2B,OAEXvE,GAWXu0B,QAAS,SAAUziD,EAAGC,GAElB,OAAQhE,KAAa,SAAIwB,EAAOqzB,OAAOvqB,SAAStK,KAAM+D,EAAGC,GAAKxC,EAAOS,UAAUqI,SAAStK,KAAM+D,EAAGC,IASrGy8I,QAAS,WAEL,OAAOzgJ,KAAK++I,QAAQzwF,MASxBoyF,UAAW,WAEP,OAAO1gJ,KAAK++I,QAAQz6E,IASxBq8E,OAAQ,WAEJ,OAAQ3gJ,KAAK++I,QAAQlrH,MAAQ7zB,KAAK++I,QAAQnrH,OAS9CsoH,UAAW,WAEP,OAAQl8I,KAAK2tE,SAAW,EAAI3tE,KAAK2tE,UAAY3tE,KAAK2tE,UAStD2uE,UAAW,WAEP,OAAQt8I,KAAKwpD,SAAW,EAAIxpD,KAAKwpD,UAAYxpD,KAAKwpD,UAStDmkB,OAAQ,WAEJ,OAAO3tE,KAAKY,SAASmD,EAAI/D,KAAK+6E,KAAKh3E,GASvCylD,OAAQ,WAEJ,OAAOxpD,KAAKY,SAASoD,EAAIhE,KAAK+6E,KAAK/2E,GASvC4pE,OAAQ,WAEJ,OAAO5tE,KAAKgB,SAAWhB,KAAKu+I,aAWhC/7I,QAAS,WAEDxC,KAAKujB,OAAOliB,QAAUrB,KAAKujB,OAAOliB,kBAAkBG,EAAO8wC,OAE3DtyC,KAAKujB,OAAOliB,OAAOgxC,eAAeryC,KAAKujB,QAG3CvjB,KAAKujB,OAAO4uB,KAAO,KACnBnyC,KAAKujB,OAAS,OAStBvc,OAAOyF,eAAejL,EAAOkxC,QAAQuiC,OAAO62D,KAAKxpI,UAAW,QAExD4E,IAAK,WAED,OAAOlH,KAAKY,SAASmD,KAU7BiD,OAAOyF,eAAejL,EAAOkxC,QAAQuiC,OAAO62D,KAAKxpI,UAAW,SAExD4E,IAAK,WAED,OAAOlH,KAAKY,SAASmD,EAAI/D,KAAKpC,SAStCoJ,OAAOyF,eAAejL,EAAOkxC,QAAQuiC,OAAO62D,KAAKxpI,UAAW,OAExD4E,IAAK,WAED,OAAOlH,KAAKY,SAASoD,KAU7BgD,OAAOyF,eAAejL,EAAOkxC,QAAQuiC,OAAO62D,KAAKxpI,UAAW,UAExD4E,IAAK,WAED,OAAOlH,KAAKY,SAASoD,EAAIhE,KAAKnC,UAStCmJ,OAAOyF,eAAejL,EAAOkxC,QAAQuiC,OAAO62D,KAAKxpI,UAAW,KAExD4E,IAAK,WAED,OAAOlH,KAAKY,SAASmD,GAGzBoD,IAAK,SAAUC,GAEXpH,KAAKY,SAASmD,EAAIqD,KAS1BJ,OAAOyF,eAAejL,EAAOkxC,QAAQuiC,OAAO62D,KAAKxpI,UAAW,KAExD4E,IAAK,WAED,OAAOlH,KAAKY,SAASoD,GAGzBmD,IAAK,SAAUC,GAEXpH,KAAKY,SAASoD,EAAIoD,KAe1B5F,EAAOkxC,QAAQuiC,OAAO62D,KAAK3mI,OAAS,SAAU2I,EAASqkC,EAAM97B,EAAOuzH,EAAQ5pD,QAEzDz5E,IAAXqjI,IAAwBA,GAAS,GAErCvzH,EAAQA,GAAS,oBAEjBvI,EAAQ+a,UAAYxS,EACpBvI,EAAQmyE,YAAc5pE,EACtBvI,EAAQkyE,UAAYA,GAAa,EAE7B7tC,EAAK0oG,UAEL/sI,EAAQ6xE,YACR7xE,EAAQ8xE,IAAIztC,EAAKnT,OAAOj7B,EAAIouC,EAAKpvC,KAAK+X,OAAO/W,EAAGouC,EAAKnT,OAAOh7B,EAAImuC,EAAKpvC,KAAK+X,OAAO9W,EAAGmuC,EAAKrb,UAAW,EAAG,EAAIpzB,KAAKwxB,IAE5G00G,EAEA97H,EAAQ+4C,OAIR/4C,EAAQoyE,UAIZ0pD,EAEA97H,EAAQkb,SAASmpB,EAAKvxC,SAASmD,EAAIouC,EAAKpvC,KAAK+X,OAAO/W,EAAGouC,EAAKvxC,SAASoD,EAAImuC,EAAKpvC,KAAK+X,OAAO9W,EAAGmuC,EAAKv0C,MAAOu0C,EAAKt0C,QAI9GiQ,EAAQi9E,WAAW54C,EAAKvxC,SAASmD,EAAIouC,EAAKpvC,KAAK+X,OAAO/W,EAAGouC,EAAKvxC,SAASoD,EAAImuC,EAAKpvC,KAAK+X,OAAO9W,EAAGmuC,EAAKv0C,MAAOu0C,EAAKt0C,SAaxH2D,EAAOkxC,QAAQuiC,OAAO62D,KAAKO,eAAiB,SAAUjiG,EAAO+H,GAEzD/H,EAAMxR,KAAK,MAAQuZ,EAAKpuC,EAAEwqC,QAAQ,GAAI,MAAQ4D,EAAKnuC,EAAEuqC,QAAQ,GAAI,UAAY4D,EAAKv0C,MAAO,WAAau0C,EAAKt0C,QAC3GusC,EAAMxR,KAAK,eAAiBuZ,EAAKsmG,SAAS10I,EAAEwqC,QAAQ,GAAI,MAAQ4D,EAAKsmG,SAASz0I,EAAEuqC,QAAQ,GAAI,WAAa4D,EAAK6jB,IAAIznB,QAAQ,GAAI,WAAa4D,EAAK8jB,IAAI1nB,QAAQ,IAC5JnE,EAAMxR,KAAK,mBAAqBuZ,EAAKumG,aAAa30I,EAAEwqC,QAAQ,GAAI,MAAQ4D,EAAKumG,aAAa10I,EAAEuqC,QAAQ,GAAI,UAAY4D,EAAKmP,MAAM/S,QAAQ,GAAI,UAAY4D,EAAKrc,MAAMyY,QAAQ,IAC1KnE,EAAMxR,KAAK,cAAgBuZ,EAAKklG,QAAQtzI,EAAG,MAAQouC,EAAKklG,QAAQrzI,EAAG,aAAemuC,EAAK6pG,OAAOj4I,EAAEwqC,QAAQ,GAAI,MAAQ4D,EAAK6pG,OAAOh4I,EAAEuqC,QAAQ,IAC1InE,EAAMxR,KAAK,kBAAoBuZ,EAAKiqG,SAASvoH,KAAM,UAAYse,EAAKiqG,SAASxoH,MAAO,OAASue,EAAKiqG,SAAS93E,GAAI,SAAWnyB,EAAKiqG,SAAS9tF,MACxIlkB,EAAMxR,KAAK,iBAAmBuZ,EAAK4sG,QAAQlrH,KAAM,UAAYse,EAAK4sG,QAAQnrH,MAAO,OAASue,EAAK4sG,QAAQz6E,GAAI,SAAWnyB,EAAK4sG,QAAQzwF,OAGvI9sD,EAAOkxC,QAAQuiC,OAAO62D,KAAKxpI,UAAUC,YAAcf,EAAOkxC,QAAQuiC,OAAO62D,KAgBzEtqI,EAAOkxC,QAAQuiC,OAAO2rE,iBAAmB,aAEzCp/I,EAAOkxC,QAAQuiC,OAAO2rE,iBAAiBt+I,WAKnCu+I,UAAW,GAcX9G,4BAA6B,SAAUx2H,EAAQu9H,EAAczH,EAAiBH,EAAiB1vG,EAAiBkwG,GAE5G,GAAKn2H,EAAO4uB,KAAZ,CAKA,IAAImxE,EAAUw9B,EAAaC,SACvBx9H,EAAO4uB,KAAKvxC,SAASmD,EAAIwf,EAAO4uB,KAAK6sG,YAAYj7I,EAAI+8I,EAAaE,iBAClEz9H,EAAO4uB,KAAKvxC,SAASoD,EAAIuf,EAAO4uB,KAAK6sG,YAAYh7I,EAAI88I,EAAaG,iBAClE19H,EAAO4uB,KAAKv0C,MAAQ2lB,EAAO4uB,KAAK6sG,YAAYj7I,EAC5Cwf,EAAO4uB,KAAKt0C,OAAS0lB,EAAO4uB,KAAK6sG,YAAYh7I,GAC7C,GAAO,GAEX,GAAuB,IAAnBs/G,EAAQ3gH,OAKZ,IAAK,IAAID,EAAI,EAAGA,EAAI4gH,EAAQ3gH,OAAQD,IAE5Bw2I,EAEIA,EAAgB10I,KAAKglC,EAAiBjmB,EAAQ+/F,EAAQ5gH,KAElD1C,KAAKkhJ,aAAax+I,EAAG6gB,EAAO4uB,KAAMmxE,EAAQ5gH,GAAIo+I,EAAcpH,KAE5D15I,KAAK43I,SAEDyB,GAEAA,EAAgB70I,KAAKglC,EAAiBjmB,EAAQ+/F,EAAQ5gH,KAMlE1C,KAAKkhJ,aAAax+I,EAAG6gB,EAAO4uB,KAAMmxE,EAAQ5gH,GAAIo+I,EAAcpH,KAE5D15I,KAAK43I,SAEDyB,GAEAA,EAAgB70I,KAAKglC,EAAiBjmB,EAAQ+/F,EAAQ5gH,OAkBtEu3I,2BAA4B,SAAU1/F,EAAOumG,EAAczH,EAAiBH,EAAiB1vG,EAAiBkwG,GAE1G,GAAqB,IAAjBn/F,EAAM53C,OAKV,IAAK,IAAID,EAAI,EAAGA,EAAI63C,EAAM93C,SAASE,OAAQD,IAEnC63C,EAAM93C,SAASC,GAAGwK,QAElBlN,KAAK+5I,4BAA4Bx/F,EAAM93C,SAASC,GAAIo+I,EAAczH,EAAiBH,EAAiB1vG,EAAiBkwG,IAejIwH,aAAc,SAAUx+I,EAAGyvC,EAAMgvG,EAAML,EAAcpH,GAEjD,IAAKvnG,EAAKn5B,OAEN,OAAO,EAGX,IAAIooI,EAAsBN,EAAaE,iBACnCK,EAAsBP,EAAaG,iBAGvC,IAAKE,EAAKzqH,WAAYyb,EAAKvxC,SAASmD,EAAIq9I,EAAuBjvG,EAAKvxC,SAASoD,EAAIq9I,EAAuBlvG,EAAKve,MAAQwtH,EAAuBjvG,EAAK3b,OAAS6qH,GAGtJ,OAAO,EAEN,GAAI3H,EAGL,OAAO,EAMX,GAAIyH,EAAKG,oBAAsBH,EAAKG,kBAAkB98I,KAAK28I,EAAKI,yBAA0BpvG,EAAK5uB,OAAQ49H,GAGnG,OAAO,EAEN,QAAoC,IAAzBA,EAAK1P,MAAMn2E,WAA6B6lF,EAAK1P,MAAMn2E,UAAU6lF,EAAKv4I,SAAWu4I,EAAK1P,MAAMn2E,UAAU6lF,EAAKv4I,OAAOosC,SAASxwC,KAAK28I,EAAK1P,MAAMn2E,UAAU6lF,EAAKv4I,OAAO4gC,gBAAiB2I,EAAK5uB,OAAQ49H,GAGvM,OAAO,EAIX,KAAKA,EAAKK,UAAaL,EAAKM,WAAcN,EAAKO,SAAYP,EAAKQ,YAG5D,OAAO,EAGX,IAAI32D,EAAK,EACLC,EAAK,EACLrgF,EAAO,EACPE,EAAO,EAoBX,GAlBIqnC,EAAK+pG,YAAc/pG,EAAKmqG,YAGxB1xI,GAAQ,EAEHunC,EAAK+pG,YAAc/pG,EAAKmqG,cAG7BxxI,GAAQ,GAGU,IAAlBqnC,EAAKw7B,UAAoC,IAAlBx7B,EAAKqX,WAAmB23F,EAAKK,UAAYL,EAAKM,aAAeN,EAAKO,SAAWP,EAAKQ,cAGzG/2I,EAAOlH,KAAK81B,IAAI91B,KAAKmzB,IAAKsb,EAAKvxC,SAASmD,EAAIq9I,EAAuBD,EAAKvtH,OAAQlwB,KAAKmzB,IAAKsb,EAAKve,MAAQwtH,EAAuBD,EAAKttH,OACnI/oB,EAAOpH,KAAK81B,IAAI91B,KAAKmzB,IAAKsb,EAAKvxC,SAASoD,EAAIq9I,EAAuBF,EAAK3qH,QAAS9yB,KAAKmzB,IAAKsb,EAAK3b,OAAS6qH,EAAuBF,EAAK5qH,OAGrI3rB,EAAOE,EACX,CACI,IAAIq2I,EAAKK,UAAYL,EAAKM,YAKX,KAHXz2D,EAAKhrF,KAAK4hJ,WAAWzvG,EAAMgvG,EAAML,MAGhBK,EAAKzqH,WAAYyb,EAAKvxC,SAASmD,EAAIq9I,EAAuBjvG,EAAKvxC,SAASoD,EAAIq9I,EAAuBlvG,EAAKve,MAAQwtH,EAAuBjvG,EAAK3b,OAAS6qH,GAElK,OAAO,GAIXF,EAAKO,SAAWP,EAAKQ,cAErB12D,EAAKjrF,KAAK6hJ,WAAW1vG,EAAMgvG,EAAML,QAIzC,CACI,IAAIK,EAAKO,SAAWP,EAAKQ,aAKV,KAHX12D,EAAKjrF,KAAK6hJ,WAAW1vG,EAAMgvG,EAAML,MAGhBK,EAAKzqH,WAAYyb,EAAKvxC,SAASmD,EAAIq9I,EAAuBjvG,EAAKvxC,SAASoD,EAAIq9I,EAAuBlvG,EAAKve,MAAQwtH,EAAuBjvG,EAAK3b,OAAS6qH,GAElK,OAAO,GAIXF,EAAKK,UAAYL,EAAKM,aAEtBz2D,EAAKhrF,KAAK4hJ,WAAWzvG,EAAMgvG,EAAML,IAIzC,OAAe,IAAP91D,GAAmB,IAAPC,GAaxB22D,WAAY,SAAUzvG,EAAMgvG,EAAML,GAE9B,IAAI91D,EAAK,EACLo2D,EAAsBN,EAAaE,iBAyCvC,OAvCI7uG,EAAKw7B,SAAW,IAAMx7B,EAAK4sG,QAAQlrH,MAAQstH,EAAKW,cAAgB3vG,EAAKmlG,eAAezjH,KAGhFstH,EAAKM,WAActvG,EAAKpuC,EAAIq9I,EAAuBD,EAAKvtH,QAExDo3D,EAAM74C,EAAKpuC,EAAIq9I,EAAuBD,EAAKvtH,QAEjC5zB,KAAK6gJ,YAEX71D,EAAK,GAIR74C,EAAKw7B,SAAW,IAAMx7B,EAAK4sG,QAAQnrH,OAASutH,EAAKY,aAAe5vG,EAAKmlG,eAAe1jH,OAGrFutH,EAAKK,UAAarvG,EAAKve,MAAQwtH,EAAuBD,EAAKttH,OAE3Dm3D,EAAM74C,EAAKve,MAAQwtH,EAAuBD,EAAKttH,MAEtC7zB,KAAK6gJ,YAEV71D,EAAK,GAKN,IAAPA,IAEI74C,EAAKypG,gBAELzpG,EAAKkqG,SAAWrxD,EAIhBhrF,KAAKgiJ,uBAAuB7vG,EAAM64C,IAInCA,GAaX62D,WAAY,SAAU1vG,EAAMgvG,EAAML,GAE9B,IAAI71D,EAAK,EACLo2D,EAAsBP,EAAaG,iBAyCvC,OAvCI9uG,EAAKqX,SAAW,IAAMrX,EAAK4sG,QAAQz6E,IAAM68E,EAAKc,aAAe9vG,EAAKmlG,eAAehzE,GAG7E68E,EAAKQ,YAAexvG,EAAKnuC,EAAIq9I,EAAuBF,EAAK3qH,SAEzDy0D,EAAM94C,EAAKnuC,EAAIq9I,EAAuBF,EAAK3qH,SAEjCx2B,KAAK6gJ,YAEX51D,EAAK,GAIR94C,EAAKqX,SAAW,IAAMrX,EAAK4sG,QAAQzwF,MAAQ6yF,EAAKe,WAAa/vG,EAAKmlG,eAAehpF,MAGlF6yF,EAAKO,SAAYvvG,EAAK3b,OAAS6qH,EAAuBF,EAAK5qH,MAE3D00D,EAAM94C,EAAK3b,OAAS6qH,EAAuBF,EAAK5qH,KAEvCv2B,KAAK6gJ,YAEV51D,EAAK,GAKN,IAAPA,IAEI94C,EAAK0qG,gBAEL1qG,EAAKoqG,SAAWtxD,EAIhBjrF,KAAKmiJ,uBAAuBhwG,EAAM84C,IAInCA,GAWX+2D,uBAAwB,SAAU7vG,EAAMpuC,GAEhCA,EAAI,GAEJouC,EAAK4sG,QAAQlrH,MAAO,EACpBse,EAAK4sG,QAAQnE,MAAO,GAEf72I,EAAI,IAETouC,EAAK4sG,QAAQnrH,OAAQ,EACrBue,EAAK4sG,QAAQnE,MAAO,GAGxBzoG,EAAKvxC,SAASmD,GAAKA,EAEG,IAAlBouC,EAAK6pG,OAAOj4I,EAEZouC,EAAKsmG,SAAS10I,EAAI,EAIlBouC,EAAKsmG,SAAS10I,GAAKouC,EAAKsmG,SAAS10I,EAAIouC,EAAK6pG,OAAOj4I,GAYzDo+I,uBAAwB,SAAUhwG,EAAMnuC,GAEhCA,EAAI,GAEJmuC,EAAK4sG,QAAQz6E,IAAK,EAClBnyB,EAAK4sG,QAAQnE,MAAO,GAEf52I,EAAI,IAETmuC,EAAK4sG,QAAQzwF,MAAO,EACpBnc,EAAK4sG,QAAQnE,MAAO,GAGxBzoG,EAAKvxC,SAASoD,GAAKA,EAEG,IAAlBmuC,EAAK6pG,OAAOh4I,EAEZmuC,EAAKsmG,SAASz0I,EAAI,EAIlBmuC,EAAKsmG,SAASz0I,GAAKmuC,EAAKsmG,SAASz0I,EAAImuC,EAAK6pG,OAAOh4I,IAO7DxC,EAAOkwB,MAAM4C,eAAe9yB,EAAOkxC,QAAQuiC,OAAO3yE,UAAWd,EAAOkxC,QAAQuiC,OAAO2rE,iBAAiBt+I,WAuBpGd,EAAO4gJ,gBAAkB,SAAUlwH,EAAMmwH,EAAUzkJ,EAAOC,EAAQ+gH,EAAQC,EAAS9oB,SAEjExvF,IAAV3I,GAAuBA,GAAS,KAAKA,EAAQ,UAClC2I,IAAX1I,GAAwBA,GAAU,KAAKA,EAAS,SACrC0I,IAAXq4G,IAAwBA,EAAS,QACrBr4G,IAAZs4G,IAAyBA,EAAU,GAMvC7+G,KAAKkyB,KAAOA,EAOZlyB,KAAKqiJ,SAAsB,EAAXA,EAOhBriJ,KAAKsiJ,WAAqB,EAAR1kJ,EAOlBoC,KAAKuiJ,YAAuB,EAAT1kJ,EASnBmC,KAAKwiJ,YAAuB,EAAT5jC,EAQnB5+G,KAAKyiJ,aAAyB,EAAV5jC,EAMpB7+G,KAAK+1F,WAAaA,MAQlB/1F,KAAKotH,UAQLptH,KAAKg5C,MAAQ,GAGjBx3C,EAAO4gJ,gBAAgB9/I,WASnBogJ,mBAAoB,SAAUC,GAE1B,OACIA,GAAc3iJ,KAAKqiJ,UACnBM,EAAc3iJ,KAAKqiJ,SAAWriJ,KAAKg5C,OAW3CgjC,SAAU,SAAU4mE,EAAK1oI,GAErBla,KAAKotH,OAAOtlH,MAAO86I,IAAKA,EAAK1oI,MAAOA,IACpCla,KAAKg5C,UAKbx3C,EAAO4gJ,gBAAgB9/I,UAAUC,YAAcf,EAAO4gJ,gBAoBtD5gJ,EAAOqhJ,KAAO,SAAUpR,EAAO7oI,EAAO7E,EAAGC,EAAGpG,EAAOC,GAK/CmC,KAAKyxI,MAAQA,EAKbzxI,KAAK4I,MAAQA,EAKb5I,KAAK+D,EAAIA,EAKT/D,KAAKgE,EAAIA,EAKThE,KAAKgB,SAAW,EAKhBhB,KAAK8iJ,SAAU,EAKf9iJ,KAAKsqI,OAASvmI,EAAInG,EAKlBoC,KAAKuqI,OAASvmI,EAAInG,EAKlBmC,KAAKpC,MAAQA,EAKboC,KAAKnC,OAASA,EAKdmC,KAAK+3B,QAAUr0B,KAAKmzB,IAAIj5B,EAAQ,GAKhCoC,KAAKg4B,QAAUt0B,KAAKmzB,IAAIh5B,EAAS,GAKjCmC,KAAKiB,MAAQ,EAKbjB,KAAK+1F,cAKL/1F,KAAK+iJ,SAAU,EAKf/iJ,KAAK0hJ,SAAU,EAKf1hJ,KAAK2hJ,YAAa,EAKlB3hJ,KAAKwhJ,UAAW,EAKhBxhJ,KAAKyhJ,WAAY,EAMjBzhJ,KAAK+hJ,aAAc,EAMnB/hJ,KAAK8hJ,cAAe,EAMpB9hJ,KAAKkiJ,WAAY,EAMjBliJ,KAAKiiJ,aAAc,EAMnBjiJ,KAAKshJ,kBAAoB,KAMzBthJ,KAAKuhJ,yBAA2BvhJ,KAMhCA,KAAKoqC,OAAQ,GAGjB5oC,EAAOqhJ,KAAKvgJ,WAURk/B,cAAe,SAAUz9B,EAAGC,GAExB,QAASD,EAAI/D,KAAKsqI,QAAUtmI,EAAIhE,KAAKuqI,QAAUxmI,EAAI/D,KAAK4zB,OAAS5vB,EAAIhE,KAAKw2B,SAY9EE,WAAY,SAAU3yB,EAAGC,EAAG4vB,EAAO4C,GAE/B,QAAI5C,GAAS5zB,KAAKsqI,YAKd9zG,GAAUx2B,KAAKuqI,YAKfxmI,GAAK/D,KAAKsqI,OAAStqI,KAAKpC,UAKxBoG,GAAKhE,KAAKuqI,OAASvqI,KAAKnC,WAgBhCmlJ,qBAAsB,SAAUhuG,EAAUlnC,GAEtC9N,KAAKshJ,kBAAoBtsG,EACzBh1C,KAAKuhJ,yBAA2BzzI,GAQpCtL,QAAS,WAELxC,KAAKshJ,kBAAoB,KACzBthJ,KAAKuhJ,yBAA2B,KAChCvhJ,KAAK+1F,WAAa,MAYtBktD,aAAc,SAAUpvH,EAAMD,EAAO0wC,EAAIhW,GAErCtuD,KAAK+hJ,YAAcluH,EACnB7zB,KAAK8hJ,aAAeluH,EACpB5zB,KAAKkiJ,UAAY59E,EACjBtkE,KAAKiiJ,YAAc3zF,EAEnBtuD,KAAKwhJ,SAAW3tH,EAChB7zB,KAAKyhJ,UAAY7tH,EACjB5zB,KAAK0hJ,QAAUp9E,EACftkE,KAAK2hJ,WAAarzF,GAQtB40F,eAAgB,WAEZljJ,KAAK+hJ,aAAc,EACnB/hJ,KAAK8hJ,cAAe,EACpB9hJ,KAAKkiJ,WAAY,EACjBliJ,KAAKiiJ,aAAc,EAEnBjiJ,KAAK0hJ,SAAU,EACf1hJ,KAAK2hJ,YAAa,EAClB3hJ,KAAKwhJ,UAAW,EAChBxhJ,KAAKyhJ,WAAY,GAWrB0B,cAAe,SAAUC,EAAUC,GAE/B,OAAID,GAAYC,EAGJrjJ,KAAK+hJ,aAAe/hJ,KAAK8hJ,cAAgB9hJ,KAAKkiJ,WAAaliJ,KAAKiiJ,aAAejiJ,KAAK0hJ,SAAW1hJ,KAAK2hJ,YAAc3hJ,KAAKwhJ,UAAYxhJ,KAAKyhJ,WAAazhJ,KAAKshJ,kBAE7J8B,EAGGpjJ,KAAK+hJ,aAAe/hJ,KAAK8hJ,cAAgB9hJ,KAAKkiJ,WAAaliJ,KAAKiiJ,cAEnEoB,IAGGrjJ,KAAK0hJ,SAAW1hJ,KAAK2hJ,YAAc3hJ,KAAKwhJ,UAAYxhJ,KAAKyhJ,YAYzEvtH,KAAM,SAAUitH,GAEZnhJ,KAAK4I,MAAQu4I,EAAKv4I,MAClB5I,KAAKiB,MAAQkgJ,EAAKlgJ,MAClBjB,KAAK+1F,WAAaorD,EAAKprD,WAEvB/1F,KAAKkiJ,UAAYf,EAAKe,UACtBliJ,KAAKiiJ,YAAcd,EAAKc,YACxBjiJ,KAAK+hJ,YAAcZ,EAAKY,YACxB/hJ,KAAK8hJ,aAAeX,EAAKW,aAEzB9hJ,KAAKshJ,kBAAoBH,EAAKG,kBAC9BthJ,KAAKuhJ,yBAA2BJ,EAAKI,2BAK7C//I,EAAOqhJ,KAAKvgJ,UAAUC,YAAcf,EAAOqhJ,KAO3C77I,OAAOyF,eAAejL,EAAOqhJ,KAAKvgJ,UAAW,YAEzC4E,IAAK,WAED,OAAQlH,KAAK+hJ,aAAe/hJ,KAAK8hJ,cAAgB9hJ,KAAKkiJ,WAAaliJ,KAAKiiJ,eAUhFj7I,OAAOyF,eAAejL,EAAOqhJ,KAAKvgJ,UAAW,cAEzC4E,IAAK,WAED,OAAQlH,KAAK+hJ,aAAe/hJ,KAAK8hJ,cAAgB9hJ,KAAKkiJ,WAAaliJ,KAAKiiJ,aAAejiJ,KAAKshJ,qBAUpGt6I,OAAOyF,eAAejL,EAAOqhJ,KAAKvgJ,UAAW,QAEzC4E,IAAK,WAED,OAAOlH,KAAKsqI,UAUpBtjI,OAAOyF,eAAejL,EAAOqhJ,KAAKvgJ,UAAW,SAEzC4E,IAAK,WAED,OAAOlH,KAAKsqI,OAAStqI,KAAKpC,SAUlCoJ,OAAOyF,eAAejL,EAAOqhJ,KAAKvgJ,UAAW,OAEzC4E,IAAK,WAED,OAAOlH,KAAKuqI,UAUpBvjI,OAAOyF,eAAejL,EAAOqhJ,KAAKvgJ,UAAW,UAEzC4E,IAAK,WAED,OAAOlH,KAAKuqI,OAASvqI,KAAKnC,UAgClC2D,EAAOwwE,QAAU,SAAUjvE,EAAMiQ,EAAKgjE,EAAWC,EAAYr4E,EAAOC,GAKhEmC,KAAK+C,KAAOA,EAKZ/C,KAAKgT,IAAMA,EAEX,IAAIoB,EAAO5S,EAAO8hJ,cAAc5kH,MAAM1+B,KAAK+C,KAAMiQ,EAAKgjE,EAAWC,EAAYr4E,EAAOC,GAEvE,OAATuW,IAQJpU,KAAKpC,MAAQwW,EAAKxW,MAKlBoC,KAAKnC,OAASuW,EAAKvW,OAKnBmC,KAAKg2E,UAAY5hE,EAAK4hE,UAKtBh2E,KAAKi2E,WAAa7hE,EAAK6hE,WAKvBj2E,KAAK2kI,YAAcvwH,EAAKuwH,YAKxB3kI,KAAKyU,OAASL,EAAKK,OAKnBzU,KAAKujJ,QAAUnvI,EAAKmvI,QAKpBvjJ,KAAK+1F,WAAa3hF,EAAK2hF,WAKvB/1F,KAAKwjJ,cAAgBpvI,EAAKovI,cAK1BxjJ,KAAKyjJ,eAAiBrvI,EAAKqvI,eAK3BzjJ,KAAK4/G,OAASxrG,EAAKwrG,OAKnB5/G,KAAK0jJ,SAAWtvI,EAAKsvI,SAKrB1jJ,KAAK2jJ,iBAAmBvvI,EAAKuvI,iBAK7B3jJ,KAAK+/G,MAAQ3rG,EAAK2rG,MAKlB//G,KAAKyvG,QAAUr7F,EAAKq7F,QAKpBzvG,KAAK4jJ,kBAKL5jJ,KAAK6jJ,UAAYzvI,EAAKyvI,UAKtB7jJ,KAAKotH,OAASh5G,EAAKg5G,OAKnBptH,KAAKg9C,aAAc,EAKnBh9C,KAAK8jJ,aAAe,EAKpB9jJ,KAAK+jJ,YAML/jJ,KAAKgkJ,YAMLhkJ,KAAKikJ,OAAS,EAMdjkJ,KAAKm7E,OAAS,IAOlB35E,EAAOwwE,QAAQ+7C,IAAM,EAMrBvsH,EAAOwwE,QAAQg8C,WAAa,EAM5BxsH,EAAOwwE,QAAQkyE,MAAQ,EAMvB1iJ,EAAOwwE,QAAQmyE,KAAO,EAMtB3iJ,EAAOwwE,QAAQoyE,MAAQ,EAMvB5iJ,EAAOwwE,QAAQqyE,KAAO,EAEtB7iJ,EAAOwwE,QAAQ1vE,WAcXkG,OAAQ,SAAU0pB,EAAMt0B,EAAOC,EAAQm4E,EAAWC,EAAY17B,GAW1D,YATch0C,IAAVg0C,IAAuBA,EAAQv6C,KAAK+C,KAAKE,OAE7CjD,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEdmC,KAAKskJ,YAAYtuE,EAAWC,GAE5Bj2E,KAAK4/G,OAAOj9G,OAAS,EAEd3C,KAAKukJ,iBAAiBryH,EAAMt0B,EAAOC,EAAQm4E,EAAWC,EAAY17B,IAU7E+pG,YAAa,SAAUtuE,EAAWC,GAE9Bj2E,KAAKg2E,UAAYA,EACjBh2E,KAAKi2E,WAAaA,EAClBj2E,KAAKwjJ,cAAgBxjJ,KAAKpC,MAAQo4E,EAClCh2E,KAAKyjJ,eAAiBzjJ,KAAKnC,OAASo4E,GAmBxCuuE,gBAAiB,SAAUC,EAASzxI,EAAKgjE,EAAWC,EAAYyuE,EAAYC,EAAa/B,GAErF,QAAgBr8I,IAAZk+I,EAAyB,OAAO,UAClBl+I,IAAdyvE,IAA2BA,EAAYh2E,KAAKg2E,gBAC7BzvE,IAAf0vE,IAA4BA,EAAaj2E,KAAKi2E,iBAC/B1vE,IAAfm+I,IAA4BA,EAAa,QACzBn+I,IAAhBo+I,IAA6BA,EAAc,QACnCp+I,IAARq8I,IAAqBA,EAAM,GAGb,IAAd5sE,IAEAA,EAAY,IAGG,IAAfC,IAEAA,EAAa,IAGjB,IAAI/D,EAAM,KAOV,QALY3rE,IAARyM,GAA6B,OAARA,IAErBA,EAAMyxI,GAGNjjJ,EAAOmwE,YAAc3+D,aAAexR,EAAOmwE,WAE3CO,EAAMl/D,EAAIkE,WAGd,CACI,IAAKlX,KAAK+C,KAAKiX,MAAMw+E,cAAcxlF,GAG/B,OADA1S,QAAQ+Z,KAAK,6DAA+DrH,EAAM,KAC3E,KAGXk/D,EAAMlyE,KAAK+C,KAAKiX,MAAMm4D,SAASn/D,GAGnC,IAAIujF,EAAMv2F,KAAK4kJ,gBAAgBH,GAE/B,GAAY,OAARluD,GAAgBv2F,KAAKyU,SAAWjT,EAAOwwE,QAAQg8C,WAI/C,OAFA1tH,QAAQ+Z,KAAK,yFAA2FoqI,EAAU,KAClHnkJ,QAAQ+P,IAAI,aAAcrQ,KAAK0jJ,UACxB,KAGX,GAAI1jJ,KAAK0jJ,SAASntD,GAGd,OADAv2F,KAAK0jJ,SAASntD,GAAKsuD,SAAS3yE,GACrBlyE,KAAK0jJ,SAASntD,GAIrB,IAAIuuD,EAAS,IAAItjJ,EAAOujJ,QAAQN,EAAS7B,EAAK5sE,EAAWC,EAAYyuE,EAAYC,MAEjFG,EAAOD,SAAS3yE,GAEhBlyE,KAAK0jJ,SAAS57I,KAAKg9I,GAUnB,IAAK,IARDpiJ,EAAI1C,KAAK0jJ,SAAS/gJ,OAAS,EAC3BoB,EAAI2gJ,EACJ1gJ,EAAI0gJ,EAEJlmI,EAAQ,EACRwmI,EAAS,EACTC,EAAS,EAEJl0H,EAAI6xH,EAAK7xH,EAAI6xH,EAAMkC,EAAO9rG,QAE/Bh5C,KAAK+/G,MAAMhvF,IAAOhtB,EAAGC,EAAGtB,GAExBqB,GAAKiyE,EAAY2uE,IAEjBnmI,IAEcsmI,EAAO9rG,WAKrBgsG,IAEeF,EAAOI,UAElBnhJ,EAAI2gJ,EACJ1gJ,GAAKiyE,EAAa0uE,EAElBK,EAAS,IACTC,IAEeH,EAAOK,OAvBYp0H,KA8B1C,OAAO+zH,GA4BfM,kBAAmB,SAAUlzH,EAAM0wH,EAAK5vI,EAAK3F,EAAOH,EAAQu+D,EAAUlxB,EAAO8qG,EAAaC,EAASC,GAS/F,QAPeh/I,IAAX2G,IAAwBA,GAAS,QACpB3G,IAAbklE,IAA0BA,GAAW,QAC3BllE,IAAVg0C,IAAuBA,EAAQv6C,KAAK+C,KAAKE,YACzBsD,IAAhB8+I,IAA6BA,EAAc7jJ,EAAOsE,aACtCS,IAAZ++I,IAAyBA,GAAU,QACpB/+I,IAAfg/I,IAA4BA,GAAa,IAExCvlJ,KAAKyvG,QAAQv9E,GAId,OAFA5xB,QAAQ+Z,KAAK,8DAAgE6X,QAC7E5xB,QAAQ+P,IAAI,YAAarQ,KAAKyvG,SAIlC,IAAK,IAAI/sG,EAAI,EAAGA,EAAI1C,KAAKyvG,QAAQv9E,GAAMvvB,OAAQD,IAC/C,CACI,IAAI8iJ,GAAQ,EACRvzH,EAAMjyB,KAAKyvG,QAAQv9E,GAAMxvB,GAe7B,QAbgB6D,IAAZ0rB,EAAI2wH,KAAoC,iBAARA,GAAoB3wH,EAAI2wH,MAAQA,EAEhE4C,GAAQ,OAEQj/I,IAAX0rB,EAAI/d,IAAmC,iBAAR0uI,GAAoB3wH,EAAI/d,KAAO0uI,EAEnE4C,GAAQ,OAEUj/I,IAAb0rB,EAAIC,MAAqC,iBAAR0wH,GAAoB3wH,EAAIC,OAAS0wH,IAEvE4C,GAAQ,GAGRA,EACJ,CACI,IAAIjiI,EAAS,IAAI8hI,EAAYrlJ,KAAK+C,KAAM87B,WAAW5M,EAAIluB,GAAI86B,WAAW5M,EAAIjuB,GAAIgP,EAAK3F,GAEnFkW,EAAO2O,KAAOD,EAAIC,KAClB3O,EAAOkoD,SAAWA,EAClBloD,EAAOrW,OAASA,EAChBqW,EAAOriB,QAAU+wB,EAAI/wB,QAEjBqkJ,IAEItzH,EAAIr0B,QAEJ2lB,EAAO3lB,MAAQq0B,EAAIr0B,OAGnBq0B,EAAIp0B,SAEJ0lB,EAAO1lB,OAASo0B,EAAIp0B,SAIxBo0B,EAAIjxB,WAEJuiB,EAAOuS,MAAQ7D,EAAIjxB,UAGnBskJ,IAEA/hI,EAAOvf,GAAKuf,EAAO1lB,QAGvB08C,EAAMphB,IAAI5V,GAIV,IAAIwyE,EAAa9jE,EAAI8jE,WAErB,GAAItuF,MAAMC,QAAQquF,GAId,IAAK,IAAIluF,EAAI,EAAGA,EAAIkuF,EAAWpzF,OAAQkF,IACvC,CACI,IAAI49I,EAAW1vD,EAAWluF,GAE1B0yC,EAAMpzC,IAAIoc,EAAQkiI,EAASvzH,KAAMuzH,EAASr+I,OAAO,GAAO,EAAO,GAAG,QAOtE,IAAK,IAAIs+I,KAAgB3vD,EAErBx7C,EAAMpzC,IAAIoc,EAAQmiI,EAAc3vD,EAAW2vD,IAAe,GAAO,EAAO,GAAG,MAsB/FC,gBAAiB,SAAU5lC,EAAO6lC,EAAc5yI,EAAKy+H,EAAOl3F,EAAOw7C,GAE1C,iBAAVgqB,IAAsBA,GAAUA,SAEtBx5G,IAAjBq/I,GAA+C,OAAjBA,EAE9BA,KAE6B,iBAAjBA,IAEZA,GAAiBA,IAGrBnU,EAAQzxI,KAAK6lJ,SAASpU,QAERlrI,IAAVg0C,IAAuBA,EAAQv6C,KAAK+C,KAAKE,YAC1BsD,IAAfwvF,IAA4BA,WAEDxvF,IAA3BwvF,EAAW+vD,cAEX/vD,EAAW+vD,YAActkJ,EAAOsE,aAGTS,IAAvBwvF,EAAWuvD,UAEXvvD,EAAWuvD,SAAU,GAGzB,IAAIS,EAAK/lJ,KAAK4/G,OAAO6xB,GAAO7zI,MACxBooJ,EAAKhmJ,KAAK4/G,OAAO6xB,GAAO5zI,OAI5B,GAFAmC,KAAKk0B,KAAK,EAAG,EAAG6xH,EAAIC,EAAIvU,GAEpBzxI,KAAKgkJ,SAASrhJ,OAAS,EAEvB,OAAO,EAMX,IAAK,IAFD4gB,EADAy1B,EAAQ,EAGHt2C,EAAI,EAAGsuB,EAAMhxB,KAAKgkJ,SAASrhJ,OAAQD,EAAIsuB,EAAKtuB,IAEjD,IAA+C,IAA3Cq9G,EAAM12G,QAAQrJ,KAAKgkJ,SAASthJ,GAAGkG,OACnC,CACI2a,EAAS,IAAIwyE,EAAW+vD,YAAY9lJ,KAAK+C,KAAM/C,KAAKgkJ,SAASthJ,GAAG4nI,OAAQtqI,KAAKgkJ,SAASthJ,GAAG6nI,OAAQv3H,GAEjG,IAAK,IAAIgkC,KAAY++C,EAEjBxyE,EAAOyzB,GAAY++C,EAAW/+C,GAGlCuD,EAAMphB,IAAI5V,GACVy1B,IAIR,GAA4B,IAAxB4sG,EAAajjJ,OAGb,IAAKD,EAAI,EAAGA,EAAIq9G,EAAMp9G,OAAQD,IAE1B1C,KAAKw0B,QAAQurF,EAAMr9G,GAAIkjJ,EAAa,GAAI,EAAG,EAAGG,EAAIC,EAAIvU,QAGzD,GAAImU,EAAajjJ,OAAS,EAG3B,IAAKD,EAAI,EAAGA,EAAIq9G,EAAMp9G,OAAQD,IAE1B1C,KAAKw0B,QAAQurF,EAAMr9G,GAAIkjJ,EAAaljJ,GAAI,EAAG,EAAGqjJ,EAAIC,EAAIvU,GAI9D,OAAOz4F,GAgBXitG,YAAa,SAAUxU,EAAO7zI,EAAOC,EAAQ08C,QAI3Bh0C,IAAV3I,IAAuBA,EAAQoC,KAAK+C,KAAKnF,YAC9B2I,IAAX1I,IAAwBA,EAASmC,KAAK+C,KAAKlF,aACjC0I,IAAVg0C,IAAuBA,EAAQv6C,KAAK+C,KAAKE,OAE7C,IAAI2F,EAAQ6oI,EAOZ,GALqB,iBAAVA,IAEP7oI,EAAQ5I,KAAKkmJ,cAAczU,IAGjB,OAAV7oI,GAAkBA,EAAQ5I,KAAK4/G,OAAOj9G,OAItC,OAFArC,QAAQ+Z,KAAK,iDAAmDo3H,EAAQ,UACxEnxI,QAAQ+P,IAAI,WAAYrQ,KAAK4/G,aAMnBr5G,IAAV3I,GAAuBA,GAAS,EAEhCA,EAAQ8F,KAAK81B,IAAIx5B,KAAK+C,KAAKnF,MAAOoC,KAAK4/G,OAAOh3G,GAAO46I,eAEhD5lJ,EAAQoC,KAAK+C,KAAKnF,QAEvBA,EAAQoC,KAAK+C,KAAKnF,YAGP2I,IAAX1I,GAAwBA,GAAU,EAElCA,EAAS6F,KAAK81B,IAAIx5B,KAAK+C,KAAKlF,OAAQmC,KAAK4/G,OAAOh3G,GAAO66I,gBAElD5lJ,EAASmC,KAAK+C,KAAKlF,SAExBA,EAASmC,KAAK+C,KAAKlF,QAGnBmC,KAAKg9C,cAEL18C,QAAQi6C,MAAM,uBACdj6C,QAAQ+P,IAAI,QAASrQ,KAAK4/G,OAAOh3G,GAAOspB,MACxC5xB,QAAQ+P,IAAI,QAASzS,EAAO,IAAKC,GACjCyC,QAAQ+P,IAAI,WAAYrQ,KAAK0jJ,SAAS,GAAGxxH,KAAM,SAAUtpB,IAG7D,IAAIu9I,EAAY5rG,EAAMphB,IAAI,IAAI33B,EAAOywE,aAAajyE,KAAK+C,KAAM/C,KAAM4I,EAAOhL,EAAOC,IAOjF,OALImC,KAAKg9C,aAEL18C,QAAQ8lJ,WAGLD,GAeX5B,iBAAkB,SAAUryH,EAAMt0B,EAAOC,EAAQm4E,EAAWC,EAAY17B,QAEtDh0C,IAAVg0C,IAAuBA,EAAQv6C,KAAK+C,KAAKE,OAE7C,CAAA,GAAiC,OAA7BjD,KAAKkmJ,cAAch0H,GAAvB,CA4BA,IAAK,IAHD6sF,EAnBA0yB,GAEAv/G,KAAMA,EACNnuB,EAAG,EACHC,EAAG,EACHpG,MAAOA,EACPC,OAAQA,EACR2lJ,cAAe5lJ,EAAQo4E,EACvBytE,eAAgB5lJ,EAASo4E,EACzBh1E,MAAO,EACPC,SAAS,EACT60F,cACAswD,WACA/qF,aACAgrF,UACAlyI,KAAM,MAKNwhB,KAEK5xB,EAAI,EAAGA,EAAInG,EAAQmG,IAC5B,CACI+6G,KAEA,IAAK,IAAIh7G,EAAI,EAAGA,EAAInG,EAAOmG,IAEvBg7G,EAAIj3G,KAAK,IAAItG,EAAOqhJ,KAAKpR,GAAQ,EAAG1tI,EAAGC,EAAGgyE,EAAWC,IAGzDrgD,EAAO9tB,KAAKi3G,GAGhB0yB,EAAMr9H,KAAOwhB,EAEb51B,KAAK4/G,OAAO93G,KAAK2pI,GAEjBzxI,KAAK8jJ,aAAe9jJ,KAAK4/G,OAAOj9G,OAAS,EAEzC,IAAI0S,EAAIo8H,EAAM+R,cACVh/H,EAAIitH,EAAMgS,eAed,OAbIpuI,EAAIrV,KAAK+C,KAAKnF,QAEdyX,EAAIrV,KAAK+C,KAAKnF,OAGd4mB,EAAIxkB,KAAK+C,KAAKlF,SAEd2mB,EAAIxkB,KAAK+C,KAAKlF,SAGd+3B,EAAS,IAAIp0B,EAAOywE,aAAajyE,KAAK+C,KAAM/C,KAAMA,KAAK4/G,OAAOj9G,OAAS,EAAG0S,EAAGmP,IAC1E0N,KAAOA,EAEPqoB,EAAMphB,IAAIvD,GA5Dbt1B,QAAQ+Z,KAAK,sEAAwE6X,KAwE7F2jB,SAAU,SAAU0wG,EAAUr0H,GAE1B,IAAK,IAAIxvB,EAAI,EAAGA,EAAI6jJ,EAAS5jJ,OAAQD,IAEjC,GAAI6jJ,EAAS7jJ,GAAGwvB,OAASA,EAErB,OAAOxvB,EAIf,OAAO,MAUXwjJ,cAAe,SAAUh0H,GAErB,OAAOlyB,KAAK61C,SAAS71C,KAAK4/G,OAAQ1tF,IAUtC0yH,gBAAiB,SAAU1yH,GAEvB,OAAOlyB,KAAK61C,SAAS71C,KAAK0jJ,SAAUxxH,IAUxCs0H,cAAe,SAAUt0H,GAErB,OAAOlyB,KAAK61C,SAAS71C,KAAKotH,OAAQl7F,IAgBtCu0H,qBAAsB,SAAUJ,EAASrxG,EAAUxL,EAAiBioG,GAIhE,GAFAA,EAAQzxI,KAAK6lJ,SAASpU,GAEC,iBAAZ4U,EAEU,OAAbrxG,SAEOh1C,KAAK4/G,OAAO6xB,GAAOn2E,UAAU+qF,GAQpCrmJ,KAAK4/G,OAAO6xB,GAAOn2E,UAAU+qF,IAAarxG,SAAUA,EAAUxL,gBAAiBA,QAKnF,IAAK,IAAI9mC,EAAI,EAAGsuB,EAAMq1H,EAAQ1jJ,OAAQD,EAAIsuB,EAAKtuB,IAE1B,OAAbsyC,SAEOh1C,KAAK4/G,OAAO6xB,GAAOn2E,UAAU+qF,EAAQ3jJ,IAI5C1C,KAAK4/G,OAAO6xB,GAAOn2E,UAAU+qF,EAAQ3jJ,KAAQsyC,SAAUA,EAAUxL,gBAAiBA,IAsBlGk9G,wBAAyB,SAAU3iJ,EAAGC,EAAGpG,EAAOC,EAAQm3C,EAAUxL,EAAiBioG,GAM/E,GAJAA,EAAQzxI,KAAK6lJ,SAASpU,GAEtBzxI,KAAKk0B,KAAKnwB,EAAGC,EAAGpG,EAAOC,EAAQ4zI,KAE3BzxI,KAAKgkJ,SAASrhJ,OAAS,GAK3B,IAAK,IAAID,EAAI,EAAGA,EAAI1C,KAAKgkJ,SAASrhJ,OAAQD,IAEtC1C,KAAKgkJ,SAASthJ,GAAGsgJ,qBAAqBhuG,EAAUxL,IAkBxDy5G,aAAc,SAAUoD,EAASjD,EAAU3R,EAAOkV,GAO9C,QALiBpgJ,IAAb68I,IAA0BA,GAAW,QACrB78I,IAAhBogJ,IAA6BA,GAAc,GAE/ClV,EAAQzxI,KAAK6lJ,SAASpU,GAEC,iBAAZ4U,EAEP,OAAOrmJ,KAAK4mJ,oBAAoBP,EAASjD,EAAU3R,GAAO,GAEzD,GAAIhqI,MAAMC,QAAQ2+I,GACvB,CAEI,IAAK,IAAI3jJ,EAAI,EAAGA,EAAI2jJ,EAAQ1jJ,OAAQD,IAEhC1C,KAAK4mJ,oBAAoBP,EAAQ3jJ,GAAI0gJ,EAAU3R,GAAO,GAGtDkV,GAGA3mJ,KAAK6mJ,eAAepV,KAiBhCqV,oBAAqB,SAAUx6I,EAAOH,EAAMi3I,EAAU3R,EAAOkV,GAOzD,QALiBpgJ,IAAb68I,IAA0BA,GAAW,QACrB78I,IAAhBogJ,IAA6BA,GAAc,GAE/ClV,EAAQzxI,KAAK6lJ,SAASpU,KAElBnlI,EAAQH,GAAZ,CAKA,IAAK,IAAIvD,EAAQ0D,EAAO1D,GAASuD,EAAMvD,IAEnC5I,KAAK4mJ,oBAAoBh+I,EAAOw6I,EAAU3R,GAAO,GAGjDkV,GAGA3mJ,KAAK6mJ,eAAepV,KAc5BsV,wBAAyB,SAAUV,EAASjD,EAAU3R,EAAOkV,QAExCpgJ,IAAb68I,IAA0BA,GAAW,QACrB78I,IAAhBogJ,IAA6BA,GAAc,GAE/ClV,EAAQzxI,KAAK6lJ,SAASpU,GAGtB,IAAK,IAAI/uI,EAAI,EAAGsuB,EAAMhxB,KAAK+/G,MAAMp9G,OAAQD,EAAIsuB,EAAKtuB,KAElB,IAAxB2jJ,EAAQh9I,QAAQ3G,IAEhB1C,KAAK4mJ,oBAAoBlkJ,EAAG0gJ,EAAU3R,GAAO,GAIjDkV,GAGA3mJ,KAAK6mJ,eAAepV,IAe5BmV,oBAAqB,SAAUh+I,EAAOw6I,EAAU3R,EAAOkV,GAMnD,QAJiBpgJ,IAAb68I,IAA0BA,GAAW,QAC3B78I,IAAVkrI,IAAuBA,EAAQzxI,KAAK8jJ,mBACpBv9I,IAAhBogJ,IAA6BA,GAAc,GAE3CvD,EAEApjJ,KAAK4jJ,eAAe97I,KAAKc,OAG7B,CACI,IAAIlG,EAAI1C,KAAK4jJ,eAAev6I,QAAQT,GAEhClG,GAAK,GAEL1C,KAAK4jJ,eAAe96I,OAAOpG,EAAG,GAItC,IAAK,IAAIsB,EAAI,EAAGA,EAAIhE,KAAK4/G,OAAO6xB,GAAO5zI,OAAQmG,IAE3C,IAAK,IAAID,EAAI,EAAGA,EAAI/D,KAAK4/G,OAAO6xB,GAAO7zI,MAAOmG,IAC9C,CACI,IAAIo9I,EAAOnhJ,KAAK4/G,OAAO6xB,GAAOr9H,KAAKpQ,GAAGD,GAElCo9I,GAAQA,EAAKv4I,QAAUA,IAEnBw6I,EAEAjC,EAAK8B,cAAa,GAAM,GAAM,GAAM,GAIpC9B,EAAK+B,iBAGT/B,EAAKO,QAAU0B,EACfjC,EAAKQ,WAAayB,EAClBjC,EAAKK,SAAW4B,EAChBjC,EAAKM,UAAY2B,GAW7B,OANIuD,GAGA3mJ,KAAK6mJ,eAAepV,GAGjBA,GAWXoU,SAAU,SAAUpU,GAEhB,QAAclrI,IAAVkrI,EAEAA,EAAQzxI,KAAK8jJ,kBAEZ,GAAqB,iBAAVrS,EAChB,CACI,IAAIuV,EAAWvV,EAID,QAFdA,EAAQzxI,KAAKkmJ,cAAczU,KAIvBnxI,QAAQ+Z,KAAK,uBAAyB2sI,QAGrCvV,aAAiBjwI,EAAOywE,eAE7Bw/D,EAAQA,EAAM7oI,OAGlB,OAAO6oI,GAUXwV,sBAAuB,SAAU7/I,GAQ7B,IANc,IAAVA,IAAiD,IAA/BpH,KAAKknJ,wBAEvBlnJ,KAAKknJ,uBAAwB,EAC7BlnJ,KAAKmnJ,uBAGK,IAAV//I,IAAkD,IAA/BpH,KAAKknJ,sBAC5B,CACIlnJ,KAAKknJ,uBAAwB,EAE7B,IAAK,IAAIxkJ,KAAK1C,KAAKmnJ,kBAEfnnJ,KAAK6mJ,eAAenkJ,GAGxB1C,KAAKmnJ,mBAAoB,IAWjCN,eAAgB,SAAUpV,GAEtB,GAAIzxI,KAAKknJ,sBAELlnJ,KAAKmnJ,kBAAkB1V,IAAS,OASpC,IAAK,IALD2V,EAAQ,KACRC,EAAQ,KACRxzH,EAAO,KACPD,EAAQ,KAEH5vB,EAAI,EAAGwgB,EAAIxkB,KAAK4/G,OAAO6xB,GAAO5zI,OAAQmG,EAAIwgB,EAAGxgB,IAElD,IAAK,IAAID,EAAI,EAAGsR,EAAIrV,KAAK4/G,OAAO6xB,GAAO7zI,MAAOmG,EAAIsR,EAAGtR,IACrD,CACI,IAAIo9I,EAAOnhJ,KAAK4/G,OAAO6xB,GAAOr9H,KAAKpQ,GAAGD,GAElCo9I,IAEAiG,EAAQpnJ,KAAKsnJ,aAAa7V,EAAO1tI,EAAGC,GACpCqjJ,EAAQrnJ,KAAKunJ,aAAa9V,EAAO1tI,EAAGC,GACpC6vB,EAAO7zB,KAAKwnJ,YAAY/V,EAAO1tI,EAAGC,GAClC4vB,EAAQ5zB,KAAKynJ,aAAahW,EAAO1tI,EAAGC,GAEhCm9I,EAAKiC,WAELjC,EAAKO,SAAU,EACfP,EAAKQ,YAAa,EAClBR,EAAKK,UAAW,EAChBL,EAAKM,WAAY,GAGjB2F,GAASA,EAAMhE,WAGfjC,EAAKO,SAAU,GAGf2F,GAASA,EAAMjE,WAGfjC,EAAKQ,YAAa,GAGlB9tH,GAAQA,EAAKuvH,WAGbjC,EAAKK,UAAW,GAGhB5tH,GAASA,EAAMwvH,WAGfjC,EAAKM,WAAY,MAgBrC6F,aAAc,SAAU7V,EAAO1tI,EAAGC,GAE9B,OAAIA,EAAI,EAEGhE,KAAK4/G,OAAO6xB,GAAOr9H,KAAKpQ,EAAI,GAAGD,GAGnC,MAYXwjJ,aAAc,SAAU9V,EAAO1tI,EAAGC,GAE9B,OAAIA,EAAIhE,KAAK4/G,OAAO6xB,GAAO5zI,OAAS,EAEzBmC,KAAK4/G,OAAO6xB,GAAOr9H,KAAKpQ,EAAI,GAAGD,GAGnC,MAYXyjJ,YAAa,SAAU/V,EAAO1tI,EAAGC,GAE7B,OAAID,EAAI,EAEG/D,KAAK4/G,OAAO6xB,GAAOr9H,KAAKpQ,GAAGD,EAAI,GAGnC,MAYX0jJ,aAAc,SAAUhW,EAAO1tI,EAAGC,GAE9B,OAAID,EAAI/D,KAAK4/G,OAAO6xB,GAAO7zI,MAAQ,EAExBoC,KAAK4/G,OAAO6xB,GAAOr9H,KAAKpQ,GAAGD,EAAI,GAGnC,MASX2jJ,SAAU,SAAUjW,GAEhBA,EAAQzxI,KAAK6lJ,SAASpU,GAElBzxI,KAAK4/G,OAAO6xB,KAEZzxI,KAAK8jJ,aAAerS,IAa5BkW,QAAS,SAAU5jJ,EAAGC,EAAGytI,GAIrB,OAFAA,EAAQzxI,KAAK6lJ,SAASpU,QAEalrI,IAA/BvG,KAAK4/G,OAAO6xB,GAAOr9H,KAAKpQ,SAAsDuC,IAAlCvG,KAAK4/G,OAAO6xB,GAAOr9H,KAAKpQ,GAAGD,IAKnE/D,KAAK4/G,OAAO6xB,GAAOr9H,KAAKpQ,GAAGD,GAAG6E,OAAS,GAYnDg/I,WAAY,SAAU7jJ,EAAGC,EAAGytI,GAIxB,GAFAA,EAAQzxI,KAAK6lJ,SAASpU,GAElB1tI,GAAK,GAAKA,EAAI/D,KAAK4/G,OAAO6xB,GAAO7zI,OAASoG,GAAK,GAAKA,EAAIhE,KAAK4/G,OAAO6xB,GAAO5zI,QAEvEmC,KAAK2nJ,QAAQ5jJ,EAAGC,EAAGytI,GACvB,CACI,IAAI0P,EAAOnhJ,KAAK4/G,OAAO6xB,GAAOr9H,KAAKpQ,GAAGD,GAQtC,OANA/D,KAAK4/G,OAAO6xB,GAAOr9H,KAAKpQ,GAAGD,GAAK,IAAIvC,EAAOqhJ,KAAK7iJ,KAAK4/G,OAAO6xB,IAAS,EAAG1tI,EAAGC,EAAGhE,KAAKg2E,UAAWh2E,KAAKi2E,YAEnGj2E,KAAK4/G,OAAO6xB,GAAOjgI,OAAQ,EAE3BxR,KAAK6mJ,eAAepV,GAEb0P,IAgBnB0G,kBAAmB,SAAU9jJ,EAAGC,EAAGgyE,EAAWC,EAAYw7D,GAOtD,OALAA,EAAQzxI,KAAK6lJ,SAASpU,GAEtB1tI,EAAI/D,KAAK+C,KAAKgjC,KAAKwlE,YAAYxnG,EAAGiyE,GAAaA,EAC/ChyE,EAAIhE,KAAK+C,KAAKgjC,KAAKwlE,YAAYvnG,EAAGiyE,GAAcA,EAEzCj2E,KAAK4nJ,WAAW7jJ,EAAGC,EAAGytI,IAcjCqW,QAAS,SAAU3G,EAAMp9I,EAAGC,EAAGytI,GAE3B,GAAa,OAAT0P,EAEA,OAAOnhJ,KAAK4nJ,WAAW7jJ,EAAGC,EAAGytI,GAKjC,GAFAA,EAAQzxI,KAAK6lJ,SAASpU,GAElB1tI,GAAK,GAAKA,EAAI/D,KAAK4/G,OAAO6xB,GAAO7zI,OAASoG,GAAK,GAAKA,EAAIhE,KAAK4/G,OAAO6xB,GAAO5zI,OAC/E,CACI,IAAI+K,EA0CJ,OAxCIu4I,aAAgB3/I,EAAOqhJ,MAEvBj6I,EAAQu4I,EAAKv4I,MAET5I,KAAK2nJ,QAAQ5jJ,EAAGC,EAAGytI,GAEnBzxI,KAAK4/G,OAAO6xB,GAAOr9H,KAAKpQ,GAAGD,GAAGmwB,KAAKitH,GAInCnhJ,KAAK4/G,OAAO6xB,GAAOr9H,KAAKpQ,GAAGD,GAAK,IAAIvC,EAAOqhJ,KAAKpR,EAAO7oI,EAAO7E,EAAGC,EAAGm9I,EAAKvjJ,MAAOujJ,EAAKtjJ,UAKzF+K,EAAQu4I,EAEJnhJ,KAAK2nJ,QAAQ5jJ,EAAGC,EAAGytI,GAEnBzxI,KAAK4/G,OAAO6xB,GAAOr9H,KAAKpQ,GAAGD,GAAG6E,MAAQA,EAItC5I,KAAK4/G,OAAO6xB,GAAOr9H,KAAKpQ,GAAGD,GAAK,IAAIvC,EAAOqhJ,KAAK7iJ,KAAK4/G,OAAO6xB,GAAQ7oI,EAAO7E,EAAGC,EAAGhE,KAAKg2E,UAAWh2E,KAAKi2E,aAI1Gj2E,KAAK4jJ,eAAev6I,QAAQT,IAAU,EAEtC5I,KAAK4/G,OAAO6xB,GAAOr9H,KAAKpQ,GAAGD,GAAGk/I,cAAa,GAAM,GAAM,GAAM,GAI7DjjJ,KAAK4/G,OAAO6xB,GAAOr9H,KAAKpQ,GAAGD,GAAGm/I,iBAGlCljJ,KAAK4/G,OAAO6xB,GAAOjgI,OAAQ,EAE3BxR,KAAK6mJ,eAAepV,GAEbzxI,KAAK4/G,OAAO6xB,GAAOr9H,KAAKpQ,GAAGD,GAGtC,OAAO,MAeXgkJ,eAAgB,SAAU5G,EAAMp9I,EAAGC,EAAGgyE,EAAWC,EAAYw7D,GAOzD,OALAA,EAAQzxI,KAAK6lJ,SAASpU,GAEtB1tI,EAAI/D,KAAK+C,KAAKgjC,KAAKwlE,YAAYxnG,EAAGiyE,GAAaA,EAC/ChyE,EAAIhE,KAAK+C,KAAKgjC,KAAKwlE,YAAYvnG,EAAGiyE,GAAcA,EAEzCj2E,KAAK8nJ,QAAQ3G,EAAMp9I,EAAGC,EAAGytI,IAoBpCuW,gBAAiB,SAAUp/I,EAAO6c,EAAMlH,EAASkzH,EAAOwW,QAEvC1hJ,IAATkf,IAAsBA,EAAO,QACjBlf,IAAZgY,IAAyBA,GAAU,GAEvCkzH,EAAQzxI,KAAK6lJ,SAASpU,GAEtB,IAII1yB,EAAKoiC,EAJL/9I,EAAI,EACJvF,EAASmC,KAAK4/G,OAAO6xB,GAAO5zI,OAC5BD,EAAQoC,KAAK4/G,OAAO6xB,GAAO7zI,MAC3BwW,EAAOpU,KAAK4/G,OAAO6xB,GAAOr9H,KAG9B,GAAI6zI,EAEA,IAAInuH,KAGR,GAAIvb,EAEA,IAASva,EAAInG,EAAS,EAAGmG,GAAK,EAAGA,IACjC,CACI+6G,EAAM3qG,EAAKpQ,GAEX,IAASD,EAAInG,EAAQ,EAAGmG,GAAK,EAAGA,IAI5B,IAFAo9I,EAAOpiC,EAAIh7G,IAEF6E,QAAUA,EAEf,GAAIxF,GAAKqiB,EACT,CACI,IAAIwiI,EAMA,OAAO9G,EAJPrnH,EAAQhyB,KAAKq5I,QASjB/9I,SAQhB,IAAK,IAAIY,EAAI,EAAGA,EAAInG,EAAQmG,IAC5B,CACI+6G,EAAM3qG,EAAKpQ,GAEX,IAAK,IAAID,EAAI,EAAGA,EAAInG,EAAOmG,IAIvB,IAFAo9I,EAAOpiC,EAAIh7G,IAEF6E,QAAUA,EAEf,GAAIxF,GAAKqiB,EACT,CACI,IAAIwiI,EAMA,OAAO9G,EAJPrnH,EAAQhyB,KAAKq5I,QASjB/9I,IAOpB,OAAO6kJ,EAAMnuH,EAAU,MAa3BouH,QAAS,SAAUnkJ,EAAGC,EAAGytI,EAAO0W,GAM5B,YAJgB5hJ,IAAZ4hJ,IAAyBA,GAAU,GAEvC1W,EAAQzxI,KAAK6lJ,SAASpU,GAElB1tI,GAAK,GAAKA,EAAI/D,KAAK4/G,OAAO6xB,GAAO7zI,OAASoG,GAAK,GAAKA,EAAIhE,KAAK4/G,OAAO6xB,GAAO5zI,QAE9B,IAAzCmC,KAAK4/G,OAAO6xB,GAAOr9H,KAAKpQ,GAAGD,GAAG6E,MAE1Bu/I,EAEOnoJ,KAAK4/G,OAAO6xB,GAAOr9H,KAAKpQ,GAAGD,GAI3B,KAKJ/D,KAAK4/G,OAAO6xB,GAAOr9H,KAAKpQ,GAAGD,GAK/B,MAgBfqkJ,eAAgB,SAAUrkJ,EAAGC,EAAGgyE,EAAWC,EAAYw7D,EAAO0W,GAU1D,YARkB5hJ,IAAdyvE,IAA2BA,EAAYh2E,KAAKg2E,gBAC7BzvE,IAAf0vE,IAA4BA,EAAaj2E,KAAKi2E,YAElDw7D,EAAQzxI,KAAK6lJ,SAASpU,GAEtB1tI,EAAI/D,KAAK+C,KAAKgjC,KAAKwlE,YAAYxnG,EAAGiyE,GAAaA,EAC/ChyE,EAAIhE,KAAK+C,KAAKgjC,KAAKwlE,YAAYvnG,EAAGiyE,GAAcA,EAEzCj2E,KAAKkoJ,QAAQnkJ,EAAGC,EAAGytI,EAAO0W,IAcrCj0H,KAAM,SAAUnwB,EAAGC,EAAGpG,EAAOC,EAAQ4zI,GAEjCA,EAAQzxI,KAAK6lJ,SAASpU,GAEtB,CAAA,GAAKzxI,KAAK4/G,OAAO6xB,GAAjB,MAMUlrI,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,QACbuC,IAAV3I,IAAuBA,EAAQoC,KAAK4/G,OAAO6xB,GAAO7zI,YACvC2I,IAAX1I,IAAwBA,EAASmC,KAAK4/G,OAAO6xB,GAAO5zI,QAEpDkG,EAAI,IAEJA,EAAI,GAGJC,EAAI,IAEJA,EAAI,GAGJpG,EAAQoC,KAAK4/G,OAAO6xB,GAAO7zI,QAE3BA,EAAQoC,KAAK4/G,OAAO6xB,GAAO7zI,OAG3BC,EAASmC,KAAK4/G,OAAO6xB,GAAO5zI,SAE5BA,EAASmC,KAAK4/G,OAAO6xB,GAAO5zI,QAGhCmC,KAAKgkJ,SAASrhJ,OAAS,EAEvB3C,KAAKgkJ,SAASl8I,MAAO/D,EAAGA,EAAGC,EAAGA,EAAGpG,MAAOA,EAAOC,OAAQA,EAAQ4zI,MAAOA,IAEtE,IAAK,IAAIluI,EAAKS,EAAGT,EAAKS,EAAInG,EAAQ0F,IAE9B,IAAK,IAAID,EAAKS,EAAGT,EAAKS,EAAInG,EAAO0F,IAE7BtD,KAAKgkJ,SAASl8I,KAAK9H,KAAK4/G,OAAO6xB,GAAOr9H,KAAK7Q,GAAID,IAIvD,OAAOtD,KAAKgkJ,SAzCRhkJ,KAAKgkJ,SAASrhJ,OAAS,IAqD/B0lJ,MAAO,SAAUtkJ,EAAGC,EAAGskJ,EAAW7W,GAO9B,QALUlrI,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,GAE3BytI,EAAQzxI,KAAK6lJ,SAASpU,GAEjB6W,KAAaA,EAAU3lJ,OAAS,GAArC,CASA,IAAK,IAHDy4F,EAAQr3F,EAAIukJ,EAAU,GAAGvkJ,EACzBs3F,EAAQr3F,EAAIskJ,EAAU,GAAGtkJ,EAEpBtB,EAAI,EAAGA,EAAI4lJ,EAAU3lJ,OAAQD,IAElC1C,KAAK4/G,OAAO6xB,GAAOr9H,KAAKinF,EAAQitD,EAAU5lJ,GAAGsB,GAAGo3F,EAAQktD,EAAU5lJ,GAAGqB,GAAGmwB,KAAKo0H,EAAU5lJ,IAG3F1C,KAAK4/G,OAAO6xB,GAAOjgI,OAAQ,EAC3BxR,KAAK6mJ,eAAepV,KAgBxB/7F,KAAM,SAAU6yG,EAAOC,EAAOzkJ,EAAGC,EAAGpG,EAAOC,EAAQ4zI,GAE/CA,EAAQzxI,KAAK6lJ,SAASpU,GAEtBzxI,KAAKk0B,KAAKnwB,EAAGC,EAAGpG,EAAOC,EAAQ4zI,GAE3BzxI,KAAKgkJ,SAASrhJ,OAAS,IAK3B3C,KAAKikJ,OAASsE,EACdvoJ,KAAKm7E,OAASqtE,EAEdxoJ,KAAKgkJ,SAASnzH,QAAQ7wB,KAAKyoJ,YAAazoJ,MAExCA,KAAKqoJ,MAAMtkJ,EAAGC,EAAGhE,KAAKgkJ,SAAUvS,KAUpCgX,YAAa,SAAUrhJ,GAEfA,EAAMwB,QAAU5I,KAAKikJ,OAGrB78I,EAAMwB,MAAQ5I,KAAKm7E,OAEd/zE,EAAMwB,QAAU5I,KAAKm7E,SAG1B/zE,EAAMwB,MAAQ5I,KAAKikJ,SAgB3BpzH,QAAS,SAAUmkB,EAAUlnC,EAAS/J,EAAGC,EAAGpG,EAAOC,EAAQ4zI,GAEvDA,EAAQzxI,KAAK6lJ,SAASpU,GAEtBzxI,KAAKk0B,KAAKnwB,EAAGC,EAAGpG,EAAOC,EAAQ4zI,GAE3BzxI,KAAKgkJ,SAASrhJ,OAAS,IAK3B3C,KAAKgkJ,SAASnzH,QAAQmkB,EAAUlnC,GAEhC9N,KAAKqoJ,MAAMtkJ,EAAGC,EAAGhE,KAAKgkJ,SAAUvS,KAgBpCj9G,QAAS,SAAUplB,EAAQqmB,EAAM1xB,EAAGC,EAAGpG,EAAOC,EAAQ4zI,GAMlD,GAJAA,EAAQzxI,KAAK6lJ,SAASpU,GAEtBzxI,KAAKk0B,KAAKnwB,EAAGC,EAAGpG,EAAOC,EAAQ4zI,KAE3BzxI,KAAKgkJ,SAASrhJ,OAAS,GAA3B,CAKA,IAAK,IAAID,EAAI,EAAGA,EAAI1C,KAAKgkJ,SAASrhJ,OAAQD,IAElC1C,KAAKgkJ,SAASthJ,GAAGkG,QAAUwG,IAE3BpP,KAAKgkJ,SAASthJ,GAAGkG,MAAQ6sB,GAIjCz1B,KAAKqoJ,MAAMtkJ,EAAGC,EAAGhE,KAAKgkJ,SAAUvS,KAcpC5+G,OAAQ,SAAU9uB,EAAGC,EAAGpG,EAAOC,EAAQ4zI,GAMnC,GAJAA,EAAQzxI,KAAK6lJ,SAASpU,GAEtBzxI,KAAKk0B,KAAKnwB,EAAGC,EAAGpG,EAAOC,EAAQ4zI,KAE3BzxI,KAAKgkJ,SAASrhJ,OAAS,GAA3B,CAOA,IAAK,IAFD0jJ,KAEKt1H,EAAI,EAAGA,EAAI/wB,KAAKgkJ,SAASrhJ,OAAQouB,IAEtC,GAAI/wB,KAAKgkJ,SAASjzH,GAAGnoB,MACrB,CACI,IAAI2tF,EAAMv2F,KAAKgkJ,SAASjzH,GAAGnoB,OAEG,IAA1By9I,EAAQh9I,QAAQktF,IAEhB8vD,EAAQv+I,KAAKyuF,GAKzB,IAAK,IAAI7zF,EAAI,EAAGA,EAAI1C,KAAKgkJ,SAASrhJ,OAAQD,IAEtC1C,KAAKgkJ,SAASthJ,GAAGkG,MAAQ5I,KAAK+C,KAAK6iC,IAAIwU,KAAKisG,GAGhDrmJ,KAAKqoJ,MAAMtkJ,EAAGC,EAAGhE,KAAKgkJ,SAAUvS,KAcpC92F,QAAS,SAAU52C,EAAGC,EAAGpG,EAAOC,EAAQ4zI,GAMpC,GAJAA,EAAQzxI,KAAK6lJ,SAASpU,GAEtBzxI,KAAKk0B,KAAKnwB,EAAGC,EAAGpG,EAAOC,EAAQ4zI,KAE3BzxI,KAAKgkJ,SAASrhJ,OAAS,GAA3B,CAOA,IAAK,IAFD0jJ,KAEKt1H,EAAI,EAAGA,EAAI/wB,KAAKgkJ,SAASrhJ,OAAQouB,IAElC/wB,KAAKgkJ,SAASjzH,GAAGnoB,OAEjBy9I,EAAQv+I,KAAK9H,KAAKgkJ,SAASjzH,GAAGnoB,OAItCpH,EAAOu4C,WAAWY,QAAQ0rG,GAE1B,IAAK,IAAI3jJ,EAAI,EAAGA,EAAI1C,KAAKgkJ,SAASrhJ,OAAQD,IAEtC1C,KAAKgkJ,SAASthJ,GAAGkG,MAAQy9I,EAAQ3jJ,EAAI,GAGzC1C,KAAKqoJ,MAAMtkJ,EAAGC,EAAGhE,KAAKgkJ,SAAUvS,KAepC5qF,KAAM,SAAUj+C,EAAO7E,EAAGC,EAAGpG,EAAOC,EAAQ4zI,GAMxC,GAJAA,EAAQzxI,KAAK6lJ,SAASpU,GAEtBzxI,KAAKk0B,KAAKnwB,EAAGC,EAAGpG,EAAOC,EAAQ4zI,KAE3BzxI,KAAKgkJ,SAASrhJ,OAAS,GAA3B,CAKA,IAAK,IAAID,EAAI,EAAGA,EAAI1C,KAAKgkJ,SAASrhJ,OAAQD,IAEtC1C,KAAKgkJ,SAASthJ,GAAGkG,MAAQA,EAG7B5I,KAAKqoJ,MAAMtkJ,EAAGC,EAAGhE,KAAKgkJ,SAAUvS,KAQpCiX,gBAAiB,WAEb1oJ,KAAK4/G,OAAOj9G,OAAS,EACrB3C,KAAK8jJ,aAAe,GAQxB6E,KAAM,WAKF,IAAK,IAHDC,EAAM,GACNv4H,GAAS,IAEJrsB,EAAI,EAAGA,EAAIhE,KAAK4/G,OAAO5/G,KAAK8jJ,cAAcjmJ,OAAQmG,IAC3D,CACI,IAAK,IAAID,EAAI,EAAGA,EAAI/D,KAAK4/G,OAAO5/G,KAAK8jJ,cAAclmJ,MAAOmG,IAEtD6kJ,GAAO,OAEH5oJ,KAAK4/G,OAAO5/G,KAAK8jJ,cAAc1vI,KAAKpQ,GAAGD,GAAK,EAExC/D,KAAK+jJ,SAAS/jJ,KAAK4/G,OAAO5/G,KAAK8jJ,cAAc1vI,KAAKpQ,GAAGD,IAErDssB,EAAKvoB,KAAK,eAAiB9H,KAAK+jJ,SAAS/jJ,KAAK4/G,OAAO5/G,KAAK8jJ,cAAc1vI,KAAKpQ,GAAGD,KAIhFssB,EAAKvoB,KAAK,uBAKduoB,EAAKvoB,KAAK,4BAIlB8gJ,GAAO,KAGXv4H,EAAK,GAAKu4H,EACVtoJ,QAAQ+P,IAAI9K,MAAMjF,QAAS+vB,IAS/B7tB,QAAS,WAELxC,KAAK0oJ,kBACL1oJ,KAAKoU,QACLpU,KAAK+C,KAAO,OAKpBvB,EAAOwwE,QAAQ1vE,UAAUC,YAAcf,EAAOwwE,QAM9ChrE,OAAOyF,eAAejL,EAAOwwE,QAAQ1vE,UAAW,SAE5C4E,IAAK,WAED,OAAOlH,KAAK4/G,OAAO5/G,KAAK8jJ,eAG5B38I,IAAK,SAAUC,GAEPA,IAAUpH,KAAK8jJ,cAEf9jJ,KAAK0nJ,SAAStgJ,MA4B1B5F,EAAOywE,aAAe,SAAUlvE,EAAMgzE,EAASntE,EAAOhL,EAAOC,GAEzDD,GAAS,EACTC,GAAU,EAEV2D,EAAOsE,OAAOtB,KAAKxE,KAAM+C,EAAM,EAAG,GAQlC/C,KAAK6oJ,IAAM9yE,EAQX/1E,KAAK4I,MAAQA,EAQb5I,KAAKyxI,MAAQ17D,EAAQ6pC,OAAOh3G,GAO5B5I,KAAKkX,OAAS1V,EAAOqF,WAAW2B,OAAOxI,KAAMpC,EAAOC,GAOpDmC,KAAK8N,QAAU9N,KAAKkX,OAAOsB,WAAW,MAEtCxY,KAAKsN,WAAW,IAAI9O,KAAKqO,QAAQ,IAAIrO,KAAK6rB,YAAYrqB,KAAKkX,OAAQ,KAAMlX,KAAK+C,KAAK6B,cASnF5E,KAAKwT,KAAOhS,EAAOsrB,aAMnB9sB,KAAK4yC,YAAcpxC,EAAOsrB,aAe1B9sB,KAAK8oJ,gBACDC,mBAAmB,EACnBC,cAAe,GACfC,WAAY,MAShBjpJ,KAAKoqC,OAAQ,EAKbpqC,KAAKkN,QAAS,EAkBdlN,KAAKkpJ,eAEDC,iBAAkB,mBAClBC,qBAAsB,oBAEtBC,iBAAiB,EAEjBC,WAAY,GACZC,iBAAkB,kBAClBC,sBAAuB,qBAU3BxpJ,KAAKypJ,cAAgB,EAQrBzpJ,KAAK0pJ,cAAgB,EAOrB1pJ,KAAKwR,OAAQ,EAObxR,KAAK2pJ,YAAc,EAOnB3pJ,KAAK4pJ,OAAQ,EAOb5pJ,KAAK6pJ,KAGD3c,QAAS,EACTF,QAAS,EACT8c,YAAa,EACbC,aAAc,EAEd/zE,UAAWD,EAAQC,UACnBC,WAAYF,EAAQE,WAOpBznE,GAAIunE,EAAQC,UACZvnE,GAAIsnE,EAAQE,WAGZytE,aASJ1jJ,KAAKgqJ,SAAW,EAOhBhqJ,KAAKiqJ,SAAW,EAMhBjqJ,KAAKkqJ,WAAa,IAAI1oJ,EAAOX,MAAMb,KAAKyxI,MAAM9sH,SAAW,EAAG3kB,KAAKyxI,MAAM7sH,SAAW,GAOlF5kB,KAAKgkJ,YAEAjhJ,EAAKonB,OAAOm2E,oBAEbtgG,KAAK8oJ,eAAeG,WAAaznJ,EAAOywE,aAAak4E,0BAGzDnqJ,KAAK4zC,eAAgB,GAGzBpyC,EAAOywE,aAAa3vE,UAAY0E,OAAOwB,OAAOhH,EAAOsE,OAAOxD,WAC5Dd,EAAOywE,aAAa3vE,UAAUC,YAAcf,EAAOywE,aAEnDzwE,EAAOywE,aAAa3vE,UAAUu0E,cAAgBr1E,EAAOupE,UAAUiB,KAAKtnE,UAQpElD,EAAOywE,aAAam4E,iBAAmB,KAWvC5oJ,EAAOywE,aAAak4E,uBAAyB,WAOzC,OALKnqJ,KAAKoqJ,mBAENpqJ,KAAKoqJ,iBAAmB5oJ,EAAOqF,WAAW2B,OAAOxI,KAAM,EAAG,IAGvDA,KAAKoqJ,kBAQhB5oJ,EAAOywE,aAAa3vE,UAAUoC,UAAY,WAEtC,OAAO1E,KAAK62E,iBAShBr1E,EAAOywE,aAAa3vE,UAAU8kC,WAAa,WAEnCpnC,KAAK4zC,gBAEL5zC,KAAKY,SAASmD,GAAK/D,KAAK+C,KAAK+X,OAAO7D,KAAKlT,EAAI/D,KAAK6zC,aAAa9vC,GAAK/D,KAAK+C,KAAK+X,OAAOha,MAAMiD,EAC3F/D,KAAKY,SAASoD,GAAKhE,KAAK+C,KAAK+X,OAAO7D,KAAKjT,EAAIhE,KAAK6zC,aAAa7vC,GAAKhE,KAAK+C,KAAK+X,OAAOha,MAAMkD,GAG/FhE,KAAKgqJ,UAAYhqJ,KAAK+C,KAAK+X,OAAO7D,KAAKlT,EAAI/D,KAAKkqJ,WAAWnmJ,GAAK/D,KAAKypJ,cAAgBzpJ,KAAKc,MAAMiD,EAChG/D,KAAKiqJ,UAAYjqJ,KAAK+C,KAAK+X,OAAO7D,KAAKjT,EAAIhE,KAAKkqJ,WAAWlmJ,GAAKhE,KAAK0pJ,cAAgB1pJ,KAAKc,MAAMkD,GAUpGxC,EAAOywE,aAAa3vE,UAAU0D,cAAgB,SAAUJ,GAEhD5F,KAAK4zC,gBAEL5zC,KAAKY,SAASmD,GAAK/D,KAAK+C,KAAK+X,OAAO7D,KAAKlT,EAAI/D,KAAK6zC,aAAa9vC,GAAK/D,KAAK+C,KAAK+X,OAAOha,MAAMiD,EAC3F/D,KAAKY,SAASoD,GAAKhE,KAAK+C,KAAK+X,OAAO7D,KAAKjT,EAAIhE,KAAK6zC,aAAa7vC,GAAKhE,KAAK+C,KAAK+X,OAAOha,MAAMkD,GAG/FhE,KAAKgqJ,UAAYhqJ,KAAK+C,KAAK+X,OAAO7D,KAAKlT,EAAI/D,KAAKkqJ,WAAWnmJ,GAAK/D,KAAKypJ,cAAgBzpJ,KAAKc,MAAMiD,EAChG/D,KAAKiqJ,UAAYjqJ,KAAK+C,KAAK+X,OAAO7D,KAAKjT,EAAIhE,KAAKkqJ,WAAWlmJ,GAAKhE,KAAK0pJ,cAAgB1pJ,KAAKc,MAAMkD,EAEhGhE,KAAKmF,SAEL3G,KAAKsH,OAAOxD,UAAU0D,cAAcxB,KAAKxE,KAAM4F,IAUnDpE,EAAOywE,aAAa3vE,UAAUyD,aAAe,SAAUH,GAE/C5F,KAAK4zC,gBAEL5zC,KAAKY,SAASmD,GAAK/D,KAAK+C,KAAK+X,OAAO7D,KAAKlT,EAAI/D,KAAK6zC,aAAa9vC,GAAK/D,KAAK+C,KAAK+X,OAAOha,MAAMiD,EAC3F/D,KAAKY,SAASoD,GAAKhE,KAAK+C,KAAK+X,OAAO7D,KAAKjT,EAAIhE,KAAK6zC,aAAa7vC,GAAKhE,KAAK+C,KAAK+X,OAAOha,MAAMkD,GAG/FhE,KAAKgqJ,UAAYhqJ,KAAK+C,KAAK+X,OAAO7D,KAAKlT,EAAI/D,KAAKkqJ,WAAWnmJ,GAAK/D,KAAKypJ,cAAgBzpJ,KAAKc,MAAMiD,EAChG/D,KAAKiqJ,UAAYjqJ,KAAK+C,KAAK+X,OAAO7D,KAAKjT,EAAIhE,KAAKkqJ,WAAWlmJ,GAAKhE,KAAK0pJ,cAAgB1pJ,KAAKc,MAAMkD,EAEhGhE,KAAKmF,SAEL3G,KAAKsH,OAAOxD,UAAUyD,aAAavB,KAAKxE,KAAM4F,IAQlDpE,EAAOywE,aAAa3vE,UAAUE,QAAU,WAEpChB,EAAOqF,WAAWuV,OAAOpc,MAEzBwB,EAAOupE,UAAU8C,QAAQvrE,UAAUE,QAAQgC,KAAKxE,OAgBpDwB,EAAOywE,aAAa3vE,UAAU6D,OAAS,SAAUvI,EAAOC,GAEpDmC,KAAKkX,OAAOtZ,MAAQA,EACpBoC,KAAKkX,OAAOrZ,OAASA,EAErBmC,KAAKjC,QAAQsP,MAAMlH,OAAOvI,EAAOC,GAEjCmC,KAAKjC,QAAQH,MAAQA,EACrBoC,KAAKjC,QAAQF,OAASA,EAEtBmC,KAAKjC,QAAQ6P,KAAKhQ,MAAQA,EAC1BoC,KAAKjC,QAAQ6P,KAAK/P,OAASA,EAE3BmC,KAAKjC,QAAQqI,YAAYxI,MAAQA,EACjCoC,KAAKjC,QAAQqI,YAAYvI,OAASA,EAElCmC,KAAKjC,QAAQqI,YAAYoL,QACzBxR,KAAKjC,QAAQitB,gBAAiB,EAE9BhrB,KAAKjC,QAAQotB,aAEbnrB,KAAKwR,OAAQ,GASjBhQ,EAAOywE,aAAa3vE,UAAU+nJ,YAAc,WAExCrqJ,KAAK+C,KAAKE,MAAMg4C,UAAU,EAAG,EAAGj7C,KAAKyxI,MAAM+R,cAAgBxjJ,KAAKc,MAAMiD,EAAG/D,KAAKyxI,MAAMgS,eAAiBzjJ,KAAKc,MAAMkD,IAUpHxC,EAAOywE,aAAa3vE,UAAU0+I,eAAiB,WAE3C,OAAOhhJ,KAAKkqJ,WAAWnmJ,IAAQ/D,KAAK4zC,cAAmC,EAAlB5zC,KAAKY,SAASmD,IAUvEvC,EAAOywE,aAAa3vE,UAAU2+I,eAAiB,WAE3C,OAAOjhJ,KAAKkqJ,WAAWlmJ,IAAQhE,KAAK4zC,cAAmC,EAAlB5zC,KAAKY,SAASoD,IAWvExC,EAAOywE,aAAa3vE,UAAUgoJ,MAAQ,SAAUvmJ,GAE5C,OAA2B,IAAvB/D,KAAKypJ,eAA+C,IAAvBzpJ,KAAKypJ,eAA2C,IAApBzpJ,KAAKY,SAASmD,EAEhEA,EAIgB,IAAvB/D,KAAKypJ,eAA2C,IAApBzpJ,KAAKY,SAASmD,EAEnCA,EAAI/D,KAAKY,SAASmD,EAGtB/D,KAAKgqJ,UAAYjmJ,EAAK/D,KAAKgqJ,SAAWhqJ,KAAKypJ,gBAWtDjoJ,EAAOywE,aAAa3vE,UAAUioJ,QAAU,SAAUxmJ,GAE9C,OAA2B,IAAvB/D,KAAKypJ,cAEE1lJ,EAGH/D,KAAKgqJ,SAAWhqJ,KAAKypJ,eAAkB1lJ,EAAI/D,KAAKgqJ,WAW5DxoJ,EAAOywE,aAAa3vE,UAAUkoJ,MAAQ,SAAUxmJ,GAE5C,OAA2B,IAAvBhE,KAAK0pJ,eAA+C,IAAvB1pJ,KAAK0pJ,eAA2C,IAApB1pJ,KAAKY,SAASoD,EAEhEA,EAIgB,IAAvBhE,KAAK0pJ,eAA2C,IAApB1pJ,KAAKY,SAASoD,EAEnCA,EAAIhE,KAAKY,SAASoD,EAGtBhE,KAAKiqJ,UAAYjmJ,EAAKhE,KAAKiqJ,SAAWjqJ,KAAK0pJ,gBAWtDloJ,EAAOywE,aAAa3vE,UAAUmoJ,QAAU,SAAUzmJ,GAE9C,OAA2B,IAAvBhE,KAAK0pJ,cAEE1lJ,EAGHhE,KAAKiqJ,SAAWjqJ,KAAK0pJ,eAAkB1lJ,EAAIhE,KAAKiqJ,WAW5DzoJ,EAAOywE,aAAa3vE,UAAUooJ,SAAW,SAAU3mJ,GAG/C,OAAOL,KAAKqsB,MAAM/vB,KAAKsqJ,MAAMvmJ,GAAK/D,KAAK6pJ,IAAI7zE,YAW/Cx0E,EAAOywE,aAAa3vE,UAAUqoJ,SAAW,SAAU3mJ,GAG/C,OAAON,KAAKqsB,MAAM/vB,KAAKwqJ,MAAMxmJ,GAAKhE,KAAK6pJ,IAAI5zE,aAa/Cz0E,EAAOywE,aAAa3vE,UAAUsoJ,UAAY,SAAU7mJ,EAAGC,EAAGsyB,GAKtD,OAHAA,EAAMvyB,EAAI/D,KAAK0qJ,SAAS3mJ,GACxBuyB,EAAMtyB,EAAIhE,KAAK2qJ,SAAS3mJ,GAEjBsyB,GAcX90B,EAAOywE,aAAa3vE,UAAUuoJ,gBAAkB,SAAUjyH,EAAMiB,EAAUupH,EAAU0H,GAE3EjxH,IAAYA,EAAW75B,KAAK2pJ,kBAChBpjJ,IAAb68I,IAA0BA,GAAW,QACjB78I,IAApBukJ,IAAiCA,GAAkB,GAGvD,IAAI/qC,EAAQ//G,KAAK+gJ,SAASnoH,EAAK70B,EAAG60B,EAAK50B,EAAG40B,EAAKh7B,MAAOg7B,EAAK/6B,OAAQulJ,EAAU0H,GAE7E,GAAqB,IAAjB/qC,EAAMp9G,OAEN,SAOJ,IAAK,IAHD4qI,EAAS30G,EAAKgB,kBAAkBC,GAChCC,KAEKp3B,EAAI,EAAGA,EAAIq9G,EAAMp9G,OAAQD,IAE9B,IAAK,IAAIquB,EAAI,EAAGA,EAAIw8G,EAAO5qI,OAAQouB,IACnC,CACI,IAAIowH,EAAOphC,EAAMr9G,GACbqoJ,EAAQxd,EAAOx8G,GACnB,GAAIowH,EAAK3/G,cAAcupH,EAAM,GAAIA,EAAM,IACvC,CACIjxH,EAAQhyB,KAAKq5I,GACb,OAKZ,OAAOrnH,GAgBXt4B,EAAOywE,aAAa3vE,UAAUy+I,SAAW,SAAUh9I,EAAGC,EAAGpG,EAAOC,EAAQulJ,EAAU0H,QAG7DvkJ,IAAb68I,IAA0BA,GAAW,QACjB78I,IAApBukJ,IAAiCA,GAAkB,GAEvD,IAAIE,IAAa5H,GAAY0H,GAG7B/mJ,EAAI/D,KAAKsqJ,MAAMvmJ,GACfC,EAAIhE,KAAKwqJ,MAAMxmJ,GAUf,IAPA,IAAIV,EAAKI,KAAKqsB,MAAMhsB,GAAK/D,KAAK6pJ,IAAIr7I,GAAKxO,KAAKc,MAAMiD,IAC9CR,EAAKG,KAAKqsB,MAAM/rB,GAAKhE,KAAK6pJ,IAAIp7I,GAAKzO,KAAKc,MAAMkD,IAG9ConB,EAAK1nB,KAAKwC,MAAMnC,EAAInG,IAAUoC,KAAK6pJ,IAAIr7I,GAAKxO,KAAKc,MAAMiD,IAAMT,EAC7D+nB,EAAK3nB,KAAKwC,MAAMlC,EAAInG,IAAWmC,KAAK6pJ,IAAIp7I,GAAKzO,KAAKc,MAAMkD,IAAMT,EAE3DvD,KAAKgkJ,SAASrhJ,QAEjB3C,KAAKgkJ,SAASnjI,MAGlB,IAAK,IAAIoqI,EAAK1nJ,EAAI0nJ,EAAK1nJ,EAAK8nB,EAAI4/H,IAE5B,IAAK,IAAIC,EAAK5nJ,EAAI4nJ,EAAK5nJ,EAAK8nB,EAAI8/H,IAChC,CACI,IAAInsC,EAAM/+G,KAAKyxI,MAAMr9H,KAAK62I,GAEtBlsC,GAAOA,EAAImsC,KAEPF,GAAYjsC,EAAImsC,GAAI/H,cAAcC,EAAU0H,KAE5C9qJ,KAAKgkJ,SAASl8I,KAAKi3G,EAAImsC,IAMvC,OAAOlrJ,KAAKgkJ,SAAS9zH,SAYzB1uB,EAAOywE,aAAa3vE,UAAU6oJ,eAAiB,SAAUC,GAErD,IAAI1H,EAAW1jJ,KAAK6pJ,IAAInG,SAGxB,GAAI0H,EAAY,IAEZ,KAAO1H,EAAS/gJ,OAASyoJ,GAErB1H,EAAS57I,UAAKvB,GAItB,IAAI8kJ,EAAWrrJ,KAAK6oJ,IAAI9oC,MAAMqrC,IAAcprJ,KAAK6oJ,IAAI9oC,MAAMqrC,GAAW,GAEtE,GAAiB,OAAbC,EACJ,CACI,IAAI5G,EAAUzkJ,KAAK6oJ,IAAInF,SAAS2H,GAEhC,GAAI5G,GAAWA,EAAQ6G,kBAAkBF,GAErC,OAAQ1H,EAAS0H,GAAa3G,EAItC,OAAQf,EAAS0H,GAAa,MAWlC5pJ,EAAOywE,aAAa3vE,UAAUipJ,kBAAoB,WAI9C,IAFA,IAAI7H,EAAW1jJ,KAAK6pJ,IAAInG,SAEjBA,EAAS/gJ,QAEZ+gJ,EAAS7iI,OAWjBrf,EAAOywE,aAAa3vE,UAAUkpJ,SAAW,SAAUC,EAAQC,GAEvDD,EAASA,GAAU,EACnBC,EAASA,GAAUD,EAEnB,IAAK,IAAIznJ,EAAI,EAAGA,EAAIhE,KAAKyxI,MAAMr9H,KAAKzR,OAAQqB,IAIxC,IAAK,IAFD+6G,EAAM/+G,KAAKyxI,MAAMr9H,KAAKpQ,GAEjBD,EAAI,EAAGA,EAAIg7G,EAAIp8G,OAAQoB,IAChC,CACI,IAAIo9I,EAAOpiC,EAAIh7G,GAEfo9I,EAAKvjJ,MAAQoC,KAAK6oJ,IAAI7yE,UAAYy1E,EAClCtK,EAAKtjJ,OAASmC,KAAK6oJ,IAAI5yE,WAAay1E,EAEpCvK,EAAK7W,OAAS6W,EAAKp9I,EAAIo9I,EAAKvjJ,MAC5BujJ,EAAK5W,OAAS4W,EAAKn9I,EAAIm9I,EAAKtjJ,OAIpCmC,KAAKc,MAAMw0B,MAAMm2H,EAAQC,IAc7BlqJ,EAAOywE,aAAa3vE,UAAUqpJ,YAAc,SAAU79I,EAAS/J,EAAGC,GAE9D,IAAIkT,EAASpJ,EAAQoJ,OACjB00I,EAAQ10I,EAAOtZ,MAAQ8F,KAAKmzB,IAAI9yB,GAChC8nJ,EAAQ30I,EAAOrZ,OAAS6F,KAAKmzB,IAAI7yB,GAGjCmK,EAAK,EACLE,EAAK,EACL0rB,EAAKh2B,EACLi2B,EAAKh2B,EAELD,EAAI,IAEJoK,GAAMpK,EACNg2B,EAAK,GAGL/1B,EAAI,IAEJqK,GAAMrK,EACNg2B,EAAK,GAGT,IAAIivH,EAAajpJ,KAAK8oJ,eAAeG,WAErC,GAAIA,EACJ,EAKQA,EAAWrrJ,MAAQguJ,GAAS3C,EAAWprJ,OAASguJ,KAEhD5C,EAAWrrJ,MAAQguJ,EACnB3C,EAAWprJ,OAASguJ,GAGxB,IAAIC,EAAc7C,EAAWzwI,WAAW,MACxCszI,EAAY5jI,UAAU,EAAG,EAAG0jI,EAAOC,GACnCC,EAAY78I,UAAUiI,EAAQ/I,EAAIE,EAAIu9I,EAAOC,EAAO,EAAG,EAAGD,EAAOC,GAGjE/9I,EAAQoa,UAAU6R,EAAIC,EAAI4xH,EAAOC,GACjC/9I,EAAQmB,UAAUg6I,EAAY,EAAG,EAAG2C,EAAOC,EAAO9xH,EAAIC,EAAI4xH,EAAOC,QAQjE/9I,EAAQsa,OACRta,EAAQC,yBAA2B,OACnCD,EAAQmB,UAAUiI,EAAQ/I,EAAIE,EAAIu9I,EAAOC,EAAO9xH,EAAIC,EAAI4xH,EAAOC,GAC/D/9I,EAAQ4a,WAiBhBlnB,EAAOywE,aAAa3vE,UAAUypJ,aAAe,SAAU7e,EAASF,EAASn5G,EAAM0C,EAAK3C,EAAO4C,GAEvF,IAAI1oB,EAAU9N,KAAK8N,QAEflQ,EAAQoC,KAAKyxI,MAAM7zI,MACnBC,EAASmC,KAAKyxI,MAAM5zI,OACpButB,EAAKprB,KAAK6pJ,IAAI7zE,UACd3qD,EAAKrrB,KAAK6pJ,IAAI5zE,WAEdytE,EAAW1jJ,KAAK6pJ,IAAInG,SACpBsI,EAAY9c,IAEXlvI,KAAK4pJ,QAEF/1H,GAAQD,IAERC,EAAOnwB,KAAKuC,IAAI,EAAG4tB,GACnBD,EAAQlwB,KAAK81B,IAAI57B,EAAQ,EAAGg2B,IAE5B2C,GAAOC,IAEPD,EAAM7yB,KAAKuC,IAAI,EAAGswB,GAClBC,EAAS9yB,KAAK81B,IAAI37B,EAAS,EAAG24B,KAKtC,IAYIlzB,EAAIC,EAAIQ,EAAGC,EAAGioJ,EAAMC,EAZpBC,EAASt4H,EAAOzI,EAAM8hH,EAItBkf,GAAcv4H,GAAS,GAAK,IAAMj2B,GAAUA,EAUhD,IAAKoG,GATauyB,GAAQ,GAAK,IAAM14B,GAAWA,EAS3BquJ,EAAO11H,EAASD,EAAKhzB,EAb7BgzB,EAAMlL,EAAM2hH,EAa6Bkf,GAAQ,EAAGloJ,IAAKkoJ,IAAQ3oJ,GAAM8nB,EACpF,CACQrnB,GAAKnG,IAELmG,GAAKnG,GAGT,IAAIkhH,EAAM/+G,KAAKyxI,MAAMr9H,KAAKpQ,GAE1B,IAAKD,EAAIqoJ,EAAYH,EAAOr4H,EAAQC,EAAMvwB,EAAK6oJ,EAAOF,GAAQ,EAAGloJ,IAAKkoJ,IAAQ3oJ,GAAM8nB,EACpF,CACQrnB,GAAKnG,IAELmG,GAAKnG,GAGT,IAAIujJ,EAAOpiC,EAAIh7G,GAEf,GAAKo9I,KAAQA,EAAKv4I,MAAQ,GAA1B,CAKA,IAAIA,EAAQu4I,EAAKv4I,MAEbzB,EAAMu8I,EAAS96I,QAEPrC,IAARY,IAEAA,EAAMnH,KAAKmrJ,eAAeviJ,IAI1Bu4I,EAAKlgJ,QAAU+qJ,GAAchsJ,KAAKoqC,QAElCt8B,EAAQG,YAAckzI,EAAKlgJ,MAC3B+qJ,EAAY7K,EAAKlgJ,OAGjBkG,EAEIg6I,EAAKngJ,UAAYmgJ,EAAK2B,SAEtBh1I,EAAQsa,OACRta,EAAQiuB,UAAUz4B,EAAK69I,EAAKppH,QAASx0B,EAAK49I,EAAKnpH,SAC/ClqB,EAAQ4qB,OAAOyoH,EAAKngJ,UAEhBmgJ,EAAK2B,SAELh1I,EAAQhN,OAAO,EAAG,GAGtBqG,EAAIq0E,KAAK1tE,GAAUqzI,EAAKppH,SAAUopH,EAAKnpH,QAASpvB,GAChDkF,EAAQ4a,WAIRvhB,EAAIq0E,KAAK1tE,EAASxK,EAAIC,EAAIqF,GAGzB5I,KAAKkpJ,cAAcC,mBAExBr7I,EAAQ+a,UAAY7oB,KAAKkpJ,cAAcC,iBACvCr7I,EAAQkb,SAAS1lB,EAAIC,EAAI6nB,EAAIC,IAG7B81H,EAAK/2G,OAASpqC,KAAKkpJ,cAAcE,uBAEjCt7I,EAAQ+a,UAAY7oB,KAAKkpJ,cAAcE,qBACvCt7I,EAAQkb,SAAS1lB,EAAIC,EAAI6nB,EAAIC,QAY7C7pB,EAAOywE,aAAa3vE,UAAU+pJ,kBAAoB,SAAUC,EAAQC,GAEhE,IAAIrf,EAAUltI,KAAK6pJ,IAAI3c,QACnBF,EAAUhtI,KAAK6pJ,IAAI7c,QAEnBwf,EAAUxsJ,KAAKkX,OAAOtZ,MACtB6uJ,EAAUzsJ,KAAKkX,OAAOrZ,OAEtButB,EAAKprB,KAAK6pJ,IAAI7zE,UACd3qD,EAAKrrB,KAAK6pJ,IAAI5zE,WAKdpiD,EAAO,EACPD,GAASxI,EACTmL,EAAM,EACNC,GAAUnL,EAgCd,GA9BIihI,EAAS,GAETz4H,EAAO24H,EAAUF,EACjB14H,EAAQ44H,EAAU,GAEbF,EAAS,IAGd14H,EAAQ04H,GAGRC,EAAS,GAETh2H,EAAMk2H,EAAUF,EAChB/1H,EAASi2H,EAAU,GAEdF,EAAS,IAGd/1H,EAAS+1H,GAGbvsJ,KAAK2rJ,YAAY3rJ,KAAK8N,QAASw+I,EAAQC,GAGvC14H,EAAOnwB,KAAKqsB,OAAO8D,EAAOq5G,GAAW9hH,GACrCwI,EAAQlwB,KAAKqsB,OAAO6D,EAAQs5G,GAAW9hH,GACvCmL,EAAM7yB,KAAKqsB,OAAOwG,EAAMy2G,GAAW3hH,GACnCmL,EAAS9yB,KAAKqsB,OAAOyG,EAASw2G,GAAW3hH,GAErCwI,GAAQD,EACZ,CAEI5zB,KAAK8N,QAAQoa,UAAY2L,EAAOzI,EAAM8hH,EAAU,GAAIt5G,EAAQC,EAAO,GAAKzI,EAAIqhI,GAE5E,IAAIC,EAAUhpJ,KAAKqsB,OAAO,EAAIi9G,GAAW3hH,GACrCshI,EAAajpJ,KAAKqsB,OAAO08H,EAAU,EAAIzf,GAAW3hH,GACtDrrB,KAAK+rJ,aAAa7e,EAASF,EAASn5G,EAAM64H,EAAS94H,EAAO+4H,GAG9D,GAAIp2H,GAAOC,EACX,CAEIx2B,KAAK8N,QAAQoa,UAAU,EAAKqO,EAAMlL,EAAM2hH,EAAUwf,GAAUh2H,EAASD,EAAM,GAAKlL,GAEhF,IAAIuhI,EAAWlpJ,KAAKqsB,OAAO,EAAIm9G,GAAW9hH,GACtCyhI,EAAYnpJ,KAAKqsB,OAAOy8H,EAAU,EAAItf,GAAW9hH,GACrDprB,KAAK+rJ,aAAa7e,EAASF,EAAS4f,EAAUr2H,EAAKs2H,EAAWr2H,KAUtEh1B,EAAOywE,aAAa3vE,UAAUwqJ,WAAa,WAEvC,IAAI5f,EAAUltI,KAAK6pJ,IAAI3c,QACnBF,EAAUhtI,KAAK6pJ,IAAI7c,QAEnBwf,EAAUxsJ,KAAKkX,OAAOtZ,MACtB6uJ,EAAUzsJ,KAAKkX,OAAOrZ,OAEtButB,EAAKprB,KAAK6pJ,IAAI7zE,UACd3qD,EAAKrrB,KAAK6pJ,IAAI5zE,WAEdpiD,EAAOnwB,KAAKqsB,MAAMm9G,EAAU9hH,GAC5BwI,EAAQlwB,KAAKqsB,OAAOy8H,EAAU,EAAItf,GAAW9hH,GAC7CmL,EAAM7yB,KAAKqsB,MAAMi9G,EAAU3hH,GAC3BmL,EAAS9yB,KAAKqsB,OAAO08H,EAAU,EAAIzf,GAAW3hH,GAElDrrB,KAAK8N,QAAQoa,UAAU,EAAG,EAAGskI,EAASC,GAEtCzsJ,KAAK+rJ,aAAa7e,EAASF,EAASn5G,EAAM0C,EAAK3C,EAAO4C,IAS1Dh1B,EAAOywE,aAAa3vE,UAAU6C,OAAS,WAEnC,IAAI4nJ,GAAY,EAEhB,GAAK/sJ,KAAKkB,QAAV,EAKIlB,KAAKwR,OAASxR,KAAKyxI,MAAMjgI,SAEzBxR,KAAKyxI,MAAMjgI,OAAQ,EACnBu7I,GAAY,GAGhB,IAAIjD,EAAc9pJ,KAAKkX,OAAOtZ,MAC1BmsJ,EAAe/pJ,KAAKkX,OAAOrZ,OAG3BqvI,EAA0B,EAAhBltI,KAAKgqJ,SACfhd,EAA0B,EAAhBhtI,KAAKiqJ,SAEf+C,EAAKhtJ,KAAK6pJ,IACVyC,EAASU,EAAG9f,QAAUA,EACtBqf,EAASS,EAAGhgB,QAAUA,EAE1B,GAAK+f,GACU,IAAXT,GAA2B,IAAXC,GAChBS,EAAGlD,cAAgBA,GAAekD,EAAGjD,eAAiBA,EAoD1D,OA9CA/pJ,KAAK8N,QAAQsa,OAEb4kI,EAAG9f,QAAUA,EACb8f,EAAGhgB,QAAUA,EAETggB,EAAGlD,cAAgBA,GAAekD,EAAGjD,eAAiBA,IAGtDiD,EAAGlD,YAAcA,EACjBkD,EAAGjD,aAAeA,GAGlB/pJ,KAAKoqC,QAELpqC,KAAK8N,QAAQG,YAAcjO,KAAKkpJ,cAAcI,WAE1CtpJ,KAAKkpJ,cAAcG,kBAEnB0D,GAAY,KAIfA,GACD/sJ,KAAK8oJ,eAAeC,mBACnBrlJ,KAAKmzB,IAAIy1H,GAAU5oJ,KAAKmzB,IAAI01H,GAAW7oJ,KAAK81B,IAAIswH,EAAaC,GAE9D/pJ,KAAKqsJ,kBAAkBC,EAAQC,GAK/BvsJ,KAAK8sJ,aAGL9sJ,KAAKoqC,QAELpqC,KAAK8N,QAAQG,YAAc,EAC3BjO,KAAKitJ,eAGTjtJ,KAAKjC,QAAQqI,YAAYoL,QAEzBxR,KAAKwR,OAAQ,EAEbxR,KAAK8N,QAAQ4a,WAEN,IAWXlnB,EAAOywE,aAAa3vE,UAAU2qJ,YAAc,WAExC,IAuBI3pJ,EAAIC,EAAIQ,EAAGC,EAAGioJ,EAAMC,EAvBpBhf,EAAUltI,KAAK6pJ,IAAI3c,QACnBF,EAAUhtI,KAAK6pJ,IAAI7c,QAEnBl/H,EAAU9N,KAAK8N,QACf0+I,EAAUxsJ,KAAKkX,OAAOtZ,MACtB6uJ,EAAUzsJ,KAAKkX,OAAOrZ,OAEtBD,EAAQoC,KAAKyxI,MAAM7zI,MACnBC,EAASmC,KAAKyxI,MAAM5zI,OACpButB,EAAKprB,KAAK6pJ,IAAI7zE,UACd3qD,EAAKrrB,KAAK6pJ,IAAI5zE,WAEdpiD,EAAOnwB,KAAKqsB,MAAMm9G,EAAU9hH,GAC5BwI,EAAQlwB,KAAKqsB,OAAOy8H,EAAU,EAAItf,GAAW9hH,GAC7CmL,EAAM7yB,KAAKqsB,MAAMi9G,EAAU3hH,GAC3BmL,EAAS9yB,KAAKqsB,OAAO08H,EAAU,EAAIzf,GAAW3hH,GAE9C8gI,EAASt4H,EAAOzI,EAAM8hH,EACtBggB,EAAS32H,EAAMlL,EAAM2hH,EAErBof,GAAcv4H,GAAS,GAAK,IAAMj2B,GAAUA,EAC5CuvJ,GAAc52H,GAAQ,GAAK,IAAM14B,GAAWA,EAMhD,IAFAiQ,EAAQmyE,YAAcjgF,KAAKkpJ,cAAcK,iBAEpCvlJ,EAAImpJ,EAAYjB,EAAO11H,EAASD,EAAKhzB,EAAK2pJ,EAAOhB,GAAQ,EAAGloJ,IAAKkoJ,IAAQ3oJ,GAAM8nB,EACpF,CACQrnB,GAAKnG,IAELmG,GAAKnG,GAGT,IAAIkhH,EAAM/+G,KAAKyxI,MAAMr9H,KAAKpQ,GAE1B,IAAKD,EAAIqoJ,EAAYH,EAAOr4H,EAAQC,EAAMvwB,EAAK6oJ,EAAOF,GAAQ,EAAGloJ,IAAKkoJ,IAAQ3oJ,GAAM8nB,EACpF,CACQrnB,GAAKnG,IAELmG,GAAKnG,GAGT,IAAIujJ,EAAOpiC,EAAIh7G,IACVo9I,GAAQA,EAAKv4I,MAAQ,IAAMu4I,EAAKiC,WAKjCpjJ,KAAKkpJ,cAAcM,wBAEnB17I,EAAQ+a,UAAY7oB,KAAKkpJ,cAAcM,sBACvC17I,EAAQkb,SAAS1lB,EAAIC,EAAIvD,KAAK6pJ,IAAIr7I,GAAIxO,KAAK6pJ,IAAIp7I,KAG/CzO,KAAKkpJ,cAAcK,mBAEnBz7I,EAAQ6xE,YAEJwhE,EAAKO,UAEL5zI,EAAQgyE,OAAOx8E,EAAIC,GACnBuK,EAAQiyE,OAAOz8E,EAAKtD,KAAK6pJ,IAAIr7I,GAAIjL,IAGjC49I,EAAKQ,aAEL7zI,EAAQgyE,OAAOx8E,EAAIC,EAAKvD,KAAK6pJ,IAAIp7I,IACjCX,EAAQiyE,OAAOz8E,EAAKtD,KAAK6pJ,IAAIr7I,GAAIjL,EAAKvD,KAAK6pJ,IAAIp7I,KAG/C0yI,EAAKK,WAEL1zI,EAAQgyE,OAAOx8E,EAAIC,GACnBuK,EAAQiyE,OAAOz8E,EAAIC,EAAKvD,KAAK6pJ,IAAIp7I,KAGjC0yI,EAAKM,YAEL3zI,EAAQgyE,OAAOx8E,EAAKtD,KAAK6pJ,IAAIr7I,GAAIjL,GACjCuK,EAAQiyE,OAAOz8E,EAAKtD,KAAK6pJ,IAAIr7I,GAAIjL,EAAKvD,KAAK6pJ,IAAIp7I,KAGnDX,EAAQ+xE,YAER/xE,EAAQoyE,cAcxBl5E,OAAOyF,eAAejL,EAAOywE,aAAa3vE,UAAW,QAEjD4E,IAAK,WAED,OAAOlH,KAAK4pJ,OAGhBziJ,IAAK,SAAUC,GAEXpH,KAAK4pJ,MAAQxiJ,EACbpH,KAAKwR,OAAQ,KAYrBxK,OAAOyF,eAAejL,EAAOywE,aAAa3vE,UAAW,WAEjD4E,IAAK,WAED,OAAOlH,KAAKgqJ,UAGhB7iJ,IAAK,SAAUC,GAEXpH,KAAKgqJ,SAAW5iJ,KAYxBJ,OAAOyF,eAAejL,EAAOywE,aAAa3vE,UAAW,WAEjD4E,IAAK,WAED,OAAOlH,KAAKiqJ,UAGhB9iJ,IAAK,SAAUC,GAEXpH,KAAKiqJ,SAAW7iJ,KAYxBJ,OAAOyF,eAAejL,EAAOywE,aAAa3vE,UAAW,kBAEjD4E,IAAK,WAED,OAAOlH,KAAK6pJ,IAAIr7I,IAGpBrH,IAAK,SAAUC,GAEXpH,KAAK6pJ,IAAIr7I,GAAa,EAARpH,EACdpH,KAAKwR,OAAQ,KAYrBxK,OAAOyF,eAAejL,EAAOywE,aAAa3vE,UAAW,mBAEjD4E,IAAK,WAED,OAAOlH,KAAK6pJ,IAAIp7I,IAGpBtH,IAAK,SAAUC,GAEXpH,KAAK6pJ,IAAIp7I,GAAa,EAARrH,EACdpH,KAAKwR,OAAQ,KAiBrBhQ,EAAO8hJ,eAaH8J,aAAa,EAcb1uH,MAAO,SAAU37B,EAAMiQ,EAAKgjE,EAAWC,EAAYr4E,EAAOC,GAOtD,QALkB0I,IAAdyvE,IAA2BA,EAAY,SACxBzvE,IAAf0vE,IAA4BA,EAAa,SAC/B1vE,IAAV3I,IAAuBA,EAAQ,SACpB2I,IAAX1I,IAAwBA,EAAS,SAEzB0I,IAARyM,EAEA,OAAOhT,KAAKqtJ,eAGhB,GAAY,OAARr6I,EAEA,OAAOhT,KAAKqtJ,aAAar3E,EAAWC,EAAYr4E,EAAOC,GAG3D,IAAIgrJ,EAAM9lJ,EAAKiX,MAAMitG,eAAej0G,GAEpC,GAAI61I,EACJ,CACI,GAAIA,EAAIp0I,SAAWjT,EAAOwwE,QAAQ+7C,IAE9B,OAAO/tH,KAAKstJ,SAASt6I,EAAK61I,EAAIz0I,KAAM4hE,EAAWC,GAE9C,IAAK4yE,EAAIp0I,QAAUo0I,EAAIp0I,SAAWjT,EAAOwwE,QAAQg8C,WAElD,OAAOhuH,KAAKutJ,eAAe1E,EAAIz0I,WAKnC9T,QAAQ+Z,KAAK,iCAAkCrH,IAcvDs6I,SAAU,SAAUt6I,EAAKoB,EAAM4hE,EAAWC,GAYtC,IAAK,IAVD4yE,EAAM7oJ,KAAKqtJ,eAKXz3H,KACAuvH,GAHJ/wI,EAAOA,EAAKhG,QAGI2jB,MAAM,MAClBl0B,EAASsnJ,EAAKxiJ,OACd/E,EAAQ,EAEHoG,EAAI,EAAGA,EAAImhJ,EAAKxiJ,OAAQqB,IACjC,CACI4xB,EAAO5xB,MAIP,IAAK,IAFDg7G,EAASmmC,EAAKnhJ,GAAG+tB,MAAM,KAElBhuB,EAAI,EAAGA,EAAIi7G,EAAOr8G,OAAQoB,IAE/B6xB,EAAO5xB,GAAGD,GAAK,IAAIvC,EAAOqhJ,KAAKgG,EAAIjpC,OAAO,GAAIvsF,SAAS2rF,EAAOj7G,GAAI,IAAKA,EAAGC,EAAGgyE,EAAWC,GAG9E,IAAVr4E,IAEAA,EAAQohH,EAAOr8G,QAmBvB,OAfAkmJ,EAAIp0I,OAASjT,EAAOwwE,QAAQ+7C,IAC5B86B,EAAI32H,KAAOlf,EACX61I,EAAIjrJ,MAAQA,EACZirJ,EAAIhrJ,OAASA,EACbgrJ,EAAI7yE,UAAYA,EAChB6yE,EAAI5yE,WAAaA,EACjB4yE,EAAIrF,cAAgB5lJ,EAAQo4E,EAC5B6yE,EAAIpF,eAAiB5lJ,EAASo4E,EAE9B4yE,EAAIjpC,OAAO,GAAGhiH,MAAQA,EACtBirJ,EAAIjpC,OAAO,GAAG/hH,OAASA,EACvBgrJ,EAAIjpC,OAAO,GAAG4jC,cAAgBqF,EAAIrF,cAClCqF,EAAIjpC,OAAO,GAAG6jC,eAAiBoF,EAAIpF,eACnCoF,EAAIjpC,OAAO,GAAGxrG,KAAOwhB,EAEdizH,GASXwE,aAAc,SAAUr3E,EAAWC,EAAYr4E,EAAOC,GAElD,OACID,WAAkB2I,IAAV3I,GAAiC,OAAVA,EAAkBA,EAAQ,EACzDC,YAAoB0I,IAAX1I,GAAmC,OAAXA,EAAmBA,EAAS,EAC7Dm4E,eAA0BzvE,IAAdyvE,GAAyC,OAAdA,EAAsBA,EAAY,EACzEC,gBAA4B1vE,IAAf0vE,GAA2C,OAAfA,EAAuBA,EAAa,EAC7E0uD,YAAa,aACb4e,QAAS,IACTxtD,cACAytD,cAAe,EACfC,eAAgB,EAChB7jC,SAEQ1tF,KAAM,QACNnuB,EAAG,EACHC,EAAG,EACHpG,MAAO,EACPC,OAAQ,EACR2lJ,cAAe,EACfC,eAAgB,EAChBxiJ,MAAO,EACPC,SAAS,EACT60F,cACAswD,WACA/qF,aACAgrF,UACAlyI,UAGRg5G,UACA3d,WACAo0C,aACAH,YACA3jC,WAIRytC,OAAQ,SAAUv7H,EAAKw7H,GAEnB,IAAIC,KAEJ,IAAK,IAAIr2H,KAAKo2H,EACd,CACI,IAAIz6I,EAAMy6I,EAAOp2H,QAEO,IAAbpF,EAAIjf,KAEX06I,EAAO16I,GAAOif,EAAIjf,IAI1B,OAAO06I,GAaXC,iBAAkB,SAAUC,EAAaC,EAAmBC,EAAqBC,EAASC,GAEtF,IAAID,EAAUA,GAAWH,EAAY17H,KACjC87H,EAAmBA,IAAqBjqJ,EAAG,EAAGC,EAAG,GACjDksB,EAAQlwB,KAAKwtJ,OAEZO,GAEDztJ,QAAQ+Z,KAAK,gCAAiCuzI,QAGvBrnJ,IAAvBynJ,EAAiBjqJ,QAA0CwC,IAAvBynJ,EAAiBhqJ,GAErD1D,QAAQ+Z,KAAK,8CAA+C2zI,GAGhEH,EAAkBE,GAAWF,EAAkBE,OAC/CD,EAAoBC,GAAWD,EAAoBC,OAEnD,IAAK,IAAInvG,EAAI,EAAG5tB,EAAM48H,EAAYn+C,QAAQ9sG,OAAQi8C,EAAI5tB,EAAK4tB,IAC3D,CACI,IAAIlqB,EAAIk5H,EAAYn+C,QAAQ7wD,GAG5B,GAAIlqB,EAAEkuH,IACN,CACQnpG,GACAmpG,IAAKluH,EAAEkuH,IACP1wH,KAAMwC,EAAExC,KACR1e,KAAMkhB,EAAElhB,MAAQ,GAChBzP,EAAG2wB,EAAE3wB,EAAIiqJ,EAAiBjqJ,EAC1BC,EAAG0wB,EAAE1wB,EAAIgqJ,EAAiBhqJ,EAC1BpG,MAAO82B,EAAE92B,MACTC,OAAQ62B,EAAE72B,OACVqD,QAASwzB,EAAExzB,QACX60F,WAAYrhE,EAAEqhE,YAGdrhE,EAAE1zB,WAEFy4C,EAAOz4C,SAAW0zB,EAAE1zB,UAGxB6sJ,EAAkBE,GAASjmJ,KAAK2xC,QAE/B,GAAI/kB,EAAEu5H,SACX,CACI,IAAIx0G,GACAvnB,KAAMwC,EAAExC,KACR1e,KAAMkhB,EAAElhB,KACRzP,EAAG2wB,EAAE3wB,EAAIiqJ,EAAiBjqJ,EAC1BC,EAAG0wB,EAAE1wB,EAAIgqJ,EAAiBhqJ,EAC1BpG,MAAO82B,EAAE92B,MACTC,OAAQ62B,EAAE72B,OACVqD,QAASwzB,EAAExzB,QACX60F,WAAYrhE,EAAEqhE,YAGdrhE,EAAE1zB,WAEFy4C,EAAOz4C,SAAW0zB,EAAE1zB,UAGxBy4C,EAAOw0G,YAGP,IAASjrJ,EAAI,EAAGA,EAAI0xB,EAAEu5H,SAAStrJ,OAAQK,IAEnCy2C,EAAOw0G,SAASnmJ,MAAO4sB,EAAEu5H,SAASjrJ,GAAGe,EAAG2wB,EAAEu5H,SAASjrJ,GAAGgB,IAG1D8pJ,EAAoBC,GAASjmJ,KAAK2xC,GAClCo0G,EAAkBE,GAASjmJ,KAAK2xC,QAI/B,GAAI/kB,EAAEyrD,QACX,EACQ1mC,EAASvpB,EAAMwE,GAAK,OAAQ,OAAQ,IAAK,IAAK,UAAW,WAAY,gBAElE3wB,GAAKiqJ,EAAiBjqJ,EAC7B01C,EAAOz1C,GAAKgqJ,EAAiBhqJ,EAG7By1C,EAAO0mC,WAEP,IAAK,IAAIn9E,EAAI,EAAGA,EAAI0xB,EAAEyrD,QAAQx9E,OAAQK,IAElCy2C,EAAO0mC,QAAQr4E,MAAO4sB,EAAEyrD,QAAQn9E,GAAGe,EAAG2wB,EAAEyrD,QAAQn9E,GAAGgB,IAGvD8pJ,EAAoBC,GAASjmJ,KAAK2xC,GAClCo0G,EAAkBE,GAASjmJ,KAAK2xC,QAI3B/kB,EAAEi3G,UAEHlyF,EAASvpB,EAAMwE,GAAK,OAAQ,OAAQ,UAAW,IAAK,IAAK,QAAS,SAAU,UAAW,WAAY,gBAChG3wB,GAAKiqJ,EAAiBjqJ,EAC7B01C,EAAOz1C,GAAKgqJ,EAAiBhqJ,EAE7B8pJ,EAAoBC,GAASjmJ,KAAK2xC,GAClCo0G,EAAkBE,GAASjmJ,KAAK2xC,MAM5BA,EAASvpB,EAAMwE,GAAK,OAAQ,OAAQ,IAAK,IAAK,QAAS,SAAU,UAAW,WAAY,gBACrF3wB,GAAKiqJ,EAAiBjqJ,EAC7B01C,EAAOz1C,GAAKgqJ,EAAiBhqJ,EAE7By1C,EAAOowF,WAAY,EACnBikB,EAAoBC,GAASjmJ,KAAK2xC,GAClCo0G,EAAkBE,GAASjmJ,KAAK2xC,IAIxC,OACIo0G,kBAAmBA,EACnBC,oBAAqBA,IAU7BP,eAAgB,SAAUjuC,GAEtB,GAAyB,eAArBA,EAAKqlB,YAIL,OAFArkI,QAAQ+Z,KAAK,4EAA6EilG,EAAKqlB,aAExF,KAGPrlB,EAAKikC,QAAU,KAEfjjJ,QAAQ+Z,KAAK,uMAAwMilG,EAAKikC,SAoB9N,IAAK,IAhBDsF,GACAjrJ,MAAO0hH,EAAK1hH,MACZC,OAAQyhH,EAAKzhH,OACbm4E,UAAWspC,EAAKQ,UAChB7pC,WAAYqpC,EAAKO,WACjB8kB,YAAarlB,EAAKqlB,YAClBlwH,OAAQjT,EAAOwwE,QAAQg8C,WACvBu1B,QAASjkC,EAAKikC,QACdxtD,WAAYupB,EAAKvpB,WACjBytD,cAAelkC,EAAK1hH,MAAQ0hH,EAAKQ,UACjC2jC,eAAgBnkC,EAAKzhH,OAASyhH,EAAKO,YAInCD,KAEKl9G,EAAI,EAAGA,EAAI48G,EAAKM,OAAOj9G,OAAQD,IAEpC,GAA4B,cAAxB48G,EAAKM,OAAOl9G,GAAG8Q,KAAnB,CAKA,IAAI06I,EAAO5uC,EAAKM,OAAOl9G,GAOvB,IAAKwrJ,EAAK/0I,aAAe+0I,EAAKC,UAA8B,WAAlBD,EAAKC,SAC/C,CASI,IAAK,IARDC,EAAeh+I,OAAOi+I,KAAKH,EAAK95I,MAChC4c,EAAMo9H,EAAazrJ,OACnB2rJ,EAAQ,IAAI7mJ,MAAMupB,GAMbnpB,EAAI,EAAGA,EAAImpB,EAAKnpB,GAAK,EAE1BymJ,EAAMzmJ,EAAI,IACNumJ,EAAatpF,WAAWj9D,GACxBumJ,EAAatpF,WAAWj9D,EAAI,IAAM,EAClCumJ,EAAatpF,WAAWj9D,EAAI,IAAM,GAClCumJ,EAAatpF,WAAWj9D,EAAI,IAAM,MAChC,EAGVqmJ,EAAK95I,KAAOk6I,SAELJ,EAAKC,cAEX,GAAID,EAAK/0I,YACd,CACI7Y,QAAQ+Z,KAAK,yDAA0D6zI,EAAKh8H,MAE5E,SAGAu/G,GAEAv/G,KAAMg8H,EAAKh8H,KACXnuB,EAAGmqJ,EAAKnqJ,EACRC,EAAGkqJ,EAAKlqJ,EACRpG,MAAOswJ,EAAKtwJ,MACZC,OAAQqwJ,EAAKrwJ,OACb2lJ,cAAe0K,EAAKtwJ,MAAQ0hH,EAAKQ,UACjC2jC,eAAgByK,EAAKrwJ,OAASyhH,EAAKO,WACnC5+G,MAAOitJ,EAAKK,QACZ5pI,QAASupI,EAAKM,QACd5pI,QAASspI,EAAKO,QACdvtJ,QAASgtJ,EAAKhtJ,QACd60F,cACAswD,WACA/qF,aACAgrF,WAIA4H,EAAKn4D,aAEL07C,EAAM17C,WAAam4D,EAAKn4D,YAgB5B,IAAK,IAVD/0F,EAAU8hJ,EAAS4L,EAHnB3qJ,EAAI,EACJg7G,KACAnpF,KAWK7E,EAAI,EAAGC,EAAMk9H,EAAK95I,KAAKzR,OAAQouB,EAAIC,EAAKD,IACjD,CAOI,GANA/vB,EAAW,EACX8hJ,GAAU,EACVF,EAAMsL,EAAK95I,KAAK2c,GAChB29H,EAAa,EAGT9L,EAAM,UAuBN,OApBIA,EAAM,aAENA,GAAO,WACP8L,GAAc,GAId9L,EAAM,aAENA,GAAO,WACP8L,GAAc,GAId9L,EAAM,YAENA,GAAO,UACP8L,GAAc,GAGVA,GAEJ,KAAK,EACD1tJ,EAAW0C,KAAKwxB,GAAK,EACrB,MAEJ,KAAK,EACDl0B,EAAW0C,KAAKwxB,GAChB,MAEJ,KAAK,EACDl0B,EAAW,EAAI0C,KAAKwxB,GAAK,EACzB,MAEJ,KAAK,EACDl0B,EAAW,EACX8hJ,GAAU,EACV,MAEJ,KAAK,EACD9hJ,EAAW0C,KAAKwxB,GAAK,EACrB4tH,GAAU,EACV,MAEJ,KAAK,EACD9hJ,EAAW0C,KAAKwxB,GAChB4tH,GAAU,EACV,MAEJ,KAAK,EACD9hJ,EAAW,EAAI0C,KAAKwxB,GAAK,EACzB4tH,GAAU,EAMlBF,EAAM,IAEFzB,EAAO,IAAI3/I,EAAOqhJ,KAAKpR,EAAOmR,EAAK7+I,EAAG6xB,EAAOjzB,OAAQ28G,EAAKQ,UAAWR,EAAKO,aAEzE7+G,SAAWA,EAChBmgJ,EAAK2B,QAAUA,EAEI,IAAf4L,IAGAvN,EAAKuN,WAAaA,GAGtB3vC,EAAIj3G,KAAKq5I,IAGT3/I,EAAO8hJ,cAAc8J,YAErBruC,EAAIj3G,KAAK,MAITi3G,EAAIj3G,KAAK,IAAItG,EAAOqhJ,KAAKpR,GAAQ,EAAG1tI,EAAG6xB,EAAOjzB,OAAQ28G,EAAKQ,UAAWR,EAAKO,eAG/E97G,IAEUmqJ,EAAKtwJ,QAEXg4B,EAAO9tB,KAAKi3G,GACZh7G,EAAI,EACJg7G,MAIR0yB,EAAMr9H,KAAOwhB,EAEbgqF,EAAO93G,KAAK2pI,GAGhBoX,EAAIjpC,OAASA,EAKb,IAAK,IAFDwN,KAEK1qH,EAAI,EAAGA,EAAI48G,EAAKM,OAAOj9G,OAAQD,IAEpC,GAA4B,eAAxB48G,EAAKM,OAAOl9G,GAAG8Q,KAAnB,CAKA,IAAIm7I,EAAOrvC,EAAKM,OAAOl9G,GAEnBwX,GAEAgY,KAAMy8H,EAAKz8H,KACXhY,MAAOy0I,EAAKz0I,MACZnW,EAAG4qJ,EAAK5qJ,EACRC,EAAG2qJ,EAAK3qJ,EACR/C,MAAO0tJ,EAAKJ,QACZrtJ,QAASytJ,EAAKztJ,QACd60F,eAIA44D,EAAK54D,aAEL77E,EAAM67E,WAAa44D,EAAK54D,YAG5Bq3B,EAAOtlH,KAAKoS,GAGhB2uI,EAAIz7B,OAASA,EAQb,IAAK,IALDs2B,KACAkL,KACAjL,KACAkL,EAAU,KAELnsJ,EAAI,EAAGA,EAAI48G,EAAKokC,SAAS/gJ,OAAQD,IAC1C,CAII,IAFIyE,EAAMm4G,EAAKokC,SAAShhJ,IAEhB0M,OAEJ9O,QAAQ+Z,KAAK,oJAAsJlT,EAAIiI,aAEtK,GAAIjI,EAAI+S,MACb,CACI,IAAI4qI,EAAS,IAAItjJ,EAAOujJ,QAAQ59I,EAAI+qB,KAAM/qB,EAAIk7I,SAAUl7I,EAAI24G,UAAW34G,EAAI04G,WAAY14G,EAAIy3G,OAAQz3G,EAAI03G,QAAS13G,EAAI4uF,YAEhH5uF,EAAI2nJ,iBAEJhK,EAAOiK,eAAiB5nJ,EAAI2nJ,gBAOhChK,EAAOkK,eAAe7nJ,EAAI8nJ,WAAY9nJ,EAAI+nJ,aAE1CxL,EAAS57I,KAAKg9I,OAEb,CAAA,IAAI39I,EAAI44G,MAeT,MAAM,IAAIh3G,MAAM,WAAa5B,EAAI+qB,KAAO,wCAbxC,IAAIi9H,EAAgB,IAAI3tJ,EAAO4gJ,gBAAgBj7I,EAAI+qB,KAAM/qB,EAAIk7I,SAAUl7I,EAAI24G,UAAW34G,EAAI04G,WAAY14G,EAAIy3G,OAAQz3G,EAAI03G,QAAS13G,EAAI4uF,YAEnI,IAAK,IAAIq5D,KAAMjoJ,EAAI44G,MACnB,CACI,IAAI7lG,EAAQ/S,EAAI44G,MAAMqvC,GAAIl1I,MACtB0oI,EAAMz7I,EAAIk7I,SAAWhvH,SAAS+7H,EAAI,IACtCD,EAAcnzE,SAAS4mE,EAAK1oI,GAGhCypI,EAAiB77I,KAAKqnJ,GAQ1B,IAAK,IAAIC,KAAMjoJ,EAAI44G,OAEX6tC,EAAczmJ,EAAI44G,MAAMqvC,GAAIC,eAOhCT,EAAoBv7H,SAAS+7H,EAAI,IAAMjoJ,EAAIk7I,UAAYuL,GAIvDiB,IAEAA,EAAQS,QAAUnoJ,EAAIk7I,SAAW,GAGrCwM,EAAU1nJ,EAGd,GAAwB,IAApBu8I,EAAS/gJ,QAA4C,IAA5BghJ,EAAiBhhJ,OAE1C,MAAM,IAAIoG,MAAM,iCAGpB8/I,EAAInF,SAAWA,EACfmF,EAAIlF,iBAAmBA,EAMvB,IAAK,IAHDl0C,KACAo0C,KAEKnhJ,EAAI,EAAGA,EAAI48G,EAAKM,OAAOj9G,OAAQD,IAEpC,GAA4B,gBAAxB48G,EAAKM,OAAOl9G,GAAG8Q,KAAnB,CAKA,IAAIo6I,EAActuC,EAAKM,OAAOl9G,GAC9B1C,KAAK2tJ,iBAAiBC,EAAan+C,EAASo0C,GAGhDgF,EAAIp5C,QAAUA,EACdo5C,EAAIhF,UAAYA,EAEhBgF,EAAI9oC,SAGJ,IAASr9G,EAAI,EAAGA,EAAImmJ,EAAInF,SAAS/gJ,OAAQD,IAWrC,IAAK,IAPDqB,GAFAoD,EAAM0hJ,EAAInF,SAAShhJ,IAEXgiJ,WACR1gJ,EAAImD,EAAIu9I,WAERlmI,EAAQ,EACRwmI,EAAS,EACTC,EAAS,EAEJl0H,EAAI5pB,EAAIk7I,SAAUtxH,EAAI5pB,EAAIk7I,SAAWl7I,EAAI6xC,QAG9C6vG,EAAI9oC,MAAMhvF,IAAOhtB,EAAGC,EAAGtB,GAEvBqB,GAAKoD,EAAI6uE,UAAY7uE,EAAIw9I,cAEzBnmI,IAEcrX,EAAI6xC,WAKlBgsG,IAEe79I,EAAI+9I,UAEfnhJ,EAAIoD,EAAIu9I,WACR1gJ,GAAKmD,EAAI8uE,WAAa9uE,EAAIw9I,YAE1BK,EAAS,IACTC,IAEe99I,EAAIg+I,OAxB8Bp0H,KAwC7D,IAAK,IAND0gH,EACA0P,EACAoO,EACApoJ,EAGKzE,EAAI,EAAGA,EAAImmJ,EAAIjpC,OAAOj9G,OAAQD,IACvC,CAEImhJ,GADApS,EAAQoX,EAAIjpC,OAAOl9G,IACHwvB,SAChB/qB,EAAM,KAGN,IAASU,EAAI,EAAGA,EAAI4pI,EAAMr9H,KAAKzR,OAAQkF,IACvC,CACIk3G,EAAM0yB,EAAMr9H,KAAKvM,GAGjB,IAAK,IAAIwvB,EAAI,EAAGA,EAAI0nF,EAAIp8G,OAAQ00B,IAIf,QAFb8pH,EAAOpiC,EAAI1nF,KAEU8pH,EAAKv4I,MAAQ,IAOlC2mJ,EAAM1G,EAAI9oC,MAAMohC,EAAKv4I,OAAO,IAC5BzB,EAAM0hJ,EAAInF,SAAS6L,IAIXR,gBAAkB5nJ,EAAI4nJ,eAAe5N,EAAKv4I,MAAQzB,EAAIk7I,YAE1DlB,EAAKprD,WAAav0F,EAAOkwB,MAAM6C,MAAMptB,EAAI4nJ,eAAe5N,EAAKv4I,MAAQzB,EAAIk7I,UAAWlB,EAAKprD,cAGzF63D,EAAcgB,EAAoBzN,EAAKv4I,SAIvC5I,KAAK2tJ,iBACDC,EACA/E,EAAIp5C,QACJo5C,EAAIhF,UACJ1C,EAAK1P,MAAMv/G,MAEPnuB,EAAGo9I,EAAK7W,OAASsjB,EAAY7pJ,EAC7BC,EAAGm9I,EAAK5W,OAASqjB,EAAY5pJ,MAOrD,OAAO6kJ,IA0BfrnJ,EAAOujJ,QAAU,SAAU7yH,EAAMmwH,EAAUzkJ,EAAOC,EAAQ+gH,EAAQC,EAAS9oB,SAEzDxvF,IAAV3I,GAAuBA,GAAS,KAAKA,EAAQ,UAClC2I,IAAX1I,GAAwBA,GAAU,KAAKA,EAAS,SACrC0I,IAAXq4G,IAAwBA,EAAS,QACrBr4G,IAAZs4G,IAAyBA,EAAU,GAMvC7+G,KAAKkyB,KAAOA,EAOZlyB,KAAKqiJ,SAAsB,EAAXA,EAOhBriJ,KAAKg2E,UAAoB,EAARp4E,EAOjBoC,KAAKi2E,WAAsB,EAATp4E,EASlBmC,KAAK0kJ,WAAsB,EAAT9lC,EAQlB5+G,KAAK2kJ,YAAwB,EAAV9lC,EAMnB7+G,KAAK+1F,WAAaA,MAQlB/1F,KAAKka,MAAQ,KAQbla,KAAKmlJ,KAAO,EAQZnlJ,KAAKklJ,QAAU,EAQfllJ,KAAKg5C,MAAQ,EAQbh5C,KAAKwvJ,eAGThuJ,EAAOujJ,QAAQziJ,WAYXk5E,KAAM,SAAU1tE,EAAS/J,EAAGC,EAAG4E,GAG3B,IAAI6mJ,EAAc7mJ,EAAQ5I,KAAKqiJ,UAAa,EAExCoN,GAAc,GAAMA,EAAa,EAAKzvJ,KAAKwvJ,WAAW7sJ,QAEtDmL,EAAQmB,UACJjP,KAAKka,MACLla,KAAKwvJ,WAAWC,GAChBzvJ,KAAKwvJ,WAAWC,EAAa,GAC7BzvJ,KAAKg2E,UACLh2E,KAAKi2E,WACLlyE,EACAC,EACAhE,KAAKg2E,UACLh2E,KAAKi2E,aAajBq1E,kBAAmB,SAAUF,GAEzB,OACIA,GAAaprJ,KAAKqiJ,UAClB+I,EAAaprJ,KAAKqiJ,SAAWriJ,KAAKg5C,OAW1C6rG,SAAU,SAAU3qI,GAEhBla,KAAKka,MAAQA,EACbla,KAAKgvJ,eAAe90I,EAAMtc,MAAOsc,EAAMrc,SAW3C6xJ,WAAY,SAAU9wC,EAAQC,GAE1B7+G,KAAK0kJ,WAAsB,EAAT9lC,EAClB5+G,KAAK2kJ,YAAwB,EAAV9lC,EAEf7+G,KAAKka,OAELla,KAAKgvJ,eAAehvJ,KAAKka,MAAMtc,MAAOoC,KAAKka,MAAMrc,SAYzDmxJ,eAAgB,SAAU1M,EAAYC,GAGlC,IAAIoN,GAAYpN,EAAgC,EAAlBviJ,KAAK0kJ,WAAiB1kJ,KAAK2kJ,cAAgB3kJ,KAAKi2E,WAAaj2E,KAAK2kJ,aAC5FiL,GAAYtN,EAA+B,EAAlBtiJ,KAAK0kJ,WAAiB1kJ,KAAK2kJ,cAAgB3kJ,KAAKg2E,UAAYh2E,KAAK2kJ,aAE1FgL,EAAW,GAAM,GAAKC,EAAW,GAAM,GAEvCtvJ,QAAQ+Z,KACJ,2GACAra,KAAKkyB,KAAMowH,EAAYC,EAAaviJ,KAAKg2E,UAAWh2E,KAAKi2E,WAAYj2E,KAAK0kJ,WAAY1kJ,KAAK2kJ,aAQnGgL,EAAWjsJ,KAAKqsB,MAAM4/H,GACtBC,EAAWlsJ,KAAKqsB,MAAM6/H,IAEjB5vJ,KAAKmlJ,MAAQnlJ,KAAKmlJ,OAASwK,GAAc3vJ,KAAKklJ,SAAWllJ,KAAKklJ,UAAY0K,IAE3EtvJ,QAAQ+Z,KACJ,yHACAra,KAAKka,MAAMgY,KAAM09H,EAAUD,EAAU3vJ,KAAKkyB,KAAMlyB,KAAKklJ,QAASllJ,KAAKmlJ,MAI3EnlJ,KAAKmlJ,KAAOwK,EACZ3vJ,KAAKklJ,QAAU0K,EACf5vJ,KAAKg5C,MAAQ22G,EAAWC,EAExB5vJ,KAAKwvJ,WAAW7sJ,OAAS,EAKzB,IAAK,IAHDW,EAAKtD,KAAK0kJ,WACVnhJ,EAAKvD,KAAK0kJ,WAEL1gJ,EAAI,EAAGA,EAAIhE,KAAKmlJ,KAAMnhJ,IAC/B,CACI,IAAK,IAAID,EAAI,EAAGA,EAAI/D,KAAKklJ,QAASnhJ,IAE9B/D,KAAKwvJ,WAAW1nJ,KAAKxE,GACrBtD,KAAKwvJ,WAAW1nJ,KAAKvE,GACrBD,GAAMtD,KAAKg2E,UAAYh2E,KAAK2kJ,YAGhCrhJ,EAAKtD,KAAK0kJ,WACVnhJ,GAAMvD,KAAKi2E,WAAaj2E,KAAK2kJ,eAMzCnjJ,EAAOujJ,QAAQziJ,UAAUC,YAAcf,EAAOujJ,QAoB9CvjJ,EAAOquJ,SAAW,SAAU9sJ,EAAMgB,EAAGC,EAAGgP,EAAK3F,GAEzC7L,EAAOsE,OAAOtB,KAAKxE,KAAM+C,EAAMgB,EAAGC,EAAGgP,EAAK3F,GAM1CrN,KAAK8vJ,WAAY,EAMjB9vJ,KAAK+vJ,aAAe,EAMpB/vJ,KAAKgwJ,UAAY,KAMjBhwJ,KAAKiwJ,GAAK,EAMVjwJ,KAAKkwJ,WAAY,EAKjBlwJ,KAAKmwJ,aAAe,EAMpBnwJ,KAAKowJ,UAAY,KAMjBpwJ,KAAKqwJ,GAAK,GAGd7uJ,EAAOquJ,SAASvtJ,UAAY0E,OAAOwB,OAAOhH,EAAOsE,OAAOxD,WACxDd,EAAOquJ,SAASvtJ,UAAUC,YAAcf,EAAOquJ,SAQ/CruJ,EAAOquJ,SAASvtJ,UAAU+iC,OAAS,WAE/B,GAAIrlC,KAAK8vJ,UACT,CACI9vJ,KAAKiwJ,IAA6B,KAAvBjwJ,KAAK+C,KAAK0iC,KAAKC,MAAgB1lC,KAAK+vJ,aAE/C,IAAI1rJ,EAAIX,KAAKiyB,MAAM31B,KAAKiwJ,IAEpB5rJ,EAAI,EAEJrE,KAAKc,MAAMqG,IAAInH,KAAKgwJ,UAAU3rJ,GAAGN,EAAG/D,KAAKgwJ,UAAU3rJ,GAAGL,GAItDhE,KAAK8vJ,WAAY,EAIzB,GAAI9vJ,KAAKkwJ,UACT,CACIlwJ,KAAKqwJ,IAA6B,KAAvBrwJ,KAAK+C,KAAK0iC,KAAKC,MAAgB1lC,KAAKmwJ,aAE/C,IAAIjtJ,EAAIQ,KAAKiyB,MAAM31B,KAAKqwJ,IAEpBntJ,EAAI,EAEJlD,KAAKiB,MAAQjB,KAAKowJ,UAAUltJ,GAAG07C,EAI/B5+C,KAAKkwJ,WAAY,IAW7B1uJ,EAAOquJ,SAASvtJ,UAAUguJ,OAAS,aAUnC9uJ,EAAOquJ,SAASvtJ,UAAUiuJ,aAAe,SAAUn8I,EAAMsjG,GAErD13G,KAAKowJ,UAAYh8I,EACjBpU,KAAKqwJ,GAAKj8I,EAAKzR,OAAS,EACxB3C,KAAKiB,MAAQjB,KAAKowJ,UAAUpwJ,KAAKqwJ,IAAIzxG,EACrC5+C,KAAKkwJ,WAAY,EACjBlwJ,KAAKmwJ,aAAez4C,GASxBl2G,EAAOquJ,SAASvtJ,UAAUkuJ,aAAe,SAAUp8I,EAAMsjG,GAErD13G,KAAKgwJ,UAAY57I,EACjBpU,KAAKiwJ,GAAK77I,EAAKzR,OAAS,EACxB3C,KAAKc,MAAMqG,IAAInH,KAAKgwJ,UAAUhwJ,KAAKiwJ,IAAIlsJ,EAAG/D,KAAKgwJ,UAAUhwJ,KAAKiwJ,IAAIjsJ,GAClEhE,KAAK8vJ,WAAY,EACjB9vJ,KAAK+vJ,aAAer4C,GAexBl2G,EAAOquJ,SAASvtJ,UAAUgkC,MAAQ,SAAUviC,EAAGC,EAAGwsE,GAU9C,OARAhvE,EAAOupE,UAAU+H,MAAMxwE,UAAUgkC,MAAM9hC,KAAKxE,KAAM+D,EAAGC,EAAGwsE,GAExDxwE,KAAKiB,MAAQ,EACbjB,KAAKc,MAAMqG,IAAI,GAEfnH,KAAK8vJ,WAAY,EACjB9vJ,KAAKkwJ,WAAY,EAEVlwJ,MAgBXwB,EAAOs8C,UAAY,SAAU/6C,GAKzB/C,KAAK+C,KAAOA,EAKZ/C,KAAKywJ,YAMLzwJ,KAAK0wJ,GAAK,GAGdlvJ,EAAOs8C,UAAUx7C,WAQb62B,IAAK,SAAU47C,GAGX,OADA/0E,KAAKywJ,SAAS17E,EAAQ7gE,IAAM6gE,EACrBA,GAQX34D,OAAQ,SAAU24D,UAEP/0E,KAAKywJ,SAAS17E,EAAQ7gE,MAKrC1S,EAAOs8C,UAAUx7C,UAAUC,YAAcf,EAAOs8C,UAahDt8C,EAAOs8C,UAAUm3B,UAqBjBzzE,EAAOs8C,UAAUm3B,OAAOC,QAAU,SAAUnyE,EAAMgB,EAAGC,EAAGgxE,GAMpDh1E,KAAKg1E,aAAeA,GAAgB,GAEpCxzE,EAAO8wC,MAAM9tC,KAAKxE,KAAM+C,GAMxB/C,KAAK8zH,IAAM9zH,KAAK+C,KAAKgkC,UAAU2pH,KAK/B1wJ,KAAKkyB,KAAO,UAAYlyB,KAAKkU,GAM7BlU,KAAKwT,KAAOhS,EAAOurB,QAMnB/sB,KAAK4yC,YAAcpxC,EAAOmrB,MAM1B3sB,KAAKo/B,KAAO,IAAI59B,EAAOS,UAAU8B,EAAGC,EAAG,EAAG,GAM1ChE,KAAK2wJ,SAAW,KAMhB3wJ,KAAK4wJ,SAAW,KAMhB5wJ,KAAK6wJ,SAAW,EAMhB7wJ,KAAK8wJ,SAAW,IAMhB9wJ,KAAK+wJ,iBAAmB,IAAIvvJ,EAAOX,OAAO,KAAM,KAMhDb,KAAKgxJ,iBAAmB,IAAIxvJ,EAAOX,MAAM,IAAK,KAM9Cb,KAAKixJ,iBAAmB,EAMxBjxJ,KAAKkxJ,iBAAmB,EAKxBlxJ,KAAKgwJ,UAAY,KAMjBhwJ,KAAKmxJ,aAAe,IAMpBnxJ,KAAKoxJ,YAAc,IAMnBpxJ,KAAKqxJ,iBAAmB,EAMxBrxJ,KAAKsxJ,iBAAmB,EAKxBtxJ,KAAKowJ,UAAY,KAMjBpwJ,KAAKuxJ,cAAgB/vJ,EAAOquJ,SAK5B7vJ,KAAKwxJ,aAAe,IAAIhwJ,EAAOX,MAM/Bb,KAAKu4I,YAAc,EAMnBv4I,KAAK8tG,UAAY,IAMjB9tG,KAAKuxE,SAAW,IAKhBvxE,KAAKg8I,OAAS,IAAIx6I,EAAOX,MAMzBb,KAAK0xC,IAAK,EAMV1xC,KAAKyxJ,eAAiB,IAAIjwJ,EAAOX,MAAM,GAAK,IAM5Cb,KAAKiI,UAAYzG,EAAO0G,WAAWE,OAQnCpI,KAAK0xJ,MAAQ3tJ,EAQb/D,KAAK2xJ,MAAQ3tJ,EAKbhE,KAAK8vJ,WAAY,EAKjB9vJ,KAAK+vJ,aAAe/vJ,KAAK+C,KAAK0iC,KAAKuyE,WAKnCh4G,KAAKkwJ,WAAY,EAKjBlwJ,KAAKmwJ,aAAenwJ,KAAK+C,KAAK0iC,KAAKuyE,WAMnCh4G,KAAK4xJ,oBAAqB,EAM1B5xJ,KAAK6xJ,oBAAqB,EAS1B7xJ,KAAK8xJ,QACDC,QAAS,EACTC,OAAQ,EACRC,aAAc,EACdC,YAAa,GAOjBlyJ,KAAKmyJ,SAAW,IAAI3wJ,EAAOX,MAAM,EAAG,KAMpCb,KAAKoyJ,kBAAoB,IAAI5wJ,EAAOX,MAAM,EAAG,GAM7Cb,KAAKqyJ,kBAAoB,IAAI7wJ,EAAOX,MAAM,EAAG,GAM7Cb,KAAK43I,OAAS,EAMd53I,KAAKsyJ,OAAS,EAMdtyJ,KAAKuyJ,SAAW,EAMhBvyJ,KAAKwyJ,cAAgB,EAMrBxyJ,KAAKyyJ,WAAa,EAMlBzyJ,KAAK0yJ,UAAW,EAMhB1yJ,KAAKo8G,QAAU,MAGnB56G,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAY0E,OAAOwB,OAAOhH,EAAO8wC,MAAMhwC,WACvEd,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAUC,YAAcf,EAAOs8C,UAAUm3B,OAAOC,QAOhF1zE,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAU+iC,OAAS,WAK/C,GAHArlC,KAAK8xJ,OAAOC,QAAU,EACtB/xJ,KAAK8xJ,OAAOE,OAAS,EAEjBhyJ,KAAK0xC,IAAM1xC,KAAK+C,KAAK0iC,KAAK4uE,YAAcr0G,KAAKsyJ,OAI7C,GAFAtyJ,KAAKsyJ,OAAStyJ,KAAK+C,KAAK0iC,KAAK4uE,WAAar0G,KAAK8tG,UAEvB,IAApB9tG,KAAKyyJ,WAEL,GAAIzyJ,KAAKwyJ,cAAgB,GAErB,IAAS9vJ,EAAI,EAAGA,EAAI1C,KAAKwyJ,cAAe9vJ,IAEpC,GAAI1C,KAAK2yJ,iBAEL3yJ,KAAKuyJ,YAEoB,IAArBvyJ,KAAKyyJ,YAAqBzyJ,KAAKuyJ,UAAYvyJ,KAAKyyJ,YACpD,CACIzyJ,KAAK0xC,IAAK,EACV,YAMZ1xC,KAAK2yJ,iBAEL3yJ,KAAKuyJ,YAEoB,IAArBvyJ,KAAKyyJ,YAAqBzyJ,KAAKuyJ,UAAYvyJ,KAAKyyJ,aAEhDzyJ,KAAK0xC,IAAK,SAKlB1xC,KAAK2yJ,iBAEL3yJ,KAAKuyJ,WAEDvyJ,KAAK43I,OAAS,GAAK53I,KAAKuyJ,UAAYvyJ,KAAK43I,SAEzC53I,KAAK0xC,IAAK,IAOtB,IAFA,IAAIhvC,EAAI1C,KAAKyC,SAASE,OAEfD,KAEC1C,KAAKyC,SAASC,GAAGwK,QAEjBlN,KAAKyC,SAASC,GAAG2iC,UAkB7B7jC,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAUswJ,cAAgB,SAAUhhI,EAAM0pE,EAAQvmD,EAAUqkG,EAASyF,EAAoBgU,QAEtGtsJ,IAAX+0F,IAAwBA,EAAS,QACpB/0F,IAAbwuC,IAA0BA,EAAW/0C,KAAKg1E,mBAC9BzuE,IAAZ6yI,IAAyBA,GAAU,QACZ7yI,IAAvBs4I,IAAoCA,GAAqB,QACnCt4I,IAAtBssJ,IAAmCA,EAAoB,MAE3D,IAAIC,EACApwJ,EAAI,EACJqwJ,EAASnhI,EACTohI,EAAW13D,EAQf,IAPAt7F,KAAKo8G,QAAU9gB,EAEXvmD,EAAW/0C,KAAKg1E,eAEhBh1E,KAAKg1E,aAAejgC,GAGjBryC,EAAIqyC,GAEHttC,MAAMC,QAAQkqB,KAEdmhI,EAAS/yJ,KAAK+C,KAAK6iC,IAAIwU,KAAKxoB,IAG5BnqB,MAAMC,QAAQ4zF,KAEd03D,EAAWhzJ,KAAK+C,KAAK6iC,IAAIwU,KAAKkhD,IAGlCw3D,EAAW,IAAI9yJ,KAAKuxJ,cAAcvxJ,KAAK+C,KAAM,EAAG,EAAGgwJ,EAAQC,EAAUH,GAErE7yJ,KAAK+C,KAAKikC,QAAQ0vG,OAAO19H,OAAO85I,GAAU,GAE1CA,EAAS3gH,KAAKmlG,eAAesD,MAAQxB,EACrC0Z,EAAS3gH,KAAK0sG,mBAAqBA,EACnCiU,EAAS3gH,KAAKwlG,cAAe,EAE7Bmb,EAAS5lJ,QAAS,EAClB4lJ,EAAS5xJ,SAAU,EACnB4xJ,EAASnsJ,OAAO4uB,SAASv1B,KAAKyxJ,gBAE9BzxJ,KAAKm5B,IAAI25H,GAETpwJ,IAGJ,OAAO1C,MASXwB,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAU+0C,KAAO,WAM7C,OAJAr3C,KAAK0xC,IAAK,EACV1xC,KAAK6yC,OAAQ,EACb7yC,KAAKkN,QAAS,EAEPlN,MASXwB,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAUk1C,OAAS,WAK/C,OAHAx3C,KAAK6yC,OAAQ,EACb7yC,KAAKkN,QAAS,EAEPlN,MAWXwB,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAU2wJ,QAAU,SAAU1hF,EAAUx8B,GAWpE,YATiBxuC,IAAbwuC,IAEAA,EAAW/0C,KAAKg1E,cAGpBh1E,KAAKyyJ,WAAa,EAElBzyJ,KAAKsM,OAAM,EAAMilE,EAAU,EAAGx8B,GAAU,GAEjC/0C,MAqBXwB,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAU4wJ,KAAO,SAAU3hF,EAAUu8B,EAAW/4D,EAAUiE,EAAOwkC,GA6B7F,YA3BkBj3E,IAAdunG,GAAyC,OAAdA,IAAsBA,EAAY,UAChDvnG,IAAbwuC,GAAuC,IAAbA,IAAkBA,EAAW,QAC7CxuC,IAAVyyC,IAAuBA,GAAS,QAClBzyC,IAAdi3E,IAA2BA,GAAY,GAEvCzoC,EAAW/0C,KAAKg1E,eAEhBjgC,EAAW/0C,KAAKg1E,cAGpBh1E,KAAKuyJ,SAAW,EAChBvyJ,KAAKwyJ,cAAgBz9G,EACrB/0C,KAAKyyJ,WAAaz5G,EAEdwkC,GAEAx9E,KAAKsM,OAAM,EAAMilE,EAAUu8B,EAAW/4D,GAEtC/0C,KAAKuyJ,UAAYx9G,EACjB/0C,KAAK0xC,IAAK,EACV1xC,KAAKsyJ,OAAStyJ,KAAK+C,KAAK0iC,KAAK4uE,WAAavG,GAI1C9tG,KAAKsM,OAAM,EAAOilE,EAAUu8B,EAAW/4D,GAGpC/0C,MAgCXwB,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAUgK,MAAQ,SAAU2mJ,EAAS1hF,EAAUu8B,EAAW90D,EAAOm6G,GAoB7F,QAlBgB5sJ,IAAZ0sJ,IAAyBA,GAAU,QACtB1sJ,IAAbgrE,IAA0BA,EAAW,QACvBhrE,IAAdunG,GAAyC,OAAdA,IAAsBA,EAAY,UACnDvnG,IAAVyyC,IAAuBA,EAAQ,QACbzyC,IAAlB4sJ,IAA+BA,GAAgB,GAE/Cn6G,EAAQh5C,KAAKg1E,eAEbh8B,EAAQh5C,KAAKg1E,cAGjBh1E,KAAKw3C,SAELx3C,KAAKkB,SAAU,EAEflB,KAAKuxE,SAAWA,EAChBvxE,KAAK8tG,UAAYA,EAEbmlD,GAAWE,EAEX,IAAK,IAAIzwJ,EAAI,EAAGA,EAAIs2C,EAAOt2C,IAEvB1C,KAAK2yJ,oBAKT3yJ,KAAK0xC,IAAK,EACV1xC,KAAK43I,OAAS5+F,EACdh5C,KAAKuyJ,SAAW,EAChBvyJ,KAAKsyJ,OAAStyJ,KAAK+C,KAAK0iC,KAAK4uE,WAAavG,EAG9C,OAAO9tG,MAmBXwB,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAUqwJ,aAAe,SAAU5uJ,EAAGC,EAAGgP,EAAK3F,QAEhE9G,IAANxC,IAAmBA,EAAI,WACjBwC,IAANvC,IAAmBA,EAAI,MAE3B,IAAI8uJ,EAAW9yJ,KAAKozJ,kBAEpB,GAAiB,OAAbN,EAKA,OAHA9yJ,KAAK8xJ,OAAOE,SACZhyJ,KAAK8xJ,OAAOI,eAEL,EAGXlyJ,KAAK8xJ,OAAOC,UACZ/xJ,KAAK8xJ,OAAOG,eAEZ,IAAIrsH,EAAM5lC,KAAK+C,KAAK6iC,SAERr/B,IAARyM,QAA+BzM,IAAV8G,EAErBylJ,EAASz5G,YAAYrmC,EAAK3F,QAEb9G,IAARyM,IAEL8/I,EAASz5G,YAAYrmC,GACrB8/I,EAASzlJ,MAAQ5F,MAAMC,QAAQ1H,KAAKo8G,SAAWx2E,EAAIwU,KAAKp6C,KAAKo8G,SAAWp8G,KAAKo8G,SAGjF,IAAIs1C,EAAQ1xJ,KAAK0xJ,MACbC,EAAQ3xJ,KAAK2xJ,MAsBjB,OApBU,OAAN5tJ,EAEA2tJ,EAAQ3tJ,EAEH/D,KAAKpC,MAAQ,IAElB8zJ,EAAQ9rH,EAAIwV,QAAQp7C,KAAK6zB,KAAM7zB,KAAK4zB,QAG9B,OAAN5vB,EAEA2tJ,EAAQ3tJ,EAEHhE,KAAKnC,OAAS,IAEnB8zJ,EAAQ/rH,EAAIwV,QAAQp7C,KAAKu2B,IAAKv2B,KAAKw2B,SAGvCx2B,KAAKqzJ,cAAcP,EAAUpB,EAAOC,IAE7B,GASXnwJ,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAU8wJ,gBAAkB,WAIxD,IAFA,IAAI1wJ,EAAI1C,KAAK2C,OAEND,KACP,CACI,IAAI8yC,EAAOx1C,KAAKw1C,OAEhB,IAAKA,EAAKtoC,OAEN,OAAOsoC,EAIf,OAAO,MAWXh0C,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAU+wJ,cAAgB,SAAUP,EAAU/uJ,EAAGC,GAE7E,IAAI4hC,EAAM5lC,KAAK+C,KAAK6iC,IAEpBktH,EAASxsH,MAAMviC,EAAGC,GAElB8uJ,EAASh9H,MAAQ,EACjBg9H,EAASvhF,SAAWvxE,KAAKuxE,SAErBvxE,KAAK4xJ,mBAEL5xJ,KAAK41C,WAAWk9G,GAEX9yJ,KAAK6xJ,oBAEV7xJ,KAAK81C,WAAWg9G,GAGhB9yJ,KAAK8vJ,UAELgD,EAAStC,aAAaxwJ,KAAKgwJ,UAAWhwJ,KAAK+vJ,cAEZ,IAA1B/vJ,KAAKixJ,kBAAoD,IAA1BjxJ,KAAKkxJ,iBAEzC4B,EAAShyJ,MAAMqG,IAAIy+B,EAAIspE,YAAYlvG,KAAKixJ,iBAAkBjxJ,KAAKkxJ,mBAEzDlxJ,KAAKoyJ,kBAAkBruJ,IAAM/D,KAAKqyJ,kBAAkBtuJ,GAAO/D,KAAKoyJ,kBAAkBpuJ,IAAMhE,KAAKqyJ,kBAAkBruJ,EAErH8uJ,EAAShyJ,MAAMqG,IAAIy+B,EAAIspE,YAAYlvG,KAAKoyJ,kBAAkBruJ,EAAG/D,KAAKqyJ,kBAAkBtuJ,GAAI6hC,EAAIspE,YAAYlvG,KAAKoyJ,kBAAkBpuJ,EAAGhE,KAAKqyJ,kBAAkBruJ,IAIzJ8uJ,EAAShyJ,MAAMqG,IAAInH,KAAKoyJ,kBAAkBruJ,EAAG/D,KAAKoyJ,kBAAkBpuJ,GAGpEhE,KAAKkwJ,UAEL4C,EAASvC,aAAavwJ,KAAKowJ,UAAWpwJ,KAAKmwJ,cAI3C2C,EAAS7xJ,MAAQ2kC,EAAIspE,YAAYlvG,KAAKqxJ,iBAAkBrxJ,KAAKsxJ,kBAGjEwB,EAAS7qJ,UAAYjI,KAAKiI,UAE1B,IAAIkqC,EAAO2gH,EAAS3gH,KAEpBA,EAAK2tG,eAEL3tG,EAAK6pG,OAAOzmH,SAASv1B,KAAKg8I,QAC1B7pG,EAAKwmG,KAAKpjH,SAASv1B,KAAKwxJ,cAEH,MAAjBxxJ,KAAK2wJ,UAAqC,MAAjB3wJ,KAAK4wJ,SAE9B5wJ,KAAK+C,KAAKikC,QAAQ0vG,OAAO+G,kBACpBz9I,KAAK2wJ,WAAa3wJ,KAAK4wJ,SAAY5wJ,KAAK2wJ,SAAW/qH,EAAIwV,QAAQp7C,KAAK2wJ,SAAU3wJ,KAAK4wJ,UACnF5wJ,KAAK6wJ,WAAa7wJ,KAAK8wJ,SAAY9wJ,KAAK6wJ,SAAWjrH,EAAIwV,QAAQp7C,KAAK6wJ,SAAU7wJ,KAAK8wJ,UACpF3+G,EAAKsmG,WAKTtmG,EAAKsmG,SAAS10I,EAAI6hC,EAAIwV,QAAQp7C,KAAK+wJ,iBAAiBhtJ,EAAG/D,KAAKgxJ,iBAAiBjtJ,GAC7EouC,EAAKsmG,SAASz0I,EAAI4hC,EAAIwV,QAAQp7C,KAAK+wJ,iBAAiB/sJ,EAAGhE,KAAKgxJ,iBAAiBhtJ,IAGjFmuC,EAAKkmG,gBAAkBzyG,EAAIwV,QAAQp7C,KAAKmxJ,YAAanxJ,KAAKoxJ,aAC1Dj/G,EAAKklG,QAAQ9hH,SAASv1B,KAAKq3I,SAC3BllG,EAAKomG,YAAcv4I,KAAKu4I,YAExBua,EAASxC,UAQb9uJ,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAUE,QAAU,WAEhDxC,KAAK+C,KAAKgkC,UAAU3qB,OAAOpc,MAE3BwB,EAAO8wC,MAAMhwC,UAAUE,QAAQgC,KAAKxE,MAAM,GAAM,IAWpDwB,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAU+jC,QAAU,SAAUzoC,EAAOC,GAKjE,OAHAmC,KAAKo/B,KAAKxhC,MAAQA,EAClBoC,KAAKo/B,KAAKvhC,OAASA,EAEZmC,MAaXwB,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAUgxJ,SAAW,SAAU1oJ,EAAMG,EAAMD,EAAME,GAK7E,OAHAhL,KAAKuzJ,UAAU3oJ,EAAMG,GACrB/K,KAAKwzJ,UAAU1oJ,EAAME,GAEdhL,MAWXwB,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAUixJ,UAAY,SAAU/5H,EAAKvzB,GAQjE,OANAuzB,EAAMA,GAAO,EACbvzB,EAAMA,GAAO,EAEbjG,KAAK+wJ,iBAAiBhtJ,EAAIy1B,EAC1Bx5B,KAAKgxJ,iBAAiBjtJ,EAAIkC,EAEnBjG,MAWXwB,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAUkxJ,UAAY,SAAUh6H,EAAKvzB,GAQjE,OANAuzB,EAAMA,GAAO,EACbvzB,EAAMA,GAAO,EAEbjG,KAAK+wJ,iBAAiB/sJ,EAAIw1B,EAC1Bx5B,KAAKgxJ,iBAAiBhtJ,EAAIiC,EAEnBjG,MAWXwB,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAUmxJ,YAAc,SAAUj6H,EAAKvzB,GAQnE,OANAuzB,EAAMA,GAAO,EACbvzB,EAAMA,GAAO,EAEbjG,KAAKmxJ,YAAc33H,EACnBx5B,KAAKoxJ,YAAcnrJ,EAEZjG,MAgBXwB,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAUoxJ,SAAW,SAAUl6H,EAAKvzB,EAAK0tJ,EAAM/9C,EAAMC,GAYjF,QAVYtvG,IAARizB,IAAqBA,EAAM,QACnBjzB,IAARN,IAAqBA,EAAM,QAClBM,IAATotJ,IAAsBA,EAAO,QACpBptJ,IAATqvG,IAAsBA,EAAOp0G,EAAO+uG,OAAOK,OAAOC,WACzCtqG,IAATsvG,IAAsBA,GAAO,GAEjC71G,KAAKqxJ,iBAAmB73H,EACxBx5B,KAAKsxJ,iBAAmBrrJ,EACxBjG,KAAKkwJ,WAAY,EAEbyD,EAAO,GAAKn6H,IAAQvzB,EACxB,CACI,IAAI2tJ,GAAch1G,EAAGplB,GACjBu6C,EAAQ/zE,KAAK+C,KAAK0jC,KAAKstC,MAAM6/E,GAAWviI,IAAKutB,EAAG34C,GAAO0tJ,EAAM/9C,GACjE7hC,EAAM8hC,KAAKA,GAEX71G,KAAKowJ,UAAYr8E,EAAMgjC,aAAa/2G,KAAK+C,KAAK0iC,KAAKuyE,YACnDh4G,KAAKmwJ,aAAenwJ,KAAK+C,KAAK0iC,KAAKuyE,WAGnCh4G,KAAKowJ,UAAU7xI,UACfve,KAAKkwJ,WAAY,EAGrB,OAAOlwJ,MAkBXwB,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAUkpJ,SAAW,SAAU5gJ,EAAMG,EAAMD,EAAME,EAAM2oJ,EAAM/9C,EAAMC,GAmB/F,QAjBatvG,IAATqE,IAAsBA,EAAO,QACpBrE,IAATwE,IAAsBA,EAAO,QACpBxE,IAATuE,IAAsBA,EAAO,QACpBvE,IAATyE,IAAsBA,EAAO,QACpBzE,IAATotJ,IAAsBA,EAAO,QACpBptJ,IAATqvG,IAAsBA,EAAOp0G,EAAO+uG,OAAOK,OAAOC,WACzCtqG,IAATsvG,IAAsBA,GAAO,GAGjC71G,KAAKixJ,iBAAmB,EACxBjxJ,KAAKkxJ,iBAAmB,EAExBlxJ,KAAKoyJ,kBAAkBjrJ,IAAIyD,EAAME,GACjC9K,KAAKqyJ,kBAAkBlrJ,IAAI4D,EAAMC,GAEjChL,KAAK8vJ,WAAY,EAEb6D,EAAO,IAAO/oJ,IAASG,GAAUD,IAASE,GAC9C,CACI,IAAI4oJ,GAAc7vJ,EAAG6G,EAAM5G,EAAG8G,GAC1BipE,EAAQ/zE,KAAK+C,KAAK0jC,KAAKstC,MAAM6/E,GAAWviI,IAAKttB,EAAGgH,EAAM/G,EAAGgH,GAAQ2oJ,EAAM/9C,GAC3E7hC,EAAM8hC,KAAKA,GAEX71G,KAAKgwJ,UAAYj8E,EAAMgjC,aAAa/2G,KAAK+C,KAAK0iC,KAAKuyE,YACnDh4G,KAAK+vJ,aAAe/vJ,KAAK+C,KAAK0iC,KAAKuyE,WAGnCh4G,KAAKgwJ,UAAUzxI,UACfve,KAAK8vJ,WAAY,EAGrB,OAAO9vJ,MAiBXwB,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAUuxJ,SAAW,SAAUlD,EAAUC,EAAUC,EAAUC,GAQzF,OANA9wJ,KAAK2wJ,SAAWA,EAChB3wJ,KAAK4wJ,SAAWA,EAEA,MAAZC,IAAoB7wJ,KAAK6wJ,SAAWA,GACxB,MAAZC,IAAoB9wJ,KAAK8wJ,SAAWA,GAEjC9wJ,MAWXwB,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAUwxJ,WAAa,SAAU/vJ,EAAGC,GAOhE,OALAD,EAAIA,GAAK,EACTC,EAAIA,GAAK,EAEThE,KAAKmyJ,SAAShrJ,IAAIpD,EAAGC,GAEdhE,MAWXwB,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAUyxJ,GAAK,SAAUt6G,GAarD,OAXIA,EAAOza,QAEPh/B,KAAK0xJ,MAAQj4G,EAAOza,OAAOj7B,EAC3B/D,KAAK2xJ,MAAQl4G,EAAOza,OAAOh7B,IAI3BhE,KAAK0xJ,MAAQj4G,EAAOx2C,MAAMc,EAAK01C,EAAO9yC,OAAO5C,EAAI01C,EAAO77C,MACxDoC,KAAK2xJ,MAAQl4G,EAAOx2C,MAAMe,EAAKy1C,EAAO9yC,OAAO3C,EAAIy1C,EAAO57C,QAGrDmC,MAOXgH,OAAOyF,eAAejL,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAW,WAE7D4E,IAAK,WAED,OAAOlH,KAAKmyJ,UAGhBhrJ,IAAK,SAAUC,GAEU,iBAAVA,EAEPpH,KAAKmyJ,SAASnuJ,EAAIoD,EAIlBpH,KAAKmyJ,SAAW/qJ,KAU5BJ,OAAOyF,eAAejL,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAW,MAC7D4E,IAAK,WAED,OAAOlH,KAAK8zH,OAQpB9sH,OAAOyF,eAAejL,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAW,SAE7D4E,IAAK,WAED,OAAOlH,KAAKo/B,KAAKxhC,OAGrBuJ,IAAK,SAAUC,GAEXpH,KAAKo/B,KAAKxhC,MAAQwJ,KAS1BJ,OAAOyF,eAAejL,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAW,UAE7D4E,IAAK,WAED,OAAOlH,KAAKo/B,KAAKvhC,QAGrBsJ,IAAK,SAAUC,GAEXpH,KAAKo/B,KAAKvhC,OAASuJ,KAS3BJ,OAAOyF,eAAejL,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAW,KAE7D4E,IAAK,WAED,OAAOlH,KAAK0xJ,OAGhBvqJ,IAAK,SAAUC,GAEXpH,KAAK0xJ,MAAQtqJ,KASrBJ,OAAOyF,eAAejL,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAW,KAE7D4E,IAAK,WAED,OAAOlH,KAAK2xJ,OAGhBxqJ,IAAK,SAAUC,GAEXpH,KAAK2xJ,MAAQvqJ,KAUrBJ,OAAOyF,eAAejL,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAW,QAE7D4E,IAAK,WAED,OAAOxD,KAAKqsB,MAAM/vB,KAAK+D,EAAK/D,KAAKo/B,KAAKxhC,MAAQ,MAUtDoJ,OAAOyF,eAAejL,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAW,SAE7D4E,IAAK,WAED,OAAOxD,KAAKqsB,MAAM/vB,KAAK+D,EAAK/D,KAAKo/B,KAAKxhC,MAAQ,MAUtDoJ,OAAOyF,eAAejL,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAW,OAE7D4E,IAAK,WAED,OAAOxD,KAAKqsB,MAAM/vB,KAAKgE,EAAKhE,KAAKo/B,KAAKvhC,OAAS,MAUvDmJ,OAAOyF,eAAejL,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAW,UAE7D4E,IAAK,WAED,OAAOxD,KAAKqsB,MAAM/vB,KAAKgE,EAAKhE,KAAKo/B,KAAKvhC,OAAS,MAUvDmJ,OAAOyF,eAAejL,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAW,UAE7D4E,IAAK,WAED,OAAO,IAAOlH,KAAKwyJ,cAAgBxyJ,KAAK8tG,aAUhD9mG,OAAOyF,eAAejL,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAW,kBAE7D4E,IAAK,WAED,OAA0B,IAAlBlH,KAAKuxE,SAAiB1mE,EAAAA,EAAW7K,KAAKuxE,UAAYvxE,KAAKwyJ,cAAgBxyJ,KAAK8tG,aAU5F9mG,OAAOyF,eAAejL,EAAOs8C,UAAUm3B,OAAOC,QAAQ5yE,UAAW,aAE7D4E,IAAK,WAED,OAAOlH,KAAKg1E,aAAeh1E,KAAKg0J,kBA0ExCxyJ,EAAOgyE,OAAS,SAAUzwE,EAAM1B,GAG5BG,EAAOqtC,OAAOrqC,KAAKxE,KAAM+C,EAAM1B,GAM/BrB,KAAKi0J,QAAU,KAQfj0J,KAAKk0J,wBAAyB,EAQ9Bl0J,KAAKm0J,UAAW,EAShBn0J,KAAKo0J,MAAQ,EASbp0J,KAAKq0J,UAAY,EAOjBr0J,KAAKs0J,SAAW,IAUhBt0J,KAAKu0J,iBAAmB,EAQxBv0J,KAAKw0J,SAAW,IAAIhzJ,EAAOS,UAAU,EAAG,EAAG,EAAG,GAQ9CjC,KAAKy0J,UAAYjzJ,EAAO8sB,SAOxBtuB,KAAK00J,0BAA2B,EAQhC10J,KAAK20J,gBAAkB,GAQvB30J,KAAK40J,mBAAoB,EAWzB50J,KAAK60J,kBAAmB,EAQxB70J,KAAK80J,iBAAkB,EASvB90J,KAAK+0J,uBAAyB,EAU9B/0J,KAAKg1J,kBAAoB,EAUzBh1J,KAAKi1J,oBAAsB,EAO3Bj1J,KAAKk1J,YAAc,IASnBl1J,KAAKm1J,oBAAsB,EAS3Bn1J,KAAKo1J,eAAiB,EAQtBp1J,KAAKq1J,mBAAqB,EAO1Br1J,KAAKs1J,cAAgB,IAAI9zJ,EAAOX,MAAM,EAAG,GASzCb,KAAKu1J,wBAAyB,EAQ9Bv1J,KAAKw1J,UAAY,GAQjBx1J,KAAKy1J,YAAc,GAOnBz1J,KAAK01J,aAAel0J,EAAOm0J,OAO3B31J,KAAK41J,2BAA4B,EAOjC51J,KAAK61J,gBAAkBr0J,EAAOgyE,OAAOsiF,kBAQrC91J,KAAKg3F,OACD++D,YAAY,EACZn4J,MAAO,EACPC,OAAQ,EACR8mB,QAAS,EACTC,QAAS,GAWb5kB,KAAK8E,OAAS,IAAItD,EAAOS,UAQzBjC,KAAKg2J,aAAejzJ,EAAKE,MAAM6B,OAQ/B9E,KAAKi2J,gBAQLj2J,KAAKk2J,iBAAmB,EAOxBl2J,KAAKm2J,SASLn2J,KAAKo2J,OAAS,IAAI50J,EAAO+gC,OASzBviC,KAAKq2J,OAAS,IAAI70J,EAAO+gC,OAUzBviC,KAAKs2J,YAAc,IAAI90J,EAAO+gC,OAQ9BviC,KAAKu2J,cAAgB,KAQrBv2J,KAAKw2J,eAAiB,KAYtBx2J,KAAKy2J,WAAY,EAOjBz2J,KAAK02J,WAAY,EAUjB12J,KAAK22J,eAAgB,EAUrB32J,KAAK42J,YAAc,IAAIp1J,EAAOX,MAQ9Bb,KAAK62J,UAAY,EAQjB72J,KAAK82J,cAAgB,EAQrB92J,KAAK+2J,cAAgB,IAAIv1J,EAAOX,OAIpCW,EAAOgyE,OAAOlxE,UAAY0E,OAAOwB,OAAOhH,EAAOqtC,OAAOvsC,WACtDd,EAAOgyE,OAAOlxE,UAAUC,YAAcf,EAAOgyE,OAO7ChyE,EAAOgyE,OAAOwjF,WAAa,EAO3Bx1J,EAAOgyE,OAAOyjF,cAAgB,EAQ9Bz1J,EAAOgyE,OAAO0jF,cAAgB,EAO9B11J,EAAOgyE,OAAO2jF,mBAAqB,EAOnC31J,EAAOgyE,OAAO4jF,mBAAqB,EAOnC51J,EAAOgyE,OAAOsiF,kBAAoB,EAOlCt0J,EAAOgyE,OAAO6jF,mBAAqB,EA4BnC71J,EAAOgyE,OAAOlxE,UAAUmxE,cAAgB,SAAU1+B,EAAU/hC,EAAK3F,EAAOktC,GAiCpE,YA9BiBh0C,IAAbwuC,IAA0BA,EAAW,QAC3BxuC,IAAVg0C,IAAuBA,EAAQv6C,KAAK+C,KAAKE,OAEzCjD,KAAKi0J,UAAYj0J,KAAKi0J,QAAQlxJ,OAE9B/C,KAAKi0J,QAAU,MAGdj0J,KAAKi0J,UAENj0J,KAAKi0J,QAAUj0J,KAAK+C,KAAKo2B,IAAI66C,aAAaxyE,EAAOkxC,QAAQC,OAAQ4H,GACjEv6C,KAAKi0J,QAAQjhH,UAAYhzC,KAAK01J,cAGjB,IAAb3gH,KAEkB,IAAdA,IAEA/0C,KAAKk0J,wBAAyB,EAC9Bn/G,EAAW,GAGf/0C,KAAKi0J,QAAQn/G,eAAeC,EAAU/hC,EAAK3F,GAE3CrN,KAAKi0J,QAAQt9G,OAAO,qBAAsB32C,MAE1CA,KAAKw1J,UAAYxiJ,EACjBhT,KAAKy1J,YAAcpoJ,GAGhBrN,MAeXwB,EAAOgyE,OAAOlxE,UAAUuuB,QAAU,SAAUmkB,EAAUxL,GAKlD,OAFAxpC,KAAKi0J,QAAQ37G,cAActD,EAAUxL,EAAiBhZ,WAE/CxwB,MAYXwB,EAAOgyE,OAAOlxE,UAAUqyG,SAAW,WAK/B,OAFA30G,KAAKi0J,QAAQt9G,OAAO,eAAe,GAE5B32C,MAYXwB,EAAOgyE,OAAOlxE,UAAUsyG,UAAY,WAKhC,OAFA50G,KAAKi0J,QAAQt9G,OAAO,eAAe,GAE5B32C,MAWXwB,EAAOgyE,OAAOlxE,UAAUg1C,QAAU,WAO9B,OAJAt3C,KAAKi0J,QAAQ18G,cAAc,QAAQ,GAEnCv3C,KAAKi0J,QAAQt9G,OAAO,eAAe,GAE5B32C,MAYXwB,EAAOgyE,OAAOlxE,UAAUg1J,WAAa,SAAUC,GAU3C,OAPAv3J,KAAKo0J,MAAQ,OAEI7tJ,IAAbgxJ,IAEAv3J,KAAKq0J,UAAYkD,GAGdv3J,MAUXwB,EAAOgyE,OAAOlxE,UAAUE,QAAU,WAG9BxC,KAAKqB,OAAO+a,OAAOpc,MAAM,GAEzBA,KAAKi0J,QAAQzxJ,UAEbxC,KAAK+C,KAAO,KACZ/C,KAAKqB,OAAS,KACdrB,KAAKgrC,QAAS,EACdhrC,KAAKkB,SAAU,GAUnBM,EAAOgyE,OAAOlxE,UAAU+iC,OAAS,WAGzBrlC,KAAK61J,kBAAoBr0J,EAAOgyE,OAAO2jF,qBAEnCn3J,KAAKu2J,eAELv2J,KAAKu2J,cAAczzJ,kBACnB9C,KAAK8E,OAAOo0B,SAASl5B,KAAKu2J,cAAc70J,cAAcqC,EAAG/D,KAAKu2J,cAAc70J,cAAcsC,IAErFhE,KAAKw2J,gBAEVx2J,KAAK8E,OAAOo0B,SAASl5B,KAAKw2J,eAAelsB,OAAQtqI,KAAKw2J,eAAejsB,SAIzEvqI,KAAKm0J,UAELn0J,KAAKw3J,QAWbh2J,EAAOgyE,OAAOlxE,UAAU2Y,WAAa,WAG5Bjb,KAAKy2J,WAAcz2J,KAAK02J,YAK7B12J,KAAK02J,WAAY,EAEjB12J,KAAK62J,UAAY72J,KAAK82J,gBAqB1Bt1J,EAAOgyE,OAAOlxE,UAAUm1J,YAAc,SAAUl0I,EAAQoB,EAASC,EAAS+xI,GAatE,YAVgBpwJ,IAAZoe,IAAyBA,EAAU,QACvBpe,IAAZqe,IAAyBA,EAAU,QACjBre,IAAlBowJ,IAA+BA,GAAgB,GAEnD32J,KAAKw2J,eAAiB,KACtBx2J,KAAKu2J,cAAgBhzI,EACrBvjB,KAAK22J,cAAgBA,EAErB32J,KAAK42J,YAAYzvJ,IAAIwd,EAASC,GAEvB5kB,MAoBXwB,EAAOgyE,OAAOlxE,UAAUo1J,aAAe,SAAUppH,EAAS3pB,EAASC,GAa/D,YAVgBre,IAAZ+nC,IAAyBA,EAAUtuC,KAAK+C,KAAK2jC,MAAMmc,oBACvCt8C,IAAZoe,IAAyBA,EAAU,QACvBpe,IAAZqe,IAAyBA,EAAU,GAEvC5kB,KAAKw2J,eAAiBloH,EACtBtuC,KAAKu2J,cAAgB,KACrBv2J,KAAK22J,eAAgB,EAErB32J,KAAK42J,YAAYzvJ,IAAIwd,EAASC,GAEvB5kB,MA0BXwB,EAAOgyE,OAAOlxE,UAAUq1J,SAAW,SAAUt1I,EAAW5c,GAGpDzF,KAAKy2J,WAAY,EAEjB,IAAIxC,KAEAtnH,EAAQ3sC,KAqBZ,OAnBIyF,GAAQzF,KAAKu2J,eAAiBv2J,KAAKw2J,eAEnCn0I,EAAUwO,QAAQ,SAAUpZ,GAGxBw8I,EAAQnsJ,KAAK6kC,EAAM6qH,KAAK/xJ,EAAM,KAAM,KAAMgS,EAAO1T,EAAG0T,EAAOzT,MAM/Dqe,EAAUwO,QAAQ,SAAUjwB,GAGxBqzJ,EAAQnsJ,KAAK6kC,EAAM6qH,KAAK52J,MAKzBqzJ,GAyBXzyJ,EAAOgyE,OAAOlxE,UAAUs1J,WAAa,SAAUjzI,EAASC,GAMpD,YAHgBre,IAAZoe,IAAyBA,EAAU,QACvBpe,IAAZqe,IAAyBA,EAAU,GAEhC5kB,KAAKw3J,KAAK,KAAM,KAAM,KAAM7yI,EAASC,IA+BhDpjB,EAAOgyE,OAAOlxE,UAAUk1J,KAAO,SAAU/xJ,EAAM1B,EAAGC,EAAG2gB,EAASC,GAM1D,QAHUre,IAANxC,IAAmBA,EAAI,WACjBwC,IAANvC,IAAmBA,EAAI,MAEvBhE,KAAK+C,KAAK0iC,KAAK4uE,WAAar0G,KAAK62J,WAAc72J,KAAKq0J,UAAY,GAAKr0J,KAAKo0J,QAAUp0J,KAAKq0J,UAEzF,OAAO,KAGX,IAAI/yG,EAAQthD,KAAKk1J,YAGgB,IAA7Bl1J,KAAKm1J,sBAEL7zG,GAAS9/C,EAAOkC,KAAK03C,SAASp7C,KAAKm1J,oBAAqBn1J,KAAKm1J,sBAG7D1vJ,EAEIzF,KAAKw0J,SAAS52J,MAAQ,EAEtBoC,KAAKw0J,SAASt7H,SAASzzB,EAAK1B,EAAG0B,EAAKzB,IAIpChE,KAAKw0J,SAASzwJ,EAAI0B,EAAK1B,EACvB/D,KAAKw0J,SAASxwJ,EAAIyB,EAAKzB,GAGtBhE,KAAKu2J,eAENv2J,KAAK22J,eAEL32J,KAAK+2J,cAAc5vJ,IAAInH,KAAKu2J,cAActzJ,MAAMc,EAAI/D,KAAK42J,YAAY7yJ,EAAG/D,KAAKu2J,cAActzJ,MAAMe,EAAIhE,KAAK42J,YAAY5yJ,GACtHhE,KAAK+2J,cAAcr+H,OAAO14B,KAAKu2J,cAActzJ,MAAMc,EAAG/D,KAAKu2J,cAActzJ,MAAMe,EAAGhE,KAAKu2J,cAAc30J,eAEjG5B,KAAKw0J,SAAS52J,MAAQ,EAEtBoC,KAAKw0J,SAASt7H,SAASl5B,KAAK+2J,cAAchzJ,EAAG/D,KAAK+2J,cAAc/yJ,IAIhEhE,KAAKw0J,SAASzwJ,EAAI/D,KAAK+2J,cAAchzJ,EACrC/D,KAAKw0J,SAASxwJ,EAAIhE,KAAK+2J,cAAc/yJ,IAIzChE,KAAKw0J,SAAS52J,MAAQ,EAEtBoC,KAAKw0J,SAASt7H,SAASl5B,KAAKu2J,cAActzJ,MAAMc,EAAI/D,KAAK42J,YAAY7yJ,EAAG/D,KAAKu2J,cAActzJ,MAAMe,EAAIhE,KAAK42J,YAAY5yJ,IAItHhE,KAAKw0J,SAASzwJ,EAAI/D,KAAKu2J,cAActzJ,MAAMc,EAAI/D,KAAK42J,YAAY7yJ,EAChE/D,KAAKw0J,SAASxwJ,EAAIhE,KAAKu2J,cAActzJ,MAAMe,EAAIhE,KAAK42J,YAAY5yJ,GAGhEhE,KAAK00J,2BAELpzG,GAASthD,KAAKu2J,cAAcpkH,KAAKmP,QAGhCthD,KAAKw2J,iBAENx2J,KAAKw0J,SAAS52J,MAAQ,EAEtBoC,KAAKw0J,SAASt7H,SAASl5B,KAAKw2J,eAAevzJ,MAAMc,EAAI/D,KAAK42J,YAAY7yJ,EAAG/D,KAAKw2J,eAAevzJ,MAAMe,EAAIhE,KAAK42J,YAAY5yJ,IAIxHhE,KAAKw0J,SAASzwJ,EAAI/D,KAAKw2J,eAAevzJ,MAAMc,EAAI/D,KAAK42J,YAAY7yJ,EACjE/D,KAAKw0J,SAASxwJ,EAAIhE,KAAKw2J,eAAevzJ,MAAMe,EAAIhE,KAAK42J,YAAY5yJ,SAIzDuC,IAAZoe,IAEA3kB,KAAKw0J,SAASzwJ,GAAK4gB,QAGPpe,IAAZqe,IAEA5kB,KAAKw0J,SAASxwJ,GAAK4gB,GAGvB,IAAIujE,EAASnoF,KAAKw0J,SAAS52J,MAAQ,EAAKoC,KAAKw0J,SAAS3zH,QAAU7gC,KAAKw0J,SAASzwJ,EAC1EqkF,EAASpoF,KAAKw0J,SAAS32J,OAAS,EAAKmC,KAAKw0J,SAAS1zH,QAAU9gC,KAAKw0J,SAASxwJ,EAE3E8xB,EAAS91B,KAAkB,cAAIA,KAAKu2J,cAAczgI,MAAQ91B,KAAKy0J,UAGzD,OAAN1wJ,GAAoB,OAANC,IAEd8xB,EAAQ91B,KAAK+C,KAAKgjC,KAAK7I,SAASx5B,KAAKu5B,MAAMj5B,EAAIokF,EAAOrkF,EAAIokF,KAI7B,IAA7BnoF,KAAKi1J,sBAELn/H,GAASt0B,EAAOkC,KAAK03C,SAASp7C,KAAKi1J,oBAAqBj1J,KAAKi1J,sBAGjE,IAAI4C,EAAQ,EACRC,EAAQ,EAGE,IAAVhiI,GAAyB,MAAVA,EAEf+hI,EAAQn0J,KAAKI,IAAI9D,KAAK+C,KAAKgjC,KAAKpP,SAASb,IAAUwrB,EAEpC,KAAVxrB,GAA0B,MAAVA,EAErBgiI,EAAQp0J,KAAKG,IAAI7D,KAAK+C,KAAKgjC,KAAKpP,SAASb,IAAUwrB,GAInDu2G,EAAQn0J,KAAKI,IAAI9D,KAAK+C,KAAKgjC,KAAKpP,SAASb,IAAUwrB,EACnDw2G,EAAQp0J,KAAKG,IAAI7D,KAAK+C,KAAKgjC,KAAKpP,SAASb,IAAUwrB,GAGvD,IAAIy2G,EAAS,KAab,GAXI/3J,KAAKk0J,wBAEL6D,EAAS/3J,KAAKi0J,QAAQh7G,gBAAe,GAAO,EAAMkvC,EAAOC,EAAOpoF,KAAKw1J,UAAWx1J,KAAKy1J,cAE9ErhJ,KAAK4jJ,cAAgBh4J,KAI5B+3J,EAAS/3J,KAAKi0J,QAAQh7G,gBAAe,GAGrC8+G,EACJ,CAiBI,GAhBAA,EAAOzxH,MAAM6hD,EAAOC,GAEpB2vE,EAAO3jJ,KAAK+zE,MAAQA,EACpB4vE,EAAO3jJ,KAAKg0E,MAAQA,EACpB2vE,EAAO3jJ,KAAK6jJ,SAAWj4J,KAAKk4J,eAC5BH,EAAO3jJ,KAAK+jJ,aAAen4J,KAAKq1J,mBAChC0C,EAAO3jJ,KAAKgkJ,iBAAmBp4J,KAAKu1J,uBAEhCv1J,KAAKk4J,iBAAmB12J,EAAOgyE,OAAOyjF,gBAEtCc,EAAOxmF,SAAWvxE,KAAKo1J,gBAG3B2C,EAAOjiI,MAAQA,EAAQ91B,KAAKg1J,kBAGC,KAAzBh1J,KAAK20J,gBACT,CACI,GAA6D,OAAzDoD,EAAOxsF,WAAWuwC,aAAa97G,KAAK20J,iBACxC,CACI,IAAIp5C,EAAOv7G,KAAKm2J,MAAMn2J,KAAK20J,iBAE3BoD,EAAOxsF,WAAWpyC,IAAIoiF,EAAKrpF,KAAMqpF,EAAKjgB,OAAQigB,EAAKnwC,UAAWmwC,EAAKlwC,KAAMkwC,EAAKE,iBAGlFs8C,EAAOxsF,WAAWJ,KAAKnrE,KAAK20J,sBAG5B30J,KAAK60J,kBAELkD,EAAO1qJ,MAAQrN,KAAKi2J,aAAaj2J,KAAKk2J,oBAEtCl2J,KAAKk2J,kBAEwBl2J,KAAKi2J,aAAatzJ,SAE3C3C,KAAKk2J,iBAAmB,IAGvBl2J,KAAK40J,oBAEVmD,EAAO1qJ,MAAQrN,KAAKi2J,aAAavyJ,KAAKqsB,MAAMrsB,KAAKmvB,SAAW7yB,KAAKi2J,aAAatzJ,UAG9Eo1J,EAAO3jJ,KAAKikJ,YAERr4J,KAAKg3F,MAAM++D,YAEXgC,EAAO5lH,KAAK9L,QAAQrmC,KAAKg3F,MAAMp5F,MAAOoC,KAAKg3F,MAAMn5F,OAAQmC,KAAKg3F,MAAMryE,QAAS3kB,KAAKg3F,MAAMpyE,SAG5FmzI,EAAO5lH,KAAK0sG,mBAAqB7+I,KAAKs4J,yBAEtCP,EAAO3jJ,KAAKikJ,WAAY,GAG5BN,EAAO5lH,KAAKsmG,SAAStxI,IAAI0wJ,EAAOC,GAChCC,EAAO5lH,KAAKklG,QAAQlwI,IAAInH,KAAKs1J,cAAcvxJ,EAAG/D,KAAKs1J,cAActxJ,GAEjE,IAAIwxC,EAAO,EAEX,GAAiC,IAA7Bx1C,KAAKm1J,oBACT,CACI,IAAIxB,EAAO3zJ,KAAKs0J,UAEhBX,GAAQnyJ,EAAOkC,KAAK03C,SAASp7C,KAAKu0J,iBAAkBv0J,KAAKu0J,mBAE9C,IAEPZ,EAAO,GAGXn+G,EAAOx1C,KAAK+C,KAAK0iC,KAAK4uE,WAAas/C,OAInCn+G,EAAOx1C,KAAK+C,KAAK0iC,KAAK4uE,WAAar0G,KAAKs0J,SAGxCt0J,KAAKy2J,UAEAz2J,KAAK02J,YAGN12J,KAAK02J,WAAY,EACjB12J,KAAK82J,cAAgBthH,EACrBx1C,KAAKo0J,UAKTp0J,KAAK62J,UAAYrhH,EAEjBx1C,KAAKo0J,SAGTp0J,KAAKo2J,OAAOzwH,SAASoyH,EAAQ/3J,KAAMshD,GAE/BthD,KAAKq0J,UAAY,GAAKr0J,KAAKo0J,QAAUp0J,KAAKq0J,WAE1Cr0J,KAAKs2J,YAAY3wH,SAAS3lC,KAAMA,KAAKq0J,WAI7C,OAAO0D,GAYXv2J,EAAOgyE,OAAOlxE,UAAUi2J,cAAgB,SAAUjqH,GAK9C,YAFgB/nC,IAAZ+nC,IAAyBA,EAAUtuC,KAAK+C,KAAK2jC,MAAMmc,eAEhD7iD,KAAKw3J,KAAK,KAAMlpH,EAAQg8F,OAAQh8F,EAAQi8F,SAYnD/oI,EAAOgyE,OAAOlxE,UAAUk2J,aAAe,SAAUj1I,GAG7C,OAAOvjB,KAAKw3J,KAAK,KAAMj0I,EAAOtgB,MAAMc,EAAGwf,EAAOtgB,MAAMe,IAaxDxC,EAAOgyE,OAAOlxE,UAAUm2J,SAAW,SAAU10J,EAAGC,GAG5C,OAAOhE,KAAKw3J,KAAK,KAAMzzJ,EAAGC,IA0B9BxC,EAAOgyE,OAAOlxE,UAAUo2J,oBAAsB,SAAU96J,EAAOC,EAAQ8mB,EAASC,GAgB5E,YAbgBre,IAAZoe,IAAyBA,EAAU,QACvBpe,IAAZqe,IAAyBA,EAAU,GAEvC5kB,KAAKg3F,MAAM++D,YAAa,EACxB/1J,KAAKg3F,MAAMp5F,MAAQA,EACnBoC,KAAKg3F,MAAMn5F,OAASA,EACpBmC,KAAKg3F,MAAMryE,QAAUA,EACrB3kB,KAAKg3F,MAAMpyE,QAAUA,EAGrB5kB,KAAKi0J,QAAQl8G,QAAQ,eAAgB,OAAQn6C,EAAOC,EAAQ8mB,EAASC,GACrE5kB,KAAKi0J,QAAQt9G,OAAO,kBAAkB,GAE/B32C,MAsBXwB,EAAOgyE,OAAOlxE,UAAUq2J,gBAAkB,SAAUn/H,EAAKvzB,EAAK2yJ,EAAO/lI,GAajE,YAVctsB,IAAVqyJ,IAAuBA,GAAQ,QACpBryJ,IAAXssB,IAAwBA,GAAS,GAErC7yB,KAAKi2J,aAAez0J,EAAOu4C,WAAWw1F,YAAY/1G,EAAKvzB,GAEvDjG,KAAKk2J,iBAAmB,EAExBl2J,KAAK60J,iBAAmB+D,EACxB54J,KAAK40J,kBAAoB/hI,EAElB7yB,MAuBXwB,EAAOgyE,OAAOlxE,UAAUu2J,mBAAqB,SAAU3mI,EAAMopE,EAAQlwB,EAAWC,EAAMowC,GAgBlF,OAbAz7G,KAAKm2J,MAAMjkI,IACPA,KAAMA,EACNopE,OAAQA,EACRlwB,UAAWA,EACXC,KAAMA,EACNowC,gBAAiBA,GAIrBz7G,KAAKi0J,QAAQl8G,QAAQ,iBAAkB,aAAc7lB,EAAMopE,EAAQlwB,EAAWC,EAAMowC,GAEpFz7G,KAAK20J,gBAAkBziI,EAEhBlyB,MAaXwB,EAAOgyE,OAAOlxE,UAAU8nC,MAAQ,SAAUrmC,EAAGC,EAAG80J,QAGlCvyJ,IAANxC,IAAmBA,EAAI,SACjBwC,IAANvC,IAAmBA,EAAI,SACPuC,IAAhBuyJ,IAA6BA,GAAc,GAE/C94J,KAAK+C,KAAKqnC,MAAMoqC,KAAK,gBAAiBzwE,EAAGC,GACzChE,KAAK+C,KAAKqnC,MAAMoqC,KAAK,kBAAoBx0E,KAAKi0J,QAAQj7G,MAAQ,aAAeh5C,KAAKi0J,QAAQtxJ,OAAQoB,EAAGC,EAAI,IAErG80J,GAEA94J,KAAKi0J,QAAQ37G,cAAct4C,KAAK+C,KAAKqnC,MAAM+H,KAAMnyC,KAAK+C,KAAKqnC,MAAO,2BAc1EpjC,OAAOyF,eAAejL,EAAOgyE,OAAOlxE,UAAW,eAE3C4E,IAAK,WAGD,OAAOlH,KAAK01J,cAIhBvuJ,IAAK,SAAU6rC,GAGXhzC,KAAK01J,aAAe1iH,EAGhBhzC,KAAKi0J,UAELj0J,KAAKi0J,QAAQjhH,UAAYhzC,KAAK01J,iBAqC1C1uJ,OAAOyF,eAAejL,EAAOgyE,OAAOlxE,UAAW,kBAE3C4E,IAAK,WAGD,OAAOlH,KAAK61J,iBAIhB1uJ,IAAK,SAAUqM,GAGX,OAAQA,GAEJ,KAAKhS,EAAOgyE,OAAO6jF,mBACnB,KAAK71J,EAAOgyE,OAAO2jF,mBACfn3J,KAAKg2J,aAAeh2J,KAAK8E,OACzB,MAEJ,KAAKtD,EAAOgyE,OAAO4jF,mBACfp3J,KAAKg2J,aAAeh2J,KAAK+C,KAAK+X,OAAO7D,KACrC,MAEJ,KAAKzV,EAAOgyE,OAAOsiF,kBACf91J,KAAKg2J,aAAeh2J,KAAK+C,KAAKE,MAAM6B,OAI5C9E,KAAK61J,gBAAkBriJ,KAY/BxM,OAAOyF,eAAejL,EAAOgyE,OAAOlxE,UAAW,4BAE3C4E,IAAK,WAGD,OAAOlH,KAAK41J,2BAIhBzuJ,IAAK,SAAUC,GAGXpH,KAAK41J,0BAA4BxuJ,EAEjCpH,KAAKi0J,QAAQt9G,OAAO,0BAA2BvvC,GAC/CpH,KAAKi0J,QAAQt9G,OAAO,kBAAkB,MAa9C3vC,OAAOyF,eAAejL,EAAOgyE,OAAOlxE,UAAW,KAE3C4E,IAAK,WAGD,OAAOlH,KAAKw0J,SAASzwJ,GAIzBoD,IAAK,SAAUC,GAGXpH,KAAKw0J,SAASzwJ,EAAIqD,KAY1BJ,OAAOyF,eAAejL,EAAOgyE,OAAOlxE,UAAW,KAE3C4E,IAAK,WAGD,OAAOlH,KAAKw0J,SAASxwJ,GAIzBmD,IAAK,SAAUC,GAGXpH,KAAKw0J,SAASxwJ,EAAIoD,KAwB1B5F,EAAOm0J,OAAS,SAAU5yJ,EAAMgB,EAAGC,EAAGgP,EAAK3F,GAGvC7L,EAAOsE,OAAOtB,KAAKxE,KAAM+C,EAAMgB,EAAGC,EAAGgP,EAAK3F,GAE1CrN,KAAK2G,OAAOQ,IAAI,IAEhBnH,KAAKoU,MACD4jJ,cAAe,KACf7vE,MAAO,EACPC,MAAO,EACPiwE,WAAW,EACXD,kBAAkB,EAClBH,SAAU,EACVE,aAAc,IAKtB32J,EAAOm0J,OAAOrzJ,UAAY0E,OAAOwB,OAAOhH,EAAOsE,OAAOxD,WACtDd,EAAOm0J,OAAOrzJ,UAAUC,YAAcf,EAAOm0J,OAS7Cn0J,EAAOm0J,OAAOrzJ,UAAU+0C,KAAO,WAS3B,OANAr3C,KAAK6yC,OAAQ,EACb7yC,KAAKkN,QAAS,EACdlN,KAAKkB,SAAU,EAEflB,KAAKoU,KAAK4jJ,cAAc3B,OAAO1wH,SAAS3lC,MAEjCA,MAUXwB,EAAOm0J,OAAOrzJ,UAAU+iC,OAAS,WAGxBrlC,KAAKkN,SAKNlN,KAAKoU,KAAK6jJ,SAAWz2J,EAAOgyE,OAAOyjF,gBAE/Bj3J,KAAKoU,KAAK6jJ,WAAaz2J,EAAOgyE,OAAO0jF,cAEjCl3J,KAAK+C,KAAKikC,QAAQ0vG,OAAO8G,aAAax9I,KAAMA,KAAKoU,KAAK+zE,MAAOnoF,KAAKoU,KAAKg0E,OAAO,GAAQpoF,KAAKoU,KAAK+jJ,cAEhGn4J,KAAKq3C,OAIRr3C,KAAKoU,KAAK4jJ,cAAchC,aAAat/H,WAAW12B,OAEjDA,KAAKq3C,QAITr3C,KAAKoU,KAAKgkJ,mBAEVp4J,KAAKgB,SAAWhB,KAAKmyC,KAAKsmG,SAASt7G,QAGnCn9B,KAAKoU,KAAK4jJ,cAAclD,iBAExB90J,KAAK+C,KAAKE,MAAMk3B,KAAKn6B,KAAMA,KAAKoU,KAAK4jJ,cAAcjD,0BA0C3DvzJ,EAAOwsE,MAAQ,SAAUjrE,EAAMiQ,EAAKsjE,GA6MhC,QA3MY/vE,IAARyM,IAAqBA,EAAM,WACnBzM,IAAR+vE,IAAqBA,EAAM,MAK/Bt2E,KAAK+C,KAAOA,EAMZ/C,KAAKgT,IAAMA,EAMXhT,KAAKpC,MAAQ,EAMboC,KAAKnC,OAAS,EAMdmC,KAAKwT,KAAOhS,EAAOwsB,MAKnBhuB,KAAKu6E,sBAAuB,EAM5Bv6E,KAAKkjH,aAAc,EAKnBljH,KAAK65H,OAAS,IAAIr4H,EAAO+gC,OAKzBviC,KAAKiuE,eAAiB,IAAIzsE,EAAO+gC,OAKjCviC,KAAKq1G,WAAa,IAAI7zG,EAAO+gC,OAK7BviC,KAAK+4J,SAAW,IAAIv3J,EAAO+gC,OAK3BviC,KAAKi5D,QAAU,IAAIz3D,EAAO+gC,OAO1BviC,KAAKg5J,UAAY,IAAIx3J,EAAO+gC,OAM5BviC,KAAKo8H,cAAgB,IAAI56H,EAAO+gC,OAOhCviC,KAAKi5J,kBAAmB,EAMxBj5J,KAAKk5J,QAAU,KAMfl5J,KAAKmqG,WAAa,KAKlBnqG,KAAKq2E,MAAQ,KAKbr2E,KAAKm5J,YAAc,KAKnBn5J,KAAKo5J,aAAc,EASnBp5J,KAAKq5J,WAAa,GAMlBr5J,KAAKs5J,MAAQ,EAMbt5J,KAAKu5J,cAAgB,IAMrBv5J,KAAKw5J,SAAW,KAOhBx5J,KAAKu8H,YAAa,EAOlBv8H,KAAKm6H,QAAS,EAOdn6H,KAAKm8C,aAAc,EAOnBn8C,KAAKk8C,SAAU,EAOfl8C,KAAKy5J,UAAW,EAOhBz5J,KAAK05J,sBAAuB,EAO5B15J,KAAK25J,WAAY,EAMjB35J,KAAK45J,aAAe,KAMpB55J,KAAK65J,cAAgB,KAEjB7mJ,GAAOhT,KAAK+C,KAAKiX,MAAMssG,cAActzG,GACzC,CACI,IAAI8mJ,EAAS95J,KAAK+C,KAAKiX,MAAMotG,SAASp0G,GAElC8mJ,EAAOp1C,OAEP1kH,KAAK+5J,oBAAoBD,EAAO1lJ,MAIhCpU,KAAKq2E,MAAQyjF,EAAO1lJ,KAGxBpU,KAAKpC,MAAQoC,KAAKq2E,MAAM2jF,WACxBh6J,KAAKnC,OAASmC,KAAKq2E,MAAM4jF,iBAEpB3jF,GAELt2E,KAAKk6J,mBAAmB5jF,GAAK,GAO7Bt2E,KAAKq2E,QAAUC,GAEft2E,KAAKoG,YAAc,IAAI5H,KAAK6rB,YAAYrqB,KAAKq2E,MAAO,KAAMr2E,KAAK+C,KAAK6B,YACpE5E,KAAKoG,YAAYqkB,YAAYzqB,KAAKpC,MAAOoC,KAAKnC,UAI9CmC,KAAKoG,YAAc,IAAI5H,KAAK6rB,YAAY7oB,EAAOotC,MAAMhnB,QAAQxhB,YAAYgJ,OAAQ,KAAMpP,KAAK+C,KAAK6B,YACjG5E,KAAKoG,YAAYqkB,YAAYzqB,KAAKpC,MAAOoC,KAAKnC,SAOlDmC,KAAKjC,QAAU,IAAIS,KAAKqO,QAAQ7M,KAAKoG,aAMrCpG,KAAKo6E,aAAe,IAAI54E,EAAO84E,MAAM,EAAG,EAAG,EAAGt6E,KAAKpC,MAAOoC,KAAKnC,OAAQ,SAEvEmC,KAAKjC,QAAQktB,SAASjrB,KAAKo6E,cAE3Bp6E,KAAKjC,QAAQ0P,OAAQ,EAET,OAARuF,GAAgBhT,KAAKq2E,QAErBr2E,KAAKjC,QAAQ0P,MAAQzN,KAAKq2E,MAAM+6C,SAWpCpxH,KAAKm6J,SAAW,KAEZ34J,EAAOmwE,aAEP3xE,KAAKm6J,SAAW,IAAI34J,EAAOmwE,WAAW3xE,KAAK+C,KAAM,GAAI/C,KAAKpC,MAAOoC,KAAKnC,SAGtEmC,KAAK+C,KAAKonB,OAAO4+E,mBAEjB/oG,KAAKm9H,eAGL28B,IAEAA,EAAOjrG,QAAS,IAIxBrtD,EAAOwsE,MAAM1rE,WAUT83J,qBAAsB,SAAU/jF,EAAOgkF,GAcnC,OAZIhkF,GAASgkF,IAETr6J,KAAKq2E,MAAQA,EACbr2E,KAAKm5J,YAAckB,EAEnBr6J,KAAKo5J,aAAc,EACnBp5J,KAAKoG,YAAYgJ,OAASpP,KAAKq2E,MAC/Br2E,KAAKwV,cAAc,KAAMxV,KAAKq2E,MAAM2jF,WAAYh6J,KAAKq2E,MAAM4jF,aAE3Dj6J,KAAK+4J,SAASpzH,SAAS3lC,OAGpBA,MAuBXs6J,iBAAkB,SAAUC,EAAc38J,EAAOC,EAAQ28J,GAOrD,QALqBj0J,IAAjBg0J,IAA8BA,GAAe,QACnCh0J,IAAV3I,IAAuBA,EAAQ,WACpB2I,IAAX1I,IAAwBA,EAAS,WAChB0I,IAAjBi0J,IAA8BA,GAAe,IAE5Cx6J,KAAK+C,KAAKonB,OAAO22E,aAGlB,OADA9gG,KAAKi5D,QAAQtzB,SAAS3lC,KAAM,oBACrB,EAmCX,GAhCyB,OAArBA,KAAKm5J,cAEDn5J,KAAKm5J,YAAYnuH,OAEjBhrC,KAAKm5J,YAAYnuH,QAAS,EAI1BhrC,KAAKm5J,YAAYhtJ,QAIzBnM,KAAKy6J,qBAELz6J,KAAKq2E,MAAQhmC,SAASsmD,cAAc,SACpC32F,KAAKq2E,MAAMy6C,aAAa,WAAY,YACpC9wH,KAAKq2E,MAAMy6C,aAAa,cAAe,eAEzB,OAAVlzH,IAEAoC,KAAKq2E,MAAMz4E,MAAQA,GAGR,OAAXC,IAEAmC,KAAKq2E,MAAMx4E,OAASA,GAKxBmC,KAAKmqG,WAAa/5F,OAAO2zF,WAAW/jG,KAAK06J,oBAAoBzqI,KAAKjwB,MAAOA,KAAKk5J,SAE1ErvI,UAAU8wI,cAAgB9wI,UAAU8wI,aAAa75D,aAEjDj3E,UAAU8wI,aAAa75D,cAAe5sB,MAAOqmF,EAAclkF,MAAOmkF,IAC7DI,KAAK56J,KAAK66J,oBAAoB5qI,KAAKjwB,OACnC86J,MAAM96J,KAAK+6J,kBAAkB9qI,KAAKjwB,YAIvC,IAEI6pB,UAAUi3E,cAAe5sB,MAAOqmF,EAAclkF,MAAOmkF,GACjDx6J,KAAK66J,oBAAoB5qI,KAAKjwB,MAC9BA,KAAK+6J,kBAAkB9qI,KAAKjwB,OAEpC,MAAOO,GAEHP,KAAK+6J,kBAAkBx6J,GAI/B,OAAOP,MAOX06J,oBAAqB,WAEjBlwD,aAAaxqG,KAAKmqG,YAElBnqG,KAAKg5J,UAAUrzH,SAAS3lC,OAO5B+6J,kBAAmB,SAAUrqH,GAEzB85D,aAAaxqG,KAAKmqG,YAElBnqG,KAAKi5D,QAAQtzB,SAAS3lC,KAAM0wC,IAOhCmqH,oBAAqB,SAAUR,GAE3B7vD,aAAaxqG,KAAKmqG,YAGlBnqG,KAAKm5J,YAAckB,OAGa9zJ,IAA5BvG,KAAKq2E,MAAM2kF,aAEXh7J,KAAKq2E,MAAM2kF,aAAeX,OAEI9zJ,IAAzBvG,KAAKq2E,MAAM4kF,UAEhBj7J,KAAKq2E,MAAM4kF,UAAYZ,EAIvBr6J,KAAKq2E,MAAMxmE,IAAOO,OAAOs3F,KAAOt3F,OAAOs3F,IAAIwzD,gBAAgBb,IAAYA,EAG3E,IAAIh/H,EAAOr7B,KAEXA,KAAKq2E,MAAM8kF,aAAe,WAItB,SAASC,IAEL,GAAI9B,EAAQ,EAER,GAAIj+H,EAAKg7C,MAAM2jF,WAAa,EAC5B,CAEI,IAAIp8J,EAAQy9B,EAAKg7C,MAAM2jF,WACnBn8J,EAASw9B,EAAKg7C,MAAM4jF,YAEpBl4F,MAAM1mC,EAAKg7C,MAAM4jF,eAEjBp8J,EAASD,GAAS,EAAI,IAG1By9B,EAAKg7C,MAAMlL,OAEX9vC,EAAK+9H,aAAc,EACnB/9H,EAAKj1B,YAAYgJ,OAASisB,EAAKg7C,MAC/Bh7C,EAAK7lB,cAAc,KAAM5X,EAAOC,GAChCw9B,EAAK09H,SAASpzH,SAAStK,QAIvBjrB,OAAO2zF,WAAWq3D,EAAa,UAKnC96J,QAAQ+Z,KAAK,oDAGjBi/I,IAlCJ,IAAIA,EAAQ,GAqCZ8B,MAYRrB,oBAAqB,SAAUpiD,GAE3B,IAAIhrE,EAAQ3sC,KAUZ,OARAA,KAAKq2E,MAAQhmC,SAASsmD,cAAc,SACpC32F,KAAKq2E,MAAM26C,UAAW,EACtBhxH,KAAKq2E,MAAMy6C,aAAa,WAAY,YACpC9wH,KAAKq2E,MAAMy6C,aAAa,cAAe,eACvC9wH,KAAKq2E,MAAMrlC,iBAAiB,aAAc,SAAUN,GAAS/D,EAAMn3B,cAAck7B,KAAW,GAC5F1wC,KAAKq2E,MAAMxmE,IAAMO,OAAOs3F,IAAIwzD,gBAAgBvjD,GAC5C33G,KAAKq2E,MAAM+6C,SAAU,EAEdpxH,MAYXk6J,mBAAoB,SAAU5jF,EAAK26C,EAAU7H,GAqCzC,YAnCiB7iH,IAAb0qH,IAA0BA,GAAW,GAGrCjxH,KAAKjC,UAELiC,KAAKjC,QAAQ0P,OAAQ,GAGzBzN,KAAKq2E,MAAQhmC,SAASsmD,cAAc,SACpC32F,KAAKq2E,MAAM26C,UAAW,EAElBC,GAEAjxH,KAAKq2E,MAAMy6C,aAAa,WAAY,iBAGpBvqH,IAAhB6iH,IAEAppH,KAAKq2E,MAAM+yC,YAAcA,GAG7BppH,KAAKq2E,MAAMy6C,aAAa,cAAe,eAEvC9wH,KAAKq2E,MAAMxmE,IAAMymE,EAEjBt2E,KAAKq2E,MAAM+6C,SAAU,EAErBpxH,KAAKq2E,MAAM1vC,OAEX3mC,KAAKs5J,MAAQt5J,KAAKq5J,WAElBr5J,KAAKw5J,SAAWppJ,OAAO2zF,WAAW/jG,KAAKq7J,mBAAmBprI,KAAKjwB,MAAOA,KAAKu5J,eAE3Ev5J,KAAKgT,IAAMsjE,EAEJt2E,MAYXwV,cAAe,SAAUk7B,EAAO9yC,EAAOC,GAEnC,IAAIy9J,GAAS,OAEC/0J,IAAV3I,GAAiC,OAAVA,IAAkBA,EAAQoC,KAAKq2E,MAAM2jF,WAAYsB,GAAS,QACtE/0J,IAAX1I,GAAmC,OAAXA,IAAmBA,EAASmC,KAAKq2E,MAAM4jF,aAEnEj6J,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEVmC,KAAKoG,YAAYgJ,SAAWpP,KAAKq2E,QAEjCr2E,KAAKoG,YAAYgJ,OAASpP,KAAKq2E,OAGnCr2E,KAAKoG,YAAYqkB,YAAY7sB,EAAOC,GAEpCmC,KAAKjC,QAAQsP,MAAMlH,OAAOvI,EAAOC,GAEjCmC,KAAKjC,QAAQH,MAAQA,EACrBoC,KAAKjC,QAAQF,OAASA,EAEtBmC,KAAKjC,QAAQ0P,OAAQ,EAEjBzN,KAAKm6J,UAELn6J,KAAKm6J,SAASh0J,OAAOvI,EAAOC,GAG5By9J,GAAuB,OAAbt7J,KAAKgT,MAEfhT,KAAKiuE,eAAetoC,SAAS3lC,KAAMpC,EAAOC,GAEtCmC,KAAK25J,YAEL35J,KAAKq2E,MAAMlL,OACXnrE,KAAK65H,OAAOl0F,SAAS3lC,KAAMA,KAAKqrE,KAAMrrE,KAAKu7J,iBAWvDjxI,SAAU,WAENtqB,KAAKq1G,WAAW1vE,SAAS3lC,OAa7BmrE,KAAM,SAAUE,EAAMkwF,GAElB,OAAIv7J,KAAK05J,qBAEE15J,WAGEuG,IAAT8kE,IAAsBA,GAAO,QACZ9kE,IAAjBg1J,IAA8BA,EAAe,GAE7Cv7J,KAAK+C,KAAK6jC,MAAMmzF,SAEhB/5H,KAAK+C,KAAK6jC,MAAMmzF,OAAO5gG,IAAIn5B,KAAK2gD,QAAS3gD,MACzCA,KAAK+C,KAAK6jC,MAAMu1F,SAAShjG,IAAIn5B,KAAK4gD,UAAW5gD,MAEzCA,KAAK+C,KAAK6jC,MAAM20F,MAEhBv7H,KAAK2gD,WAIb3gD,KAAK+C,KAAKkmC,QAAQ9P,IAAIn5B,KAAKw7J,SAAUx7J,MACrCA,KAAK+C,KAAKomC,SAAShQ,IAAIn5B,KAAKy7J,UAAWz7J,MAEvCA,KAAK45J,aAAe55J,KAAKsqB,SAAS2F,KAAKjwB,MAEvCA,KAAKq2E,MAAMrlC,iBAAiB,QAAShxC,KAAK45J,cAAc,GACxD55J,KAAKq2E,MAAMrlC,iBAAiB,sBAAuBhxC,KAAK45J,cAAc,GAIlE55J,KAAKq2E,MAAMhL,OAFXA,EASJrrE,KAAKq2E,MAAMklF,aAAeA,EAEtBv7J,KAAKkjH,YAELljH,KAAKy5J,UAAW,GAIhBz5J,KAAKy5J,UAAW,EAEC,OAAbz5J,KAAKgT,MAEyB,IAA1BhT,KAAKq2E,MAAMytB,YAEX9jG,KAAKs5J,MAAQt5J,KAAKq5J,WAClBr5J,KAAKw5J,SAAWppJ,OAAO2zF,WAAW/jG,KAAKq7J,mBAAmBprI,KAAKjwB,MAAOA,KAAKu5J,iBAI3Ev5J,KAAK65J,cAAgB75J,KAAK07J,YAAYzrI,KAAKjwB,MAC3CA,KAAKq2E,MAAMrlC,iBAAiB,UAAWhxC,KAAK65J,eAAe,KAInE75J,KAAKq2E,MAAMlL,OAEXnrE,KAAK65H,OAAOl0F,SAAS3lC,KAAMqrE,EAAMkwF,IAG9Bv7J,OASX07J,YAAa,WAET17J,KAAKq2E,MAAMpkC,oBAAoB,UAAWjyC,KAAK65J,eAAe,GAE9D75J,KAAKwV,iBAiBTrJ,KAAM,WAkEF,OAhEInM,KAAK+C,KAAK6jC,MAAMmzF,SAEhB/5H,KAAK+C,KAAK6jC,MAAMmzF,OAAO39G,OAAOpc,KAAK2gD,QAAS3gD,MAC5CA,KAAK+C,KAAK6jC,MAAMu1F,SAAS//G,OAAOpc,KAAK4gD,UAAW5gD,OAGpDA,KAAK+C,KAAKkmC,QAAQ7sB,OAAOpc,KAAKw7J,SAAUx7J,MACxCA,KAAK+C,KAAKomC,SAAS/sB,OAAOpc,KAAKy7J,UAAWz7J,MAItCA,KAAKo5J,aAEDp5J,KAAKq2E,MAAM2kF,cAEXh7J,KAAKq2E,MAAM2kF,aAAa7uJ,OACxBnM,KAAKq2E,MAAMxmE,IAAM,MAEZ7P,KAAKq2E,MAAM4kF,WAEhBj7J,KAAKq2E,MAAM4kF,UAAU9uJ,OACrBnM,KAAKq2E,MAAMxmE,IAAM,OAIjB7P,KAAKq2E,MAAMxmE,IAAM,GAEb7P,KAAKm5J,YAAYnuH,OAEjBhrC,KAAKm5J,YAAYnuH,QAAS,EAG1BhrC,KAAKm5J,YAAYwC,UAEjB37J,KAAKm5J,YAAYwC,YAAY9qI,QAAQ,SAAU+qI,GAE3CA,EAAMzvJ,SAKVnM,KAAKm5J,YAAYhtJ,QAIzBnM,KAAKm5J,YAAc,KACnBn5J,KAAKo5J,aAAc,IAInBp5J,KAAKq2E,MAAMpkC,oBAAoB,QAASjyC,KAAK45J,cAAc,GAC3D55J,KAAKq2E,MAAMpkC,oBAAoB,sBAAuBjyC,KAAK45J,cAAc,GACzE55J,KAAKq2E,MAAMpkC,oBAAoB,UAAWjyC,KAAK65J,eAAe,GAE1D75J,KAAKkjH,YAELljH,KAAKy5J,UAAW,EAIhBz5J,KAAKq2E,MAAMntC,SAIZlpC,MAWXm5B,IAAK,SAAUsgB,GAEX,GAAIhyC,MAAMC,QAAQ+xC,GAEd,IAAK,IAAI/2C,EAAI,EAAGA,EAAI+2C,EAAO92C,OAAQD,IAE3B+2C,EAAO/2C,GAAG22C,aAEVI,EAAO/2C,GAAG22C,YAAYr5C,WAM9By5C,EAAOJ,YAAYr5C,MAGvB,OAAOA,MAeXyuC,WAAY,SAAU1qC,EAAGC,EAAG0qC,EAASC,EAAS9pB,EAAQE,GAElDF,EAASA,GAAU,EACnBE,EAASA,GAAU,EAEnB,IAAI7K,EAAQla,KAAK+C,KAAKo2B,IAAIjf,MAAMnW,EAAGC,EAAGhE,MAKtC,OAHAka,EAAMvT,OAAOQ,IAAIunC,EAASC,GAC1Bz0B,EAAMpZ,MAAMqG,IAAI0d,EAAQE,GAEjB7K,GAUX/U,OAAQ,YAECnF,KAAKu6E,sBAAwBv6E,KAAK67J,SAEnC77J,KAAKoG,YAAYoL,SAUzBmvC,QAAS,WAED3gD,KAAKm6H,SAKTn6H,KAAKm6H,QAAS,EAEdn6H,KAAKq2E,MAAMilD,OAAQ,IASvB16E,UAAW,WAEF5gD,KAAKm6H,SAAUn6H,KAAKu8H,aAKzBv8H,KAAKm6H,QAAS,EAEdn6H,KAAKq2E,MAAMilD,OAAQ,IASvBkgC,SAAU,WAEFx7J,KAAKk8C,SAAWl8C,KAAKkjH,cAKzBljH,KAAKk8C,SAAU,EAEfl8C,KAAKq2E,MAAMntC,UASfuyH,UAAW,YAEFz7J,KAAKk8C,SAAWl8C,KAAKm8C,aAAen8C,KAAKkjH,cAK9CljH,KAAKk8C,SAAU,EAEVl8C,KAAKq2E,MAAMszD,OAEZ3pI,KAAKq2E,MAAMlL,SAyBnB2wF,aAAc,SAAUjsJ,EAAKohH,GA0BzB,YAxBiB1qH,IAAb0qH,IAA0BA,GAAW,GAGzCjxH,KAAKjC,QAAQ0P,OAAQ,EAErBzN,KAAKq2E,MAAMntC,QAEXlpC,KAAK05J,sBAAuB,EAE5B15J,KAAKs5J,MAAQt5J,KAAKq5J,WAElBr5J,KAAKw5J,SAAWppJ,OAAO2zF,WAAW/jG,KAAKq7J,mBAAmBprI,KAAKjwB,MAAOA,KAAKu5J,eAE3Ev5J,KAAKq2E,MAAMxmE,IAAMA,EAEjB7P,KAAKq2E,MAAM1vC,OAEX3mC,KAAK25J,UAAY1oC,EAEZA,IAEDjxH,KAAKsnC,QAAS,GAGXtnC,MASXq7J,mBAAoB,WAGc,IAA1Br7J,KAAKq2E,MAAMytB,YAEX9jG,KAAK05J,sBAAuB,EAG5B15J,KAAKwV,mBAILxV,KAAKs5J,MAEY,EAEbt5J,KAAKw5J,SAAWppJ,OAAO2zF,WAAW/jG,KAAKq7J,mBAAmBprI,KAAKjwB,MAAOA,KAAKu5J,eAI3Ej5J,QAAQ+Z,KAAK,0DAA2Dra,KAAKo5J,cAWzFj8B,aAAc,WAEVn9H,KAAK+C,KAAK2jC,MAAMye,qBAAqBnlD,KAAKo9H,OAAQp9H,MAAM,GACxDA,KAAKkjH,aAAc,GAUvBka,OAAQ,WAWJ,GATAp9H,KAAKkjH,aAAc,EAEfljH,KAAKi5J,mBAELj5J,KAAKq2E,MAAMlL,OAEXnrE,KAAK65H,OAAOl0F,SAAS3lC,KAAMA,KAAKqrE,KAAMrrE,KAAKu7J,eAG3Cv7J,KAAKgT,IACT,CACI,IAAI8mJ,EAAS95J,KAAK+C,KAAKiX,MAAMotG,SAASpnH,KAAKgT,KAEvC8mJ,IAAWA,EAAOp1C,SAElBo1C,EAAOjrG,QAAS,GAMxB,OAFA7uD,KAAKo8H,cAAcz2F,SAAS3lC,OAErB,GAgBX+7J,KAAM,SAAUnhJ,EAAO3Z,EAAOgH,GAM1B,QAJc1B,IAAVqU,IAAuBA,GAAQ,QACrBrU,IAAVtF,IAAuBA,EAAQ,QACjBsF,IAAd0B,IAA2BA,EAAY,MAErB,OAAlBjI,KAAKm6J,SAaT,OAPIv/I,GAEA5a,KAAKm6J,SAAS3/E,MAGlBx6E,KAAKm6J,SAASjmI,KAAKl0B,KAAKq2E,MAAO,EAAG,EAAGr2E,KAAKpC,MAAOoC,KAAKnC,OAAQ,EAAG,EAAGmC,KAAKpC,MAAOoC,KAAKnC,OAAQ,EAAG,EAAG,EAAG,EAAG,EAAGoD,EAAOgH,GAE5GjI,KAAKm6J,SAXR75J,QAAQ+Z,KAAK,mEAoBrBogJ,mBAAoB,WAEhB,GAAKz6J,KAAKq2E,MAAV,CAUA,IALIr2E,KAAKq2E,MAAMmzB,YAEXxpG,KAAKq2E,MAAMmzB,WAAW3gG,YAAY7I,KAAKq2E,OAGpCr2E,KAAKq2E,MAAM2lF,iBAEdh8J,KAAKq2E,MAAMxtE,YAAY7I,KAAKq2E,MAAM4lF,YAGtCj8J,KAAKq2E,MAAM6lF,gBAAgB,YAC3Bl8J,KAAKq2E,MAAM6lF,gBAAgB,OAE3Bl8J,KAAKq2E,MAAQ,OASjB7zE,QAAS,WAELxC,KAAKmM,OAELnM,KAAKy6J,qBAEDz6J,KAAKkjH,aAELljH,KAAK+C,KAAK2jC,MAAM2e,wBAAwBrlD,KAAKo9H,OAAQp9H,MAGrDA,KAAKw5J,UAELppJ,OAAOo6F,aAAaxqG,KAAKw5J,YAUrCxyJ,OAAOyF,eAAejL,EAAOwsE,MAAM1rE,UAAW,eAE1C4E,IAAK,WAED,OAAQlH,KAAU,MAAIA,KAAKq2E,MAAM8hD,YAAc,GAGnDhxH,IAAK,SAAUC,GAEXpH,KAAKq2E,MAAM8hD,YAAc/wH,KAUjCJ,OAAOyF,eAAejL,EAAOwsE,MAAM1rE,UAAW,YAE1C4E,IAAK,WAED,OAAQlH,KAAU,MAAIA,KAAKq2E,MAAMtzC,SAAW,KAUpD/7B,OAAOyF,eAAejL,EAAOwsE,MAAM1rE,UAAW,YAE1C4E,IAAK,WAED,OAAQlH,KAAU,MAAKA,KAAKq2E,MAAM8hD,YAAcn4H,KAAKq2E,MAAMtzC,SAAY,KAS/E/7B,OAAOyF,eAAejL,EAAOwsE,MAAM1rE,UAAW,QAE1C4E,IAAK,WAED,OAAOlH,KAAKm6H,QAGhBhzH,IAAK,SAAUC,GAIX,GAFAA,EAAQA,GAAS,KAGjB,CACI,GAAIpH,KAAKm6H,OAEL,OAGJn6H,KAAKu8H,YAAa,EAClBv8H,KAAK2gD,cAGT,CACI,IAAK3gD,KAAKm6H,OAEN,OAGJn6H,KAAKu8H,YAAa,EAClBv8H,KAAK4gD,gBAajB55C,OAAOyF,eAAejL,EAAOwsE,MAAM1rE,UAAW,UAE1C4E,IAAK,WAED,OAAOlH,KAAKk8C,SAGhB/0C,IAAK,SAAUC,GAIX,GAFAA,EAAQA,GAAS,MAEbpH,KAAKkjH,YAKT,GAAI97G,EACJ,CACI,GAAIpH,KAAKk8C,QAEL,OAGJl8C,KAAKm8C,aAAc,EACnBn8C,KAAKw7J,eAGT,CACI,IAAKx7J,KAAKk8C,QAEN,OAGJl8C,KAAKm8C,aAAc,EACnBn8C,KAAKy7J,gBAUjBz0J,OAAOyF,eAAejL,EAAOwsE,MAAM1rE,UAAW,UAE1C4E,IAAK,WAED,OAAQlH,KAAU,MAAIA,KAAKq2E,MAAM50C,OAAS,GAG9Ct6B,IAAK,SAAUC,GAEPA,EAAQ,EAERA,EAAQ,EAEHA,EAAQ,IAEbA,EAAQ,GAGRpH,KAAKq2E,QAELr2E,KAAKq2E,MAAM50C,OAASr6B,MAUhCJ,OAAOyF,eAAejL,EAAOwsE,MAAM1rE,UAAW,gBAE1C4E,IAAK,WAED,OAAQlH,KAAU,MAAIA,KAAKq2E,MAAMklF,aAAe,GAGpDp0J,IAAK,SAAUC,GAEPpH,KAAKq2E,QAELr2E,KAAKq2E,MAAMklF,aAAen0J,MActCJ,OAAOyF,eAAejL,EAAOwsE,MAAM1rE,UAAW,QAE1C4E,IAAK,WAED,QAAQlH,KAAU,OAAIA,KAAKq2E,MAAMhL,MAGrClkE,IAAK,SAAUC,GAEPA,GAASpH,KAAKq2E,MAEdr2E,KAAKq2E,MAAMhL,MAAO,EAEbrrE,KAAKq2E,QAEVr2E,KAAKq2E,MAAMhL,MAAO,MAW9BrkE,OAAOyF,eAAejL,EAAOwsE,MAAM1rE,UAAW,WAE1C4E,IAAK,WAED,QAAQlH,KAAU,SAAMA,KAAKq2E,MAAM/uC,QAAUtnC,KAAKq2E,MAAMszD,UAKhEnoI,EAAOwsE,MAAM1rE,UAAUC,YAAcf,EAAOwsE,WAWpBznE,IAApB/H,KAAK0J,aAEL1J,KAAK0J,WAAa1G,EAAO0G,iBAGL3B,IAApB/H,KAAKC,aAELD,KAAKC,WAAa+C,EAAO/C,iBAGK8H,IAA9B/H,KAAKqO,QAAQC,eAEbtO,KAAKqO,QAAQC,aAAe,IAAItO,KAAKqO,QAAQ,IAAIrO,KAAK6rB,mBAGnB9jB,IAAnC/H,KAAKmC,cAAcuE,cAEnB1G,KAAKmC,cAAcuE,YAAc,IAAI1D,EAAOC,QAGhDjD,KAAKqsB,mBAAoB,EAGzBrsB,KAAK29J,0BAA4B,WAE7B,OAAO36J,EAAOk6C,OAAOtxB,gBASE,oBAAZkB,SACe,oBAAXC,QAA0BA,OAAOD,UACxCA,QAAUC,OAAOD,QAAU9pB,GAE/B8pB,QAAQ9pB,OAASA,GACQ,oBAAXgqB,QAA0BA,OAAOC,IAC/CD,OAAO,SAA+B9qB,EAAKc,OAASA,GAEpDd,EAAKc,OAASA,EAGXA,GACRgD,KAAKxE","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","_destroyTintedTexture","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","tintedTexture","CanvasPool","removeByCanvas","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","bringChildToTop","sendChildToBack","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","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","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","config","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","powerPreference","view","canvas","_contextOptions","antialias","failIfMajorPerformanceCaveat","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","postRender","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","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","baseTextureChanged","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","unloadFromGPU","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd","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","AudioBufferSourceNode","noteGrainOn","noteOff","trunc","floor","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","defaults","keys","reverseString","string","split","getProperty","obj","name","parts","_getProperty","setProperties","props","setProperty","_setProperty","val","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","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","centerX","centerY","normx","normy","Line","fromPoints","fromSprite","startSprite","endSprite","useCenter","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","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","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","centroid","points","pointslength","parse","xProp","yProp","parseFloat","isPoint","sortClockwise","center","sort","det","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","FLASH","FADE_OUT","FADE_IN","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","beginFill","drawRect","endFill","fade","fadeEffect","fadeIn","update","updateFX","updateShake","checkBounds","time","delta","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","postUpdate","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","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","previousStateKey","onPostUpdateCallback","_kickstart","getCurrentState","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","paramsArr","bindings","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","PluginManager","plugins","_len","_i","plugin","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","parseConfig","backgroundColor","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","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","getFirst","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","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","wrapAll","between","Game","physicsConfig","multiTexture","isRunning","raf","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","onBoot","_paused","_codePaused","_focusGained","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Debug","noop","isDisabled","showDebugHeader","forceSetTimeOut","RequestAnimationFrame","focusWindow","disableStart","isReady","onReady","PhaserGlobal","hideBanner","v","webAudio","ie","canvasID","canvasStyle","crisp","setImageRenderingCrisp","webGL","contextRestored","webGLRendererError","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","elapsed","deltaMax","slowMotion","fixedStepSize","enableStep","disableStep","step","removeFromDOM","cordova","iOS","focus","stopFocus","muteOnPause","setMute","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","mouseWheel","MouseWheel","pointerLock","PointerLock","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","CONTACT","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","hitTest","localPoint","Creature","TileSprite","graphicsData","fill","shape","processClickTrampolines","handler","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","capture","stopOnGameOut","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","isAndroidStockBrowser","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","mouseMoveCallback","withinGame","resetButtons","updateButtons","element","wheelEventName","wheelEvent","boundOnWheelHandler","onWheelHandler","eventProxy","WheelEventProxy","bindEvent","deltaY","pointerDownCallback","pointerMoveCallback","pointerUpCallback","pointerOutCallback","pointerOverCallback","pointerCancelCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","_onMSPointerCancel","onPointerCancel","isMousePointerEvent","getPointerFromEvent","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","button","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","toLowerCase","down","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","locked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","doubleTap","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","PointerModes","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","dragPoint","pointerData","pointerLocalCoord","globalToLocal","py","prevX","prevY","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","onChange","onError","boundOnChangeHandler","onChangeHandler","boundOnErrorHandler","onErrorHandler","pointerLockElement","pointerlockchange","pointerlockerror","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","request","exit","_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","removeCallbacks","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","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","deltaX","deltaZ","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","prop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","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","animation","useFlatData","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","getBase64","encoderOptions","toDataURL","onLoadCallback","onErrorCallback","onload","onerror","addImage","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","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","polygon","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","getVisualBounds","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_testString","testString","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontProperties","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","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","fontPropertiesContext","testStringMetrics","actualBoundingBoxAscent","asc","descent","desc","actualBoundingBoxDescent","mxWidth","setCharacterLimit","characterLimit","suffix","fontPropertiesCanvas","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_letterSpacing","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","letterSpacing","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","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","textureDebug","tilePattern","frameWidth","frameHeight","autoScroll","stopScroll","generateTilingTexture","needsUpdate","restartBatch","sessionBlendMode","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","idx","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","android","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chrome","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","standalone","process","require","versions","_checkBrowser","AudioContext","webkitAudioContext","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","devicePixelRatio","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","CanvasRenderingContext2D","getItem","File","FileReader","FileList","Blob","requestFileSystem","WebGLRenderingContext","Worker","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","ALLOW_KEYBOARD_INPUT","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","fakeiOSTouchLock","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","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","isFinite","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","_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","deltaTotal","isTweening","checkIsRunning","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","ms","fps","blob","reversed","elapsedMS","_desiredFps","suggestedFps","desiredFps","advancedTiming","updates","renders","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_timers","timer","autoDestroy","previousDateNow","previousNow","updateAdvancedTiming","updateTimers","interval","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","_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","diff","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","row","column","totalAvailable","lastAvailable","firstFrame","lastFrame","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","layers","tileheight","tilewidth","tiles","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","DATA","_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","addData","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkDataKey","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","getData","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","removeData","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onBeforeLoadComplete","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","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","mediaTypes","avif","bmp","gif","ico","jpg","jpeg","png","svg","tif","tiff","webp","getMediaType","_getSource","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageset","sources","defaultSource","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","truecolor","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","tilemapCSV","tilemapTiledJSON","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","loadPictureTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","picElm","sourceElm","setAttribute","currentSrc","controls","autoplay","playsInline","videoLoadEvent","canplay","Audio","playThroughEvent","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","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","char","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","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_pendingStart","_removeFromSoundManager","_sourceId","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","_removeOnEndedHandler","_disconnectSource","isDecoded","loopFull","forceRestart","_stopSourceAndDisconnect","_createSourceAndConnect","_addOnEndedHandler","_startSource","muted","mute","prevMarker","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","createBufferSource","when","onended","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","baseLatency","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","_onStateChange","disableAudio","disableWebAudio","audioContext","onstatechange","setTouchLock","unlock","setTouchUnlock","webAudioIsSuspended","resumeWebAudio","resumeWebAudioIfSuspended","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactor","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","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","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","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","navigationUI","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","GEOM_AUTO","GEOM_RECTANGLE","GEOM_CIRCLE","GEOM_POINT","GEOM_LINE","GEOM_ELLIPSE","gameInfo","1","2","3","4","soundInfo","sourceId","ended","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","inactiveColor","mx","my","worldX","worldY","_pointerButtonIcon","btn","spriteInputInfo","justDown","justUp","inputInfo","showDetails","_inputHandler","free","inputHandler","_inputHandlerStatusIcon","_inputHandlerCaptureIcon","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","factor","loader","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","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","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","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","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","objectsMap","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","search","CustomClass","adjustY","adjustSize","foundObjects","created","searchType","getObjects","propertyName","createFromTiles","replacements","getLayer","customClass","lw","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","bodies","location","getObject","propName","propValue","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","layerArg","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","getTileRight","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","all","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","getEmptyObject","polyline","template","createObject","propsMap","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","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","autoScaleFps","scaleData","_s","autoAlpha","autoAlphaFps","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","setSpeed","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","setGravity","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","onTimeout","playWhenUnlocked","timeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","captureVideo","removeVideoElement","getUserMediaTimeout","mediaDevices","then","getUserMediaSuccess","catch","getUserMediaError","mozSrcObject","srcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","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 77b0de01b..767ebe8d4 100644 --- a/build/custom/phaser-arcade-physics.min.js +++ b/build/custom/phaser-arcade-physics.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.18.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.19.0 - 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(),this._destroyTintedTexture()},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)},_destroyTintedTexture:function(){this.tintedTexture&&(Phaser.CanvasPool.removeByCanvas(this.tintedTexture),this.tintedTexture=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.bringChildToTop=function(t){if(t.parent===this)return this.setChildIndex(t,this.children.length-1)},s.DisplayObjectContainer.prototype.sendChildToBack=function(t){if(t.parent===this)return this.setChildIndex(t,0)},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,O=b*m+T*y+C,I=w*y+_*m+S;c=P,d=E,u=E,l=O<(l=R<(l=A<(l=P)?A:l)?R:l)?O:l,u=I<(u=L<(u=M(c=R>(c=A>c?A:c)?R:c)?O:c,d=I>(d=L>(d=M>d?M:d)?L:d)?I: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=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.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,O=this.positions,I=t.tint,k=(I>>16)+(65280&I)+((255&I)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(O[g++]=v*l+b*c+T|0,O[g++]=_*c+x*l+w|0,O[g++]=a.x0,O[g++]=a.y0,L[g++]=k,O[g++]=y,O[g++]=v*h+b*c+T|0,O[g++]=_*c+x*h+w|0,O[g++]=a.x1,O[g++]=a.y1,L[g++]=k,O[g++]=y,O[g++]=v*h+b*u+T|0,O[g++]=_*u+x*h+w|0,O[g++]=a.x2,O[g++]=a.y2,L[g++]=k,O[g++]=y,O[g++]=v*l+b*u+T|0,O[g++]=_*u+x*l+w|0,O[g++]=a.x3,O[g++]=a.y3,L[g++]=k,O[g++]=y):(O[g++]=v*l+b*c+T,O[g++]=_*c+x*l+w,O[g++]=a.x0,O[g++]=a.y0,L[g++]=k,O[g++]=y,O[g++]=v*h+b*c+T,O[g++]=_*c+x*h+w,O[g++]=a.x1,O[g++]=a.y1,L[g++]=k,O[g++]=y,O[g++]=v*h+b*u+T,O[g++]=_*u+x*h+w,O[g++]=a.x2,O[g++]=a.y2,L[g++]=k,O[g++]=y,O[g++]=v*l+b*u+T,O[g++]=_*u+x*l+w,O[g++]=a.x3,O[g++]=a.y3,L[g++]=k,O[g++]=y),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=t.texture.baseTexture.textureIndex;if(s._enableMultiTextureToggle){var n=e.baseTexture,r=this.gl;s.WebGLRenderer.textureArray[i]!=n&&(this.flush(),r.activeTexture(r.TEXTURE0+i),r.bindTexture(r.TEXTURE_2D,n._glTextures[r.id]),s.WebGLRenderer.textureArray[i]=n)}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,O=E.tx,I=E.ty;g[S++]=A*T+R*C+O,g[S++]=L*C+M*T+I,g[S++]=o.x0,g[S++]=o.y0,m[S++]=f,g[S++]=i,g[S++]=A*_+R*C+O,g[S++]=L*C+M*_+I,g[S++]=o.x1,g[S++]=o.y1,m[S++]=f,g[S++]=i,g[S++]=A*_+R*w+O,g[S++]=L*w+M*_+I,g[S++]=o.x2,g[S++]=o.y2,m[S++]=f,g[S++]=i,g[S++]=A*T+R*w+O,g[S++]=L*w+M*T+I,g[S++]=o.x3,g[S++]=o.y3,m[S++]=f,g[S++]=i,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);var x=c!==r;if((!s._enableMultiTextureToggle&&x&&!v||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 b=this.renderSession.projection;e.uniform2f(t.projectionVector,b.x,b.y);var _=this.renderSession.offset;e.uniform2f(t.offsetVector,_.x,_.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(){var t=this,e=e||{VERSION:"2.18.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("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),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,i,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=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(i),o=n*Math.sin(i);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new e.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,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,r){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.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(e.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(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.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},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.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},e.Circle.intersectsLine=function(t,i,s){var n=t.x,r=t.y,o=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-o*i.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 e.Point(c,p),m=new e.Point(d,f),y=i.pointOnSegment(g.x,g.y,.01),v=i.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.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 e.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 e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.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 e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(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},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.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},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=i.x,h=i.y,l=i.right,u=i.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 e.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,i){return e.Point.distance(this,t,i)},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,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,r){return e.Point.rotate(this,t,i,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},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.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(e.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(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.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(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.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)},e.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}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,r,o),this.bounds=new e.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 e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.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 e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.FLASH=0,e.Camera.FADE_OUT=1,e.Camera.FADE_IN=2,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(i){case e.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case e.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.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,i,s,n,r){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.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,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_OUT)},fadeIn:function(t,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_IN)},fadeEffect:function(t,i,s,n,r){if(void 0===t&&(t=0),void 0===i&&(i=500),void 0===s&&(s=!1),void 0===n&&(n=1),!this.fx||!s&&this._fxDuration>0)return!1;if(this.fx.clear(),this.fx.beginFill(t,n),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),r<1||r>2)throw new Error("Wrong `type` argument");return this.fx.alpha=r===e.Camera.FADE_IN?1:0,this._fxDuration=i,this._fxType=r,!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(){this._fxType===e.Camera.FLASH?(this.fx.alpha-=this.game.time.delta/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):this._fxType===e.Camera.FADE_IN?(this.fx.alpha-=this.game.time.delta/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFadeComplete.dispatch())):(this.fx.alpha+=this.game.time.delta/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.delta,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}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.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(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.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},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.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},e.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,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(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){if(this.clearCurrentState(),this.setCurrentState(this._pendingState),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 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){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.current,i=this.states[t];this.callbackContext=i,this.link(t),this.onInitCallback=i.init||this.dummy,this.onPreloadCallback=i.preload||null,this.onLoadRenderCallback=i.loadRender||null,this.onLoadUpdateCallback=i.loadUpdate||null,this.onCreateCallback=i.create||null,this.onUpdateCallback=i.update||null,this.onPostUpdateCallback=i.postUpdate||null,this.onPreRenderCallback=i.preRender||null,this.onRenderCallback=i.render||null,this.onResizeCallback=i.resize||null,this.onPausedCallback=i.paused||null,this.onResumedCallback=i.resumed||null,this.onPauseUpdateCallback=i.pauseUpdate||null,this.onShutDownCallback=i.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onStateChange.dispatch(this.current,e),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.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.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(){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===e.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.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.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,i,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else o=new e.SignalBinding(this,t,i,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)},e.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)},e.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===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,l=i*n,u=o;uthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.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},e.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},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.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},e.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},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))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},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=e.Utils.getProperty(t,i);return!(void 0===r&&n||r!==s)},e.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)},e.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=this.children.length,a=0;a2){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()}},e.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},e.Group.prototype.iterate=function(t,i,s,n,r,o){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!i||i.call(s,h,r))&&(n=r,o=h)}return o},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.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 e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.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}},e.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()}},e.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)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.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(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.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(e.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(e.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(e.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(e.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(e.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}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.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)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.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()},e.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))},e.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(e.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){tthis.time.deltaMax){if(this.dropFrames)return;e=this.time.deltaMax}if(this.forceSingleUpdate)this.updatesThisFrame=1,this.rendersThisFrame=1,this.updateLogic(.001*e/this.time.slowMotion),this.updateRender();else if(this._spiraling>2)this.updatesThisFrame=0,this.rendersThisFrame=0,this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0;else{var i=0,s=1e3*this.time.desiredFpsMult;for(this._deltaTime+=e,this.updatesThisFrame=Math.floor(this._deltaTime/s),this.rendersThisFrame=this.forceSingleRender?1:Math.min(1,this.updatesThisFrame);this._deltaTime>=s;)this._deltaTime-=s,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult/this.time.slowMotion),this.time.refresh(),i++;i>this._lastCount?this._spiraling++:i0&&this.updateRender()}}}}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.preUpdate(t),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(){this.lockRender||this.renderType===e.HEADLESS||(this.time.preRender(),this.state.preRender(),this.renderer.render(this.stage),this.plugins.render(),this.state.render(),this.plugins.postRender(),this.renderer.postRender())},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.gamePaused(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.gameResumed(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this._focusGained=!0,this.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),e.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=e.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!0===t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},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+i.x=a&&this.game.camera.y+i.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}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.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===i,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 e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.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,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,r="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):r||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},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 i=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),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.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===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.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,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!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.pointerLock.locked&&!i&&(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===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.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,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!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 i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=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&&i.currentPointers--,i.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=e.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){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,r=this._pointerData[t.id],o=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var l=i.scale.x*h.x+n.x+s.x,u=i.scale.y*h.y+n.y+s.y;else var l=h.x+n.x+s.x,u=h.y+n.y+s.y;if(a.fixedToCamera){var c=a.cameraOffset,d=c.x,p=c.y;this.allowHorizontalDrag&&(c.x=l-i.x),this.allowVerticalDrag&&(c.y=u-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(c.x=Math.round((c.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,c.y=Math.round((c.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(c.x,c.y));var f=c.x-d,g=c.y-p}else{var m=i.x-r.camX,y=i.y-r.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=l+m),this.allowVerticalDrag&&(a.y=u+y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(a.x,a.y));var f=a.x-d,g=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,l,u,o,e,f,g),!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)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.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 e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this)]},e.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 i=!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}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;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},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.delta,this.lifespan<=0))||(this.kill(),!1)},e.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}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||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===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.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(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)o=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,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,i)}r&&(this._frame=e.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}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):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))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.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)}}},e.Component.Reset=function(){},e.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},e.Component.ScaleMinMax=function(){},e.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,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,r){var o=this.game.plugins.add(e.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,i,s,n),o},image:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,r,o,a){void 0===r&&(r=this.world);var h=new e.Creature(this.game,t,i,s,n,o,a);return r.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,r){return new e.Group(this.game,t,i,s,n,r)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,r,o))},rope:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.Rope(this.game,t,i,s,n,r))},text:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,r,o,a,h,l,u){return void 0===u&&(u=this.world),u.add(new e.Button(this.game,t,i,s,n,r,o,a,h,l))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.BitmapText(this.game,t,i,s,n,r))},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,r){return new e.Group(this.game,t||null,i,s,n,r)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o){return new e.TileSprite(this.game,t,i,s,n,r,o)},rope:function(t,i,s,n,r){return new e.Rope(this.game,t,i,s,n,r)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,r,o,a,h,l){return new e.Button(this.game,t,i,s,n,r,o,a,h,l)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return new e.BitmapText(this.game,t,i,s,n,r,o)},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,r,o,a,h,l,u){i=i||0,s=s||0,n=n||null,r=r||null,o=o||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.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 e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.PointerMode.CONTACT,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)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;return e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.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)},e.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())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},e.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},e.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)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.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)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.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")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.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())},e.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&&i>=0&&i<=this.height&&(e.Device.LITTLE_ENDIAN?this.pixels[i*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[i*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,i,s){s||(s=e.Color.createColor());var n=~~(t+i*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,i,s,n,r){return e.Color.unpackPixel(this.getPixel32(t,i),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 i=e.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{e.Color.unpackPixel(this.getPixel32(s,n),i),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===i.a&&!o);return i.x=s,i.y=n,i},getBounds:function(t){return void 0===t&&(t=new e.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,i,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 e.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof e.Sprite||t instanceof e.Image||t instanceof e.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 e.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 e.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return this;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==i&&null!==i||(i=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=i),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)return this;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+i,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,i,s){if(void 0===i&&(i=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 e.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,i&&(this.op=i),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,i,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,i,s),t.type===e.GROUP&&t.exists)this.drawGroup(t,i,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ni.width&&(n=i.width);var r=this.context;return r.fillStyle=r.createPattern(i,s),this._circle=new e.Circle(t.start.x,t.start.y,i.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,i.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),e.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 e.EarCut.earcutLinked(o,a,s,h,l,f),a},e.EarCut.linkedList=function(t,i,s,n,r){var o,a,h,l=0;for(o=i,a=s-n;o0)for(o=i;o=i;o-=n)h=e.EarCut.insertNode(o,t[o],t[o+1],h);return h},e.EarCut.filterPoints=function(t,i){if(!t)return t;i||(i=t);var s,n=t;do{if(s=!1,n.steiner||!e.EarCut.equals(n,n.next)&&0!==e.EarCut.area(n.prev,n,n.next))n=n.next;else{if(e.EarCut.removeNode(n),(n=i=n.prev)===n.next)return null;s=!0}}while(s||n!==i);return i},e.EarCut.earcutLinked=function(t,i,s,n,r,o,a){if(t){!a&&o&&e.EarCut.indexCurve(t,n,r,o);for(var h,l,u=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?e.EarCut.isEarHashed(t,n,r,o):e.EarCut.isEar(t))i.push(h.i/s),i.push(t.i/s),i.push(l.i/s),e.EarCut.removeNode(t),t=l.next,u=l.next;else if((t=l)===u){a?1===a?(t=e.EarCut.cureLocalIntersections(t,i,s),e.EarCut.earcutLinked(t,i,s,n,r,o,2)):2===a&&e.EarCut.splitEarcut(t,i,s,n,r,o):e.EarCut.earcutLinked(e.EarCut.filterPoints(t),i,s,n,r,o,1);break}}},e.EarCut.isEar=function(t){var i=t.prev,s=t,n=t.next;if(e.EarCut.area(i,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(e.EarCut.pointInTriangle(i.x,i.y,s.x,s.y,n.x,n.y,r.x,r.y)&&e.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},e.EarCut.isEarHashed=function(t,i,s,n){var r=t.prev,o=t,a=t.next;if(e.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=e.EarCut.zOrder(h,l,i,s,n),p=e.EarCut.zOrder(u,c,i,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.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&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},e.EarCut.cureLocalIntersections=function(t,i,s){var n=t;do{var r=n.prev,o=n.next.next;e.EarCut.intersects(r,n,n.next,o)&&e.EarCut.locallyInside(r,o)&&e.EarCut.locallyInside(o,r)&&(i.push(r.i/s),i.push(n.i/s),i.push(o.i/s),e.EarCut.removeNode(n),e.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},e.EarCut.splitEarcut=function(t,i,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&e.EarCut.isValidDiagonal(a,h)){var l=e.EarCut.splitPolygon(a,h);return a=e.EarCut.filterPoints(a,a.next),l=e.EarCut.filterPoints(l,l.next),e.EarCut.earcutLinked(a,i,s,n,r,o),void e.EarCut.earcutLinked(l,i,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},e.EarCut.eliminateHoles=function(t,i,s,n){var r,o,a,h,l,u=[];for(r=0,o=i.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&&e.EarCut.pointInTriangle(os.x)&&e.EarCut.locallyInside(n,t)&&(s=n,c=l),n=n.next;return s},e.EarCut.indexCurve=function(t,i,s,n){var r=t;do{null===r.z&&(r.z=e.EarCut.zOrder(r.x,r.y,i,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,e.EarCut.sortLinked(r)},e.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},e.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},e.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},e.EarCut.isValidDiagonal=function(t,i){return e.EarCut.equals(t,i)||t.next.i!==i.i&&t.prev.i!==i.i&&!e.EarCut.intersectsPolygon(t,i)&&e.EarCut.locallyInside(t,i)&&e.EarCut.locallyInside(i,t)&&e.EarCut.middleInside(t,i)},e.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},e.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},e.EarCut.intersects=function(t,i,s,n){return e.EarCut.area(t,i,s)>0!=e.EarCut.area(t,i,n)>0&&e.EarCut.area(s,n,t)>0!=e.EarCut.area(s,n,i)>0},e.EarCut.intersectsPolygon=function(t,i){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==i.i&&s.next.i!==i.i&&e.EarCut.intersects(s,s.next,t,i))return!0;s=s.next}while(s!==t);return!1},e.EarCut.locallyInside=function(t,i){return e.EarCut.area(t.prev,t,t.next)<0?e.EarCut.area(t,i,t.next)>=0&&e.EarCut.area(t,t.prev,i)>=0:e.EarCut.area(t,i,t.prev)<0||e.EarCut.area(t,t.next,i)<0},e.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},e.EarCut.splitPolygon=function(t,i){var s=new e.EarCut.Node(t.i,t.x,t.y),n=new e.EarCut.Node(i.i,i.x,i.y),r=t.next,o=i.prev;return t.next=i,i.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},e.EarCut.insertNode=function(t,i,s,n){var r=new e.EarCut.Node(t,i,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},e.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)},e.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,i){var s,n=i.gl,r=i.projection,o=i.offset,a=i.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===e.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===e.CIRCLE||a.type===e.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===e.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*(I-2)],d=n[2*(I-2)+1],p=n[2*(I-1)],y=-(d-(f=n[2*(I-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),O.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,i.beginPath(),i.moveTo(_,T+S),i.lineTo(_,T+C-S),i.quadraticCurveTo(_,T+C,_+S,T+C),i.lineTo(_+w-S,T+C),i.quadraticCurveTo(_+w,T+C,_+w,T+C-S),i.lineTo(_+w,T+S),i.quadraticCurveTo(_+w,T,_+w-S,T),i.lineTo(_+S,T),i.quadraticCurveTo(_,T,_,T+S),i.closePath(),(r.fillColor||0===r.fillColor)&&(i.globalAlpha=r.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fill()),r.lineWidth&&(i.globalAlpha=r.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,i){var s=t.graphicsData.length;if(0!==s){i.beginPath();for(var n=0;nC?C:w,i.moveTo(x,b+w),i.lineTo(x,b+T-w),i.quadraticCurveTo(x,b+T,x+w,b+T),i.lineTo(x+_-w,b+T),i.quadraticCurveTo(x+_,b+T,x+_,b+T-w),i.lineTo(x+_,b+w),i.quadraticCurveTo(x+_,b,x+_-w,b),i.lineTo(x+w,b),i.quadraticCurveTo(x,b,x,b+w),i.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}},e.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},e.GraphicsData.prototype.constructor=e.GraphicsData,e.GraphicsData.prototype.clone=function(){return new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},e.Graphics=function(t,i,s){void 0===i&&(i=0),void 0===s&&(s=0),this.type=e.GRAPHICS,this.physicsType=e.SPRITE,this.anchor=new e.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 e.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Graphics.prototype.constructor=e.Graphics,e.Component.Core.install.call(e.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.Graphics.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Graphics.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Graphics.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Graphics.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Graphics.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},e.Graphics.prototype.drawTriangles=function(t,i,s){void 0===s&&(s=!1);var n,r=new e.Point,o=new e.Point,a=new e.Point,h=[];if(i)if(t[0]instanceof e.Point)for(n=0;nu*a)}return this.dirty=!0,this._boundsDirty=!0,this},e.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},e.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},e.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},e.Graphics.prototype.drawRect=function(t,i,s,n){return this.drawShape(new e.Rectangle(t,i,s,n)),this},e.Graphics.prototype.drawRoundedRect=function(t,i,s,n,r){return this.drawShape(new e.RoundedRectangle(t,i,s,n,r)),this},e.Graphics.prototype.drawCircle=function(t,i,s){return this.drawShape(new e.Circle(t,i,s)),this},e.Graphics.prototype.drawEllipse=function(t,i,s,n){return this.drawShape({x:t,y:i,width:s,height:n,type:e.ELLIPSE}),this},e.Graphics.prototype.drawPolygon=function(t){t instanceof e.Polygon&&(t=t.points);var i=t;if(!Array.isArray(i)){i=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},e.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=e.identityMatrix;for(var i=0;ii?a+l:i,s=hn?h+u:n;else if(p===e.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,u=r.radius+f/2,t=a-li?a+l:i,s=h-un?h+u:n;else if(p===e.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,u=r.height+f/2,t=a-li?a+l:i,s=h-un?h+u:n;else{o=r.points;for(var g=0;gi?a+f:i,s=h-fn?h+f:n}}else t=0,i=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=i-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},e.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},e.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()},e.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},e.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof e.Polygon&&(t=t.clone()).flatten();var i=new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(i),i.type===e.POLYGON&&(i.shape.closed=this.filling,this.currentPath=i),this.dirty=!0,this._boundsDirty=!0,i},Object.defineProperty(e.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}}),e.RenderTexture=function(t,i,s,n,r,o,a,h){if(void 0===i&&(i=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=e.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=e.RENDERTEXTURE,this._tempMatrix=new e.Matrix,this.width=i,this.height=s,this.resolution=o,this.frame=new e.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===e.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 e.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 e.Matrix,this._updateUvs()},e.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),e.RenderTexture.prototype.constructor=e.RenderTexture,e.RenderTexture.prototype.renderXY=function(t,i,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=i,this._tempMatrix.ty=s,this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.renderRawXY=function(t,i,s,n){this._tempMatrix.identity().translate(i,s),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.render=function(t,i,s){void 0===i||null===i?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(i),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},e.RenderTexture.prototype.resize=function(t,i,s){t===this.width&&i===this.height||(this.valid=t>0&&i>0,this.width=t,this.height=i,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=i*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===e.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},e.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===e.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},e.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},e.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)},e.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++}},e.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},e.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},e.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},e.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},e.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},e.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},e.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)/)},e.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},e.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,"")},e.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},e.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()},e.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.Text.prototype.determineFontProperties=function(t){var i=e.Text.fontPropertiesCache[t],s=this.testString||"|MÉq";if(!i){i={};var n=e.Text.fontPropertiesCanvas,r=e.Text.fontPropertiesContext;r.font=t;var o=Math.ceil(r.measureText(s).width),a=Math.ceil(r.measureText(s).width),h=2*a;if(a=1.4*a|0,n.width=o,n.height=h,r.fillStyle="#f00",r.fillRect(0,0,o,h),r.font=t,r.textBaseline="alphabetic",r.fillStyle="#000",r.fillText(s,0,a),!r.getImageData(0,0,o,h))return i.ascent=a,i.descent=a+6,i.fontSize=i.ascent+i.descent,e.Text.fontPropertiesCache[t]=i,i;var l,u,c=r.getImageData(0,0,o,h).data,d=c.length,p=4*o,f=0,g=!1;for(l=0;la;l--){for(u=0;u0?this._maxWidth:null,l=[],u=0;u=h&&r>-1)return{width:o||n,text:i.substr(0,u-(u-r)),end:!1,chars:l};n+=(p.xAdvance+g+this.letterSpacing)*e,l.push(s+(p.xOffset+g+this.letterSpacing)*e),s+=(p.xAdvance+g+this.letterSpacing)*e,a=d}return{width:n,text:i,end:c,chars:l}},e.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(e.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),e.RetroFont=function(t,i,s,n,r,o,a,h,l,u){if(!t.cache.checkImageKey(i))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(i).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(i),this._text="",this.grabData=[],this.frameData=new e.FrameData;for(var c=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",e.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",e.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",e.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",e.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",e.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",e.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",e.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",e.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},e.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)},e.RetroFont.prototype.buildRetroFontText=function(){var t=0,i=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===e.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===e.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},e.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},e.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},e.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},e.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(e.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(e.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),e.Rope=function(t,i,s,n,r,o){this.points=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=e.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=e.Rope.TRIANGLE_STRIP,e.Component.Core.init.call(this,t,i,s,n,r),this.refresh()},e.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Rope.prototype.constructor=e.Rope,e.Component.Core.install.call(e.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Rope.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Rope.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Rope.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Rope.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Rope.TRIANGLE_STRIP=0,e.Rope.TRIANGLES=1,e.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},e.Rope.prototype.reset=function(t,i){return e.Component.Reset.prototype.reset.call(this,t,i),this},e.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;for(var n=t.length,r=0,o=0,a=0;a0){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,O=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,k=g*x*f+v*p*y+d*m*b-d*x*y-v*m*f-g*p*b;t.transform(M/A,O/A,R/A,I/A,L/A,k/A),t.drawImage(o,0,0),t.restore()},e.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nl?y:l,u=v>u?v:u}if(c===-1/0||u===1/0)return e.EmptyRectangle;var x=this._bounds;return x.x=c,x.width=l-c,x.y=d,x.height=u-d,this._currentBounds=x,x},Object.defineProperty(e.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(e.Rope.prototype,"segments",{get:function(){for(var t,i,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(e.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(e.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),e.CanvasPool={create:function(t,i,s){var n,r=e.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};e.CanvasPool.pool.push(o),n=o.canvas}else e.CanvasPool.pool[r].parent=t,n=e.CanvasPool.pool[r].canvas;return void 0!==i&&(n.width=i,n.height=s),n},getFirst:function(){for(var t=e.CanvasPool.pool,i=0;i=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&&i(),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=!!window.WebGLRenderingContext,s.worker=!!window.Worker,s.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,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=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var r=i.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]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.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"))},e.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))))))},e.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)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,r){i=i||256,s=s||256;var o=r?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=i,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,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),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 i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},setImageRenderingCrisp:function(t){for(var e=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","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=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=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}},e.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)},e.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(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.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)},e.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 e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.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 e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},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}},e.QuadTree.prototype.constructor=e.QuadTree,e.TweenManager=function(t){this.game=t,this._tweens=[],this._add=[],this.easeMap={Power0:e.Easing.Power0,Power1:e.Easing.Power1,Power2:e.Easing.Power2,Power3:e.Easing.Power3,Power4:e.Easing.Power4,Linear:e.Easing.Linear.None,Quad:e.Easing.Quadratic.Out,Cubic:e.Easing.Cubic.Out,Quart:e.Easing.Quartic.Out,Quint:e.Easing.Quintic.Out,Sine:e.Easing.Sinusoidal.Out,Expo:e.Easing.Exponential.Out,Circ:e.Easing.Circular.Out,Elastic:e.Easing.Elastic.Out,Back:e.Easing.Back.Out,Bounce:e.Easing.Bounce.Out,"Quad.easeIn":e.Easing.Quadratic.In,"Cubic.easeIn":e.Easing.Cubic.In,"Quart.easeIn":e.Easing.Quartic.In,"Quint.easeIn":e.Easing.Quintic.In,"Sine.easeIn":e.Easing.Sinusoidal.In,"Expo.easeIn":e.Easing.Exponential.In,"Circ.easeIn":e.Easing.Circular.In,"Elastic.easeIn":e.Easing.Elastic.In,"Back.easeIn":e.Easing.Back.In,"Bounce.easeIn":e.Easing.Bounce.In,"Quad.easeOut":e.Easing.Quadratic.Out,"Cubic.easeOut":e.Easing.Cubic.Out,"Quart.easeOut":e.Easing.Quartic.Out,"Quint.easeOut":e.Easing.Quintic.Out,"Sine.easeOut":e.Easing.Sinusoidal.Out,"Expo.easeOut":e.Easing.Exponential.Out,"Circ.easeOut":e.Easing.Circular.Out,"Elastic.easeOut":e.Easing.Elastic.Out,"Back.easeOut":e.Easing.Back.Out,"Bounce.easeOut":e.Easing.Bounce.Out,"Quad.easeInOut":e.Easing.Quadratic.InOut,"Cubic.easeInOut":e.Easing.Cubic.InOut,"Quart.easeInOut":e.Easing.Quartic.InOut,"Quint.easeInOut":e.Easing.Quintic.InOut,"Sine.easeInOut":e.Easing.Sinusoidal.InOut,"Expo.easeInOut":e.Easing.Exponential.InOut,"Circ.easeInOut":e.Easing.Circular.InOut,"Elastic.easeInOut":e.Easing.Elastic.InOut,"Back.easeInOut":e.Easing.Back.InOut,"Bounce.easeInOut":e.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},e.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,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_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)},destroy:function(){this.game.onPause.remove(this._pauseAll,this),this.game.onResume.remove(this._resumeAll,this),this.game=null,this._add=null,this._tweens=null}},e.TweenManager.prototype.constructor=e.TweenManager,e.Tween=function(t,i,s){this.game=i,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new e.Signal,this.onLoop=new e.Signal,this.onRepeat=new e.Signal,this.onChildComplete=new e.Signal,this.onComplete=new e.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},e.Tween.updateColor=function(t){e.Color.updateColor(t.target)},e.Tween.prototype={to:function(t,i,s,n,r,o,a){return(void 0===i||i<=0)&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).to(t,i,s,r,o,a)),n&&this.start(),this)},from:function(t,i,s,n,r,o,a){return void 0===i&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).from(t,i,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(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.deltaTotal},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.deltaTotal)},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.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])),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 e.TweenData.PENDING;this.isRunning=!0}var i=this.game.time.delta;this.parent.reverse?(this.dt-=i*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=i*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():e.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,e.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return e.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.deltaTotal,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,e.TweenData.LOOPED}},e.TweenData.prototype.constructor=e.TweenData,e.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){return 0===t?0:1===t?1:(.1,-1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4))},Out:function(t){return 0===t?0:1===t?1:(.1,1*Math.pow(2,-10*t)*Math.sin((t-.1)*(2*Math.PI)/.4)+1)},InOut:function(t){return 0===t?0:1===t?1:(.1,(t*=2)<1?1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*-.5:1*Math.pow(2,-10*(t-=1))*Math.sin((t-.1)*(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-e.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*e.Easing.Bounce.In(2*t):.5*e.Easing.Bounce.Out(2*t-1)+.5}}},e.Easing.Default=e.Easing.Linear.None,e.Easing.Power0=e.Easing.Linear.None,e.Easing.Power1=e.Easing.Quadratic.Out,e.Easing.Power2=e.Easing.Cubic.Out,e.Easing.Power3=e.Easing.Quartic.Out,e.Easing.Power4=e.Easing.Quintic.Out,e.Time=function(t){this.game=t,this.time=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.delta=0,this.deltaTotal=0,this.deltaMax=200,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=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 e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._timers=[]},e.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 i=new e.Timer(this.game,t);return this._timers.push(i),i},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){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},preUpdate:function(t){t*=1e3,this.delta=t,this.deltaTotal+=t,this.game.paused||(this.events.update(this.deltaTotal),this.updateTimers()),this.advancedTiming&&this.updates++},preRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted},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(e.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.desiredFpsMult=1/t}}),Object.defineProperty(e.Time.prototype,"desiredMinFps",{get:function(){return 1e3/this.deltaMax},set:function(t){this.deltaMax=1e3/t}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.Signal,this.nextTick=0,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=this.game.time?this.game.time.deltaTotal:0,this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,r,o){var a=(t=Math.round(t))+this._now,h=new e.TimerEvent(this,t,a,s,i,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.deltaTotal+(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._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.deltaTotal,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.deltaTotal,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.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},e.TimerEvent.prototype.constructor=e.TimerEvent,e.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=[]},e.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,i,s,n,r){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,r,this._outputFrames),this._anims[t]=new e.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}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},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(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},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)}}),e.Animation=function(t,i,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=i,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 e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.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.deltaTotal,this._timeNextFrame=this.game.time.deltaTotal+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.deltaTotal,this._timeNextFrame=this.game.time.deltaTotal+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=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(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||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.updateCurrentFrame(!1),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()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.deltaTotal:this.isPlaying&&(this._timeNextFrame=this.game.time.deltaTotal+this.delay)}}),Object.defineProperty(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.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(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,r){void 0===n&&(n="");var o=[],a="";if(i=s;h--)a=t+(a="number"==typeof r?e.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},e.Frame=function(t,i,s,n,r,o){this.index=t,this.x=i,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+o+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=e.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},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},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 e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.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 e.FrameData,i=0;if||h<-f)return console.error('Spritesheet "%s": skipFrames=%s is larger than the frame total %s',i,h,f),null;if(r>-1&&(v=(f=r)-1),d<1&&console.warn('Spritesheet "%s": Texture has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)',i,u,s+o+a,s,o,a),p<1&&console.warn('Spritesheet "%s": Texture has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)',i,c,n+o+a,n,o,a),0===g)return console.error('Spritesheet "%s": zero frames were produced',i),null;if(h>0?v=(y=h)+(f=Math.min(f,g-h))-1:h<0&&(y=(v=m+h)-(f=Math.min(f,g+h))+1),y<0)return console.error('Spritesheet "%s": There is no frame at index %s',i,y),null;if(v>m)return console.warn('Spritesheet "%s": There is no frame at index %s. Last frame found is index %s',i,v,m),null;for(var x=new e.FrameData,b=o,_=o,T=0,w=0;wv);w++)w>=y&&x.addFrame(new e.Frame(T++,b,_,s,n,"")),(b+=s+a)+s>u&&(b=o,_+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,r=i.frames,o=0;o tag")}},e.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:{},data:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._cacheMap[e.Cache.DATA]=this._cache.data,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DATA=16,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in e.LoaderParser?e.LoaderParser[s](n):n,o={key:t,url:i,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new e.Frame(0,0,0,r.width,r.height,t),frameData:new e.FrameData,fileFormat:s};return o.frameData.addFrame(new e.Frame(0,0,0,r.width,r.height,i)),this._cache.image[t]=o,this._resolveURL(i,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,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.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(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.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,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,r,o,a){var h={url:i,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?e.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,r,o,a){var h=this.getFrameByName(i,s);if(h){var l={font:null,base:this.getBaseTexture(i),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var u;"json"===r?(u=this.getJSON(n),l.font=e.LoaderParser.jsonBitmapFont(u,l.base,o,a,h,this.game.resolution)):(u=this.getXML(n),l.font=e.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,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,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:i,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=u,this._resolveURL(i,u)},addTextureAtlas:function(t,i,s,n,r){var o={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===e.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=e.AnimationParser.XMLData(this.game,n,t):r===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=e.AnimationParser.JSONData(this.game,n,t):o.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(i,o)},addData:function(t,e){this._cache.data[t]=e},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 i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.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(e.Cache.CANVAS,t)},checkDataKey:function(t){return this.checkKey(e.Cache.DATA,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.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,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var r=n[i];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+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getData:function(t){return this.getItem(t,e.Cache.DATA,"getData")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},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=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},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]},removeData:function(t){delete this._cache.data[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.",i),t._ready())},e.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)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.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 e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.Signal,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},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.mediaTypes={avif:"image/avif",bmp:"image/bmp",cur:"image/x-icon",gif:"image/gif",ico:"image/x-icon",jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",svg:"image/svg+xml",tif:"image/tiff",tiff:"image/tiff",webp:"image/webp"},e.Loader.getMediaType=function(t){var i=t.match(/\.(\w+)$/);return i?e.Loader.mediaTypes[i[1]]||null:null},e.Loader._getSource=function(t){return"string"==typeof t?{url:t,type:e.Loader.getMediaType(t)}:t},e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.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.game.state&&(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.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 i=t.data[t.key];if(i)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()},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,i){if(this.game.isBooted){var s=!0;switch(t.type){case"packfile":r=JSON.parse(i.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,i.response);break;case"image":case"imageset":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===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.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=i.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=i.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=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(i.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=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.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(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.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;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=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]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),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}},e.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])},e.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]}},e.AudioSprite.prototype.constructor=e.AudioSprite,e.Sound=function(t,i,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=i,this.key=i,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.playOnce=!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._pendingStart=!1,this._removeFromSoundManager=!1,this._sourceId=0,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,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(i)&&this.game.cache.isSoundReady(i)?(this._sound=this.game.cache.getSoundData(i),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new e.Signal,this.onPlay=new e.Signal,this.onPause=new e.Signal,this.onResume=new e.Signal,this.onLoop=new e.Signal,this.onStop=new e.Signal,this.onMute=new e.Signal,this.onMarkerComplete=new e.Signal,this.onFadeComplete=new e.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},e.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&&(this._removeOnEndedHandler(),this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),this._markedToDelete&&(this._disconnectSource(),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(){if(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));var t=this.game.time.time;if(this.isPlaying){if(this._pendingStart){var e=this._sound.currentTime;if(!(e>((this.paused?this._tempPause:0)||this.position||0)))return;this._pendingStart=!1,this.startTime=t-1e3*e,this.stopTime=this.startTime+this.durationMS}this.currentTime=t-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=t,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0,!1))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=t),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0,!1)):this.stop())}}else this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n,r){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),void 0===r&&(r=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0),this.isPlaying=!1),""===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._createSourceAndConnect(),this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||this._addOnEndedHandler(),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),this.loop&&""===t?this._startSource(0,0):this._startSource(0,this.position,this.duration),this.isPlaying=!0,this.paused=!1,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&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._sound.loop=this.loop,this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._globalVolume=this.game.sound.volume,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._globalVolume,this._pendingStart=!this.currentMarker,this.isPlaying=!0,this.paused=!1,this._tempPause=0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&this.onPlay.dispatch(this)):this.pendingPlayback=!0,this.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!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.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){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._createSourceAndConnect(),""===this.currentMarker&&(this.loop?this._sound.loop=!0:this._addOnEndedHandler());var e=this.duration-this.pausedPosition/1e3;this.loop&&""===this.currentMarker?this._startSource(0,t):this._startSource(0,t,e)}else this._pendingStart=!this.currentMarker,this._sound.currentTime=this._tempPause,this._tempPause=0,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&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0)),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,i){this.isPlaying&&!this.paused&&i!==this.volume&&(void 0===t&&(t=1e3),void 0!==i?(this.fadeTween=this.game.add.tween(this).to({volume:i},t,e.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())},_createSourceAndConnect:function(){this._sound=this.context.createBufferSource(),this._sound.connect(this.externalNode||this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this._sourceId++},_disconnectSource:function(){this._sound.disconnect(this.externalNode||this.gainNode)},_startSource:function(t,e,i){void 0===i?this._sound.start(t||0,e||0):this._sound.start(t||0,e||0,i)},_stopSourceAndDisconnect:function(){this._removeOnEndedHandler();try{this._sound.stop(0)}catch(t){}this._disconnectSource(),this._sound=null},_addOnEndedHandler:function(){this._sound.onended=this.onEndedHandler.bind(this)},_removeOnEndedHandler:function(){this._sound.onended=null}},e.Sound.prototype.constructor=e.Sound,Object.defineProperty(e.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(e.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(e.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(e.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))}}),Object.defineProperty(e.Sound.prototype,"sourceId",{get:function(){return this._sound?this._sourceId:null}}),e.SoundManager=function(t){this.game=t,this.onSoundDecode=new e.Signal,this.onVolumeChange=new e.Signal,this.onMute=new e.Signal,this.onUnMute=new e.Signal,this.onTouchUnlock=new e.Signal,this.onStateChange=new e.Signal,this.context=null,this.baseLatency=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 e.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null,this._onClick=this._onClick.bind(this),this._onStateChange=this._onStateChange.bind(this)},e.SoundManager.prototype={boot:function(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,this.baseLatency=this.context.baseLatency||256/(this.context.sampleRate||44100),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.context.onstatechange=this._onStateChange,"suspended"===this.context.state&&this.game.canvas.addEventListener("click",this._onClick);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},webAudioIsSuspended:function(){return this.usingWebAudio&&"suspended"===this.context.state},resumeWebAudio:function(){if(this.usingWebAudio)return this.context.resume()},resumeWebAudioIfSuspended:function(){if(this.webAudioIsSuspended())return this.context.resume()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();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);var e=this;this._unlockSource.onended=function(){e.setTouchUnlock(),e.resumeWebAudioIfSuspended()},void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudioIfSuspended()}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 i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==i||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))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.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(e.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(e.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(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),e.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px monospace",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},e.Utils.Debug.GEOM_AUTO=0,e.Utils.Debug.GEOM_RECTANGLE=1,e.Utils.Debug.GEOM_CIRCLE=2,e.Utils.Debug.GEOM_POINT=3,e.Utils.Debug.GEOM_LINE=4,e.Utils.Debug.GEOM_ELLIPSE=5,e.Utils.Debug.prototype={boot:function(){this.game.renderType===e.CANVAS?this.context=this.game.context:(this.bmd=new e.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=e.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new e.Line,this._rect=new e.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;e ")+o):o===s._pendingState?this.line("+ "+o):this.line(" "+o)}this.stop()},sound:function(t,e,i){var s=this.game.sound;this.start(t,e,i),s.noAudio?this.line("Audio is disabled"):(this.line("Volume: "+s.volume.toFixed(2)+(s.mute?" (Mute)":"")),this.line("Mute on pause: "+s.muteOnPause),this.line("Using: "+(s.usingWebAudio?"Web Audio - "+s.context.state:"Audio Tag")),this.line("Touch locked: "+s.touchLocked),this.line("Sounds: "+s._sounds.length)),this.stop()},soundInfo:function(t,e,i,s){if(this.start(e,i,s),this.line("Sound: "+t.key+" Touch locked: "+t.game.sound.touchLocked),this.line("Is Ready?: "+this.game.cache.isSoundReady(t.key)+" Pending Playback: "+t.pendingPlayback),this.line("Decoded: "+t.isDecoded+" Decoding: "+t.isDecoding),this.line("Playing: "+t.isPlaying+" Loop: "+t.loop),this.line("Time: "+(t.currentTime/1e3).toFixed(3)+"s Total: "+t.totalDuration.toFixed(3)+"s"),this.line("Volume: "+t.volume.toFixed(2)+(t.mute?" (Mute)":"")),this.line("Using: "+(t.usingWebAudio?"Web Audio":"Audio Tag")),t.usingWebAudio&&this.line(" Source: "+(t.sourceId||"none")),t.usingAudioTag&&t._sound){var n=t._sound;this.line(" currentSrc: "+n.currentSrc),this.line(" currentTime: "+n.currentTime),this.line(" duration: "+n.duration),this.line(" ended: "+n.ended),this.line(" loop: "+n.loop),this.line(" muted: "+n.muted),this.line(" paused: "+n.paused)}""!==t.currentMarker&&(this.line("Marker: "+t.currentMarker+" Duration: "+t.duration.toFixed(3)+"s ("+t.durationMS+"ms)"),this.line("Start: "+t.markers[t.currentMarker].start.toFixed(3)+" Stop: "+t.markers[t.currentMarker].stop.toFixed(3)),this.line("Position: "+t.position.toFixed(3))),this.stop()},camera:function(t,e,i){var s=t.deadzone,n=t.target,r=t.view;s&&(this._rect.setTo(r.x+s.x,r.y+s.y,s.width,s.height),this.rectangle(this._rect,e,i)),n&&(this._line.setTo(r.centerX,r.centerY,n.x,n.y),this.geom(this._line,e,i),this.geom(n,e,!1,3))},cameraInfo:function(t,e,i,s){var n=t.bounds,r=t.deadzone,o=t.target,a=t.view;this.start(e,i,s),this.line("Camera ("+t.width+" x "+t.height+")"),this.line("x: "+t.x+" y: "+t.y),this.line("Bounds: "+(n?"x: "+n.x+" y: "+n.y+" w: "+n.width+" h: "+n.height:"none")),this.line("View: x: "+a.x+" y: "+a.y+" w: "+a.width+" h: "+a.height),this.line("Center: x: "+t.centerX+" y: "+t.centerY),this.line("Deadzone: "+(r?"x: "+r.x+" y: "+r.y+" w: "+r.width+" h: "+r.height:r)),this.line("Total in view: "+t.totalInView),this.line("At limit: x: "+t.atLimit.x+" y: "+t.atLimit.y),this.line("Target: "+(o?o.name||o:"none")),this.stop()},timer:function(t,e,i,s){this.start(e,i,s),this.line("Timer (running: "+t.running+" expired: "+t.expired+")"),this.line("Next Tick: "+t.next+" Duration: "+t.duration),this.line("Paused: "+t.paused+" Length: "+t.length),this.stop()},pointer:function(t,e,i,s,n,r){if(null!=t&&(void 0===e&&(e=!1),i=i||"rgba(0,255,0,0.5)",s=s||"rgba(255,255,0,0.5)",r=r||"rgba(255,0,0,0.5)",!0!==e||!0!==t.isUp)){this.start(t.x,t.y-150,n),this.context.beginPath(),this.context.arc(t.x,t.y,t.circle.radius,0,2*Math.PI),t.active?this.context.fillStyle=t.isDown?i:s:this.context.fillStyle=r,this.context.fill(),this.context.closePath(),this.context.beginPath(),this.context.moveTo(t.positionDown.x,t.positionDown.y),this.context.lineTo(t.position.x,t.position.y),this.context.lineWidth=2,this.context.stroke(),this.context.closePath();var o=t.movementX,a=t.movementY;(o||a)&&(this.context.beginPath(),this.context.moveTo(o+t.position.x,a+t.position.y),this.context.lineTo(t.position.x,t.position.y),this.context.lineWidth=2,this.context.stroke(),this.context.closePath()),this.line("ID: "+t.id+" Active: "+t.active),this.line("World X: "+t.worldX.toFixed(1)+" World Y: "+t.worldY.toFixed(1)),this.line("Screen X: "+t.x.toFixed(1)+" Screen Y: "+t.y.toFixed(1)+" In: "+t.withinGame),this.line("Movement: X: "+o+" Y: "+a),this.line("Duration: "+t.duration+" ms"),this.line("is Down: "+t.isDown+" is Up: "+t.isUp),this.line("Identifier: "+t.identifier+" Pointer ID: "+t.pointerId),t.isMouse&&this.line("Buttons: "+this._pointerButtonIcon(t.leftButton)+" "+this._pointerButtonIcon(t.middleButton)+" "+this._pointerButtonIcon(t.rightButton)),this.stop()}},_pointerButtonIcon:function(t){return t.isDown?"x":t.isUp?"o":"-"},spriteInputInfo:function(t,e,i,s){this.start(e,i,s),this.line("Sprite Input: ("+t.width+" x "+t.height+")"),this.line("x: "+t.input.pointerX().toFixed(1)+" y: "+t.input.pointerY().toFixed(1)),this.line("over: "+t.input.pointerOver()+" duration: "+t.input.overDuration().toFixed(0)),this.line("down: "+t.input.pointerDown()+" duration: "+t.input.downDuration().toFixed(0)),this.line("just over: "+t.input.justOver()+" just out: "+t.input.justOut()),this.stop()},key:function(t,e,i,s){this.start(e,i,s,150),this.line("Key:",t.keyCode,"isDown:",t.isDown),this.line("justDown:",t.justDown,"justUp:",t.justUp),this.line("Time Down:",t.timeDown.toFixed(0),"duration:",t.duration.toFixed(0)),this.stop()},inputInfo:function(t,i,s,n){var r=this.game.input;if(void 0===n&&(n=!0),this.start(t,i,s),this.line("Input"),this.line("X: "+r.x+" Y: "+r.y),this.line("World X: "+r.worldX+" World Y: "+r.worldY),this.line("Scale X: "+r.scale.x.toFixed(2)+" Scale Y: "+r.scale.x.toFixed(2)),this.line("Screen X: "+r.activePointer.screenX.toFixed(1)+" Screen Y: "+r.activePointer.screenY.toFixed(1)),n){this.line("Sources:"),this.line(" "+this._inputHandler(r.mouse,"mouse")),this.line(" "+this._inputHandler(r.mspointer,"mspointer")),this.line(" "+this._inputHandler(r.touch,"touch"));var o=r.pointers,a=r.mousePointer,h=e.PointerModes,l=0,u=0;this.line("Pointers:"),this.line(" "+(a.isDown?"x":"o")+" "+h[a.pointerMode]+" "+a.identifier);for(var c=0;c0)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 e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=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(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.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(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:r}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.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(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.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,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},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,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var r=Math.min(t,i,s),o=Math.max(t,i,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=(i-s)/a+(i1&&(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,i,s,n,r,o,a,h){var l={r:t||0,g:i||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 e.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.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,i,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){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);i?(i.r=n,i.g=r,i.b=o):i=e.Color.createColor(n,r,o)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);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=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.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=e.Color.HSVtoRGB(d,y,v,x),l=x.r,u=x.g,c=x.b}return e.Color.getColor32(r,l,u,c)},interpolateColorWithRGB:function(t,i,s,n,r,o){var a=e.Color.getRGB(t),h=(i-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,u=(n-a.blue)*o/r+a.blue;return e.Color.getColor(h,l,u)},interpolateRGB:function(t,i,s,n,r,o,a,h){var l=(n-t)*h/a+t,u=(r-i)*h/a+i,c=(o-s)*h/a+s;return e.Color.getColor(l,u,c)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t));return e.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 i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.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,i){return e.Color.blendOverlay(i,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,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.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()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.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}},e.Physics.prototype.constructor=e.Physics,e.Physics.Arcade=function(t){this.game=t,this.gravity=new e.Point,this.bounds=new e.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=e.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new e.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()},e.Physics.Arcade.prototype.constructor=e.Physics.Arcade,e.Physics.Arcade.SORT_NONE=0,e.Physics.Arcade.LEFT_RIGHT=1,e.Physics.Arcade.RIGHT_LEFT=2,e.Physics.Arcade.TOP_BOTTOM=3,e.Physics.Arcade.BOTTOM_TOP=4,e.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,i){void 0===i&&(i=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof e.Group?this.enable(t[s].children,i):(this.enableBody(t[s]),i&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof e.Group?this.enable(t.children,i):(this.enableBody(t),i&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.Arcade.Body(t),t.parent&&t.parent instanceof e.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+=.001*t.angularVelocity*this.game.time.delta}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+=.001*(this.gravity.x+e.gravity.x)*this.game.time.delta:2===t&&e.allowGravity&&(i+=.001*(this.gravity.y+e.gravity.y)*this.game.time.delta),s?i+=.001*s*this.game.time.delta:n&&e.allowDrag&&(i-(n*=.001*this.game.time.delta)>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,i){null!==t.physicsSortDirection?i=t.physicsSortDirection:void 0===i&&(i=this.sortDirection),i===e.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):i===e.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):i===e.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):i===e.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===e.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(i);for(var u=this.quadTree.retrieve(t),h=0;hu.right)continue;if(u.x>a.right)break}else if(this.sortDirection===e.Physics.Arcade.TOP_BOTTOM){if(a.bottomu.bottom)continue;if(u.y>h.body.bottom)break}this.collideSpriteVsSprite(h,c,i,s,n,r)}}}}},collideGroupVsGroup:function(t,i,s,n,r,o){if(0!==t.length&&0!==i.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)=i.right)&&!(t.position.y>=i.bottom))))},circleBodyIntersects:function(t,i){var s=e.Math.clamp(t.center.x,i.left,i.right),n=e.Math.clamp(t.center.y,i.top,i.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,i,s){this.getOverlapX(t,i),this.getOverlapY(t,i);var n=i.center.x-t.center.x,r=i.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==i.isCircle){var h={x:i.isCircle?t.position.x:i.position.x,y:i.isCircle?t.position.y:i.position.y,right:i.isCircle?t.right:i.right,bottom:i.isCircle?t.bottom:i.bottom},l={x:t.isCircle?t.center.x:i.center.x,y:t.isCircle?t.center.y:i.center.y,radius:t.isCircle?t.halfWidth:i.halfWidth};l.yh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+i.halfWidth-e.Math.distance(t.center.x,t.center.y,i.center.x,i.center.y);if(s||0===a||t.immovable&&i.immovable||t.customSeparateX||i.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,i.sprite),i.onOverlap&&i.onOverlap.dispatch(i.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:i.velocity.x*Math.cos(o)+i.velocity.y*Math.sin(o),y:-i.velocity.x*Math.sin(o)+i.velocity.y*Math.cos(o)},d=((t.mass-i.mass)*u.x+2*i.mass*c.x)/(t.mass+i.mass),p=(2*t.mass*u.x+(i.mass-t.mass)*c.x)/(t.mass+i.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),i.immovable||(i.velocity.x=(p*Math.cos(o)-c.y*Math.sin(o))*i.bounce.x,i.velocity.y=(c.y*Math.cos(o)+p*Math.sin(o))*i.bounce.y),Math.abs(o)0&&!t.immovable&&i.velocity.x>t.velocity.x?t.velocity.x*=-1:i.velocity.x<0&&!i.immovable&&t.velocity.x0&&!t.immovable&&i.velocity.y>t.velocity.y?t.velocity.y*=-1:i.velocity.y<0&&!i.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&i.velocity.x0&&!i.immovable&&t.velocity.x>i.velocity.x?i.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&i.velocity.y0&&!i.immovable&&t.velocity.x>i.velocity.y&&(i.velocity.y*=-1)),t.immovable||(t.x+=.001*t.velocity.x*this.game.time.delta-a*Math.cos(o),t.y+=.001*t.velocity.y*this.game.time.delta-a*Math.sin(o)),i.immovable||(i.x+=.001*i.velocity.x*this.game.time.delta+a*Math.cos(o),i.y+=.001*i.velocity.y*this.game.time.delta+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,i.sprite),i.onCollide&&i.onCollide.dispatch(i.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,i,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 e.Rectangle(t,i,1,1),h=[],l=this.quadTree.retrieve(a),u=0;u0&&(s=this.distanceBetween(t,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},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,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i,!0)},velocityFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},accelerationFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},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,s){void 0===i&&(i=!1);var n,r;return s?(n=t.centerX-e.centerX,r=t.centerY-e.centerY):i?(n=t.world.x-e.world.x,r=t.world.y-e.world.y):(n=t.x-e.x,r=t.y-e.y),Math.sqrt(n*n+r*r)},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,s){for(var n=1/0,r=null,o=0,a=e.length;on&&(r=h,n=l)}return r},angleBetween:function(t,i,s){return void 0===s&&(s=!1),s?e.Point.angle(i.world,t.world):e.Point.angle(i,t)},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)}},e.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=e.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new e.Point,this.position=new e.Point(t.x,t.y),this.prev=new e.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 e.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new e.Point,this.newVelocity=new e.Point,this.deltaMax=new e.Point,this.acceleration=new e.Point,this.allowDrag=!0,this.drag=new e.Point,this.allowGravity=!0,this.gravity=new e.Point,this.bounce=new e.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new e.Point(1e4,1e4),this.friction=new e.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=e.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 e.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 e.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},e.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(.001*this.velocity.x*this.game.time.delta,.001*this.velocity.y*this.game.time.delta),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=this.velocity.atan()),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.delta,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=e.LEFT:this.deltaX()>0&&(this.facing=e.RIGHT),this.deltaY()<0?this.facing=e.UP:this.deltaY()>0&&(this.facing=e.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,i,s){var n=i/(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),i=Math.abs(i),this.moveDuration=0,this.moveDistance=i,null===this.moveTarget&&(this.moveTarget=new e.Line,this.moveEnd=new e.Point),this.moveTarget.fromAngle(this.x,this.y,r,i),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,i){return this.isCircle?e.Circle.contains(this,t,i):e.Rectangle.contains(this,t,i)},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 e.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(e.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),e.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)},e.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)},e.Physics.Arcade.Body.prototype.constructor=e.Physics.Arcade.Body,e.Physics.Arcade.TilemapCollision=function(){},e.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}},e.Utils.mixinPrototype(e.Physics.Arcade.prototype,e.Physics.Arcade.TilemapCollision.prototype),e.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},e.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}},e.Tile.prototype.constructor=e.Tile,Object.defineProperty(e.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(e.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(e.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(e.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(e.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(e.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),e.Tilemap=function(t,i,s,n,r,o){this.game=t,this.key=i;var a=e.TilemapParser.parse(this.game,i,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)},e.Tilemap.CSV=0,e.Tilemap.TILED_JSON=1,e.Tilemap.NORTH=0,e.Tilemap.EAST=1,e.Tilemap.SOUTH=2,e.Tilemap.WEST=3,e.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,i,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!==i&&null!==i||(i=t),e.BitmapData&&i instanceof e.BitmapData)h=i.canvas;else{if(!this.game.cache.checkImageKey(i))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+i+'"'),null;h=this.game.cache.getImage(i)}var l=this.getTilesetIndex(t);if(null===l&&this.format===e.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),console.log("Tilesets: ",this.tilesets),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var u=new e.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)return console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"'),void console.log("Layers: ",this.layers);void 0===i||i<=0?i=Math.min(this.game.width,this.layers[r].widthInPixels):i>this.game.width&&(i=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:",i,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new e.TilemapLayer(this.game,this,r,i,s));return this.enableDebug&&console.groupEnd(),o},createBlankLayer:function(t,i,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:i,height:s,widthInPixels:i*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 e.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,i,s){if(s=this.getLayer(s),t>=0&&t=0&&i=0&&i=0&&s-1?this.layers[n].data[s][i].setCollision(!0,!0,!0,!0):this.layers[n].data[s][i].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][i]}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,n){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var r,o,a=0,h=this.layers[s].height,l=this.layers[s].width,u=this.layers[s].data;if(n)var c=[];if(i)for(d=h-1;d>=0;d--){r=u[d];for(p=l-1;p>=0;p--)if((o=r[p]).index===t)if(a>=e){if(!n)return o;c.push(o)}else a++}else for(var d=0;d=e){if(!n)return o;c.push(o)}else a++}return n?c:null},getTile:function(t,e,i,s){return void 0===s&&(s=!1),i=this.getLayer(i),t>=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}},e.Tilemap.prototype.constructor=e.Tilemap,Object.defineProperty(e.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),e.TilemapLayer=function(t,i,s,n,r){n|=0,r|=0,e.Sprite.call(this,t,0,0),this.map=i,this.index=s,this.layer=i.layers[s],this.canvas=e.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=e.TILEMAPLAYER,this.physicsType=e.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:i.tileWidth,tileHeight:i.tileHeight,cw:i.tileWidth,ch:i.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new e.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=e.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},e.TilemapLayer.prototype=Object.create(e.Sprite.prototype),e.TilemapLayer.prototype.constructor=e.TilemapLayer,e.TilemapLayer.prototype.preUpdateCore=e.Component.Core.preUpdate,e.TilemapLayer.sharedCopyCanvas=null,e.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=e.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},e.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},e.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},e.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)},e.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)},e.TilemapLayer.prototype.destroy=function(){e.CanvasPool.remove(this),e.Component.Destroy.prototype.destroy.call(this)},e.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},e.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},e.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},e.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},e.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)},e.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},e.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)},e.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},e.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},e.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},e.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},e.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))}}}},e.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)}},e.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)},e.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(e.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),e.TilemapParser={INSERT_NULL:!1,parse:function(t,i,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===i)return this.getEmptyData();if(null===i)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(i);if(a){if(a.format===e.Tilemap.CSV)return this.parseCSV(i,a.data,s,n);if(!a.format||a.format===e.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn('No map data found for key "%s"',i)},parseCSV:function(t,i,s,n){for(var r=this.getEmptyData(),o=[],a=(i=i.trim()).split("\n"),h=a.length,l=0,u=0;u1.1&&console.warn('Some features in this Tiled JSON map (version %s) may not work in Phaser CE. Enable the json1 plugin and reexport the map in "Tiled 1.1" format. https://github.com/photonstorm/phaser-ce/issues/623',t.version);for(var i={width:t.width,height:t.height,tileWidth:t.tilewidth,tileHeight:t.tileheight,orientation:t.orientation,format:e.Tilemap.TILED_JSON,version:t.version,properties:t.properties,widthInPixels:t.width*t.tilewidth,heightInPixels:t.height*t.tileheight},s=[],n=0;n>>0;r.data=h,delete r.encoding}else if(r.compression){console.warn('Layer compression is unsupported, skipping layer "%s".',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 e.Tile(D,E,p,g.length,t.tilewidth,t.tileheight)).rotation=u,F.flipped=c,0!==d&&(F.flippedVal=d),f.push(F)):e.TilemapParser.INSERT_NULL?f.push(null):f.push(new e.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)}i.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t0?this.scale.set(this.scaleData[t].x,this.scaleData[t].y):this.autoScale=!1}if(this.autoAlpha){this._a-=.001*this.game.time.delta*this.autoAlphaFps;var e=Math.round(this._a);e>0?this.alpha=this.alphaData[e].v:this.autoAlpha=!1}},e.Particle.prototype.onEmit=function(){},e.Particle.prototype.setAlphaData=function(t,e){this.alphaData=t,this._a=t.length-1,this.alpha=this.alphaData[this._a].v,this.autoAlpha=!0,this.autoAlphaFps=e},e.Particle.prototype.setScaleData=function(t,e){this.scaleData=t,this._s=t.length-1,this.scale.set(this.scaleData[this._s].x,this.scaleData[this._s].y),this.autoScale=!0,this.autoScaleFps=e},e.Particle.prototype.reset=function(t,i,s){return e.Component.Reset.prototype.reset.call(this,t,i,s),this.alpha=1,this.scale.set(1),this.autoScale=!1,this.autoAlpha=!1,this},e.Particles=function(t){this.game=t,this.emitters={},this.ID=0},e.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]}},e.Particles.prototype.constructor=e.Particles,e.Particles.Arcade={},e.Particles.Arcade.Emitter=function(t,i,s,n){this.maxParticles=n||50,e.Group.call(this,t),this._id=this.game.particles.ID++,this.name="emitter"+this.id,this.type=e.EMITTER,this.physicsType=e.GROUP,this.area=new e.Rectangle(i,s,1,1),this.minAngle=null,this.maxAngle=null,this.minSpeed=0,this.maxSpeed=100,this.minParticleSpeed=new e.Point(-100,-100),this.maxParticleSpeed=new e.Point(100,100),this.minParticleScale=1,this.maxParticleScale=1,this.scaleData=null,this.minRotation=-360,this.maxRotation=360,this.minParticleAlpha=1,this.maxParticleAlpha=1,this.alphaData=null,this.particleClass=e.Particle,this.particleDrag=new e.Point,this.angularDrag=0,this.frequency=100,this.lifespan=2e3,this.bounce=new e.Point,this.on=!1,this.particleAnchor=new e.Point(.5,.5),this.blendMode=e.blendModes.NORMAL,this.emitX=i,this.emitY=s,this.autoScale=!1,this.autoScaleFps=this.game.time.desiredFps,this.autoAlpha=!1,this.autoAlphaFps=this.game.time.desiredFps,this.particleBringToTop=!1,this.particleSendToBack=!1,this.counts={emitted:0,failed:0,totalEmitted:0,totalFailed:0},this._gravity=new e.Point(0,100),this._minParticleScale=new e.Point(1,1),this._maxParticleScale=new e.Point(1,1),this._total=0,this._timer=0,this._counter=0,this._flowQuantity=0,this._flowTotal=0,this._explode=!0,this._frames=null},e.Particles.Arcade.Emitter.prototype=Object.create(e.Group.prototype),e.Particles.Arcade.Emitter.prototype.constructor=e.Particles.Arcade.Emitter,e.Particles.Arcade.Emitter.prototype.update=function(){if(this.counts.emitted=0,this.counts.failed=0,this.on&&this.game.time.deltaTotal>=this._timer)if(this._timer=this.game.time.deltaTotal+this.frequency,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()},e.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.deltaTotal+e):this.start(!1,t,e,i),this},e.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},e.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},e.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,this.autoScaleFps):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,this.autoAlphaFps):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()},e.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),e.Group.prototype.destroy.call(this,!0,!1)},e.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},e.Particles.Arcade.Emitter.prototype.setSpeed=function(t,e,i,s){return this.setXSpeed(t,e),this.setYSpeed(i,s),this},e.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},e.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},e.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},e.Particles.Arcade.Emitter.prototype.setAlpha=function(t,i,s,n,r){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=0),void 0===n&&(n=e.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=i,this.autoAlpha=!1,s>0&&t!==i){var o={v:t},a=this.game.make.tween(o).to({v:i},s,n);a.yoyo(r),this.alphaData=a.generateData(this.game.time.desiredFps),this.autoAlphaFps=this.game.time.desiredFps,this.alphaData.reverse(),this.autoAlpha=!0}return this},e.Particles.Arcade.Emitter.prototype.setScale=function(t,i,s,n,r,o,a){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=e.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(i,n),this.autoScale=!1,r>0&&(t!==i||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:i,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(this.game.time.desiredFps),this.autoScaleFps=this.game.time.desiredFps,this.scaleData.reverse(),this.autoScale=!0}return this},e.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},e.Particles.Arcade.Emitter.prototype.setGravity=function(t,e){return t=t||0,e=e||0,this._gravity.set(t,e),this},e.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(e.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(e.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),e.Weapon=function(t,i){e.Plugin.call(this,t,i),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new e.Rectangle(0,0,1,1),this.fireAngle=e.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 e.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=e.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=e.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new e.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new e.Signal,this.onKill=new e.Signal,this.onFireLimit=new e.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new e.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new e.Point},e.Weapon.prototype=Object.create(e.Plugin.prototype),e.Weapon.prototype.constructor=e.Weapon,e.Weapon.KILL_NEVER=0,e.Weapon.KILL_LIFESPAN=1,e.Weapon.KILL_DISTANCE=2,e.Weapon.KILL_WEAPON_BOUNDS=3,e.Weapon.KILL_CAMERA_BOUNDS=4,e.Weapon.KILL_WORLD_BOUNDS=5,e.Weapon.KILL_STATIC_BOUNDS=6,e.Weapon.prototype.createBullets=function(t,i,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets&&!this.bullets.game&&(this.bullets=null),this.bullets||(this.bullets=this.game.add.physicsGroup(e.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,i,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=i,this.bulletFrame=s),this},e.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},e.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},e.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},e.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},e.Weapon.prototype.update=function(){this._bulletKillType===e.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()},e.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},e.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},e.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},e.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},e.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},e.Weapon.prototype.fire=function(t,i,s,n,r){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game.time.deltaTotal0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=e.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!==i&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,i-a))),0!==this.bulletAngleVariance&&(l+=e.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===e.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+=e.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(g=0),f=this.game.time.deltaTotal+g}else f=this.game.time.deltaTotal+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},e.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},e.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},e.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},e.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},e.Weapon.prototype.setBulletFrames=function(t,i,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=e.ArrayUtils.numberArray(t,i),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},e.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},e.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(e.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(e.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case e.Weapon.KILL_STATIC_BOUNDS:case e.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case e.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case e.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(e.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(e.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(e.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),e.Bullet=function(t,i,s,n,r){e.Sprite.call(this,t,i,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},e.Bullet.prototype=Object.create(e.Sprite.prototype),e.Bullet.prototype.constructor=e.Bullet,e.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},e.Bullet.prototype.update=function(){this.exists&&(this.data.killType>e.Weapon.KILL_LIFESPAN&&(this.data.killType===e.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=this.body.velocity.atan()),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},e.Video=function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game=t,this.key=i,this.width=0,this.height=0,this.type=e.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new e.Signal,this.onChangeSource=new e.Signal,this.onComplete=new e.Signal,this.onAccess=new e.Signal,this.onError=new e.Signal,this.onTimeout=new e.Signal,this.onTouchUnlock=new e.Signal,this.playWhenUnlocked=!0,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,i&&this.game.cache.checkVideoKey(i)){var n=this.game.cache.getVideo(i);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(e.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 e.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==i&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,e.BitmapData&&(this.snapshot=new e.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},e.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,s){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=!0),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;if(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"),this.video.setAttribute("playsinline","playsinline"),null!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout),navigator.mediaDevices&&navigator.mediaDevices.getUserMedia)navigator.mediaDevices.getUserMedia({audio:t,video:s}).then(this.getUserMediaSuccess.bind(this)).catch(this.getUserMediaError.bind(this));else try{navigator.getUserMedia({audio:t,video:s},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:void 0!==this.video.srcObject?this.video.srcObject=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.setAttribute("playsinline","playsinline"),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,i){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"),void 0!==i&&(this.video.crossOrigin=i),this.video.setAttribute("playsinline","playsinline"),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,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.srcObject?(this.video.srcObject.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,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(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 this.onTouchUnlock.dispatch(this),!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.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(e.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(e.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(e.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(e.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(e.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(e.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(e.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop=!0:this.video&&(this.video.loop=!1)}}),Object.defineProperty(e.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),e.Video.prototype.constructor=e.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}.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(),this._destroyTintedTexture()},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)},_destroyTintedTexture:function(){this.tintedTexture&&(Phaser.CanvasPool.removeByCanvas(this.tintedTexture),this.tintedTexture=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.bringChildToTop=function(t){if(t.parent===this)return this.setChildIndex(t,this.children.length-1)},s.DisplayObjectContainer.prototype.sendChildToBack=function(t){if(t.parent===this)return this.setChildIndex(t,0)},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,A=w*v+_*m+S,E=b*g+T*v+C,M=w*v+_*g+S,R=b*g+T*y+C,L=w*y+_*g+S,O=b*m+T*y+C,I=w*y+_*m+S;c=P,d=A,u=A,l=O<(l=R<(l=E<(l=P)?E:l)?R:l)?O:l,u=I<(u=L<(u=M(c=R>(c=E>c?E:c)?R:c)?O:c,d=I>(d=L>(d=M>d?M:d)?L:d)?I: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 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,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=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.height;if(i.rotated){var S=o.a,P=o.b,A=o.c,E=o.d,M=l,R=h;T=o.c*C+T,w=o.d*C+w,v=6.123233995736766e-17*S-A,x=6.123233995736766e-17*P-E,b=S+6.123233995736766e-17*A,_=P+6.123233995736766e-17*E,i._updateUvsInverted(),h=u,l=c,u=R,c=M}var L=this.colors,O=this.positions,I=t.tint,k=(I>>16)+(65280&I)+((255&I)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(O[g++]=v*l+b*c+T|0,O[g++]=_*c+x*l+w|0,O[g++]=a.x0,O[g++]=a.y0,L[g++]=k,O[g++]=y,O[g++]=v*h+b*c+T|0,O[g++]=_*c+x*h+w|0,O[g++]=a.x1,O[g++]=a.y1,L[g++]=k,O[g++]=y,O[g++]=v*h+b*u+T|0,O[g++]=_*u+x*h+w|0,O[g++]=a.x2,O[g++]=a.y2,L[g++]=k,O[g++]=y,O[g++]=v*l+b*u+T|0,O[g++]=_*u+x*l+w|0,O[g++]=a.x3,O[g++]=a.y3,L[g++]=k,O[g++]=y):(O[g++]=v*l+b*c+T,O[g++]=_*c+x*l+w,O[g++]=a.x0,O[g++]=a.y0,L[g++]=k,O[g++]=y,O[g++]=v*h+b*c+T,O[g++]=_*c+x*h+w,O[g++]=a.x1,O[g++]=a.y1,L[g++]=k,O[g++]=y,O[g++]=v*h+b*u+T,O[g++]=_*u+x*h+w,O[g++]=a.x2,O[g++]=a.y2,L[g++]=k,O[g++]=y,O[g++]=v*l+b*u+T,O[g++]=_*u+x*l+w,O[g++]=a.x3,O[g++]=a.y3,L[g++]=k,O[g++]=y),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=t.texture.baseTexture.textureIndex;if(s._enableMultiTextureToggle){var n=e.baseTexture,r=this.gl;s.WebGLRenderer.textureArray[i]!=n&&(this.flush(),r.activeTexture(r.TEXTURE0+i),r.bindTexture(r.TEXTURE_2D,n._glTextures[r.id]),s.WebGLRenderer.textureArray[i]=n)}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,A=t.worldTransform,E=A.a/P,M=A.b/P,R=A.c/P,L=A.d/P,O=A.tx,I=A.ty;g[S++]=E*T+R*C+O,g[S++]=L*C+M*T+I,g[S++]=o.x0,g[S++]=o.y0,m[S++]=f,g[S++]=i,g[S++]=E*_+R*C+O,g[S++]=L*C+M*_+I,g[S++]=o.x1,g[S++]=o.y1,m[S++]=f,g[S++]=i,g[S++]=E*_+R*w+O,g[S++]=L*w+M*_+I,g[S++]=o.x2,g[S++]=o.y2,m[S++]=f,g[S++]=i,g[S++]=E*T+R*w+O,g[S++]=L*w+M*T+I,g[S++]=o.x3,g[S++]=o.y3,m[S++]=f,g[S++]=i,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);var x=c!==r;if((!s._enableMultiTextureToggle&&x&&!v||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 b=this.renderSession.projection;e.uniform2f(t.projectionVector,b.x,b.y);var _=this.renderSession.offset;e.uniform2f(t.offsetVector,_.x,_.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(){var t=this,e=e||{VERSION:"2.19.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("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),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,i,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=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(i),o=n*Math.sin(i);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new e.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,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,r){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.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(e.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(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.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},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.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},e.Circle.intersectsLine=function(t,i,s){var n=t.x,r=t.y,o=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-o*i.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 e.Point(c,p),m=new e.Point(d,f),y=i.pointOnSegment(g.x,g.y,.01),v=i.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.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 e.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 e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.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 e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(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},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.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},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=i.x,h=i.y,l=i.right,u=i.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 e.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,i){return e.Point.distance(this,t,i)},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,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,r){return e.Point.rotate(this,t,i,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},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.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(e.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(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.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(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.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)},e.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}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,r,o),this.bounds=new e.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 e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.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 e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.FLASH=0,e.Camera.FADE_OUT=1,e.Camera.FADE_IN=2,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(i){case e.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case e.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.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,i,s,n,r){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.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,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_OUT)},fadeIn:function(t,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_IN)},fadeEffect:function(t,i,s,n,r){if(void 0===t&&(t=0),void 0===i&&(i=500),void 0===s&&(s=!1),void 0===n&&(n=1),!this.fx||!s&&this._fxDuration>0)return!1;if(this.fx.clear(),this.fx.beginFill(t,n),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),r<1||r>2)throw new Error("Wrong `type` argument");return this.fx.alpha=r===e.Camera.FADE_IN?1:0,this._fxDuration=i,this._fxType=r,!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(){this._fxType===e.Camera.FLASH?(this.fx.alpha-=this.game.time.delta/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):this._fxType===e.Camera.FADE_IN?(this.fx.alpha-=this.game.time.delta/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFadeComplete.dispatch())):(this.fx.alpha+=this.game.time.delta/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.delta,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}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.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(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.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},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.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},e.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,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(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){if(this.clearCurrentState(),this.setCurrentState(this._pendingState),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 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){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.current,i=this.states[t];this.callbackContext=i,this.link(t),this.onInitCallback=i.init||this.dummy,this.onPreloadCallback=i.preload||null,this.onLoadRenderCallback=i.loadRender||null,this.onLoadUpdateCallback=i.loadUpdate||null,this.onCreateCallback=i.create||null,this.onUpdateCallback=i.update||null,this.onPostUpdateCallback=i.postUpdate||null,this.onPreRenderCallback=i.preRender||null,this.onRenderCallback=i.render||null,this.onResizeCallback=i.resize||null,this.onPausedCallback=i.paused||null,this.onResumedCallback=i.resumed||null,this.onPauseUpdateCallback=i.pauseUpdate||null,this.onShutDownCallback=i.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onStateChange.dispatch(this.current,e),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.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.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(){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===e.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.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.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,i,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else o=new e.SignalBinding(this,t,i,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)},e.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)},e.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===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,l=i*n,u=o;uthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.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},e.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},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.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},e.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},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))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},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=e.Utils.getProperty(t,i);return!(void 0===r&&n||r!==s)},e.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)},e.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=this.children.length,a=0;a2){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()}},e.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},e.Group.prototype.iterate=function(t,i,s,n,r,o){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!i||i.call(s,h,r))&&(n=r,o=h)}return o},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.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 e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.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}},e.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()}},e.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)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.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(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.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(e.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(e.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(e.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(e.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(e.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}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.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)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.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()},e.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))},e.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(e.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){tthis.time.deltaMax){if(this.dropFrames)return;e=this.time.deltaMax}if(this.forceSingleUpdate)this.updatesThisFrame=1,this.rendersThisFrame=1,this.updateLogic(.001*e/this.time.slowMotion),this.updateRender();else if(this._spiraling>2)this.updatesThisFrame=0,this.rendersThisFrame=0,this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0;else{var i=0,s=1e3*this.time.desiredFpsMult;for(this._deltaTime+=e,this.updatesThisFrame=Math.floor(this._deltaTime/s),this.rendersThisFrame=this.forceSingleRender?1:Math.min(1,this.updatesThisFrame);this._deltaTime>=s;)this._deltaTime-=s,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult/this.time.slowMotion),this.time.refresh(),i++;i>this._lastCount?this._spiraling++:i0&&this.updateRender()}}}}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.preUpdate(t),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(){this.lockRender||this.renderType===e.HEADLESS||(this.time.preRender(),this.state.preRender(),this.renderer.render(this.stage),this.plugins.render(),this.state.render(),this.plugins.postRender(),this.renderer.postRender())},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.gamePaused(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.gameResumed(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this._focusGained=!0,this.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),e.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=e.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!0===t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},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+i.x=a&&this.game.camera.y+i.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}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.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===i,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 e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.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,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,r="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):r||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},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 i=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),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.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===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.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,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!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.pointerLock.locked&&!i&&(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===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.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,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!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 i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=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&&i.currentPointers--,i.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=e.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){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,r=this._pointerData[t.id],o=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var l=i.scale.x*h.x+n.x+s.x,u=i.scale.y*h.y+n.y+s.y;else var l=h.x+n.x+s.x,u=h.y+n.y+s.y;if(a.fixedToCamera){var c=a.cameraOffset,d=c.x,p=c.y;this.allowHorizontalDrag&&(c.x=l-i.x),this.allowVerticalDrag&&(c.y=u-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(c.x=Math.round((c.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,c.y=Math.round((c.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(c.x,c.y));var f=c.x-d,g=c.y-p}else{var m=i.x-r.camX,y=i.y-r.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=l+m),this.allowVerticalDrag&&(a.y=u+y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(a.x,a.y));var f=a.x-d,g=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,l,u,o,e,f,g),!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)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.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 e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this)]},e.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 i=!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}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;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},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.delta,this.lifespan<=0))||(this.kill(),!1)},e.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}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||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===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.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(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)o=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,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,i)}r&&(this._frame=e.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}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):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))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.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)}}},e.Component.Reset=function(){},e.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},e.Component.ScaleMinMax=function(){},e.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,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,r){var o=this.game.plugins.add(e.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,i,s,n),o},image:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,r,o,a){void 0===r&&(r=this.world);var h=new e.Creature(this.game,t,i,s,n,o,a);return r.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,r){return new e.Group(this.game,t,i,s,n,r)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,r,o))},rope:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.Rope(this.game,t,i,s,n,r))},text:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,r,o,a,h,l,u){return void 0===u&&(u=this.world),u.add(new e.Button(this.game,t,i,s,n,r,o,a,h,l))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.BitmapText(this.game,t,i,s,n,r))},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,r){return new e.Group(this.game,t||null,i,s,n,r)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o){return new e.TileSprite(this.game,t,i,s,n,r,o)},rope:function(t,i,s,n,r){return new e.Rope(this.game,t,i,s,n,r)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,r,o,a,h,l){return new e.Button(this.game,t,i,s,n,r,o,a,h,l)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return new e.BitmapText(this.game,t,i,s,n,r,o)},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,r,o,a,h,l,u){i=i||0,s=s||0,n=n||null,r=r||null,o=o||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.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 e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.PointerMode.CONTACT,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)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;return e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.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)},e.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())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},e.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},e.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)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.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)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.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")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.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())},e.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&&i>=0&&i<=this.height&&(e.Device.LITTLE_ENDIAN?this.pixels[i*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[i*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,i,s){s||(s=e.Color.createColor());var n=~~(t+i*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,i,s,n,r){return e.Color.unpackPixel(this.getPixel32(t,i),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 i=e.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{e.Color.unpackPixel(this.getPixel32(s,n),i),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===i.a&&!o);return i.x=s,i.y=n,i},getBounds:function(t){return void 0===t&&(t=new e.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,i,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 e.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof e.Sprite||t instanceof e.Image||t instanceof e.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 e.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 e.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return this;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==i&&null!==i||(i=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=i),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)return this;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+i,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,i,s){if(void 0===i&&(i=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 e.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,i&&(this.op=i),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,i,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,i,s),t.type===e.GROUP&&t.exists)this.drawGroup(t,i,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ni.width&&(n=i.width);var r=this.context;return r.fillStyle=r.createPattern(i,s),this._circle=new e.Circle(t.start.x,t.start.y,i.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,i.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),e.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 e.EarCut.earcutLinked(o,a,s,h,l,f),a},e.EarCut.linkedList=function(t,i,s,n,r){var o,a,h,l=0;for(o=i,a=s-n;o0)for(o=i;o=i;o-=n)h=e.EarCut.insertNode(o,t[o],t[o+1],h);return h},e.EarCut.filterPoints=function(t,i){if(!t)return t;i||(i=t);var s,n=t;do{if(s=!1,n.steiner||!e.EarCut.equals(n,n.next)&&0!==e.EarCut.area(n.prev,n,n.next))n=n.next;else{if(e.EarCut.removeNode(n),(n=i=n.prev)===n.next)return null;s=!0}}while(s||n!==i);return i},e.EarCut.earcutLinked=function(t,i,s,n,r,o,a){if(t){!a&&o&&e.EarCut.indexCurve(t,n,r,o);for(var h,l,u=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?e.EarCut.isEarHashed(t,n,r,o):e.EarCut.isEar(t))i.push(h.i/s),i.push(t.i/s),i.push(l.i/s),e.EarCut.removeNode(t),t=l.next,u=l.next;else if((t=l)===u){a?1===a?(t=e.EarCut.cureLocalIntersections(t,i,s),e.EarCut.earcutLinked(t,i,s,n,r,o,2)):2===a&&e.EarCut.splitEarcut(t,i,s,n,r,o):e.EarCut.earcutLinked(e.EarCut.filterPoints(t),i,s,n,r,o,1);break}}},e.EarCut.isEar=function(t){var i=t.prev,s=t,n=t.next;if(e.EarCut.area(i,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(e.EarCut.pointInTriangle(i.x,i.y,s.x,s.y,n.x,n.y,r.x,r.y)&&e.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},e.EarCut.isEarHashed=function(t,i,s,n){var r=t.prev,o=t,a=t.next;if(e.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=e.EarCut.zOrder(h,l,i,s,n),p=e.EarCut.zOrder(u,c,i,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.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&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},e.EarCut.cureLocalIntersections=function(t,i,s){var n=t;do{var r=n.prev,o=n.next.next;e.EarCut.intersects(r,n,n.next,o)&&e.EarCut.locallyInside(r,o)&&e.EarCut.locallyInside(o,r)&&(i.push(r.i/s),i.push(n.i/s),i.push(o.i/s),e.EarCut.removeNode(n),e.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},e.EarCut.splitEarcut=function(t,i,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&e.EarCut.isValidDiagonal(a,h)){var l=e.EarCut.splitPolygon(a,h);return a=e.EarCut.filterPoints(a,a.next),l=e.EarCut.filterPoints(l,l.next),e.EarCut.earcutLinked(a,i,s,n,r,o),void e.EarCut.earcutLinked(l,i,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},e.EarCut.eliminateHoles=function(t,i,s,n){var r,o,a,h,l,u=[];for(r=0,o=i.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&&e.EarCut.pointInTriangle(os.x)&&e.EarCut.locallyInside(n,t)&&(s=n,c=l),n=n.next;return s},e.EarCut.indexCurve=function(t,i,s,n){var r=t;do{null===r.z&&(r.z=e.EarCut.zOrder(r.x,r.y,i,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,e.EarCut.sortLinked(r)},e.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},e.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},e.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},e.EarCut.isValidDiagonal=function(t,i){return e.EarCut.equals(t,i)||t.next.i!==i.i&&t.prev.i!==i.i&&!e.EarCut.intersectsPolygon(t,i)&&e.EarCut.locallyInside(t,i)&&e.EarCut.locallyInside(i,t)&&e.EarCut.middleInside(t,i)},e.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},e.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},e.EarCut.intersects=function(t,i,s,n){return e.EarCut.area(t,i,s)>0!=e.EarCut.area(t,i,n)>0&&e.EarCut.area(s,n,t)>0!=e.EarCut.area(s,n,i)>0},e.EarCut.intersectsPolygon=function(t,i){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==i.i&&s.next.i!==i.i&&e.EarCut.intersects(s,s.next,t,i))return!0;s=s.next}while(s!==t);return!1},e.EarCut.locallyInside=function(t,i){return e.EarCut.area(t.prev,t,t.next)<0?e.EarCut.area(t,i,t.next)>=0&&e.EarCut.area(t,t.prev,i)>=0:e.EarCut.area(t,i,t.prev)<0||e.EarCut.area(t,t.next,i)<0},e.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},e.EarCut.splitPolygon=function(t,i){var s=new e.EarCut.Node(t.i,t.x,t.y),n=new e.EarCut.Node(i.i,i.x,i.y),r=t.next,o=i.prev;return t.next=i,i.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},e.EarCut.insertNode=function(t,i,s,n){var r=new e.EarCut.Node(t,i,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},e.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)},e.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,i){var s,n=i.gl,r=i.projection,o=i.offset,a=i.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===e.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===e.CIRCLE||a.type===e.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===e.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*(I-2)],d=n[2*(I-2)+1],p=n[2*(I-1)],y=-(d-(f=n[2*(I-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),O.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,i.beginPath(),i.moveTo(_,T+S),i.lineTo(_,T+C-S),i.quadraticCurveTo(_,T+C,_+S,T+C),i.lineTo(_+w-S,T+C),i.quadraticCurveTo(_+w,T+C,_+w,T+C-S),i.lineTo(_+w,T+S),i.quadraticCurveTo(_+w,T,_+w-S,T),i.lineTo(_+S,T),i.quadraticCurveTo(_,T,_,T+S),i.closePath(),(r.fillColor||0===r.fillColor)&&(i.globalAlpha=r.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fill()),r.lineWidth&&(i.globalAlpha=r.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,i){var s=t.graphicsData.length;if(0!==s){i.beginPath();for(var n=0;nC?C:w,i.moveTo(x,b+w),i.lineTo(x,b+T-w),i.quadraticCurveTo(x,b+T,x+w,b+T),i.lineTo(x+_-w,b+T),i.quadraticCurveTo(x+_,b+T,x+_,b+T-w),i.lineTo(x+_,b+w),i.quadraticCurveTo(x+_,b,x+_-w,b),i.lineTo(x+w,b),i.quadraticCurveTo(x,b,x,b+w),i.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}},e.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},e.GraphicsData.prototype.constructor=e.GraphicsData,e.GraphicsData.prototype.clone=function(){return new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},e.Graphics=function(t,i,s){void 0===i&&(i=0),void 0===s&&(s=0),this.type=e.GRAPHICS,this.physicsType=e.SPRITE,this.anchor=new e.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 e.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Graphics.prototype.constructor=e.Graphics,e.Component.Core.install.call(e.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.Graphics.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Graphics.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Graphics.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Graphics.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Graphics.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},e.Graphics.prototype.drawTriangles=function(t,i,s){void 0===s&&(s=!1);var n,r=new e.Point,o=new e.Point,a=new e.Point,h=[];if(i)if(t[0]instanceof e.Point)for(n=0;nu*a)}return this.dirty=!0,this._boundsDirty=!0,this},e.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},e.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},e.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},e.Graphics.prototype.drawRect=function(t,i,s,n){return this.drawShape(new e.Rectangle(t,i,s,n)),this},e.Graphics.prototype.drawRoundedRect=function(t,i,s,n,r){return this.drawShape(new e.RoundedRectangle(t,i,s,n,r)),this},e.Graphics.prototype.drawCircle=function(t,i,s){return this.drawShape(new e.Circle(t,i,s)),this},e.Graphics.prototype.drawEllipse=function(t,i,s,n){return this.drawShape({x:t,y:i,width:s,height:n,type:e.ELLIPSE}),this},e.Graphics.prototype.drawPolygon=function(t){t instanceof e.Polygon&&(t=t.points);var i=t;if(!Array.isArray(i)){i=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},e.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=e.identityMatrix;for(var i=0;ii?a+l:i,s=hn?h+u:n;else if(p===e.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,u=r.radius+f/2,t=a-li?a+l:i,s=h-un?h+u:n;else if(p===e.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,u=r.height+f/2,t=a-li?a+l:i,s=h-un?h+u:n;else{o=r.points;for(var g=0;gi?a+f:i,s=h-fn?h+f:n}}else t=0,i=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=i-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},e.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},e.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()},e.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},e.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof e.Polygon&&(t=t.clone()).flatten();var i=new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(i),i.type===e.POLYGON&&(i.shape.closed=this.filling,this.currentPath=i),this.dirty=!0,this._boundsDirty=!0,i},Object.defineProperty(e.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}}),e.RenderTexture=function(t,i,s,n,r,o,a,h){if(void 0===i&&(i=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=e.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=e.RENDERTEXTURE,this._tempMatrix=new e.Matrix,this.width=i,this.height=s,this.resolution=o,this.frame=new e.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===e.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 e.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 e.Matrix,this._updateUvs()},e.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),e.RenderTexture.prototype.constructor=e.RenderTexture,e.RenderTexture.prototype.renderXY=function(t,i,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=i,this._tempMatrix.ty=s,this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.renderRawXY=function(t,i,s,n){this._tempMatrix.identity().translate(i,s),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.render=function(t,i,s){void 0===i||null===i?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(i),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},e.RenderTexture.prototype.resize=function(t,i,s){t===this.width&&i===this.height||(this.valid=t>0&&i>0,this.width=t,this.height=i,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=i*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===e.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},e.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===e.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},e.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},e.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)},e.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++}},e.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},e.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},e.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},e.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},e.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},e.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},e.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)/)},e.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},e.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,"")},e.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},e.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()},e.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.Text.prototype.determineFontProperties=function(t){var i=e.Text.fontPropertiesCache[t];if(i)return i;var s=e.Text.fontPropertiesContext;s.font=t;var n=s.measureText(this.testString);if(n.actualBoundingBoxAscent)i={ascent:o=Math.ceil(n.actualBoundingBoxAscent),descent:a=Math.ceil(n.actualBoundingBoxDescent),fontSize:o+a};else{var r=s.measureText("MX").width,o=Math.ceil(.75*r),a=Math.ceil(.25*r);i={ascent:o,descent:a,fontSize:o+a}}return e.Text.fontPropertiesCache[t]=i,i},e.Text.prototype.getBounds=function(t){return this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype.getBounds.call(this,t)},e.Text.prototype.setCharacterLimit=function(t,e){this.characterLimitSuffix=void 0===e?"":e,this.characterLimitSize=t,this.updateText()},Object.defineProperty(e.Text.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.dirty=!0,this.parent&&this.updateTransform())}}),Object.defineProperty(e.Text.prototype,"cssFont",{get:function(){return this.componentsToFont(this._fontComponents)},set:function(t){t=t||"bold 20pt Arial",this._fontComponents=this.fontToComponents(t),this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"font",{get:function(){return this._fontComponents.fontFamily},set:function(t){t=(t=t||"Arial").trim(),/^(?:inherit|serif|sans-serif|cursive|fantasy|monospace)$/.exec(t)||/['",]/.exec(t)||(t="'"+t+"'"),this._fontComponents.fontFamily=t,this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"fontSize",{get:function(){var t=this._fontComponents.fontSize;return t&&/(?:^0$|px$)/.exec(t)?parseInt(t,10):t},set:function(t){"number"==typeof(t=t||"0")&&(t+="px"),this._fontComponents.fontSize=t,this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"fontWeight",{get:function(){return this._fontComponents.fontWeight||"normal"},set:function(t){t=t||"normal",this._fontComponents.fontWeight=t,this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"fontStyle",{get:function(){return this._fontComponents.fontStyle||"normal"},set:function(t){t=t||"normal",this._fontComponents.fontStyle=t,this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"fontVariant",{get:function(){return this._fontComponents.fontVariant||"normal"},set:function(t){t=t||"normal",this._fontComponents.fontVariant=t,this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"fill",{get:function(){return this.style.fill},set:function(t){t!==this.style.fill&&(this.style.fill=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"align",{get:function(){return this.style.align},set:function(t){(t=t.toLowerCase())!==this.style.align&&(this.style.align=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"resolution",{get:function(){return this._res},set:function(t){t!==this._res&&(this._res=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"tabs",{get:function(){return this.style.tabs},set:function(t){t!==this.style.tabs&&(this.style.tabs=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"boundsAlignH",{get:function(){return this.style.boundsAlignH},set:function(t){(t=t.toLowerCase())!==this.style.boundsAlignH&&(this.style.boundsAlignH=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"boundsAlignV",{get:function(){return this.style.boundsAlignV},set:function(t){(t=t.toLowerCase())!==this.style.boundsAlignV&&(this.style.boundsAlignV=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"stroke",{get:function(){return this.style.stroke},set:function(t){t!==this.style.stroke&&(this.style.stroke=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"strokeThickness",{get:function(){return this.style.strokeThickness},set:function(t){t!==this.style.strokeThickness&&(this.style.strokeThickness=Number(t),this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"wordWrap",{get:function(){return this.style.wordWrap},set:function(t){t!==this.style.wordWrap&&(this.style.wordWrap=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"wordWrapWidth",{get:function(){return this.style.wordWrapWidth},set:function(t){t!==this.style.wordWrapWidth&&(this.style.wordWrapWidth=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"lineSpacing",{get:function(){return this._lineSpacing},set:function(t){t!==this._lineSpacing&&(this._lineSpacing=parseFloat(t),this.dirty=!0,this.parent&&this.updateTransform())}}),Object.defineProperty(e.Text.prototype,"shadowOffsetX",{get:function(){return this.style.shadowOffsetX},set:function(t){t!==this.style.shadowOffsetX&&(this.style.shadowOffsetX=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"shadowOffsetY",{get:function(){return this.style.shadowOffsetY},set:function(t){t!==this.style.shadowOffsetY&&(this.style.shadowOffsetY=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"shadowColor",{get:function(){return this.style.shadowColor},set:function(t){t!==this.style.shadowColor&&(this.style.shadowColor=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"shadowBlur",{get:function(){return this.style.shadowBlur},set:function(t){t!==this.style.shadowBlur&&(this.style.shadowBlur=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"shadowStroke",{get:function(){return this.style.shadowStroke},set:function(t){t!==this.style.shadowStroke&&(this.style.shadowStroke=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"shadowFill",{get:function(){return this.style.shadowFill},set:function(t){t!==this.style.shadowFill&&(this.style.shadowFill=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"width",{get:function(){return this.dirty&&(this.updateText(),this.dirty=!1),this.scale.x*(this.texture.frame.width/this.resolution)},set:function(t){this.scale.x=t/this.texture.frame.width,this._width=t}}),Object.defineProperty(e.Text.prototype,"height",{get:function(){return this.dirty&&(this.updateText(),this.dirty=!1),this.scale.y*(this.texture.frame.height/this.resolution)},set:function(t){this.scale.y=t/this.texture.frame.height,this._height=t}}),Object.defineProperty(e.Text.prototype,"testString",{get:function(){return this._testString},set:function(t){this._testString=t,this.updateText()}}),e.Text.fontPropertiesCache={},e.Text.fontPropertiesCanvas=document.createElement("canvas"),e.Text.fontPropertiesContext=e.Text.fontPropertiesCanvas.getContext("2d"),e.BitmapText=function(t,i,s,n,r,o,a){i=i||0,s=s||0,n=n||"",r=r||"",o=o||32,a=a||"left",PIXI.DisplayObjectContainer.call(this),this.type=e.BITMAPTEXT,this.physicsType=e.SPRITE,this.textWidth=0,this.textHeight=0,this.anchor=new e.Point,this._prevAnchor=new e.Point,this._glyphs=[],this._maxWidth=0,this._text=r.toString()||"",this._data=t.cache.getBitmapFont(n),this._font=n,this._fontSize=o,this._align=a,this._letterSpacing=0,this._tint=16777215,this.updateText(),this.dirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.BitmapText.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.BitmapText.prototype.constructor=e.BitmapText,e.Component.Core.install.call(e.BitmapText.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.BitmapText.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.BitmapText.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.BitmapText.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.BitmapText.prototype.preUpdateCore=e.Component.Core.preUpdate,e.BitmapText.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.BitmapText.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this.body&&this.body.type===e.Physics.ARCADE&&(this.textWidth===this.body.sourceWidth&&this.textHeight===this.body.sourceHeight||this.body.setSize(this.textWidth,this.textHeight))},e.BitmapText.prototype.setText=function(t){this.text=t},e.BitmapText.prototype.scanLine=function(t,e,i){for(var s=0,n=0,r=-1,o=0,a=null,h=this._maxWidth>0?this._maxWidth:null,l=[],u=0;u=h&&r>-1)return{width:o||n,text:i.substr(0,u-(u-r)),end:!1,chars:l};n+=(p.xAdvance+g+this.letterSpacing)*e,l.push(s+(p.xOffset+g+this.letterSpacing)*e),s+=(p.xAdvance+g+this.letterSpacing)*e,a=d}return{width:n,text:i,end:c,chars:l}},e.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(e.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),e.RetroFont=function(t,i,s,n,r,o,a,h,l,u){if(!t.cache.checkImageKey(i))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(i).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(i),this._text="",this.grabData=[],this.frameData=new e.FrameData;for(var c=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",e.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",e.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",e.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",e.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",e.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",e.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",e.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",e.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},e.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)},e.RetroFont.prototype.buildRetroFontText=function(){var t=0,i=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===e.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===e.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},e.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},e.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},e.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},e.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(e.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(e.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),e.Rope=function(t,i,s,n,r,o){this.points=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=e.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=e.Rope.TRIANGLE_STRIP,e.Component.Core.init.call(this,t,i,s,n,r),this.refresh()},e.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Rope.prototype.constructor=e.Rope,e.Component.Core.install.call(e.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Rope.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Rope.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Rope.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Rope.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Rope.TRIANGLE_STRIP=0,e.Rope.TRIANGLES=1,e.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},e.Rope.prototype.reset=function(t,i){return e.Component.Reset.prototype.reset.call(this,t,i),this},e.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;for(var n=t.length,r=0,o=0,a=0;a0){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,A=Math.sqrt(S*S+P*P);l=w+S/A*(A+_),d=C+P/A*(A+T),P=p-C,u=w+(S=u-w)/(A=Math.sqrt(S*S+P*P))*(A+_),p=C+P/A*(A+T),P=f-C,c=w+(S=c-w)/(A=Math.sqrt(S*S+P*P))*(A+_),f=C+P/A*(A+T)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(u,p),t.lineTo(c,f),t.closePath(),t.clip();var E=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,O=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,k=g*x*f+v*p*y+d*m*b-d*x*y-v*m*f-g*p*b;t.transform(M/E,O/E,R/E,I/E,L/E,k/E),t.drawImage(o,0,0),t.restore()},e.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nl?y:l,u=v>u?v:u}if(c===-1/0||u===1/0)return e.EmptyRectangle;var x=this._bounds;return x.x=c,x.width=l-c,x.y=d,x.height=u-d,this._currentBounds=x,x},Object.defineProperty(e.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(e.Rope.prototype,"segments",{get:function(){for(var t,i,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(e.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(e.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),e.CanvasPool={create:function(t,i,s){var n,r=e.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};e.CanvasPool.pool.push(o),n=o.canvas}else e.CanvasPool.pool[r].parent=t,n=e.CanvasPool.pool[r].canvas;return void 0!==i&&(n.width=i,n.height=s),n},getFirst:function(){for(var t=e.CanvasPool.pool,i=0;i=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&&i(),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=!!window.WebGLRenderingContext,s.worker=!!window.Worker,s.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,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=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var r=i.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]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.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"))},e.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))))))},e.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)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,r){i=i||256,s=s||256;var o=r?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=i,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,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),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 i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},setImageRenderingCrisp:function(t){for(var e=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","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=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=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}},e.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)},e.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(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.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)},e.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 e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.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 e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},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}},e.QuadTree.prototype.constructor=e.QuadTree,e.TweenManager=function(t){this.game=t,this._tweens=[],this._add=[],this.easeMap={Power0:e.Easing.Power0,Power1:e.Easing.Power1,Power2:e.Easing.Power2,Power3:e.Easing.Power3,Power4:e.Easing.Power4,Linear:e.Easing.Linear.None,Quad:e.Easing.Quadratic.Out,Cubic:e.Easing.Cubic.Out,Quart:e.Easing.Quartic.Out,Quint:e.Easing.Quintic.Out,Sine:e.Easing.Sinusoidal.Out,Expo:e.Easing.Exponential.Out,Circ:e.Easing.Circular.Out,Elastic:e.Easing.Elastic.Out,Back:e.Easing.Back.Out,Bounce:e.Easing.Bounce.Out,"Quad.easeIn":e.Easing.Quadratic.In,"Cubic.easeIn":e.Easing.Cubic.In,"Quart.easeIn":e.Easing.Quartic.In,"Quint.easeIn":e.Easing.Quintic.In,"Sine.easeIn":e.Easing.Sinusoidal.In,"Expo.easeIn":e.Easing.Exponential.In,"Circ.easeIn":e.Easing.Circular.In,"Elastic.easeIn":e.Easing.Elastic.In,"Back.easeIn":e.Easing.Back.In,"Bounce.easeIn":e.Easing.Bounce.In,"Quad.easeOut":e.Easing.Quadratic.Out,"Cubic.easeOut":e.Easing.Cubic.Out,"Quart.easeOut":e.Easing.Quartic.Out,"Quint.easeOut":e.Easing.Quintic.Out,"Sine.easeOut":e.Easing.Sinusoidal.Out,"Expo.easeOut":e.Easing.Exponential.Out,"Circ.easeOut":e.Easing.Circular.Out,"Elastic.easeOut":e.Easing.Elastic.Out,"Back.easeOut":e.Easing.Back.Out,"Bounce.easeOut":e.Easing.Bounce.Out,"Quad.easeInOut":e.Easing.Quadratic.InOut,"Cubic.easeInOut":e.Easing.Cubic.InOut,"Quart.easeInOut":e.Easing.Quartic.InOut,"Quint.easeInOut":e.Easing.Quintic.InOut,"Sine.easeInOut":e.Easing.Sinusoidal.InOut,"Expo.easeInOut":e.Easing.Exponential.InOut,"Circ.easeInOut":e.Easing.Circular.InOut,"Elastic.easeInOut":e.Easing.Elastic.InOut,"Back.easeInOut":e.Easing.Back.InOut,"Bounce.easeInOut":e.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},e.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,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_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)},destroy:function(){this.game.onPause.remove(this._pauseAll,this),this.game.onResume.remove(this._resumeAll,this),this.game=null,this._add=null,this._tweens=null}},e.TweenManager.prototype.constructor=e.TweenManager,e.Tween=function(t,i,s){this.game=i,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new e.Signal,this.onLoop=new e.Signal,this.onRepeat=new e.Signal,this.onChildComplete=new e.Signal,this.onComplete=new e.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},e.Tween.updateColor=function(t){e.Color.updateColor(t.target)},e.Tween.prototype={to:function(t,i,s,n,r,o,a){return(void 0===i||i<=0)&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).to(t,i,s,r,o,a)),n&&this.start(),this)},from:function(t,i,s,n,r,o,a){return void 0===i&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).from(t,i,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(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.deltaTotal},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.deltaTotal)},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.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])),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 e.TweenData.PENDING;this.isRunning=!0}var i=this.game.time.delta;this.parent.reverse?(this.dt-=i*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=i*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():e.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,e.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return e.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.deltaTotal,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,e.TweenData.LOOPED}},e.TweenData.prototype.constructor=e.TweenData,e.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){return 0===t?0:1===t?1:(.1,-1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4))},Out:function(t){return 0===t?0:1===t?1:(.1,1*Math.pow(2,-10*t)*Math.sin((t-.1)*(2*Math.PI)/.4)+1)},InOut:function(t){return 0===t?0:1===t?1:(.1,(t*=2)<1?1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*-.5:1*Math.pow(2,-10*(t-=1))*Math.sin((t-.1)*(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-e.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*e.Easing.Bounce.In(2*t):.5*e.Easing.Bounce.Out(2*t-1)+.5}}},e.Easing.Default=e.Easing.Linear.None,e.Easing.Power0=e.Easing.Linear.None,e.Easing.Power1=e.Easing.Quadratic.Out,e.Easing.Power2=e.Easing.Cubic.Out,e.Easing.Power3=e.Easing.Quartic.Out,e.Easing.Power4=e.Easing.Quintic.Out,e.Time=function(t){this.game=t,this.time=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.delta=0,this.deltaTotal=0,this.deltaMax=200,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=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 e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._timers=[]},e.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 i=new e.Timer(this.game,t);return this._timers.push(i),i},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){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},preUpdate:function(t){t*=1e3,this.delta=t,this.deltaTotal+=t,this.game.paused||(this.events.update(this.deltaTotal),this.updateTimers()),this.advancedTiming&&this.updates++},preRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted},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(e.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.desiredFpsMult=1/t}}),Object.defineProperty(e.Time.prototype,"desiredMinFps",{get:function(){return 1e3/this.deltaMax},set:function(t){this.deltaMax=1e3/t}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.Signal,this.nextTick=0,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=this.game.time?this.game.time.deltaTotal:0,this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,r,o){var a=(t=Math.round(t))+this._now,h=new e.TimerEvent(this,t,a,s,i,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.deltaTotal+(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._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.deltaTotal,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.deltaTotal,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.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},e.TimerEvent.prototype.constructor=e.TimerEvent,e.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=[]},e.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,i,s,n,r){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,r,this._outputFrames),this._anims[t]=new e.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}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},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(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},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)}}),e.Animation=function(t,i,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=i,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 e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.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.deltaTotal,this._timeNextFrame=this.game.time.deltaTotal+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.deltaTotal,this._timeNextFrame=this.game.time.deltaTotal+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=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(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||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.updateCurrentFrame(!1),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()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.deltaTotal:this.isPlaying&&(this._timeNextFrame=this.game.time.deltaTotal+this.delay)}}),Object.defineProperty(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.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(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,r){void 0===n&&(n="");var o=[],a="";if(i=s;h--)a=t+(a="number"==typeof r?e.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},e.Frame=function(t,i,s,n,r,o){this.index=t,this.x=i,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+o+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=e.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},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},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 e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.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 e.FrameData,i=0;if||h<-f)return console.error('Spritesheet "%s": skipFrames=%s is larger than the frame total %s',i,h,f),null;if(r>-1&&(v=(f=r)-1),d<1&&console.warn('Spritesheet "%s": Texture has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)',i,u,s+o+a,s,o,a),p<1&&console.warn('Spritesheet "%s": Texture has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)',i,c,n+o+a,n,o,a),0===g)return console.error('Spritesheet "%s": zero frames were produced',i),null;if(h>0?v=(y=h)+(f=Math.min(f,g-h))-1:h<0&&(y=(v=m+h)-(f=Math.min(f,g+h))+1),y<0)return console.error('Spritesheet "%s": There is no frame at index %s',i,y),null;if(v>m)return console.warn('Spritesheet "%s": There is no frame at index %s. Last frame found is index %s',i,v,m),null;for(var x=new e.FrameData,b=o,_=o,T=0,w=0;wv);w++)w>=y&&x.addFrame(new e.Frame(T++,b,_,s,n,"")),(b+=s+a)+s>u&&(b=o,_+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,r=i.frames,o=0;o tag")}},e.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:{},data:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._cacheMap[e.Cache.DATA]=this._cache.data,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DATA=16,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in e.LoaderParser?e.LoaderParser[s](n):n,o={key:t,url:i,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new e.Frame(0,0,0,r.width,r.height,t),frameData:new e.FrameData,fileFormat:s};return o.frameData.addFrame(new e.Frame(0,0,0,r.width,r.height,i)),this._cache.image[t]=o,this._resolveURL(i,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,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.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(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.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,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,r,o,a){var h={url:i,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?e.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,r,o,a){var h=this.getFrameByName(i,s);if(h){var l={font:null,base:this.getBaseTexture(i),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var u;"json"===r?(u=this.getJSON(n),l.font=e.LoaderParser.jsonBitmapFont(u,l.base,o,a,h,this.game.resolution)):(u=this.getXML(n),l.font=e.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,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,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:i,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=u,this._resolveURL(i,u)},addTextureAtlas:function(t,i,s,n,r){var o={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===e.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=e.AnimationParser.XMLData(this.game,n,t):r===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=e.AnimationParser.JSONData(this.game,n,t):o.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(i,o)},addData:function(t,e){this._cache.data[t]=e},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 i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.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(e.Cache.CANVAS,t)},checkDataKey:function(t){return this.checkKey(e.Cache.DATA,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.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,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var r=n[i];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+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getData:function(t){return this.getItem(t,e.Cache.DATA,"getData")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},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=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},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]},removeData:function(t){delete this._cache.data[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.",i),t._ready())},e.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)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.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 e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.Signal,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},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.mediaTypes={avif:"image/avif",bmp:"image/bmp",cur:"image/x-icon",gif:"image/gif",ico:"image/x-icon",jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",svg:"image/svg+xml",tif:"image/tiff",tiff:"image/tiff",webp:"image/webp"},e.Loader.getMediaType=function(t){var i=t.match(/\.(\w+)$/);return i?e.Loader.mediaTypes[i[1]]||null:null},e.Loader._getSource=function(t){return"string"==typeof t?{url:t,type:e.Loader.getMediaType(t)}:t},e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.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.game.state&&(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.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 i=t.data[t.key];if(i)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()},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,i){if(this.game.isBooted){var s=!0;switch(t.type){case"packfile":r=JSON.parse(i.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,i.response);break;case"image":case"imageset":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===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.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=i.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=i.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=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(i.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=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.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(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.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;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=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]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),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}},e.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])},e.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]}},e.AudioSprite.prototype.constructor=e.AudioSprite,e.Sound=function(t,i,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=i,this.key=i,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.playOnce=!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._pendingStart=!1,this._removeFromSoundManager=!1,this._sourceId=0,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,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(i)&&this.game.cache.isSoundReady(i)?(this._sound=this.game.cache.getSoundData(i),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new e.Signal,this.onPlay=new e.Signal,this.onPause=new e.Signal,this.onResume=new e.Signal,this.onLoop=new e.Signal,this.onStop=new e.Signal,this.onMute=new e.Signal,this.onMarkerComplete=new e.Signal,this.onFadeComplete=new e.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},e.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&&(this._removeOnEndedHandler(),this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),this._markedToDelete&&(this._disconnectSource(),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(){if(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));var t=this.game.time.time;if(this.isPlaying){if(this._pendingStart){var e=this._sound.currentTime;if(!(e>((this.paused?this._tempPause:0)||this.position||0)))return;this._pendingStart=!1,this.startTime=t-1e3*e,this.stopTime=this.startTime+this.durationMS}this.currentTime=t-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=t,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0,!1))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=t),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0,!1)):this.stop())}}else this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n,r){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),void 0===r&&(r=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0),this.isPlaying=!1),""===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._createSourceAndConnect(),this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||this._addOnEndedHandler(),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),this.loop&&""===t?this._startSource(0,0):this._startSource(0,this.position,this.duration),this.isPlaying=!0,this.paused=!1,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&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._sound.loop=this.loop,this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._globalVolume=this.game.sound.volume,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._globalVolume,this._pendingStart=!this.currentMarker,this.isPlaying=!0,this.paused=!1,this._tempPause=0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&this.onPlay.dispatch(this)):this.pendingPlayback=!0,this.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!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.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){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._createSourceAndConnect(),""===this.currentMarker&&(this.loop?this._sound.loop=!0:this._addOnEndedHandler());var e=this.duration-this.pausedPosition/1e3;this.loop&&""===this.currentMarker?this._startSource(0,t):this._startSource(0,t,e)}else this._pendingStart=!this.currentMarker,this._sound.currentTime=this._tempPause,this._tempPause=0,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&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0)),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,i){this.isPlaying&&!this.paused&&i!==this.volume&&(void 0===t&&(t=1e3),void 0!==i?(this.fadeTween=this.game.add.tween(this).to({volume:i},t,e.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())},_createSourceAndConnect:function(){this._sound=this.context.createBufferSource(),this._sound.connect(this.externalNode||this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this._sourceId++},_disconnectSource:function(){this._sound.disconnect(this.externalNode||this.gainNode)},_startSource:function(t,e,i){void 0===i?this._sound.start(t||0,e||0):this._sound.start(t||0,e||0,i)},_stopSourceAndDisconnect:function(){this._removeOnEndedHandler();try{this._sound.stop(0)}catch(t){}this._disconnectSource(),this._sound=null},_addOnEndedHandler:function(){this._sound.onended=this.onEndedHandler.bind(this)},_removeOnEndedHandler:function(){this._sound.onended=null}},e.Sound.prototype.constructor=e.Sound,Object.defineProperty(e.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(e.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(e.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(e.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))}}),Object.defineProperty(e.Sound.prototype,"sourceId",{get:function(){return this._sound?this._sourceId:null}}),e.SoundManager=function(t){this.game=t,this.onSoundDecode=new e.Signal,this.onVolumeChange=new e.Signal,this.onMute=new e.Signal,this.onUnMute=new e.Signal,this.onTouchUnlock=new e.Signal,this.onStateChange=new e.Signal,this.context=null,this.baseLatency=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 e.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null,this._onClick=this._onClick.bind(this),this._onStateChange=this._onStateChange.bind(this)},e.SoundManager.prototype={boot:function(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,this.baseLatency=this.context.baseLatency||256/(this.context.sampleRate||44100),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.context.onstatechange=this._onStateChange,"suspended"===this.context.state&&this.game.canvas.addEventListener("click",this._onClick);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},webAudioIsSuspended:function(){return this.usingWebAudio&&"suspended"===this.context.state},resumeWebAudio:function(){if(this.usingWebAudio)return this.context.resume()},resumeWebAudioIfSuspended:function(){if(this.webAudioIsSuspended())return this.context.resume()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();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);var e=this;this._unlockSource.onended=function(){e.setTouchUnlock(),e.resumeWebAudioIfSuspended()},void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudioIfSuspended()}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 i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==i||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))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.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(e.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(e.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(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),e.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px monospace",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},e.Utils.Debug.GEOM_AUTO=0,e.Utils.Debug.GEOM_RECTANGLE=1,e.Utils.Debug.GEOM_CIRCLE=2,e.Utils.Debug.GEOM_POINT=3,e.Utils.Debug.GEOM_LINE=4,e.Utils.Debug.GEOM_ELLIPSE=5,e.Utils.Debug.prototype={boot:function(){this.game.renderType===e.CANVAS?this.context=this.game.context:(this.bmd=new e.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=e.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new e.Line,this._rect=new e.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;e ")+o):o===s._pendingState?this.line("+ "+o):this.line(" "+o)}this.stop()},sound:function(t,e,i){var s=this.game.sound;this.start(t,e,i),s.noAudio?this.line("Audio is disabled"):(this.line("Volume: "+s.volume.toFixed(2)+(s.mute?" (Mute)":"")),this.line("Mute on pause: "+s.muteOnPause),this.line("Using: "+(s.usingWebAudio?"Web Audio - "+s.context.state:"Audio Tag")),this.line("Touch locked: "+s.touchLocked),this.line("Sounds: "+s._sounds.length)),this.stop()},soundInfo:function(t,e,i,s){if(this.start(e,i,s),this.line("Sound: "+t.key+" Touch locked: "+t.game.sound.touchLocked),this.line("Is Ready?: "+this.game.cache.isSoundReady(t.key)+" Pending Playback: "+t.pendingPlayback),this.line("Decoded: "+t.isDecoded+" Decoding: "+t.isDecoding),this.line("Playing: "+t.isPlaying+" Loop: "+t.loop),this.line("Time: "+(t.currentTime/1e3).toFixed(3)+"s Total: "+t.totalDuration.toFixed(3)+"s"),this.line("Volume: "+t.volume.toFixed(2)+(t.mute?" (Mute)":"")),this.line("Using: "+(t.usingWebAudio?"Web Audio":"Audio Tag")),t.usingWebAudio&&this.line(" Source: "+(t.sourceId||"none")),t.usingAudioTag&&t._sound){var n=t._sound;this.line(" currentSrc: "+n.currentSrc),this.line(" currentTime: "+n.currentTime),this.line(" duration: "+n.duration),this.line(" ended: "+n.ended),this.line(" loop: "+n.loop),this.line(" muted: "+n.muted),this.line(" paused: "+n.paused)}""!==t.currentMarker&&(this.line("Marker: "+t.currentMarker+" Duration: "+t.duration.toFixed(3)+"s ("+t.durationMS+"ms)"),this.line("Start: "+t.markers[t.currentMarker].start.toFixed(3)+" Stop: "+t.markers[t.currentMarker].stop.toFixed(3)),this.line("Position: "+t.position.toFixed(3))),this.stop()},camera:function(t,e,i){var s=t.deadzone,n=t.target,r=t.view;s&&(this._rect.setTo(r.x+s.x,r.y+s.y,s.width,s.height),this.rectangle(this._rect,e,i)),n&&(this._line.setTo(r.centerX,r.centerY,n.x,n.y),this.geom(this._line,e,i),this.geom(n,e,!1,3))},cameraInfo:function(t,e,i,s){var n=t.bounds,r=t.deadzone,o=t.target,a=t.view;this.start(e,i,s),this.line("Camera ("+t.width+" x "+t.height+")"),this.line("x: "+t.x+" y: "+t.y),this.line("Bounds: "+(n?"x: "+n.x+" y: "+n.y+" w: "+n.width+" h: "+n.height:"none")),this.line("View: x: "+a.x+" y: "+a.y+" w: "+a.width+" h: "+a.height),this.line("Center: x: "+t.centerX+" y: "+t.centerY),this.line("Deadzone: "+(r?"x: "+r.x+" y: "+r.y+" w: "+r.width+" h: "+r.height:r)),this.line("Total in view: "+t.totalInView),this.line("At limit: x: "+t.atLimit.x+" y: "+t.atLimit.y),this.line("Target: "+(o?o.name||o:"none")),this.stop()},timer:function(t,e,i,s){this.start(e,i,s),this.line("Timer (running: "+t.running+" expired: "+t.expired+")"),this.line("Next Tick: "+t.next+" Duration: "+t.duration),this.line("Paused: "+t.paused+" Length: "+t.length),this.stop()},pointer:function(t,e,i,s,n,r){if(null!=t&&(void 0===e&&(e=!1),i=i||"rgba(0,255,0,0.5)",s=s||"rgba(255,255,0,0.5)",r=r||"rgba(255,0,0,0.5)",!0!==e||!0!==t.isUp)){this.start(t.x,t.y-150,n),this.context.beginPath(),this.context.arc(t.x,t.y,t.circle.radius,0,2*Math.PI),t.active?this.context.fillStyle=t.isDown?i:s:this.context.fillStyle=r,this.context.fill(),this.context.closePath(),this.context.beginPath(),this.context.moveTo(t.positionDown.x,t.positionDown.y),this.context.lineTo(t.position.x,t.position.y),this.context.lineWidth=2,this.context.stroke(),this.context.closePath();var o=t.movementX,a=t.movementY;(o||a)&&(this.context.beginPath(),this.context.moveTo(o+t.position.x,a+t.position.y),this.context.lineTo(t.position.x,t.position.y),this.context.lineWidth=2,this.context.stroke(),this.context.closePath()),this.line("ID: "+t.id+" Active: "+t.active),this.line("World X: "+t.worldX.toFixed(1)+" World Y: "+t.worldY.toFixed(1)),this.line("Screen X: "+t.x.toFixed(1)+" Screen Y: "+t.y.toFixed(1)+" In: "+t.withinGame),this.line("Movement: X: "+o+" Y: "+a),this.line("Duration: "+t.duration+" ms"),this.line("is Down: "+t.isDown+" is Up: "+t.isUp),this.line("Identifier: "+t.identifier+" Pointer ID: "+t.pointerId),t.isMouse&&this.line("Buttons: "+this._pointerButtonIcon(t.leftButton)+" "+this._pointerButtonIcon(t.middleButton)+" "+this._pointerButtonIcon(t.rightButton)),this.stop()}},_pointerButtonIcon:function(t){return t.isDown?"x":t.isUp?"o":"-"},spriteInputInfo:function(t,e,i,s){this.start(e,i,s),this.line("Sprite Input: ("+t.width+" x "+t.height+")"),this.line("x: "+t.input.pointerX().toFixed(1)+" y: "+t.input.pointerY().toFixed(1)),this.line("over: "+t.input.pointerOver()+" duration: "+t.input.overDuration().toFixed(0)),this.line("down: "+t.input.pointerDown()+" duration: "+t.input.downDuration().toFixed(0)),this.line("just over: "+t.input.justOver()+" just out: "+t.input.justOut()),this.stop()},key:function(t,e,i,s){this.start(e,i,s,150),this.line("Key:",t.keyCode,"isDown:",t.isDown),this.line("justDown:",t.justDown,"justUp:",t.justUp),this.line("Time Down:",t.timeDown.toFixed(0),"duration:",t.duration.toFixed(0)),this.stop()},inputInfo:function(t,i,s,n){var r=this.game.input;if(void 0===n&&(n=!0),this.start(t,i,s),this.line("Input"),this.line("X: "+r.x+" Y: "+r.y),this.line("World X: "+r.worldX+" World Y: "+r.worldY),this.line("Scale X: "+r.scale.x.toFixed(2)+" Scale Y: "+r.scale.x.toFixed(2)),this.line("Screen X: "+r.activePointer.screenX.toFixed(1)+" Screen Y: "+r.activePointer.screenY.toFixed(1)),n){this.line("Sources:"),this.line(" "+this._inputHandler(r.mouse,"mouse")),this.line(" "+this._inputHandler(r.mspointer,"mspointer")),this.line(" "+this._inputHandler(r.touch,"touch"));var o=r.pointers,a=r.mousePointer,h=e.PointerModes,l=0,u=0;this.line("Pointers:"),this.line(" "+(a.isDown?"x":"o")+" "+h[a.pointerMode]+" "+a.identifier);for(var c=0;c0)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 e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=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(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.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(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:r}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.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(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.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,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},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,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var r=Math.min(t,i,s),o=Math.max(t,i,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=(i-s)/a+(i1&&(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,i,s,n,r,o,a,h){var l={r:t||0,g:i||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 e.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.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,i,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){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);i?(i.r=n,i.g=r,i.b=o):i=e.Color.createColor(n,r,o)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);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=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.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=e.Color.HSVtoRGB(d,y,v,x),l=x.r,u=x.g,c=x.b}return e.Color.getColor32(r,l,u,c)},interpolateColorWithRGB:function(t,i,s,n,r,o){var a=e.Color.getRGB(t),h=(i-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,u=(n-a.blue)*o/r+a.blue;return e.Color.getColor(h,l,u)},interpolateRGB:function(t,i,s,n,r,o,a,h){var l=(n-t)*h/a+t,u=(r-i)*h/a+i,c=(o-s)*h/a+s;return e.Color.getColor(l,u,c)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t));return e.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 i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.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,i){return e.Color.blendOverlay(i,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,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.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()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.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}},e.Physics.prototype.constructor=e.Physics,e.Physics.Arcade=function(t){this.game=t,this.gravity=new e.Point,this.bounds=new e.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=e.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new e.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()},e.Physics.Arcade.prototype.constructor=e.Physics.Arcade,e.Physics.Arcade.SORT_NONE=0,e.Physics.Arcade.LEFT_RIGHT=1,e.Physics.Arcade.RIGHT_LEFT=2,e.Physics.Arcade.TOP_BOTTOM=3,e.Physics.Arcade.BOTTOM_TOP=4,e.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,i){void 0===i&&(i=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof e.Group?this.enable(t[s].children,i):(this.enableBody(t[s]),i&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof e.Group?this.enable(t.children,i):(this.enableBody(t),i&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.Arcade.Body(t),t.parent&&t.parent instanceof e.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+=.001*t.angularVelocity*this.game.time.delta}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+=.001*(this.gravity.x+e.gravity.x)*this.game.time.delta:2===t&&e.allowGravity&&(i+=.001*(this.gravity.y+e.gravity.y)*this.game.time.delta),s?i+=.001*s*this.game.time.delta:n&&e.allowDrag&&(i-(n*=.001*this.game.time.delta)>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,i){null!==t.physicsSortDirection?i=t.physicsSortDirection:void 0===i&&(i=this.sortDirection),i===e.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):i===e.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):i===e.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):i===e.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===e.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(i);for(var u=this.quadTree.retrieve(t),h=0;hu.right)continue;if(u.x>a.right)break}else if(this.sortDirection===e.Physics.Arcade.TOP_BOTTOM){if(a.bottomu.bottom)continue;if(u.y>h.body.bottom)break}this.collideSpriteVsSprite(h,c,i,s,n,r)}}}}},collideGroupVsGroup:function(t,i,s,n,r,o){if(0!==t.length&&0!==i.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)=i.right)&&!(t.position.y>=i.bottom))))},circleBodyIntersects:function(t,i){var s=e.Math.clamp(t.center.x,i.left,i.right),n=e.Math.clamp(t.center.y,i.top,i.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,i,s){this.getOverlapX(t,i),this.getOverlapY(t,i);var n=i.center.x-t.center.x,r=i.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==i.isCircle){var h={x:i.isCircle?t.position.x:i.position.x,y:i.isCircle?t.position.y:i.position.y,right:i.isCircle?t.right:i.right,bottom:i.isCircle?t.bottom:i.bottom},l={x:t.isCircle?t.center.x:i.center.x,y:t.isCircle?t.center.y:i.center.y,radius:t.isCircle?t.halfWidth:i.halfWidth};l.yh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+i.halfWidth-e.Math.distance(t.center.x,t.center.y,i.center.x,i.center.y);if(s||0===a||t.immovable&&i.immovable||t.customSeparateX||i.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,i.sprite),i.onOverlap&&i.onOverlap.dispatch(i.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:i.velocity.x*Math.cos(o)+i.velocity.y*Math.sin(o),y:-i.velocity.x*Math.sin(o)+i.velocity.y*Math.cos(o)},d=((t.mass-i.mass)*u.x+2*i.mass*c.x)/(t.mass+i.mass),p=(2*t.mass*u.x+(i.mass-t.mass)*c.x)/(t.mass+i.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),i.immovable||(i.velocity.x=(p*Math.cos(o)-c.y*Math.sin(o))*i.bounce.x,i.velocity.y=(c.y*Math.cos(o)+p*Math.sin(o))*i.bounce.y),Math.abs(o)0&&!t.immovable&&i.velocity.x>t.velocity.x?t.velocity.x*=-1:i.velocity.x<0&&!i.immovable&&t.velocity.x0&&!t.immovable&&i.velocity.y>t.velocity.y?t.velocity.y*=-1:i.velocity.y<0&&!i.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&i.velocity.x0&&!i.immovable&&t.velocity.x>i.velocity.x?i.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&i.velocity.y0&&!i.immovable&&t.velocity.x>i.velocity.y&&(i.velocity.y*=-1)),t.immovable||(t.x+=.001*t.velocity.x*this.game.time.delta-a*Math.cos(o),t.y+=.001*t.velocity.y*this.game.time.delta-a*Math.sin(o)),i.immovable||(i.x+=.001*i.velocity.x*this.game.time.delta+a*Math.cos(o),i.y+=.001*i.velocity.y*this.game.time.delta+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,i.sprite),i.onCollide&&i.onCollide.dispatch(i.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,i,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 e.Rectangle(t,i,1,1),h=[],l=this.quadTree.retrieve(a),u=0;u0&&(s=this.distanceBetween(t,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},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,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i,!0)},velocityFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},accelerationFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},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,s){void 0===i&&(i=!1);var n,r;return s?(n=t.centerX-e.centerX,r=t.centerY-e.centerY):i?(n=t.world.x-e.world.x,r=t.world.y-e.world.y):(n=t.x-e.x,r=t.y-e.y),Math.sqrt(n*n+r*r)},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,s){for(var n=1/0,r=null,o=0,a=e.length;on&&(r=h,n=l)}return r},angleBetween:function(t,i,s){return void 0===s&&(s=!1),s?e.Point.angle(i.world,t.world):e.Point.angle(i,t)},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)}},e.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=e.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new e.Point,this.position=new e.Point(t.x,t.y),this.prev=new e.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 e.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new e.Point,this.newVelocity=new e.Point,this.deltaMax=new e.Point,this.acceleration=new e.Point,this.allowDrag=!0,this.drag=new e.Point,this.allowGravity=!0,this.gravity=new e.Point,this.bounce=new e.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new e.Point(1e4,1e4),this.friction=new e.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=e.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 e.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 e.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},e.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(.001*this.velocity.x*this.game.time.delta,.001*this.velocity.y*this.game.time.delta),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=this.velocity.atan()),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.delta,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=e.LEFT:this.deltaX()>0&&(this.facing=e.RIGHT),this.deltaY()<0?this.facing=e.UP:this.deltaY()>0&&(this.facing=e.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,i,s){var n=i/(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),i=Math.abs(i),this.moveDuration=0,this.moveDistance=i,null===this.moveTarget&&(this.moveTarget=new e.Line,this.moveEnd=new e.Point),this.moveTarget.fromAngle(this.x,this.y,r,i),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,i){return this.isCircle?e.Circle.contains(this,t,i):e.Rectangle.contains(this,t,i)},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 e.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(e.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),e.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)},e.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)},e.Physics.Arcade.Body.prototype.constructor=e.Physics.Arcade.Body,e.Physics.Arcade.TilemapCollision=function(){},e.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}},e.Utils.mixinPrototype(e.Physics.Arcade.prototype,e.Physics.Arcade.TilemapCollision.prototype),e.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},e.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}},e.Tile.prototype.constructor=e.Tile,Object.defineProperty(e.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(e.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(e.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(e.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(e.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(e.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),e.Tilemap=function(t,i,s,n,r,o){this.game=t,this.key=i;var a=e.TilemapParser.parse(this.game,i,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.objectsMap=a.objectsMap,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)},e.Tilemap.CSV=0,e.Tilemap.TILED_JSON=1,e.Tilemap.NORTH=0,e.Tilemap.EAST=1,e.Tilemap.SOUTH=2,e.Tilemap.WEST=3,e.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,i,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!==i&&null!==i||(i=t),e.BitmapData&&i instanceof e.BitmapData)h=i.canvas;else{if(!this.game.cache.checkImageKey(i))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+i+'"'),null;h=this.game.cache.getImage(i)}var l=this.getTilesetIndex(t);if(null===l&&this.format===e.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),console.log("Tilesets: ",this.tilesets),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var u=new e.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)return console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"'),void console.log("Layers: ",this.layers);void 0===i||i<=0?i=Math.min(this.game.width,this.layers[r].widthInPixels):i>this.game.width&&(i=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:",i,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new e.TilemapLayer(this.game,this,r,i,s));return this.enableDebug&&console.groupEnd(),o},createBlankLayer:function(t,i,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:i,height:s,widthInPixels:i*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 e.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,i,s){if(s=this.getLayer(s),t>=0&&t=0&&i=0&&i=0&&s-1?this.layers[n].data[s][i].setCollision(!0,!0,!0,!0):this.layers[n].data[s][i].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][i]}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,n){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var r,o,a=0,h=this.layers[s].height,l=this.layers[s].width,u=this.layers[s].data;if(n)var c=[];if(i)for(d=h-1;d>=0;d--){r=u[d];for(p=l-1;p>=0;p--)if((o=r[p]).index===t)if(a>=e){if(!n)return o;c.push(o)}else a++}else for(var d=0;d=e){if(!n)return o;c.push(o)}else a++}return n?c:null},getTile:function(t,e,i,s){return void 0===s&&(s=!1),i=this.getLayer(i),t>=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}},e.Tilemap.prototype.constructor=e.Tilemap,Object.defineProperty(e.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),e.TilemapLayer=function(t,i,s,n,r){n|=0,r|=0,e.Sprite.call(this,t,0,0),this.map=i,this.index=s,this.layer=i.layers[s],this.canvas=e.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=e.TILEMAPLAYER,this.physicsType=e.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:i.tileWidth,tileHeight:i.tileHeight,cw:i.tileWidth,ch:i.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new e.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=e.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},e.TilemapLayer.prototype=Object.create(e.Sprite.prototype),e.TilemapLayer.prototype.constructor=e.TilemapLayer,e.TilemapLayer.prototype.preUpdateCore=e.Component.Core.preUpdate,e.TilemapLayer.sharedCopyCanvas=null,e.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=e.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},e.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},e.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},e.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)},e.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)},e.TilemapLayer.prototype.destroy=function(){e.CanvasPool.remove(this),e.Component.Destroy.prototype.destroy.call(this)},e.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},e.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},e.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},e.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},e.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)},e.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},e.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)},e.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},e.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},e.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},e.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},e.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))}}}},e.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)}},e.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)},e.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(e.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),e.TilemapParser={INSERT_NULL:!1,parse:function(t,i,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===i)return this.getEmptyData();if(null===i)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(i);if(a){if(a.format===e.Tilemap.CSV)return this.parseCSV(i,a.data,s,n);if(!a.format||a.format===e.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn('No map data found for key "%s"',i)},parseCSV:function(t,i,s,n){for(var r=this.getEmptyData(),o=[],a=(i=i.trim()).split("\n"),h=a.length,l=0,u=0;u>>0;r.data=h,delete r.encoding}else if(r.compression){console.warn('Layer compression is unsupported, skipping layer "%s".',r.name);continue}F={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&&(F.properties=r.properties);for(var u,c,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: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}A>0?((B=new e.Tile(F,A,p,g.length,t.tilewidth,t.tileheight)).rotation=u,B.flipped=c,0!==d&&(B.flippedVal=d),f.push(B)):e.TilemapParser.INSERT_NULL?f.push(null):f.push(new e.Tile(F,-1,p,g.length,t.tilewidth,t.tileheight)),++p===r.width&&(g.push(f),p=0,f=[])}F.data=g,s.push(F)}i.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t0?this.scale.set(this.scaleData[t].x,this.scaleData[t].y):this.autoScale=!1}if(this.autoAlpha){this._a-=.001*this.game.time.delta*this.autoAlphaFps;var e=Math.round(this._a);e>0?this.alpha=this.alphaData[e].v:this.autoAlpha=!1}},e.Particle.prototype.onEmit=function(){},e.Particle.prototype.setAlphaData=function(t,e){this.alphaData=t,this._a=t.length-1,this.alpha=this.alphaData[this._a].v,this.autoAlpha=!0,this.autoAlphaFps=e},e.Particle.prototype.setScaleData=function(t,e){this.scaleData=t,this._s=t.length-1,this.scale.set(this.scaleData[this._s].x,this.scaleData[this._s].y),this.autoScale=!0,this.autoScaleFps=e},e.Particle.prototype.reset=function(t,i,s){return e.Component.Reset.prototype.reset.call(this,t,i,s),this.alpha=1,this.scale.set(1),this.autoScale=!1,this.autoAlpha=!1,this},e.Particles=function(t){this.game=t,this.emitters={},this.ID=0},e.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]}},e.Particles.prototype.constructor=e.Particles,e.Particles.Arcade={},e.Particles.Arcade.Emitter=function(t,i,s,n){this.maxParticles=n||50,e.Group.call(this,t),this._id=this.game.particles.ID++,this.name="emitter"+this.id,this.type=e.EMITTER,this.physicsType=e.GROUP,this.area=new e.Rectangle(i,s,1,1),this.minAngle=null,this.maxAngle=null,this.minSpeed=0,this.maxSpeed=100,this.minParticleSpeed=new e.Point(-100,-100),this.maxParticleSpeed=new e.Point(100,100),this.minParticleScale=1,this.maxParticleScale=1,this.scaleData=null,this.minRotation=-360,this.maxRotation=360,this.minParticleAlpha=1,this.maxParticleAlpha=1,this.alphaData=null,this.particleClass=e.Particle,this.particleDrag=new e.Point,this.angularDrag=0,this.frequency=100,this.lifespan=2e3,this.bounce=new e.Point,this.on=!1,this.particleAnchor=new e.Point(.5,.5),this.blendMode=e.blendModes.NORMAL,this.emitX=i,this.emitY=s,this.autoScale=!1,this.autoScaleFps=this.game.time.desiredFps,this.autoAlpha=!1,this.autoAlphaFps=this.game.time.desiredFps,this.particleBringToTop=!1,this.particleSendToBack=!1,this.counts={emitted:0,failed:0,totalEmitted:0,totalFailed:0},this._gravity=new e.Point(0,100),this._minParticleScale=new e.Point(1,1),this._maxParticleScale=new e.Point(1,1),this._total=0,this._timer=0,this._counter=0,this._flowQuantity=0,this._flowTotal=0,this._explode=!0,this._frames=null},e.Particles.Arcade.Emitter.prototype=Object.create(e.Group.prototype),e.Particles.Arcade.Emitter.prototype.constructor=e.Particles.Arcade.Emitter,e.Particles.Arcade.Emitter.prototype.update=function(){if(this.counts.emitted=0,this.counts.failed=0,this.on&&this.game.time.deltaTotal>=this._timer)if(this._timer=this.game.time.deltaTotal+this.frequency,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()},e.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.deltaTotal+e):this.start(!1,t,e,i),this},e.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},e.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},e.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,this.autoScaleFps):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,this.autoAlphaFps):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()},e.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),e.Group.prototype.destroy.call(this,!0,!1)},e.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},e.Particles.Arcade.Emitter.prototype.setSpeed=function(t,e,i,s){return this.setXSpeed(t,e),this.setYSpeed(i,s),this},e.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},e.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},e.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},e.Particles.Arcade.Emitter.prototype.setAlpha=function(t,i,s,n,r){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=0),void 0===n&&(n=e.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=i,this.autoAlpha=!1,s>0&&t!==i){var o={v:t},a=this.game.make.tween(o).to({v:i},s,n);a.yoyo(r),this.alphaData=a.generateData(this.game.time.desiredFps),this.autoAlphaFps=this.game.time.desiredFps,this.alphaData.reverse(),this.autoAlpha=!0}return this},e.Particles.Arcade.Emitter.prototype.setScale=function(t,i,s,n,r,o,a){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=e.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(i,n),this.autoScale=!1,r>0&&(t!==i||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:i,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(this.game.time.desiredFps),this.autoScaleFps=this.game.time.desiredFps,this.scaleData.reverse(),this.autoScale=!0}return this},e.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},e.Particles.Arcade.Emitter.prototype.setGravity=function(t,e){return t=t||0,e=e||0,this._gravity.set(t,e),this},e.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(e.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(e.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),e.Weapon=function(t,i){e.Plugin.call(this,t,i),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new e.Rectangle(0,0,1,1),this.fireAngle=e.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 e.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=e.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=e.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new e.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new e.Signal,this.onKill=new e.Signal,this.onFireLimit=new e.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new e.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new e.Point},e.Weapon.prototype=Object.create(e.Plugin.prototype),e.Weapon.prototype.constructor=e.Weapon,e.Weapon.KILL_NEVER=0,e.Weapon.KILL_LIFESPAN=1,e.Weapon.KILL_DISTANCE=2,e.Weapon.KILL_WEAPON_BOUNDS=3,e.Weapon.KILL_CAMERA_BOUNDS=4,e.Weapon.KILL_WORLD_BOUNDS=5,e.Weapon.KILL_STATIC_BOUNDS=6,e.Weapon.prototype.createBullets=function(t,i,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets&&!this.bullets.game&&(this.bullets=null),this.bullets||(this.bullets=this.game.add.physicsGroup(e.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,i,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=i,this.bulletFrame=s),this},e.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},e.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},e.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},e.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},e.Weapon.prototype.update=function(){this._bulletKillType===e.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()},e.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},e.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},e.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},e.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},e.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},e.Weapon.prototype.fire=function(t,i,s,n,r){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game.time.deltaTotal0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=e.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!==i&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,i-a))),0!==this.bulletAngleVariance&&(l+=e.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===e.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+=e.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(g=0),f=this.game.time.deltaTotal+g}else f=this.game.time.deltaTotal+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},e.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},e.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},e.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},e.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},e.Weapon.prototype.setBulletFrames=function(t,i,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=e.ArrayUtils.numberArray(t,i),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},e.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},e.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(e.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(e.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case e.Weapon.KILL_STATIC_BOUNDS:case e.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case e.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case e.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(e.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(e.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(e.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),e.Bullet=function(t,i,s,n,r){e.Sprite.call(this,t,i,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},e.Bullet.prototype=Object.create(e.Sprite.prototype),e.Bullet.prototype.constructor=e.Bullet,e.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},e.Bullet.prototype.update=function(){this.exists&&(this.data.killType>e.Weapon.KILL_LIFESPAN&&(this.data.killType===e.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=this.body.velocity.atan()),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},e.Video=function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game=t,this.key=i,this.width=0,this.height=0,this.type=e.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new e.Signal,this.onChangeSource=new e.Signal,this.onComplete=new e.Signal,this.onAccess=new e.Signal,this.onError=new e.Signal,this.onTimeout=new e.Signal,this.onTouchUnlock=new e.Signal,this.playWhenUnlocked=!0,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,i&&this.game.cache.checkVideoKey(i)){var n=this.game.cache.getVideo(i);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(e.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 e.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==i&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,e.BitmapData&&(this.snapshot=new e.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},e.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,s){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=!0),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;if(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"),this.video.setAttribute("playsinline","playsinline"),null!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout),navigator.mediaDevices&&navigator.mediaDevices.getUserMedia)navigator.mediaDevices.getUserMedia({audio:t,video:s}).then(this.getUserMediaSuccess.bind(this)).catch(this.getUserMediaError.bind(this));else try{navigator.getUserMedia({audio:t,video:s},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:void 0!==this.video.srcObject?this.video.srcObject=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.setAttribute("playsinline","playsinline"),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,i){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"),void 0!==i&&(this.video.crossOrigin=i),this.video.setAttribute("playsinline","playsinline"),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,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.srcObject?(this.video.srcObject.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,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(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 this.onTouchUnlock.dispatch(this),!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.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(e.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(e.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(e.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(e.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(e.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(e.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(e.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop=!0:this.video&&(this.video.loop=!1)}}),Object.defineProperty(e.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),e.Video.prototype.constructor=e.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}.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 162dfd393..72a77843a 100644 --- a/build/custom/phaser-creature.js +++ b/build/custom/phaser-creature.js @@ -7,7 +7,7 @@ * * Phaser CE - https://github.com/photonstorm/phaser-ce * -* v2.18.0 "2021-05-07" - Built: Thu May 06 2021 19:53:52 +* v2.19.0 "2021-08-23" - Built: Mon Aug 23 2021 13:20:32 * * By Richard Davey http://www.photonstorm.com @photonstorm and Phaser CE contributors * @@ -40,7 +40,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.18.0', + VERSION: '2.19.0', /** * An array of Phaser game instances. @@ -35909,10 +35909,10 @@ Phaser.RenderTexture.prototype.getCanvas = function () * @param {string} text - The actual text that will be written. * @param {object} [style] - The style properties to be set on the Text. * @param {string} [style.font='bold 20pt Arial'] - The style and size of the font. - * @param {string} [style.fontStyle=(from font)] - The style of the font (eg. 'italic'): overrides the value in `style.font`. - * @param {string} [style.fontVariant=(from font)] - The variant of the font (eg. 'small-caps'): overrides the value in `style.font`. - * @param {string} [style.fontWeight=(from font)] - The weight of the font (eg. 'bold'): overrides the value in `style.font`. - * @param {string|number} [style.fontSize=(from font)] - The size of the font (eg. 32 or '32px'): overrides the value in `style.font`. + * @param {string} [style.fontStyle] - The style of the font (eg. 'italic'): overrides the value in `style.font`. + * @param {string} [style.fontVariant] - The variant of the font (eg. 'small-caps'): overrides the value in `style.font`. + * @param {string} [style.fontWeight] - The weight of the font (eg. 'bold'): overrides the value in `style.font`. + * @param {string|number} [style.fontSize] - The size of the font (eg. 32 or '32px'): overrides the value in `style.font`. * @param {string} [style.backgroundColor=null] - A canvas fillstyle that will be used as the background for the whole Text object. Set to `null` to disable. * @param {string} [style.fill='black'] - A canvas fillstyle that will be used on the text eg 'red', '#00FF00'. * @param {string} [style.align='left'] - Horizontal alignment of each line in multiline text. Can be: 'left', 'center' or 'right'. Does not affect single lines of text (see `textBounds` and `boundsAlignH` for that). @@ -35924,6 +35924,8 @@ Phaser.RenderTexture.prototype.getCanvas = function () * @param {number} [style.wordWrapWidth=100] - The width in pixels at which text will wrap. * @param {number} [style.maxLines=0] - The maximum number of lines to be shown for wrapped text. * @param {number} [style.tabs=0] - The size (in pixels) of the tabs, for when text includes tab characters. 0 disables. Can be an array of varying tab sizes, one per tab stop. + * @param {object} [style.fontProperties=null] - `ascent`, `descent`, and `fontSize` lengths for a given style. You can get these from {@link Phaser.Text#determineFontProperties}. + * @param {string} [style.testString='|MÂÉQfjq_'] - The text to use to measure the font width and height. */ Phaser.Text = function (game, x, y, text, style) { @@ -36045,7 +36047,7 @@ Phaser.Text = function (game, x, y, text, style) * @property {string} _testString * @private */ - this._testString = '|MÉq'; + this._testString = style.testString || '|MÂÉQfjq_'; /** * @property {number} _res - Internal canvas resolution var. @@ -36187,10 +36189,10 @@ Phaser.Text.prototype.setShadow = function (x, y, color, blur, shadowStroke, sha * @method Phaser.Text#setStyle * @param {object} [style] - The style properties to be set on the Text. * @param {string} [style.font='bold 20pt Arial'] - The style and size of the font. - * @param {string} [style.fontStyle=(from font)] - The style of the font (eg. 'italic'): overrides the value in `style.font`. - * @param {string} [style.fontVariant=(from font)] - The variant of the font (eg. 'small-caps'): overrides the value in `style.font`. - * @param {string} [style.fontWeight=(from font)] - The weight of the font (eg. 'bold'): overrides the value in `style.font`. - * @param {string|number} [style.fontSize=(from font)] - The size of the font (eg. 32 or '32px'): overrides the value in `style.font`. + * @param {string} [style.fontStyle] - The style of the font (eg. 'italic'): overrides the value in `style.font`. + * @param {string} [style.fontVariant] - The variant of the font (eg. 'small-caps'): overrides the value in `style.font`. + * @param {string} [style.fontWeight] - The weight of the font (eg. 'bold'): overrides the value in `style.font`. + * @param {string|number} [style.fontSize] - The size of the font (eg. 32 or '32px'): overrides the value in `style.font`. * @param {string} [style.backgroundColor=null] - A canvas fillstyle that will be used as the background for the whole Text object. Set to `null` to disable. * @param {string} [style.fill='black'] - A canvas fillstyle that will be used on the text eg 'red', '#00FF00'. * @param {string} [style.align='left'] - Horizontal alignment of each line in multiline text. Can be: 'left', 'center' or 'right'. Does not affect single lines of text (see `textBounds` and `boundsAlignH` for that). @@ -36202,6 +36204,8 @@ Phaser.Text.prototype.setShadow = function (x, y, color, blur, shadowStroke, sha * @param {number} [style.wordWrapWidth=100] - The width in pixels at which text will wrap. * @param {number} [style.maxLines=0] - The maximum number of lines to be shown for wrapped text. * @param {number|array} [style.tabs=0] - The size (in pixels) of the tabs, for when text includes tab characters. 0 disables. Can be an array of varying tab sizes, one per tab stop. + * @param {object} [style.fontProperties=null] - `ascent`, `descent`, and `fontSize` lengths for a given style. You can get these from {@link Phaser.Text#determineFontProperties}. + * @param {string} [style.testString='|MÂÉQfjq_'] - The text to use to measure the font width and height. * @param {boolean} [update=false] - Immediately update the Text object after setting the new style? Or wait for the next frame. * @return {Phaser.Text} This Text instance. */ @@ -36226,6 +36230,7 @@ Phaser.Text.prototype.setStyle = function (style, update) newStyle.shadowColor = style.shadowColor || 'rgba(0,0,0,0)'; newStyle.shadowBlur = style.shadowBlur || 0; newStyle.tabs = style.tabs || 0; + newStyle.fontProperties = style.fontProperties || null; var components = this.fontToComponents(newStyle.font); @@ -36261,6 +36266,11 @@ Phaser.Text.prototype.setStyle = function (style, update) this.style = newStyle; this.dirty = true; + if (newStyle.testString) + { + this.testString = newStyle.testString; + } + if (update) { this.updateText(); @@ -36300,7 +36310,7 @@ Phaser.Text.prototype.updateText = function () var tabs = this.style.tabs; var lineWidths = []; var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this.style.font); + var fontProperties = this.style.fontProperties || this.determineFontProperties(this.style.font); var drawnLines = lines.length; @@ -37431,113 +37441,44 @@ Phaser.Text.prototype._renderCanvas = function (renderSession) Phaser.Text.prototype.determineFontProperties = function (fontStyle) { var properties = Phaser.Text.fontPropertiesCache[fontStyle]; - var measureText = this.testString || '|MÉq'; - if (!properties) + if (properties) { - properties = {}; - - var canvas = Phaser.Text.fontPropertiesCanvas; - var context = Phaser.Text.fontPropertiesContext; - - context.font = fontStyle; - - var width = Math.ceil(context.measureText(measureText).width); - var baseline = Math.ceil(context.measureText(measureText).width); - var height = 2 * baseline; - - baseline = baseline * 1.4 | 0; - - canvas.width = width; - canvas.height = height; - - context.fillStyle = '#f00'; - context.fillRect(0, 0, width, height); - - context.font = fontStyle; - - context.textBaseline = 'alphabetic'; - context.fillStyle = '#000'; - context.fillText(measureText, 0, baseline); - - if (!context.getImageData(0, 0, width, height)) - { - properties.ascent = baseline; - properties.descent = baseline + 6; - properties.fontSize = properties.ascent + properties.descent; - - Phaser.Text.fontPropertiesCache[fontStyle] = properties; - - return properties; - } - - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; - - var i, j; - - var idx = 0; - var stop = false; - - // ascent. scan from top to bottom until we find a non red pixel - for (i = 0; i < baseline; i++) - { - for (j = 0; j < line; j += 4) - { - if (imagedata[idx + j] !== 255) - { - stop = true; - break; - } - } - - if (!stop) - { - idx += line; - } - else - { - break; - } - } + return properties; + } - properties.ascent = baseline - i; + var context = Phaser.Text.fontPropertiesContext; - idx = pixels - line; - stop = false; + context.font = fontStyle; - // descent. scan from bottom to top until we find a non red pixel - for (i = height; i > baseline; i--) - { - for (j = 0; j < line; j += 4) - { - if (imagedata[idx + j] !== 255) - { - stop = true; - break; - } - } - - if (!stop) - { - idx -= line; - } - else - { - break; - } - } + var testStringMetrics = context.measureText(this.testString); - properties.descent = i - baseline; + if (testStringMetrics.actualBoundingBoxAscent) + { + var asc = Math.ceil(testStringMetrics.actualBoundingBoxAscent); + var desc = Math.ceil(testStringMetrics.actualBoundingBoxDescent); - // TODO might need a tweak. kind of a temp fix! - properties.descent += 6; - properties.fontSize = properties.ascent + properties.descent; + properties = { + ascent: asc, + descent: desc, + fontSize: asc + desc + }; + } + else + { + var mxWidth = context.measureText('MX').width; + var asc = Math.ceil(0.75 * mxWidth); + var desc = Math.ceil(0.25 * mxWidth); - Phaser.Text.fontPropertiesCache[fontStyle] = properties; + properties = { + ascent: asc, + descent: desc, + fontSize: asc + desc + }; } + Phaser.Text.fontPropertiesCache[fontStyle] = properties; + return properties; }; @@ -38221,7 +38162,7 @@ Object.defineProperty(Phaser.Text.prototype, 'height', { /** * The text used to measure the font's width and height * @name Phaser.Text#testString - * @default '|MÉq' + * @default '|MÂÉQfjq_' */ Object.defineProperty(Phaser.Text.prototype, 'testString', { @@ -78209,10 +78150,15 @@ Phaser.Tilemap = function (game, key, tileWidth, tileHeight, width, height) this.tiles = data.tiles; /** - * @property {array} objects - An array of Tiled Object Layers. + * @property {object} objects - Tiled Object Layers, by layer name. */ this.objects = data.objects; + /** + * @property {object} objectsMap - Tiled objects indexed by `id`. + */ + this.objectsMap = data.objectsMap; + /** * @property {array} collideIndexes - An array of tile indexes that collide. */ @@ -78464,30 +78410,37 @@ Phaser.Tilemap.prototype = { }, /** - * Creates a Sprite for every {@link http://doc.mapeditor.org/reference/tmx-map-format/#object object} matching the `gid` argument. You can optionally specify the group that the Sprite will be created in. If none is - * given it will be created in the World. All properties from the map data objectgroup are copied across to the Sprite, so you can use this as an easy way to - * configure Sprite properties from within the map editor. For example giving an object a property of `alpha: 0.5` in the map editor will duplicate that when the - * Sprite is created. You could also give it a value like: `body.velocity.x: 100` to set it moving automatically. + * Creates a Sprite for every {@link http://doc.mapeditor.org/reference/tmx-map-format/#object object} matching the `search` argument. * - * The `gid` argument is matched against: + * - When `search` is a number, it matches the object's tile ID (`gid`). + * - When `search` is a string, it matches the object's `name`. + * - When `search` is an array like `['type', 'enemy']` it matches that property name and value on the object. + * - When `search` is `null`, it matches every object. * - * 1. For a tile object, the tile identifier (`gid`); or - * 2. The object's unique ID (`id`); or - * 3. The object's `name` (a string) + * You can optionally specify the group that the Sprite will be created in. + * If `undefined` is given it will be created in the World. + * If `null` is given it won't be added to any group. + * + * All properties from the object are copied to the Sprite, so you can use this as an easy way to + * configure Sprite properties from within the map editor. + * For example giving an object a property of `alpha: 0.5` in the map editor will duplicate that when the + * Sprite is created. You could also give it a value like: `body.velocity.x: 100` to set it moving automatically. * * @method Phaser.Tilemap#createFromObjects - * @param {string} name - The name of the Object Group to create Sprites from. - * @param {number|string} gid - The object's tile reference (gid), unique ID (id) or name. + * @param {string} layer - The name of the Object Group (Object Layer) to create Sprites from. + * @param {number|string|array|null} search - The search value (see above). * @param {string} key - The Game.cache key of the image that this Sprite will use. * @param {number|string} [frame] - If the Sprite image contains multiple frames you can specify which one to use here. * @param {boolean} [exists=true] - The default exists state of the Sprite. * @param {boolean} [autoCull=false] - The default autoCull state of the Sprite. Sprites that are autoCulled are culled from the camera if out of its range. - * @param {Phaser.Group} [group=Phaser.World] - Group to add the Sprite to. If not specified it will be added to the World group. + * @param {Phaser.Group|null} [group=this.game.world] - Group to add the Sprite to, or `null` for no group. If `undefined` it will be added to the World group. * @param {object} [CustomClass=Phaser.Sprite] - If you wish to create your own class, rather than Phaser.Sprite, pass the class here. Your class must extend Phaser.Sprite and have the same constructor parameters. * @param {boolean} [adjustY=true] - By default the Tiled map editor uses a bottom-left coordinate system. Phaser uses top-left. So most objects will appear too low down. This parameter moves them up by their height. * @param {boolean} [adjustSize=true] - By default the width and height of the objects are transferred to the sprite. This parameter controls that behavior. + * + * @return {Phaser.Sprite[]} - The created Sprites. */ - createFromObjects: function (name, gid, key, frame, exists, autoCull, group, CustomClass, adjustY, adjustSize) + createFromObjects: function (layer, search, key, frame, exists, autoCull, group, CustomClass, adjustY, adjustSize) { if (exists === undefined) { exists = true; } if (autoCull === undefined) { autoCull = false; } @@ -78496,91 +78449,89 @@ Phaser.Tilemap.prototype = { if (adjustY === undefined) { adjustY = true; } if (adjustSize === undefined) { adjustSize = true; } - if (!this.objects[name]) + var objects = this.objects[layer]; + + if (!objects) { - console.warn('Tilemap.createFromObjects: Invalid objectgroup name given: ' + name); - console.log('Objects: ', this.objects); + console.warn('Tilemap.createFromObjects: Invalid object layer name given: ' + layer); + console.log('Object layers: ', this.objects); return; } - for (var i = 0; i < this.objects[name].length; i++) - { - var found = false; - var obj = this.objects[name][i]; + var foundObjects = []; + var created = []; + var searchType = typeof search; - if (obj.gid !== undefined && typeof gid === 'number' && obj.gid === gid) - { - found = true; - } - else if (obj.id !== undefined && typeof gid === 'number' && obj.id === gid) - { - found = true; - } - else if (obj.name !== undefined && typeof gid === 'string' && obj.name === gid) - { - found = true; - } - - if (found) - { - var sprite = new CustomClass(this.game, parseFloat(obj.x), parseFloat(obj.y), key, frame); - - sprite.name = obj.name; - sprite.autoCull = autoCull; - sprite.exists = exists; - sprite.visible = obj.visible; + if (searchType === 'number') + { + this.getObjects(layer, 'gid', search, foundObjects); + } + else if (searchType === 'string') + { + this.getObjects(layer, 'name', search, foundObjects); + } + else if (Array.isArray(search)) + { + this.getObjects(layer, search[0], search[1], foundObjects); + } + else if (search === null) + { + foundObjects = objects; + } - if (adjustSize) - { - if (obj.width) - { - sprite.width = obj.width; - } + for (var i = 0; i < foundObjects.length; i++) + { + var obj = foundObjects[i]; + var sprite = new CustomClass(this.game, parseFloat(obj.x), parseFloat(obj.y), key, frame); - if (obj.height) - { - sprite.height = obj.height; - } - } + sprite.name = obj.name; + sprite.autoCull = autoCull; + sprite.exists = exists; + sprite.visible = obj.visible; - if (obj.rotation) + if (adjustSize) + { + if (obj.width) { - sprite.angle = obj.rotation; + sprite.width = obj.width; } - if (adjustY) + if (obj.height) { - sprite.y -= sprite.height; + sprite.height = obj.height; } + } - group.add(sprite); + if (obj.rotation) + { + sprite.angle = obj.rotation; + } - // Set properties directly on the sprite + // Tile objects have origin (0, 1), all others (0, 0) - var properties = obj.properties; + if (adjustY && obj.gid) + { + sprite.y -= sprite.height; + } - if (Array.isArray(properties)) - { - // New property format + if (group !== null) + { + group.add(sprite); + } - for (var j = 0; j < properties.length; j++) - { - var propData = properties[j]; + // Set properties directly on the sprite - group.set(sprite, propData.name, propData.value, false, false, 0, true); - } - } - else - { - // Old property format + var properties = obj.properties; - for (var propertyName in properties) - { - group.set(sprite, propertyName, properties[propertyName], false, false, 0, true); - } - } + for (var propertyName in properties) + { + Phaser.Utils.setProperty(sprite, propertyName, properties[propertyName]); } + + created.push(sprite); } + + return created; }, /** @@ -78863,6 +78814,51 @@ Phaser.Tilemap.prototype = { return this.getIndex(this.layers, name); }, + /** + * Gets the object with the given `id`, from any Object Layer. + * + * @param {number} id - The `id` of the object. + * + * @return {?TilemapObject} The object, or null if not found. + */ + getObject: function (id) + { + return this.objectsMap[id] || null; + }, + + /** + * Gets objects matching the given property name and value from an Object Layer. + * + * @param {string} layer - The name of the Object Layer. + * @param {string} propName - The name of the object property to match. + * @param {any} propValue - The property value to match. + * @param {array} [output] - An array to append matching objects to. + * + * @return {TilemapObject[]} - The matching objects. + */ + getObjects: function (layer, propName, propValue, output) + { + var objects = this.objects[layer]; + var len = objects.length; + + if (output === undefined) + { + output = []; + } + + for (var i = 0; i < len; i++) + { + var obj = objects[i]; + + if (obj[propName] === propValue) + { + output.push(obj); + } + } + + return output; + }, + /** * Gets the tileset index based on its name. * @@ -80113,6 +80109,31 @@ Object.defineProperty(Phaser.Tilemap.prototype, 'layer', { }); +/** + * @typedef {object} TilemapObject + * + * See {@link https://doc.mapeditor.org/en/latest/reference/json-map-format/#object} + * + * @property {boolean} ellipse - True for an ellipse + * @property {number} height - The height + * @property {number} id - The object identifier + * @property {string} name - The name + * @property {boolean} point - True for a point + * @property {boolean} rectangle - True for a rectangle + * @property {boolean} rotation - Rotation in degrees + * @property {string} type - The type + * @property {boolean} visible - Visible or hidden + * @property {number} width - The width + * @property {number} x - The x coordinate in global space + * @property {number} y - The y coordinate in global space + * @property {?number} gid - The global tile identifier, for a tile object + * @property {?number[][]} polygon - Vertices for a polygon + * @property {?number[][]} polyline - Vertices for a polyline + * @property {?object} properties - Custom properties + * @property {?string} template - The template path, for a template instance + * @property {?object} text - See {@link https://doc.mapeditor.org/en/latest/reference/json-map-format/#text} + */ + /** * @author Richard Davey * @copyright 2016 Photon Storm Ltd. @@ -81645,21 +81666,60 @@ Phaser.TilemapParser = { }; }, - _slice: function (obj, fields) + getEmptyObject: function () { - var sliced = {}; + return { - for (var k in fields) + // Common properties + + id: undefined, + x: undefined, + y: undefined, + width: undefined, + height: undefined, + rotation: undefined, + visible: undefined, + name: undefined, + type: undefined, + + // Uncommon properties + + ellipse: false, + gid: null, + point: false, + polygon: null, + polyline: null, + properties: null, + rectangle: false, + template: null, + text: null + }; + }, + + createObject: function (source) + { + var obj = Object.assign(this.getEmptyObject(), source); + + obj.rectangle = !obj.ellipse && !obj.gid && !obj.point && !obj.polygon && !obj.polyline && !obj.template && !obj.text; + + var props = obj.properties; + + // New property format + if (props && Array.isArray(props)) { - var key = fields[k]; + var propsMap = {}; - if (typeof obj[key] !== 'undefined') + for (var i = 0, len = props.length; i < len; i++) { - sliced[key] = obj[key]; + var prop = props[i]; + + propsMap[prop.name] = prop.value; } + + obj.properties = propsMap; } - return sliced; + return obj; }, /** @@ -81672,11 +81732,10 @@ Phaser.TilemapParser = { * @param {object} [relativePosition={x: 0, y: 0}] - Coordinates the object group's position is relative to. * @return {object} A object literal containing the objectsCollection and collisionCollection */ - parseObjectGroup: function (objectGroup, objectsCollection, collisionCollection, nameKey, relativePosition) + parseObjectGroup: function (objectGroup, objectsCollection, collisionCollection, nameKey, relativePosition, objectsMap) { var nameKey = nameKey || objectGroup.name; var relativePosition = relativePosition || {x: 0, y: 0}; - var slice = this._slice; if (!nameKey) { @@ -81694,47 +81753,20 @@ Phaser.TilemapParser = { for (var v = 0, len = objectGroup.objects.length; v < len; v++) { var o = objectGroup.objects[v]; + var object = this.createObject(o); - // Object Tiles - if (o.gid) - { - var object = { - gid: o.gid, - name: o.name, - type: o.type || '', - x: o.x + relativePosition.x, - y: o.y + relativePosition.y, - width: o.width, - height: o.height, - visible: o.visible, - properties: o.properties - }; + object.x += relativePosition.x; + object.y += relativePosition.y; - if (o.rotation) - { - object.rotation = o.rotation; - } + objectsCollection[nameKey].push(object); - objectsCollection[nameKey].push(object); - } - else if (o.polyline) + if (object.id) { - var object = { - name: o.name, - type: o.type, - x: o.x + relativePosition.x, - y: o.y + relativePosition.y, - width: o.width, - height: o.height, - visible: o.visible, - properties: o.properties - }; - - if (o.rotation) - { - object.rotation = o.rotation; - } + objectsMap[object.id] = object; + } + if (o.polyline) + { object.polyline = []; // Parse the polyline into an array @@ -81744,17 +81776,9 @@ Phaser.TilemapParser = { } collisionCollection[nameKey].push(object); - objectsCollection[nameKey].push(object); } - - // polygon else if (o.polygon) { - var object = slice(o, [ 'name', 'type', 'x', 'y', 'visible', 'rotation', 'properties' ]); - - object.x += relativePosition.x; - object.y += relativePosition.y; - // Parse the polygon into an array object.polygon = []; @@ -81764,30 +81788,10 @@ Phaser.TilemapParser = { } collisionCollection[nameKey].push(object); - objectsCollection[nameKey].push(object); } - - // ellipse - else if (o.ellipse) + else if (o.ellipse || o.rectangle) { - var object = slice(o, [ 'name', 'type', 'ellipse', 'x', 'y', 'width', 'height', 'visible', 'rotation', 'properties' ]); - object.x += relativePosition.x; - object.y += relativePosition.y; - collisionCollection[nameKey].push(object); - objectsCollection[nameKey].push(object); - } - - // otherwise it's a rectangle - else - { - var object = slice(o, [ 'name', 'type', 'x', 'y', 'width', 'height', 'visible', 'rotation', 'properties' ]); - object.x += relativePosition.x; - object.y += relativePosition.y; - - object.rectangle = true; - collisionCollection[nameKey].push(object); - objectsCollection[nameKey].push(object); } } @@ -81812,11 +81816,6 @@ Phaser.TilemapParser = { return null; } - if (json.version > 1.1) - { - console.warn('Some features in this Tiled JSON map (version %s) may not work in Phaser CE. Enable the json1 plugin and reexport the map in "Tiled 1.1" format. https://github.com/photonstorm/phaser-ce/issues/623', json.version); - } - // Map data will consist of: layers, objects, images, tilesets, sizes var map = { width: json.width, @@ -82144,6 +82143,7 @@ Phaser.TilemapParser = { // Objects & Collision Data (polylines, etc) var objects = {}; var collision = {}; + var objectsMap = {}; for (var i = 0; i < json.layers.length; i++) { @@ -82153,11 +82153,12 @@ Phaser.TilemapParser = { } var objectGroup = json.layers[i]; - this.parseObjectGroup(objectGroup, objects, collision); + this.parseObjectGroup(objectGroup, objects, collision, undefined, undefined, objectsMap); } map.objects = objects; map.collision = collision; + map.objectsMap = objectsMap; map.tiles = []; @@ -82258,7 +82259,9 @@ Phaser.TilemapParser = { { x: tile.worldX + objectGroup.x, y: tile.worldY + objectGroup.y - }); + }, + objectsMap + ); } } } diff --git a/build/custom/phaser-creature.map b/build/custom/phaser-creature.map index 61d3bc2b4..587ddf201 100644 --- a/build/custom/phaser-creature.map +++ b/build/custom/phaser-creature.map @@ -1 +1 @@ -{"version":3,"sources":["phaser-creature.js"],"names":["root","this","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","AudioBufferSourceNode","prototype","start","noteGrainOn","stop","noteOff","Math","trunc","x","ceil","floor","Function","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","defaults","keys","key","undefined","reverseString","string","split","reverse","join","getProperty","obj","name","parts","_getProperty","setProperties","props","setProperty","value","_setProperty","val","currentObj","chanceRoll","chance","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","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","n","del","x0","sqrt","x1","y0","y1","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","width","height","p","centerX","centerY","normx","normy","Line","x2","y2","fromPoints","fromSprite","startSprite","endSprite","useCenter","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","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","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","s","interpolate","project","amt","projectUnit","centroid","points","Error","pointslength","parse","xProp","yProp","parseFloat","isPoint","sortClockwise","center","sort","det","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","FLASH","FADE_OUT","FADE_IN","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","fadeEffect","fadeIn","update","updateFX","updateShake","checkBounds","time","delta","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","postUpdate","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","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","destroy","link","unlink","previousStateKey","onPostUpdateCallback","_kickstart","getCurrentState","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","paramsArr","bindings","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","Stage","DisplayObjectContainer","disableVisibilityChange","exists","worldTransform","currentRenderOrderID","_hiddenVar","_onChange","_bgColor","g","rgba","transparent","config","parseConfig","backgroundColor","setBackgroundColor","DOM","getOffset","canvas","Canvas","setUserSelect","setTouchAction","checkVisibility","children","child","updateTransform","worldAlpha","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","focusLoss","focusGain","gamePaused","gameResumed","Color","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","addChildAt","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","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","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","bringChildToTop","sendToBack","sendChildToBack","moveUp","moveDown","xy","getByName","getFirst","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","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","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","wrapAll","between","Game","renderer","antialias","physicsConfig","multiTexture","preserveDrawingBuffer","clearBeforeRender","isRunning","raf","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","onBoot","_paused","_codePaused","_focusGained","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","powerPreference","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Debug","noop","isDisabled","showDebugHeader","forceSetTimeOut","RequestAnimationFrame","focusWindow","disableStart","isReady","onReady","PhaserGlobal","hideBanner","v","webAudio","ie","canvasID","canvasStyle","crisp","setImageRenderingCrisp","webGL","enableMultiTexture","WebGLRenderer","contextLost","contextRestored","webGLRendererError","defaultRenderer","_enableMultiTextureToggle","CanvasRenderer","cocoonJS","screencanvas","smoothed","addToDOM","preventDefault","initContext","clearGLTextures","updateLogic","desiredFpsMult","updateRender","elapsed","deltaMax","slowMotion","fixedStepSize","refresh","enableStep","disableStep","step","removeFromDOM","cordova","iOS","focus","stopFocus","muteOnPause","setMute","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","mouseWheel","MouseWheel","pointerLock","PointerLock","Keyboard","Gamepad","CanvasPool","getContext","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","CONTACT","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","handler","item","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","capture","stopOnGameOut","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","isAndroidStockBrowser","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","mouseMoveCallback","withinGame","resetButtons","updateButtons","element","wheelEventName","wheelEvent","boundOnWheelHandler","onWheelHandler","eventProxy","WheelEventProxy","bindEvent","deltaY","pointerDownCallback","pointerMoveCallback","pointerUpCallback","pointerOutCallback","pointerOverCallback","pointerCancelCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","_onMSPointerCancel","onPointerCancel","isMousePointerEvent","getPointerFromEvent","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","button","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","toLowerCase","down","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","locked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","doubleTap","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","PointerModes","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","dragPoint","pointerData","pointerLocalCoord","globalToLocal","py","prevX","prevY","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","onChange","onError","boundOnChangeHandler","onChangeHandler","boundOnErrorHandler","onErrorHandler","pointerLockElement","pointerlockchange","pointerlockerror","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","request","exit","_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","removeCallbacks","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","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","deltaX","deltaZ","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","mask","renderable","transformCallback","transformCallbackContext","filterArea","_mask","_destroyCachedSprite","_destroyTintedTexture","_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","prop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","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","animation","useFlatData","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","getBase64","encoderOptions","toDataURL","onLoadCallback","onErrorCallback","onload","onerror","generateTexture","addImage","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","polygon","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","getVisualBounds","cachedSprite","destroyCachedSprite","textureUnit","_tempMatrix","_glTextures","hasLoaded","textureIndex","_dirty","textureBuffer","FilterTexture","tempMatrix","renderXY","renderRawXY","updateBase","bindFramebuffer","FRAMEBUFFER","frameBuffer","viewport","renderDisplayObject","realResolution","webGLPixels","Uint8Array","readPixels","RGBA","UNSIGNED_BYTE","tempCanvas","canvasData","textBounds","colors","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_testString","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","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","testString","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_letterSpacing","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","letterSpacing","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","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","tileScale","tileScaleOffset","tilePosition","textureDebug","tilePattern","frameWidth","frameHeight","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","android","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","canHandleAlpha","canUseMultiply","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chrome","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","standalone","process","require","versions","error","_checkBrowser","AudioContext","webkitAudioContext","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","devicePixelRatio","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","CanvasRenderingContext2D","getItem","File","FileReader","FileList","Blob","requestFileSystem","WebGLRenderingContext","Worker","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","tintMethod","tintWithMultiply","tintWithPerPixel","_checkCanvasFeatures","fs","cfs","Element","ALLOW_KEYBOARD_INPUT","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","fakeiOSTouchLock","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","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","isFinite","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","_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","deltaTotal","isTweening","checkIsRunning","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","ms","fps","blob","reversed","elapsedMS","_desiredFps","suggestedFps","desiredFps","advancedTiming","updates","renders","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_timers","timer","autoDestroy","previousDateNow","previousNow","updateAdvancedTiming","updateTimers","interval","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","_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","diff","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","row","column","totalAvailable","lastAvailable","firstFrame","lastFrame","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","layers","tileheight","tilewidth","tiles","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","DATA","_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","addData","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkDataKey","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","getData","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","removeData","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onBeforeLoadComplete","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","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","mediaTypes","avif","bmp","gif","ico","jpg","jpeg","png","svg","tif","tiff","webp","getMediaType","_getSource","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageset","sources","defaultSource","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","compression","extensions","truecolor","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","tilemapCSV","tilemapTiledJSON","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","loadPictureTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","picElm","sourceElm","setAttribute","currentSrc","controls","autoplay","playsInline","videoLoadEvent","canplay","Audio","playThroughEvent","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","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","char","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","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_pendingStart","_removeFromSoundManager","_sourceId","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","_removeOnEndedHandler","_disconnectSource","isDecoded","loopFull","forceRestart","_stopSourceAndDisconnect","_createSourceAndConnect","_addOnEndedHandler","_startSource","muted","mute","prevMarker","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","createBufferSource","when","onended","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","baseLatency","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","_onStateChange","disableAudio","disableWebAudio","audioContext","onstatechange","setTouchLock","unlock","setTouchUnlock","webAudioIsSuspended","resumeWebAudio","resumeWebAudioIfSuspended","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactor","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","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","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","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","navigationUI","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","GEOM_AUTO","GEOM_RECTANGLE","GEOM_CIRCLE","GEOM_POINT","GEOM_LINE","GEOM_ELLIPSE","gameInfo","1","2","3","4","soundInfo","sourceId","ended","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","inactiveColor","mx","my","worldX","worldY","_pointerButtonIcon","btn","spriteInputInfo","justDown","justUp","inputInfo","showDetails","_inputHandler","modes","free","inputHandler","_inputHandlerStatusIcon","_inputHandlerCaptureIcon","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","factor","loader","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","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","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","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","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","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","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","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","adjustSize","found","propData","propertyName","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","location","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","layerArg","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","skip","all","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","_slice","fields","sliced","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","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","autoScaleFps","scaleData","_s","autoAlpha","autoAlphaFps","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","setSpeed","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","setGravity","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","getUniformLocation","getAttribLocation","aTextureIndex","deleteProgram","attribute","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","regions_map","render_composition","getRegionsMap","region_name","cur_region","start_pt_idx","getStartPtIndex","end_pt_idx","getEndPtIndex","cur_opacity","setAnimation","setAnimationPlaySpeed","SetIsPlaying","RunAtTime","GetIsPlaying","should_loop","SetShouldLoop","values","GetPixelScaling","SetAnchorPoint","setAnchorPointEnabled","SetAnchorPointEnabled","createAllAnimations","CreateAllAnimations","setMetaData","meta","metaJson","metaData","CreatureModuleUtils","BuildCreatureMetaData","SetMetaData","enableSkinSwap","swapNameIn","creature_meta_data","EnableSkinSwap","final_skin_swap_indices","disableSkinSwap","DisableSkinSwap","setActiveItemSwap","regionName","swapIdx","active_uv_swap_actions","removeActiveItemSwap","onAccess","onTimeout","playWhenUnlocked","timeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","forceLoaded","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","captureVideo","removeVideoElement","getUserMediaTimeout","mediaDevices","then","getUserMediaSuccess","catch","getUserMediaError","mozSrcObject","srcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","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":["root","this","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","AudioBufferSourceNode","prototype","start","noteGrainOn","stop","noteOff","Math","trunc","x","ceil","floor","Function","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","defaults","keys","key","undefined","reverseString","string","split","reverse","join","getProperty","obj","name","parts","_getProperty","setProperties","props","setProperty","value","_setProperty","val","currentObj","chanceRoll","chance","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","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","n","del","x0","sqrt","x1","y0","y1","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","width","height","p","centerX","centerY","normx","normy","Line","x2","y2","fromPoints","fromSprite","startSprite","endSprite","useCenter","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","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","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","s","interpolate","project","amt","projectUnit","centroid","points","Error","pointslength","parse","xProp","yProp","parseFloat","isPoint","sortClockwise","center","sort","det","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","FLASH","FADE_OUT","FADE_IN","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","fadeEffect","fadeIn","update","updateFX","updateShake","checkBounds","time","delta","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","postUpdate","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","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","destroy","link","unlink","previousStateKey","onPostUpdateCallback","_kickstart","getCurrentState","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","paramsArr","bindings","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","Stage","DisplayObjectContainer","disableVisibilityChange","exists","worldTransform","currentRenderOrderID","_hiddenVar","_onChange","_bgColor","g","rgba","transparent","config","parseConfig","backgroundColor","setBackgroundColor","DOM","getOffset","canvas","Canvas","setUserSelect","setTouchAction","checkVisibility","children","child","updateTransform","worldAlpha","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","focusLoss","focusGain","gamePaused","gameResumed","Color","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","addChildAt","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","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","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","bringChildToTop","sendToBack","sendChildToBack","moveUp","moveDown","xy","getByName","getFirst","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","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","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","wrapAll","between","Game","renderer","antialias","physicsConfig","multiTexture","preserveDrawingBuffer","clearBeforeRender","isRunning","raf","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","onBoot","_paused","_codePaused","_focusGained","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","powerPreference","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Debug","noop","isDisabled","showDebugHeader","forceSetTimeOut","RequestAnimationFrame","focusWindow","disableStart","isReady","onReady","PhaserGlobal","hideBanner","v","webAudio","ie","canvasID","canvasStyle","crisp","setImageRenderingCrisp","webGL","enableMultiTexture","WebGLRenderer","contextLost","contextRestored","webGLRendererError","defaultRenderer","_enableMultiTextureToggle","CanvasRenderer","cocoonJS","screencanvas","smoothed","addToDOM","preventDefault","initContext","clearGLTextures","updateLogic","desiredFpsMult","updateRender","elapsed","deltaMax","slowMotion","fixedStepSize","refresh","enableStep","disableStep","step","removeFromDOM","cordova","iOS","focus","stopFocus","muteOnPause","setMute","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","mouseWheel","MouseWheel","pointerLock","PointerLock","Keyboard","Gamepad","CanvasPool","getContext","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","CONTACT","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","handler","item","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","capture","stopOnGameOut","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","isAndroidStockBrowser","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","mouseMoveCallback","withinGame","resetButtons","updateButtons","element","wheelEventName","wheelEvent","boundOnWheelHandler","onWheelHandler","eventProxy","WheelEventProxy","bindEvent","deltaY","pointerDownCallback","pointerMoveCallback","pointerUpCallback","pointerOutCallback","pointerOverCallback","pointerCancelCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","_onMSPointerCancel","onPointerCancel","isMousePointerEvent","getPointerFromEvent","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","button","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","toLowerCase","down","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","locked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","doubleTap","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","PointerModes","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","dragPoint","pointerData","pointerLocalCoord","globalToLocal","py","prevX","prevY","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","onChange","onError","boundOnChangeHandler","onChangeHandler","boundOnErrorHandler","onErrorHandler","pointerLockElement","pointerlockchange","pointerlockerror","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","request","exit","_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","removeCallbacks","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","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","deltaX","deltaZ","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","mask","renderable","transformCallback","transformCallbackContext","filterArea","_mask","_destroyCachedSprite","_destroyTintedTexture","_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","prop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","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","animation","useFlatData","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","getBase64","encoderOptions","toDataURL","onLoadCallback","onErrorCallback","onload","onerror","generateTexture","addImage","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","polygon","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","getVisualBounds","cachedSprite","destroyCachedSprite","textureUnit","_tempMatrix","_glTextures","hasLoaded","textureIndex","_dirty","textureBuffer","FilterTexture","tempMatrix","renderXY","renderRawXY","updateBase","bindFramebuffer","FRAMEBUFFER","frameBuffer","viewport","renderDisplayObject","realResolution","webGLPixels","Uint8Array","readPixels","RGBA","UNSIGNED_BYTE","tempCanvas","canvasData","textBounds","colors","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_testString","testString","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontProperties","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","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","fontPropertiesContext","testStringMetrics","actualBoundingBoxAscent","asc","descent","desc","actualBoundingBoxDescent","mxWidth","setCharacterLimit","characterLimit","suffix","fontPropertiesCanvas","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_letterSpacing","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","letterSpacing","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","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","tileScale","tileScaleOffset","tilePosition","textureDebug","tilePattern","frameWidth","frameHeight","autoScroll","stopScroll","flush","generateTilingTexture","needsUpdate","renderTilingSprite","restartBatch","sessionBlendMode","tw","th","onTextureUpdate","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","isTiling","targetTexture","_powerOf2","idx","pool","removeByCanvas","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","android","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","canHandleAlpha","canUseMultiply","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chrome","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","standalone","process","require","versions","error","_checkBrowser","AudioContext","webkitAudioContext","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","devicePixelRatio","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","CanvasRenderingContext2D","getItem","File","FileReader","FileList","Blob","requestFileSystem","WebGLRenderingContext","Worker","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","tintMethod","tintWithMultiply","tintWithPerPixel","_checkCanvasFeatures","fs","cfs","Element","ALLOW_KEYBOARD_INPUT","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","fakeiOSTouchLock","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","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","isFinite","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","_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","deltaTotal","isTweening","checkIsRunning","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","ms","fps","blob","reversed","elapsedMS","_desiredFps","suggestedFps","desiredFps","advancedTiming","updates","renders","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_timers","timer","autoDestroy","previousDateNow","previousNow","updateAdvancedTiming","updateTimers","interval","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","_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","diff","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","row","column","totalAvailable","lastAvailable","firstFrame","lastFrame","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","layers","tileheight","tilewidth","tiles","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","DATA","_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","addData","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkDataKey","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","getData","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","removeData","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onBeforeLoadComplete","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","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","mediaTypes","avif","bmp","gif","ico","jpg","jpeg","png","svg","tif","tiff","webp","getMediaType","_getSource","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageset","sources","defaultSource","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","compression","extensions","truecolor","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","tilemapCSV","tilemapTiledJSON","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","loadPictureTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","picElm","sourceElm","setAttribute","currentSrc","controls","autoplay","playsInline","videoLoadEvent","canplay","Audio","playThroughEvent","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","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","char","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","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_pendingStart","_removeFromSoundManager","_sourceId","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","_removeOnEndedHandler","_disconnectSource","isDecoded","loopFull","forceRestart","_stopSourceAndDisconnect","_createSourceAndConnect","_addOnEndedHandler","_startSource","muted","mute","prevMarker","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","createBufferSource","when","onended","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","baseLatency","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","_onStateChange","disableAudio","disableWebAudio","audioContext","onstatechange","setTouchLock","unlock","setTouchUnlock","webAudioIsSuspended","resumeWebAudio","resumeWebAudioIfSuspended","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactor","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","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","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","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","navigationUI","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","GEOM_AUTO","GEOM_RECTANGLE","GEOM_CIRCLE","GEOM_POINT","GEOM_LINE","GEOM_ELLIPSE","gameInfo","1","2","3","4","soundInfo","sourceId","ended","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","inactiveColor","mx","my","worldX","worldY","_pointerButtonIcon","btn","spriteInputInfo","justDown","justUp","inputInfo","showDetails","_inputHandler","modes","free","inputHandler","_inputHandlerStatusIcon","_inputHandlerCaptureIcon","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","factor","loader","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","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","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","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","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","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","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","objectsMap","collideIndexes","currentLayer","debugMap","_tempA","NORTH","EAST","SOUTH","WEST","setTileSize","createBlankLayer","addTilesetImage","tileset","tileMargin","tileSpacing","getTilesetIndex","setImage","newSet","Tileset","countX","countY","columns","rows","createFromObjects","search","CustomClass","adjustY","adjustSize","foundObjects","created","searchType","getObjects","propertyName","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","location","getObject","propName","propValue","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","layerArg","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","skip","all","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","getEmptyObject","template","createObject","propsMap","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","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","autoScaleFps","scaleData","_s","autoAlpha","autoAlphaFps","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","setSpeed","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","setGravity","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","getUniformLocation","getAttribLocation","aTextureIndex","deleteProgram","attribute","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","regions_map","render_composition","getRegionsMap","region_name","cur_region","start_pt_idx","getStartPtIndex","end_pt_idx","getEndPtIndex","cur_opacity","setAnimation","setAnimationPlaySpeed","SetIsPlaying","RunAtTime","GetIsPlaying","should_loop","SetShouldLoop","values","GetPixelScaling","SetAnchorPoint","setAnchorPointEnabled","SetAnchorPointEnabled","createAllAnimations","CreateAllAnimations","setMetaData","meta","metaJson","metaData","CreatureModuleUtils","BuildCreatureMetaData","SetMetaData","enableSkinSwap","swapNameIn","creature_meta_data","EnableSkinSwap","final_skin_swap_indices","disableSkinSwap","DisableSkinSwap","setActiveItemSwap","regionName","swapIdx","active_uv_swap_actions","removeActiveItemSwap","onAccess","onTimeout","playWhenUnlocked","timeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","forceLoaded","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","captureVideo","removeVideoElement","getUserMediaTimeout","mediaDevices","then","getUserMediaSuccess","catch","getUserMediaError","mozSrcObject","srcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","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 81578a820..1f2b2532f 100644 --- a/build/custom/phaser-creature.min.js +++ b/build/custom/phaser-creature.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.18.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.19.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -(function(){var t=this,e=e||{VERSION:"2.18.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("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),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,i,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=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(i),o=n*Math.sin(i);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new e.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,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,r){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.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(e.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(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.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},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.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},e.Circle.intersectsLine=function(t,i,s){var n=t.x,r=t.y,o=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-o*i.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 e.Point(u,p),m=new e.Point(d,f),y=i.pointOnSegment(g.x,g.y,.01),v=i.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.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 e.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 e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.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 e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(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},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.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},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=i.x,h=i.y,l=i.right,c=i.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 e.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,i){return e.Point.distance(this,t,i)},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,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,r){return e.Point.rotate(this,t,i,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},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.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(e.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(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.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(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.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)},e.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}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,r,o),this.bounds=new e.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 e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.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 e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.FLASH=0,e.Camera.FADE_OUT=1,e.Camera.FADE_IN=2,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(i){case e.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case e.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.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,i,s,n,r){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.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,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_OUT)},fadeIn:function(t,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_IN)},fadeEffect:function(t,i,s,n,r){if(void 0===t&&(t=0),void 0===i&&(i=500),void 0===s&&(s=!1),void 0===n&&(n=1),!this.fx||!s&&this._fxDuration>0)return!1;if(this.fx.clear(),this.fx.beginFill(t,n),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),r<1||r>2)throw new Error("Wrong `type` argument");return this.fx.alpha=r===e.Camera.FADE_IN?1:0,this._fxDuration=i,this._fxType=r,!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(){this._fxType===e.Camera.FLASH?(this.fx.alpha-=this.game.time.delta/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):this._fxType===e.Camera.FADE_IN?(this.fx.alpha-=this.game.time.delta/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFadeComplete.dispatch())):(this.fx.alpha+=this.game.time.delta/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.delta,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}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.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(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.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},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.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},e.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,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(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){if(this.clearCurrentState(),this.setCurrentState(this._pendingState),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 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){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.current,i=this.states[t];this.callbackContext=i,this.link(t),this.onInitCallback=i.init||this.dummy,this.onPreloadCallback=i.preload||null,this.onLoadRenderCallback=i.loadRender||null,this.onLoadUpdateCallback=i.loadUpdate||null,this.onCreateCallback=i.create||null,this.onUpdateCallback=i.update||null,this.onPostUpdateCallback=i.postUpdate||null,this.onPreRenderCallback=i.preRender||null,this.onRenderCallback=i.render||null,this.onResizeCallback=i.resize||null,this.onPausedCallback=i.paused||null,this.onResumedCallback=i.resumed||null,this.onPauseUpdateCallback=i.pauseUpdate||null,this.onShutDownCallback=i.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onStateChange.dispatch(this.current,e),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.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.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(){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===e.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.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.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,i,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else o=new e.SignalBinding(this,t,i,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)},e.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)},e.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===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,l=i*n,c=o;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.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},e.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},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.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},e.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},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))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},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=e.Utils.getProperty(t,i);return!(void 0===r&&n||r!==s)},e.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)},e.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=this.children.length,a=0;a2){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()}},e.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},e.Group.prototype.iterate=function(t,i,s,n,r,o){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!i||i.call(s,h,r))&&(n=r,o=h)}return o},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.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 e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.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}},e.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()}},e.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)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.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(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.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(e.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(e.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(e.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(e.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(e.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}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.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)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.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()},e.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))},e.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(e.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){tthis.time.deltaMax){if(this.dropFrames)return;e=this.time.deltaMax}if(this.forceSingleUpdate)this.updatesThisFrame=1,this.rendersThisFrame=1,this.updateLogic(.001*e/this.time.slowMotion),this.updateRender();else if(this._spiraling>2)this.updatesThisFrame=0,this.rendersThisFrame=0,this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0;else{var i=0,s=1e3*this.time.desiredFpsMult;for(this._deltaTime+=e,this.updatesThisFrame=Math.floor(this._deltaTime/s),this.rendersThisFrame=this.forceSingleRender?1:Math.min(1,this.updatesThisFrame);this._deltaTime>=s;)this._deltaTime-=s,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult/this.time.slowMotion),this.time.refresh(),i++;i>this._lastCount?this._spiraling++:i0&&this.updateRender()}}}}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.preUpdate(t),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(){this.lockRender||this.renderType===e.HEADLESS||(this.time.preRender(),this.state.preRender(),this.renderer.render(this.stage),this.plugins.render(),this.state.render(),this.plugins.postRender(),this.renderer.postRender())},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.gamePaused(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.gameResumed(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this._focusGained=!0,this.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),e.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=e.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!0===t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},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+i.x=a&&this.game.camera.y+i.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}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.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===i,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 e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.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,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,r="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):r||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},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 i=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),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.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===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.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,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!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.pointerLock.locked&&!i&&(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===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.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,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!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 i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=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&&i.currentPointers--,i.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=e.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){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,r=this._pointerData[t.id],o=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var l=i.scale.x*h.x+n.x+s.x,c=i.scale.y*h.y+n.y+s.y;else var l=h.x+n.x+s.x,c=h.y+n.y+s.y;if(a.fixedToCamera){var u=a.cameraOffset,d=u.x,p=u.y;this.allowHorizontalDrag&&(u.x=l-i.x),this.allowVerticalDrag&&(u.y=c-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(u.x=Math.round((u.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,u.y=Math.round((u.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(u.x,u.y));var f=u.x-d,g=u.y-p}else{var m=i.x-r.camX,y=i.y-r.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=l+m),this.allowVerticalDrag&&(a.y=c+y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(a.x,a.y));var f=a.x-d,g=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,l,c,o,e,f,g),!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)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.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 e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this)]},e.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 i=!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}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;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},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.delta,this.lifespan<=0))||(this.kill(),!1)},e.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}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||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===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.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(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)o=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,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,i)}r&&(this._frame=e.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}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):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))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.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)}}},e.Component.Reset=function(){},e.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},e.Component.ScaleMinMax=function(){},e.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,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,r){var o=this.game.plugins.add(e.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,i,s,n),o},image:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,r,o,a){void 0===r&&(r=this.world);var h=new e.Creature(this.game,t,i,s,n,o,a);return r.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,r){return new e.Group(this.game,t,i,s,n,r)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,r,o))},rope:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.Rope(this.game,t,i,s,n,r))},text:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,r,o,a,h,l,c){return void 0===c&&(c=this.world),c.add(new e.Button(this.game,t,i,s,n,r,o,a,h,l))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.BitmapText(this.game,t,i,s,n,r))},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,r){return new e.Group(this.game,t||null,i,s,n,r)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o){return new e.TileSprite(this.game,t,i,s,n,r,o)},rope:function(t,i,s,n,r){return new e.Rope(this.game,t,i,s,n,r)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,r,o,a,h,l){return new e.Button(this.game,t,i,s,n,r,o,a,h,l)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return new e.BitmapText(this.game,t,i,s,n,r,o)},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,r,o,a,h,l,c){i=i||0,s=s||0,n=n||null,r=r||null,o=o||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.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 e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.PointerMode.CONTACT,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)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;return e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.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)},e.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())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},e.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},e.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)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.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)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.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")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.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())},e.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&&i>=0&&i<=this.height&&(e.Device.LITTLE_ENDIAN?this.pixels[i*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[i*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,i,s){s||(s=e.Color.createColor());var n=~~(t+i*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,i,s,n,r){return e.Color.unpackPixel(this.getPixel32(t,i),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 i=e.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{e.Color.unpackPixel(this.getPixel32(s,n),i),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===i.a&&!o);return i.x=s,i.y=n,i},getBounds:function(t){return void 0===t&&(t=new e.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,i,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 e.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof e.Sprite||t instanceof e.Image||t instanceof e.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 e.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 e.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return this;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==i&&null!==i||(i=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=i),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)return this;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+i,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,i,s){if(void 0===i&&(i=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 e.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,i&&(this.op=i),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,i,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,i,s),t.type===e.GROUP&&t.exists)this.drawGroup(t,i,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ni.width&&(n=i.width);var r=this.context;return r.fillStyle=r.createPattern(i,s),this._circle=new e.Circle(t.start.x,t.start.y,i.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,i.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),e.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 e.EarCut.earcutLinked(o,a,s,h,l,f),a},e.EarCut.linkedList=function(t,i,s,n,r){var o,a,h,l=0;for(o=i,a=s-n;o0)for(o=i;o=i;o-=n)h=e.EarCut.insertNode(o,t[o],t[o+1],h);return h},e.EarCut.filterPoints=function(t,i){if(!t)return t;i||(i=t);var s,n=t;do{if(s=!1,n.steiner||!e.EarCut.equals(n,n.next)&&0!==e.EarCut.area(n.prev,n,n.next))n=n.next;else{if(e.EarCut.removeNode(n),(n=i=n.prev)===n.next)return null;s=!0}}while(s||n!==i);return i},e.EarCut.earcutLinked=function(t,i,s,n,r,o,a){if(t){!a&&o&&e.EarCut.indexCurve(t,n,r,o);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?e.EarCut.isEarHashed(t,n,r,o):e.EarCut.isEar(t))i.push(h.i/s),i.push(t.i/s),i.push(l.i/s),e.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=e.EarCut.cureLocalIntersections(t,i,s),e.EarCut.earcutLinked(t,i,s,n,r,o,2)):2===a&&e.EarCut.splitEarcut(t,i,s,n,r,o):e.EarCut.earcutLinked(e.EarCut.filterPoints(t),i,s,n,r,o,1);break}}},e.EarCut.isEar=function(t){var i=t.prev,s=t,n=t.next;if(e.EarCut.area(i,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(e.EarCut.pointInTriangle(i.x,i.y,s.x,s.y,n.x,n.y,r.x,r.y)&&e.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},e.EarCut.isEarHashed=function(t,i,s,n){var r=t.prev,o=t,a=t.next;if(e.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=e.EarCut.zOrder(h,l,i,s,n),p=e.EarCut.zOrder(c,u,i,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.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&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},e.EarCut.cureLocalIntersections=function(t,i,s){var n=t;do{var r=n.prev,o=n.next.next;e.EarCut.intersects(r,n,n.next,o)&&e.EarCut.locallyInside(r,o)&&e.EarCut.locallyInside(o,r)&&(i.push(r.i/s),i.push(n.i/s),i.push(o.i/s),e.EarCut.removeNode(n),e.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},e.EarCut.splitEarcut=function(t,i,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&e.EarCut.isValidDiagonal(a,h)){var l=e.EarCut.splitPolygon(a,h);return a=e.EarCut.filterPoints(a,a.next),l=e.EarCut.filterPoints(l,l.next),e.EarCut.earcutLinked(a,i,s,n,r,o),void e.EarCut.earcutLinked(l,i,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},e.EarCut.eliminateHoles=function(t,i,s,n){var r,o,a,h,l,c=[];for(r=0,o=i.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&&e.EarCut.pointInTriangle(os.x)&&e.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},e.EarCut.indexCurve=function(t,i,s,n){var r=t;do{null===r.z&&(r.z=e.EarCut.zOrder(r.x,r.y,i,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,e.EarCut.sortLinked(r)},e.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},e.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},e.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},e.EarCut.isValidDiagonal=function(t,i){return e.EarCut.equals(t,i)||t.next.i!==i.i&&t.prev.i!==i.i&&!e.EarCut.intersectsPolygon(t,i)&&e.EarCut.locallyInside(t,i)&&e.EarCut.locallyInside(i,t)&&e.EarCut.middleInside(t,i)},e.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},e.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},e.EarCut.intersects=function(t,i,s,n){return e.EarCut.area(t,i,s)>0!=e.EarCut.area(t,i,n)>0&&e.EarCut.area(s,n,t)>0!=e.EarCut.area(s,n,i)>0},e.EarCut.intersectsPolygon=function(t,i){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==i.i&&s.next.i!==i.i&&e.EarCut.intersects(s,s.next,t,i))return!0;s=s.next}while(s!==t);return!1},e.EarCut.locallyInside=function(t,i){return e.EarCut.area(t.prev,t,t.next)<0?e.EarCut.area(t,i,t.next)>=0&&e.EarCut.area(t,t.prev,i)>=0:e.EarCut.area(t,i,t.prev)<0||e.EarCut.area(t,t.next,i)<0},e.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},e.EarCut.splitPolygon=function(t,i){var s=new e.EarCut.Node(t.i,t.x,t.y),n=new e.EarCut.Node(i.i,i.x,i.y),r=t.next,o=i.prev;return t.next=i,i.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},e.EarCut.insertNode=function(t,i,s,n){var r=new e.EarCut.Node(t,i,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},e.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)},e.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,i){var s,n=i.gl,r=i.projection,o=i.offset,a=i.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===e.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===e.CIRCLE||a.type===e.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===e.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),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?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,i.beginPath(),i.moveTo(_,w+C),i.lineTo(_,w+P-C),i.quadraticCurveTo(_,w+P,_+C,w+P),i.lineTo(_+T-C,w+P),i.quadraticCurveTo(_+T,w+P,_+T,w+P-C),i.lineTo(_+T,w+C),i.quadraticCurveTo(_+T,w,_+T-C,w),i.lineTo(_+C,w),i.quadraticCurveTo(_,w,_,w+C),i.closePath(),(r.fillColor||0===r.fillColor)&&(i.globalAlpha=r.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fill()),r.lineWidth&&(i.globalAlpha=r.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,i){var s=t.graphicsData.length;if(0!==s){i.beginPath();for(var n=0;nP?P:T,i.moveTo(x,b+T),i.lineTo(x,b+w-T),i.quadraticCurveTo(x,b+w,x+T,b+w),i.lineTo(x+_-T,b+w),i.quadraticCurveTo(x+_,b+w,x+_,b+w-T),i.lineTo(x+_,b+T),i.quadraticCurveTo(x+_,b,x+_-T,b),i.lineTo(x+T,b),i.quadraticCurveTo(x,b,x,b+T),i.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}},e.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},e.GraphicsData.prototype.constructor=e.GraphicsData,e.GraphicsData.prototype.clone=function(){return new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},e.Graphics=function(t,i,s){void 0===i&&(i=0),void 0===s&&(s=0),this.type=e.GRAPHICS,this.physicsType=e.SPRITE,this.anchor=new e.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 e.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Graphics.prototype.constructor=e.Graphics,e.Component.Core.install.call(e.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.Graphics.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Graphics.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Graphics.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Graphics.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Graphics.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},e.Graphics.prototype.drawTriangles=function(t,i,s){void 0===s&&(s=!1);var n,r=new e.Point,o=new e.Point,a=new e.Point,h=[];if(i)if(t[0]instanceof e.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},e.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},e.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},e.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},e.Graphics.prototype.drawRect=function(t,i,s,n){return this.drawShape(new e.Rectangle(t,i,s,n)),this},e.Graphics.prototype.drawRoundedRect=function(t,i,s,n,r){return this.drawShape(new e.RoundedRectangle(t,i,s,n,r)),this},e.Graphics.prototype.drawCircle=function(t,i,s){return this.drawShape(new e.Circle(t,i,s)),this},e.Graphics.prototype.drawEllipse=function(t,i,s,n){return this.drawShape({x:t,y:i,width:s,height:n,type:e.ELLIPSE}),this},e.Graphics.prototype.drawPolygon=function(t){t instanceof e.Polygon&&(t=t.points);var i=t;if(!Array.isArray(i)){i=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},e.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=e.identityMatrix;for(var i=0;ii?a+l:i,s=hn?h+c:n;else if(p===e.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,c=r.radius+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else if(p===e.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,c=r.height+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else{o=r.points;for(var g=0;gi?a+f:i,s=h-fn?h+f:n}}else t=0,i=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=i-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},e.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},e.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()},e.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},e.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof e.Polygon&&(t=t.clone()).flatten();var i=new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(i),i.type===e.POLYGON&&(i.shape.closed=this.filling,this.currentPath=i),this.dirty=!0,this._boundsDirty=!0,i},Object.defineProperty(e.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}}),e.RenderTexture=function(t,i,s,n,r,o,a,h){if(void 0===i&&(i=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=e.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=e.RENDERTEXTURE,this._tempMatrix=new e.Matrix,this.width=i,this.height=s,this.resolution=o,this.frame=new e.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===e.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 e.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 e.Matrix,this._updateUvs()},e.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),e.RenderTexture.prototype.constructor=e.RenderTexture,e.RenderTexture.prototype.renderXY=function(t,i,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=i,this._tempMatrix.ty=s,this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.renderRawXY=function(t,i,s,n){this._tempMatrix.identity().translate(i,s),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.render=function(t,i,s){void 0===i||null===i?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(i),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},e.RenderTexture.prototype.resize=function(t,i,s){t===this.width&&i===this.height||(this.valid=t>0&&i>0,this.width=t,this.height=i,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=i*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===e.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},e.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===e.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},e.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},e.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)},e.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++}},e.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},e.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},e.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},e.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},e.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},e.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},e.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)/)},e.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},e.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,"")},e.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},e.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()},e.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.Text.prototype.determineFontProperties=function(t){var i=e.Text.fontPropertiesCache[t],s=this.testString||"|MÉq";if(!i){i={};var n=e.Text.fontPropertiesCanvas,r=e.Text.fontPropertiesContext;r.font=t;var o=Math.ceil(r.measureText(s).width),a=Math.ceil(r.measureText(s).width),h=2*a;if(a=1.4*a|0,n.width=o,n.height=h,r.fillStyle="#f00",r.fillRect(0,0,o,h),r.font=t,r.textBaseline="alphabetic",r.fillStyle="#000",r.fillText(s,0,a),!r.getImageData(0,0,o,h))return i.ascent=a,i.descent=a+6,i.fontSize=i.ascent+i.descent,e.Text.fontPropertiesCache[t]=i,i;var l,c,u=r.getImageData(0,0,o,h).data,d=u.length,p=4*o,f=0,g=!1;for(l=0;la;l--){for(c=0;c0?this._maxWidth:null,l=[],c=0;c=h&&r>-1)return{width:o||n,text:i.substr(0,c-(c-r)),end:!1,chars:l};n+=(p.xAdvance+g+this.letterSpacing)*e,l.push(s+(p.xOffset+g+this.letterSpacing)*e),s+=(p.xAdvance+g+this.letterSpacing)*e,a=d}return{width:n,text:i,end:u,chars:l}},e.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(e.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),e.RetroFont=function(t,i,s,n,r,o,a,h,l,c){if(!t.cache.checkImageKey(i))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(i).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(i),this._text="",this.grabData=[],this.frameData=new e.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",e.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",e.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",e.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",e.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",e.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",e.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",e.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",e.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},e.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)},e.RetroFont.prototype.buildRetroFontText=function(){var t=0,i=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===e.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===e.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},e.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},e.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},e.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},e.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(e.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(e.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),e.Rope=function(t,i,s,n,r,o){this.points=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=e.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=e.Rope.TRIANGLE_STRIP,e.Component.Core.init.call(this,t,i,s,n,r),this.refresh()},e.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Rope.prototype.constructor=e.Rope,e.Component.Core.install.call(e.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Rope.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Rope.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Rope.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Rope.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Rope.TRIANGLE_STRIP=0,e.Rope.TRIANGLES=1,e.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},e.Rope.prototype.reset=function(t,i){return e.Component.Reset.prototype.reset.call(this,t,i),this},e.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;for(var n=t.length,r=0,o=0,a=0;a0){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=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,O=g*c+l*y+m*u-c*y-l*m-g*u,I=g*x*u+v*c*y+l*m*b-l*x*y-v*m*u-g*c*b,E=d*x+v*f+p*b-x*f-v*p-d*b,R=g*p+d*y+m*f-p*y-d*m-g*f,L=g*x*f+v*p*y+d*m*b-d*x*y-v*m*f-g*p*b;t.transform(M/k,E/k,O/k,R/k,I/k,L/k),t.drawImage(o,0,0),t.restore()},e.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nl?y:l,c=v>c?v:c}if(u===-1/0||c===1/0)return e.EmptyRectangle;var x=this._bounds;return x.x=u,x.width=l-u,x.y=d,x.height=c-d,this._currentBounds=x,x},Object.defineProperty(e.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(e.Rope.prototype,"segments",{get:function(){for(var t,i,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(e.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(e.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),e.CanvasPool={create:function(t,i,s){var n,r=e.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};e.CanvasPool.pool.push(o),n=o.canvas}else e.CanvasPool.pool[r].parent=t,n=e.CanvasPool.pool[r].canvas;return void 0!==i&&(n.width=i,n.height=s),n},getFirst:function(){for(var t=e.CanvasPool.pool,i=0;i=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&&i(),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=!!window.WebGLRenderingContext,s.worker=!!window.Worker,s.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,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=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var r=i.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]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.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"))},e.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))))))},e.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)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,r){i=i||256,s=s||256;var o=r?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=i,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,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),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 i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},setImageRenderingCrisp:function(t){for(var e=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","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=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=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}},e.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)},e.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(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.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)},e.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 e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.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 e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},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}},e.QuadTree.prototype.constructor=e.QuadTree,e.TweenManager=function(t){this.game=t,this._tweens=[],this._add=[],this.easeMap={Power0:e.Easing.Power0,Power1:e.Easing.Power1,Power2:e.Easing.Power2,Power3:e.Easing.Power3,Power4:e.Easing.Power4,Linear:e.Easing.Linear.None,Quad:e.Easing.Quadratic.Out,Cubic:e.Easing.Cubic.Out,Quart:e.Easing.Quartic.Out,Quint:e.Easing.Quintic.Out,Sine:e.Easing.Sinusoidal.Out,Expo:e.Easing.Exponential.Out,Circ:e.Easing.Circular.Out,Elastic:e.Easing.Elastic.Out,Back:e.Easing.Back.Out,Bounce:e.Easing.Bounce.Out,"Quad.easeIn":e.Easing.Quadratic.In,"Cubic.easeIn":e.Easing.Cubic.In,"Quart.easeIn":e.Easing.Quartic.In,"Quint.easeIn":e.Easing.Quintic.In,"Sine.easeIn":e.Easing.Sinusoidal.In,"Expo.easeIn":e.Easing.Exponential.In,"Circ.easeIn":e.Easing.Circular.In,"Elastic.easeIn":e.Easing.Elastic.In,"Back.easeIn":e.Easing.Back.In,"Bounce.easeIn":e.Easing.Bounce.In,"Quad.easeOut":e.Easing.Quadratic.Out,"Cubic.easeOut":e.Easing.Cubic.Out,"Quart.easeOut":e.Easing.Quartic.Out,"Quint.easeOut":e.Easing.Quintic.Out,"Sine.easeOut":e.Easing.Sinusoidal.Out,"Expo.easeOut":e.Easing.Exponential.Out,"Circ.easeOut":e.Easing.Circular.Out,"Elastic.easeOut":e.Easing.Elastic.Out,"Back.easeOut":e.Easing.Back.Out,"Bounce.easeOut":e.Easing.Bounce.Out,"Quad.easeInOut":e.Easing.Quadratic.InOut,"Cubic.easeInOut":e.Easing.Cubic.InOut,"Quart.easeInOut":e.Easing.Quartic.InOut,"Quint.easeInOut":e.Easing.Quintic.InOut,"Sine.easeInOut":e.Easing.Sinusoidal.InOut,"Expo.easeInOut":e.Easing.Exponential.InOut,"Circ.easeInOut":e.Easing.Circular.InOut,"Elastic.easeInOut":e.Easing.Elastic.InOut,"Back.easeInOut":e.Easing.Back.InOut,"Bounce.easeInOut":e.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},e.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,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_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)},destroy:function(){this.game.onPause.remove(this._pauseAll,this),this.game.onResume.remove(this._resumeAll,this),this.game=null,this._add=null,this._tweens=null}},e.TweenManager.prototype.constructor=e.TweenManager,e.Tween=function(t,i,s){this.game=i,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new e.Signal,this.onLoop=new e.Signal,this.onRepeat=new e.Signal,this.onChildComplete=new e.Signal,this.onComplete=new e.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},e.Tween.updateColor=function(t){e.Color.updateColor(t.target)},e.Tween.prototype={to:function(t,i,s,n,r,o,a){return(void 0===i||i<=0)&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).to(t,i,s,r,o,a)),n&&this.start(),this)},from:function(t,i,s,n,r,o,a){return void 0===i&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).from(t,i,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(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.deltaTotal},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.deltaTotal)},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.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])),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 e.TweenData.PENDING;this.isRunning=!0}var i=this.game.time.delta;this.parent.reverse?(this.dt-=i*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=i*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():e.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,e.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return e.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.deltaTotal,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,e.TweenData.LOOPED}},e.TweenData.prototype.constructor=e.TweenData,e.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){return 0===t?0:1===t?1:(.1,-1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4))},Out:function(t){return 0===t?0:1===t?1:(.1,1*Math.pow(2,-10*t)*Math.sin((t-.1)*(2*Math.PI)/.4)+1)},InOut:function(t){return 0===t?0:1===t?1:(.1,(t*=2)<1?1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*-.5:1*Math.pow(2,-10*(t-=1))*Math.sin((t-.1)*(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-e.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*e.Easing.Bounce.In(2*t):.5*e.Easing.Bounce.Out(2*t-1)+.5}}},e.Easing.Default=e.Easing.Linear.None,e.Easing.Power0=e.Easing.Linear.None,e.Easing.Power1=e.Easing.Quadratic.Out,e.Easing.Power2=e.Easing.Cubic.Out,e.Easing.Power3=e.Easing.Quartic.Out,e.Easing.Power4=e.Easing.Quintic.Out,e.Time=function(t){this.game=t,this.time=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.delta=0,this.deltaTotal=0,this.deltaMax=200,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=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 e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._timers=[]},e.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 i=new e.Timer(this.game,t);return this._timers.push(i),i},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){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},preUpdate:function(t){t*=1e3,this.delta=t,this.deltaTotal+=t,this.game.paused||(this.events.update(this.deltaTotal),this.updateTimers()),this.advancedTiming&&this.updates++},preRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted},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(e.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.desiredFpsMult=1/t}}),Object.defineProperty(e.Time.prototype,"desiredMinFps",{get:function(){return 1e3/this.deltaMax},set:function(t){this.deltaMax=1e3/t}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.Signal,this.nextTick=0,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=this.game.time?this.game.time.deltaTotal:0,this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,r,o){var a=(t=Math.round(t))+this._now,h=new e.TimerEvent(this,t,a,s,i,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.deltaTotal+(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._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.deltaTotal,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.deltaTotal,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.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},e.TimerEvent.prototype.constructor=e.TimerEvent,e.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=[]},e.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,i,s,n,r){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,r,this._outputFrames),this._anims[t]=new e.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}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},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(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},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)}}),e.Animation=function(t,i,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=i,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 e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.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.deltaTotal,this._timeNextFrame=this.game.time.deltaTotal+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.deltaTotal,this._timeNextFrame=this.game.time.deltaTotal+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=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(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||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.updateCurrentFrame(!1),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()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.deltaTotal:this.isPlaying&&(this._timeNextFrame=this.game.time.deltaTotal+this.delay)}}),Object.defineProperty(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.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(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,r){void 0===n&&(n="");var o=[],a="";if(i=s;h--)a=t+(a="number"==typeof r?e.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},e.Frame=function(t,i,s,n,r,o){this.index=t,this.x=i,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+o+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=e.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},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},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 e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.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 e.FrameData,i=0;if||h<-f)return console.error('Spritesheet "%s": skipFrames=%s is larger than the frame total %s',i,h,f),null;if(r>-1&&(v=(f=r)-1),d<1&&console.warn('Spritesheet "%s": Texture has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)',i,c,s+o+a,s,o,a),p<1&&console.warn('Spritesheet "%s": Texture has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)',i,u,n+o+a,n,o,a),0===g)return console.error('Spritesheet "%s": zero frames were produced',i),null;if(h>0?v=(y=h)+(f=Math.min(f,g-h))-1:h<0&&(y=(v=m+h)-(f=Math.min(f,g+h))+1),y<0)return console.error('Spritesheet "%s": There is no frame at index %s',i,y),null;if(v>m)return console.warn('Spritesheet "%s": There is no frame at index %s. Last frame found is index %s',i,v,m),null;for(var x=new e.FrameData,b=o,_=o,w=0,T=0;Tv);T++)T>=y&&x.addFrame(new e.Frame(w++,b,_,s,n,"")),(b+=s+a)+s>c&&(b=o,_+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,r=i.frames,o=0;o tag")}},e.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:{},data:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._cacheMap[e.Cache.DATA]=this._cache.data,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DATA=16,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in e.LoaderParser?e.LoaderParser[s](n):n,o={key:t,url:i,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new e.Frame(0,0,0,r.width,r.height,t),frameData:new e.FrameData,fileFormat:s};return o.frameData.addFrame(new e.Frame(0,0,0,r.width,r.height,i)),this._cache.image[t]=o,this._resolveURL(i,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,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.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(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.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,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,r,o,a){var h={url:i,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?e.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,r,o,a){var h=this.getFrameByName(i,s);if(h){var l={font:null,base:this.getBaseTexture(i),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var c;"json"===r?(c=this.getJSON(n),l.font=e.LoaderParser.jsonBitmapFont(c,l.base,o,a,h,this.game.resolution)):(c=this.getXML(n),l.font=e.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,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,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:i,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=c,this._resolveURL(i,c)},addTextureAtlas:function(t,i,s,n,r){var o={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===e.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=e.AnimationParser.XMLData(this.game,n,t):r===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=e.AnimationParser.JSONData(this.game,n,t):o.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(i,o)},addData:function(t,e){this._cache.data[t]=e},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 i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.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(e.Cache.CANVAS,t)},checkDataKey:function(t){return this.checkKey(e.Cache.DATA,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.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,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var r=n[i];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+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getData:function(t){return this.getItem(t,e.Cache.DATA,"getData")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},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=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},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]},removeData:function(t){delete this._cache.data[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.",i),t._ready())},e.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)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.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 e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.Signal,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},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.mediaTypes={avif:"image/avif",bmp:"image/bmp",cur:"image/x-icon",gif:"image/gif",ico:"image/x-icon",jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",svg:"image/svg+xml",tif:"image/tiff",tiff:"image/tiff",webp:"image/webp"},e.Loader.getMediaType=function(t){var i=t.match(/\.(\w+)$/);return i?e.Loader.mediaTypes[i[1]]||null:null},e.Loader._getSource=function(t){return"string"==typeof t?{url:t,type:e.Loader.getMediaType(t)}:t},e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.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.game.state&&(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.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 i=t.data[t.key];if(i)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()},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,i){if(this.game.isBooted){var s=!0;switch(t.type){case"packfile":r=JSON.parse(i.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,i.response);break;case"image":case"imageset":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===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.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=i.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=i.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=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(i.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=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.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(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.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;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=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]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),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}},e.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])},e.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]}},e.AudioSprite.prototype.constructor=e.AudioSprite,e.Sound=function(t,i,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=i,this.key=i,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.playOnce=!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._pendingStart=!1,this._removeFromSoundManager=!1,this._sourceId=0,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,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(i)&&this.game.cache.isSoundReady(i)?(this._sound=this.game.cache.getSoundData(i),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new e.Signal,this.onPlay=new e.Signal,this.onPause=new e.Signal,this.onResume=new e.Signal,this.onLoop=new e.Signal,this.onStop=new e.Signal,this.onMute=new e.Signal,this.onMarkerComplete=new e.Signal,this.onFadeComplete=new e.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},e.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&&(this._removeOnEndedHandler(),this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),this._markedToDelete&&(this._disconnectSource(),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(){if(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));var t=this.game.time.time;if(this.isPlaying){if(this._pendingStart){var e=this._sound.currentTime;if(!(e>((this.paused?this._tempPause:0)||this.position||0)))return;this._pendingStart=!1,this.startTime=t-1e3*e,this.stopTime=this.startTime+this.durationMS}this.currentTime=t-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=t,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0,!1))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=t),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0,!1)):this.stop())}}else this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n,r){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),void 0===r&&(r=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0),this.isPlaying=!1),""===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._createSourceAndConnect(),this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||this._addOnEndedHandler(),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),this.loop&&""===t?this._startSource(0,0):this._startSource(0,this.position,this.duration),this.isPlaying=!0,this.paused=!1,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&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._sound.loop=this.loop,this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._globalVolume=this.game.sound.volume,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._globalVolume,this._pendingStart=!this.currentMarker,this.isPlaying=!0,this.paused=!1,this._tempPause=0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&this.onPlay.dispatch(this)):this.pendingPlayback=!0,this.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!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.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){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._createSourceAndConnect(),""===this.currentMarker&&(this.loop?this._sound.loop=!0:this._addOnEndedHandler());var e=this.duration-this.pausedPosition/1e3;this.loop&&""===this.currentMarker?this._startSource(0,t):this._startSource(0,t,e)}else this._pendingStart=!this.currentMarker,this._sound.currentTime=this._tempPause,this._tempPause=0,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&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0)),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,i){this.isPlaying&&!this.paused&&i!==this.volume&&(void 0===t&&(t=1e3),void 0!==i?(this.fadeTween=this.game.add.tween(this).to({volume:i},t,e.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())},_createSourceAndConnect:function(){this._sound=this.context.createBufferSource(),this._sound.connect(this.externalNode||this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this._sourceId++},_disconnectSource:function(){this._sound.disconnect(this.externalNode||this.gainNode)},_startSource:function(t,e,i){void 0===i?this._sound.start(t||0,e||0):this._sound.start(t||0,e||0,i)},_stopSourceAndDisconnect:function(){this._removeOnEndedHandler();try{this._sound.stop(0)}catch(t){}this._disconnectSource(),this._sound=null},_addOnEndedHandler:function(){this._sound.onended=this.onEndedHandler.bind(this)},_removeOnEndedHandler:function(){this._sound.onended=null}},e.Sound.prototype.constructor=e.Sound,Object.defineProperty(e.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(e.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(e.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(e.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))}}),Object.defineProperty(e.Sound.prototype,"sourceId",{get:function(){return this._sound?this._sourceId:null}}),e.SoundManager=function(t){this.game=t,this.onSoundDecode=new e.Signal,this.onVolumeChange=new e.Signal,this.onMute=new e.Signal,this.onUnMute=new e.Signal,this.onTouchUnlock=new e.Signal,this.onStateChange=new e.Signal,this.context=null,this.baseLatency=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 e.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null,this._onClick=this._onClick.bind(this),this._onStateChange=this._onStateChange.bind(this)},e.SoundManager.prototype={boot:function(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,this.baseLatency=this.context.baseLatency||256/(this.context.sampleRate||44100),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.context.onstatechange=this._onStateChange,"suspended"===this.context.state&&this.game.canvas.addEventListener("click",this._onClick);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},webAudioIsSuspended:function(){return this.usingWebAudio&&"suspended"===this.context.state},resumeWebAudio:function(){if(this.usingWebAudio)return this.context.resume()},resumeWebAudioIfSuspended:function(){if(this.webAudioIsSuspended())return this.context.resume()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();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);var e=this;this._unlockSource.onended=function(){e.setTouchUnlock(),e.resumeWebAudioIfSuspended()},void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudioIfSuspended()}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 i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==i||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))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.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(e.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(e.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(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),e.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px monospace",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},e.Utils.Debug.GEOM_AUTO=0,e.Utils.Debug.GEOM_RECTANGLE=1,e.Utils.Debug.GEOM_CIRCLE=2,e.Utils.Debug.GEOM_POINT=3,e.Utils.Debug.GEOM_LINE=4,e.Utils.Debug.GEOM_ELLIPSE=5,e.Utils.Debug.prototype={boot:function(){this.game.renderType===e.CANVAS?this.context=this.game.context:(this.bmd=new e.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=e.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new e.Line,this._rect=new e.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;e ")+o):o===s._pendingState?this.line("+ "+o):this.line(" "+o)}this.stop()},sound:function(t,e,i){var s=this.game.sound;this.start(t,e,i),s.noAudio?this.line("Audio is disabled"):(this.line("Volume: "+s.volume.toFixed(2)+(s.mute?" (Mute)":"")),this.line("Mute on pause: "+s.muteOnPause),this.line("Using: "+(s.usingWebAudio?"Web Audio - "+s.context.state:"Audio Tag")),this.line("Touch locked: "+s.touchLocked),this.line("Sounds: "+s._sounds.length)),this.stop()},soundInfo:function(t,e,i,s){if(this.start(e,i,s),this.line("Sound: "+t.key+" Touch locked: "+t.game.sound.touchLocked),this.line("Is Ready?: "+this.game.cache.isSoundReady(t.key)+" Pending Playback: "+t.pendingPlayback),this.line("Decoded: "+t.isDecoded+" Decoding: "+t.isDecoding),this.line("Playing: "+t.isPlaying+" Loop: "+t.loop),this.line("Time: "+(t.currentTime/1e3).toFixed(3)+"s Total: "+t.totalDuration.toFixed(3)+"s"),this.line("Volume: "+t.volume.toFixed(2)+(t.mute?" (Mute)":"")),this.line("Using: "+(t.usingWebAudio?"Web Audio":"Audio Tag")),t.usingWebAudio&&this.line(" Source: "+(t.sourceId||"none")),t.usingAudioTag&&t._sound){var n=t._sound;this.line(" currentSrc: "+n.currentSrc),this.line(" currentTime: "+n.currentTime),this.line(" duration: "+n.duration),this.line(" ended: "+n.ended),this.line(" loop: "+n.loop),this.line(" muted: "+n.muted),this.line(" paused: "+n.paused)}""!==t.currentMarker&&(this.line("Marker: "+t.currentMarker+" Duration: "+t.duration.toFixed(3)+"s ("+t.durationMS+"ms)"),this.line("Start: "+t.markers[t.currentMarker].start.toFixed(3)+" Stop: "+t.markers[t.currentMarker].stop.toFixed(3)),this.line("Position: "+t.position.toFixed(3))),this.stop()},camera:function(t,e,i){var s=t.deadzone,n=t.target,r=t.view;s&&(this._rect.setTo(r.x+s.x,r.y+s.y,s.width,s.height),this.rectangle(this._rect,e,i)),n&&(this._line.setTo(r.centerX,r.centerY,n.x,n.y),this.geom(this._line,e,i),this.geom(n,e,!1,3))},cameraInfo:function(t,e,i,s){var n=t.bounds,r=t.deadzone,o=t.target,a=t.view;this.start(e,i,s),this.line("Camera ("+t.width+" x "+t.height+")"),this.line("x: "+t.x+" y: "+t.y),this.line("Bounds: "+(n?"x: "+n.x+" y: "+n.y+" w: "+n.width+" h: "+n.height:"none")),this.line("View: x: "+a.x+" y: "+a.y+" w: "+a.width+" h: "+a.height),this.line("Center: x: "+t.centerX+" y: "+t.centerY),this.line("Deadzone: "+(r?"x: "+r.x+" y: "+r.y+" w: "+r.width+" h: "+r.height:r)),this.line("Total in view: "+t.totalInView),this.line("At limit: x: "+t.atLimit.x+" y: "+t.atLimit.y),this.line("Target: "+(o?o.name||o:"none")),this.stop()},timer:function(t,e,i,s){this.start(e,i,s),this.line("Timer (running: "+t.running+" expired: "+t.expired+")"),this.line("Next Tick: "+t.next+" Duration: "+t.duration),this.line("Paused: "+t.paused+" Length: "+t.length),this.stop()},pointer:function(t,e,i,s,n,r){if(null!=t&&(void 0===e&&(e=!1),i=i||"rgba(0,255,0,0.5)",s=s||"rgba(255,255,0,0.5)",r=r||"rgba(255,0,0,0.5)",!0!==e||!0!==t.isUp)){this.start(t.x,t.y-150,n),this.context.beginPath(),this.context.arc(t.x,t.y,t.circle.radius,0,2*Math.PI),t.active?this.context.fillStyle=t.isDown?i:s:this.context.fillStyle=r,this.context.fill(),this.context.closePath(),this.context.beginPath(),this.context.moveTo(t.positionDown.x,t.positionDown.y),this.context.lineTo(t.position.x,t.position.y),this.context.lineWidth=2,this.context.stroke(),this.context.closePath();var o=t.movementX,a=t.movementY;(o||a)&&(this.context.beginPath(),this.context.moveTo(o+t.position.x,a+t.position.y),this.context.lineTo(t.position.x,t.position.y),this.context.lineWidth=2,this.context.stroke(),this.context.closePath()),this.line("ID: "+t.id+" Active: "+t.active),this.line("World X: "+t.worldX.toFixed(1)+" World Y: "+t.worldY.toFixed(1)),this.line("Screen X: "+t.x.toFixed(1)+" Screen Y: "+t.y.toFixed(1)+" In: "+t.withinGame),this.line("Movement: X: "+o+" Y: "+a),this.line("Duration: "+t.duration+" ms"),this.line("is Down: "+t.isDown+" is Up: "+t.isUp),this.line("Identifier: "+t.identifier+" Pointer ID: "+t.pointerId),t.isMouse&&this.line("Buttons: "+this._pointerButtonIcon(t.leftButton)+" "+this._pointerButtonIcon(t.middleButton)+" "+this._pointerButtonIcon(t.rightButton)),this.stop()}},_pointerButtonIcon:function(t){return t.isDown?"x":t.isUp?"o":"-"},spriteInputInfo:function(t,e,i,s){this.start(e,i,s),this.line("Sprite Input: ("+t.width+" x "+t.height+")"),this.line("x: "+t.input.pointerX().toFixed(1)+" y: "+t.input.pointerY().toFixed(1)),this.line("over: "+t.input.pointerOver()+" duration: "+t.input.overDuration().toFixed(0)),this.line("down: "+t.input.pointerDown()+" duration: "+t.input.downDuration().toFixed(0)),this.line("just over: "+t.input.justOver()+" just out: "+t.input.justOut()),this.stop()},key:function(t,e,i,s){this.start(e,i,s,150),this.line("Key:",t.keyCode,"isDown:",t.isDown),this.line("justDown:",t.justDown,"justUp:",t.justUp),this.line("Time Down:",t.timeDown.toFixed(0),"duration:",t.duration.toFixed(0)),this.stop()},inputInfo:function(t,i,s,n){var r=this.game.input;if(void 0===n&&(n=!0),this.start(t,i,s),this.line("Input"),this.line("X: "+r.x+" Y: "+r.y),this.line("World X: "+r.worldX+" World Y: "+r.worldY),this.line("Scale X: "+r.scale.x.toFixed(2)+" Scale Y: "+r.scale.x.toFixed(2)),this.line("Screen X: "+r.activePointer.screenX.toFixed(1)+" Screen Y: "+r.activePointer.screenY.toFixed(1)),n){this.line("Sources:"),this.line(" "+this._inputHandler(r.mouse,"mouse")),this.line(" "+this._inputHandler(r.mspointer,"mspointer")),this.line(" "+this._inputHandler(r.touch,"touch"));var o=r.pointers,a=r.mousePointer,h=e.PointerModes,l=0,c=0;this.line("Pointers:"),this.line(" "+(a.isDown?"x":"o")+" "+h[a.pointerMode]+" "+a.identifier);for(var u=0;u0)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 e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=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(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.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(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:r}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.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(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.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,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},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,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var r=Math.min(t,i,s),o=Math.max(t,i,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=(i-s)/a+(i1&&(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,i,s,n,r,o,a,h){var l={r:t||0,g:i||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 e.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.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,i,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){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);i?(i.r=n,i.g=r,i.b=o):i=e.Color.createColor(n,r,o)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);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=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.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=e.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return e.Color.getColor32(r,l,c,u)},interpolateColorWithRGB:function(t,i,s,n,r,o){var a=e.Color.getRGB(t),h=(i-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,c=(n-a.blue)*o/r+a.blue;return e.Color.getColor(h,l,c)},interpolateRGB:function(t,i,s,n,r,o,a,h){var l=(n-t)*h/a+t,c=(r-i)*h/a+i,u=(o-s)*h/a+s;return e.Color.getColor(l,c,u)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t));return e.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 i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.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,i){return e.Color.blendOverlay(i,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,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.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()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.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}},e.Physics.prototype.constructor=e.Physics,e.Physics.Arcade=function(t){this.game=t,this.gravity=new e.Point,this.bounds=new e.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=e.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new e.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()},e.Physics.Arcade.prototype.constructor=e.Physics.Arcade,e.Physics.Arcade.SORT_NONE=0,e.Physics.Arcade.LEFT_RIGHT=1,e.Physics.Arcade.RIGHT_LEFT=2,e.Physics.Arcade.TOP_BOTTOM=3,e.Physics.Arcade.BOTTOM_TOP=4,e.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,i){void 0===i&&(i=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof e.Group?this.enable(t[s].children,i):(this.enableBody(t[s]),i&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof e.Group?this.enable(t.children,i):(this.enableBody(t),i&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.Arcade.Body(t),t.parent&&t.parent instanceof e.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+=.001*t.angularVelocity*this.game.time.delta}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+=.001*(this.gravity.x+e.gravity.x)*this.game.time.delta:2===t&&e.allowGravity&&(i+=.001*(this.gravity.y+e.gravity.y)*this.game.time.delta),s?i+=.001*s*this.game.time.delta:n&&e.allowDrag&&(i-(n*=.001*this.game.time.delta)>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,i){null!==t.physicsSortDirection?i=t.physicsSortDirection:void 0===i&&(i=this.sortDirection),i===e.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):i===e.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):i===e.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):i===e.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===e.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(i);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===e.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,i,s,n,r)}}}}},collideGroupVsGroup:function(t,i,s,n,r,o){if(0!==t.length&&0!==i.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)=i.right)&&!(t.position.y>=i.bottom))))},circleBodyIntersects:function(t,i){var s=e.Math.clamp(t.center.x,i.left,i.right),n=e.Math.clamp(t.center.y,i.top,i.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,i,s){this.getOverlapX(t,i),this.getOverlapY(t,i);var n=i.center.x-t.center.x,r=i.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==i.isCircle){var h={x:i.isCircle?t.position.x:i.position.x,y:i.isCircle?t.position.y:i.position.y,right:i.isCircle?t.right:i.right,bottom:i.isCircle?t.bottom:i.bottom},l={x:t.isCircle?t.center.x:i.center.x,y:t.isCircle?t.center.y:i.center.y,radius:t.isCircle?t.halfWidth:i.halfWidth};l.yh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+i.halfWidth-e.Math.distance(t.center.x,t.center.y,i.center.x,i.center.y);if(s||0===a||t.immovable&&i.immovable||t.customSeparateX||i.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,i.sprite),i.onOverlap&&i.onOverlap.dispatch(i.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:i.velocity.x*Math.cos(o)+i.velocity.y*Math.sin(o),y:-i.velocity.x*Math.sin(o)+i.velocity.y*Math.cos(o)},d=((t.mass-i.mass)*c.x+2*i.mass*u.x)/(t.mass+i.mass),p=(2*t.mass*c.x+(i.mass-t.mass)*u.x)/(t.mass+i.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),i.immovable||(i.velocity.x=(p*Math.cos(o)-u.y*Math.sin(o))*i.bounce.x,i.velocity.y=(u.y*Math.cos(o)+p*Math.sin(o))*i.bounce.y),Math.abs(o)0&&!t.immovable&&i.velocity.x>t.velocity.x?t.velocity.x*=-1:i.velocity.x<0&&!i.immovable&&t.velocity.x0&&!t.immovable&&i.velocity.y>t.velocity.y?t.velocity.y*=-1:i.velocity.y<0&&!i.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&i.velocity.x0&&!i.immovable&&t.velocity.x>i.velocity.x?i.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&i.velocity.y0&&!i.immovable&&t.velocity.x>i.velocity.y&&(i.velocity.y*=-1)),t.immovable||(t.x+=.001*t.velocity.x*this.game.time.delta-a*Math.cos(o),t.y+=.001*t.velocity.y*this.game.time.delta-a*Math.sin(o)),i.immovable||(i.x+=.001*i.velocity.x*this.game.time.delta+a*Math.cos(o),i.y+=.001*i.velocity.y*this.game.time.delta+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,i.sprite),i.onCollide&&i.onCollide.dispatch(i.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,i,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 e.Rectangle(t,i,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(s=this.distanceBetween(t,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},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,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i,!0)},velocityFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},accelerationFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},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,s){void 0===i&&(i=!1);var n,r;return s?(n=t.centerX-e.centerX,r=t.centerY-e.centerY):i?(n=t.world.x-e.world.x,r=t.world.y-e.world.y):(n=t.x-e.x,r=t.y-e.y),Math.sqrt(n*n+r*r)},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,s){for(var n=1/0,r=null,o=0,a=e.length;on&&(r=h,n=l)}return r},angleBetween:function(t,i,s){return void 0===s&&(s=!1),s?e.Point.angle(i.world,t.world):e.Point.angle(i,t)},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)}},e.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=e.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new e.Point,this.position=new e.Point(t.x,t.y),this.prev=new e.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 e.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new e.Point,this.newVelocity=new e.Point,this.deltaMax=new e.Point,this.acceleration=new e.Point,this.allowDrag=!0,this.drag=new e.Point,this.allowGravity=!0,this.gravity=new e.Point,this.bounce=new e.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new e.Point(1e4,1e4),this.friction=new e.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=e.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 e.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 e.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},e.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(.001*this.velocity.x*this.game.time.delta,.001*this.velocity.y*this.game.time.delta),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=this.velocity.atan()),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.delta,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=e.LEFT:this.deltaX()>0&&(this.facing=e.RIGHT),this.deltaY()<0?this.facing=e.UP:this.deltaY()>0&&(this.facing=e.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,i,s){var n=i/(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),i=Math.abs(i),this.moveDuration=0,this.moveDistance=i,null===this.moveTarget&&(this.moveTarget=new e.Line,this.moveEnd=new e.Point),this.moveTarget.fromAngle(this.x,this.y,r,i),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,i){return this.isCircle?e.Circle.contains(this,t,i):e.Rectangle.contains(this,t,i)},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 e.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(e.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),e.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)},e.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)},e.Physics.Arcade.Body.prototype.constructor=e.Physics.Arcade.Body,e.Physics.Arcade.TilemapCollision=function(){},e.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}},e.Utils.mixinPrototype(e.Physics.Arcade.prototype,e.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,e.Physics.P2=function(t,i){this.game=t,void 0===i?i={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(i.hasOwnProperty("gravity")||(i.gravity=[0,0]),i.hasOwnProperty("broadphase")||(i.broadphase=new p2.SAPBroadphase)),this.config=i,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new e.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new e.Signal,this.onBodyRemoved=new e.Signal,this.onSpringAdded=new e.Signal,this.onSpringRemoved=new e.Signal,this.onConstraintAdded=new e.Signal,this.onConstraintRemoved=new e.Signal,this.onContactMaterialAdded=new e.Signal,this.onContactMaterialRemoved=new e.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new e.Signal,this.onEndContact=new e.Signal,i.hasOwnProperty("mpx")&&i.hasOwnProperty("pxm")&&i.hasOwnProperty("mpxi")&&i.hasOwnProperty("pxmi")&&(this.mpx=i.mpx,this.mpxi=i.mpxi,this.pxm=i.pxm,this.pxmi=i.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.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)},e.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,i,s){void 0===i&&(i=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof e.Group?this.enable(t[n].children,i,s):(this.enableBody(t[n],i),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],i,!0));else t instanceof e.Group?this.enable(t.children,i,s):(this.enableBody(t,i),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,i,!0))},enableBody:function(t,i){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=i,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(.001*this.game.time.delta):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.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 e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,i,s,n,r,o){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.DistanceConstraint(this,t,i,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,i,s,n){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.GearConstraint(this,t,i,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,i,s,n,r,o){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new e.Physics.P2.RevoluteConstraint(this,t,i,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,i,s,n,r){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.LockConstraint(this,t,i,s,n,r));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,i,s,n,r,o,a){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.PrismaticConstraint(this,t,i,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,i){t=t||"";var s=new e.Physics.P2.Material(t);return this.materials.push(s),void 0!==i&&i.setMaterial(s),s},createContactMaterial:function(t,i,s){void 0===t&&(t=this.createMaterial()),void 0===i&&(i=this.createMaterial());var n=new e.Physics.P2.ContactMaterial(t,i,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 e.Physics.P2.Body?t.data:t.body&&t.body.type===e.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,i,s,n){void 0===i&&(i=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=i.length;a--;)i[a]instanceof e.Physics.P2.Body&&(!n||i[a].data.type!==p2.Body.STATIC)?o.push(i[a].data):i[a]instanceof p2.Body&&i[a].parent&&(!n||i[a].type!==p2.Body.STATIC)?o.push(i[a]):i[a]instanceof e.Sprite&&i[a].hasOwnProperty("body")&&(!n||i[a].body.data.type!==p2.Body.STATIC)&&o.push(i[a].body.data);return this.world.hitTest(r,o,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var i=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|i),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|i),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|i),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|i),this._collisionGroupID++;var s=new e.Physics.P2.CollisionGroup(i);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,i){if(t instanceof e.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(e.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(e.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(e.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(e.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(e.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(e.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(e.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(e.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(e.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),e.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},e.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}},e.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.PointProxy.prototype.constructor=e.Physics.P2.PointProxy,Object.defineProperty(e.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(e.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(e.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(e.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),e.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.InversePointProxy.prototype.constructor=e.Physics.P2.InversePointProxy,Object.defineProperty(e.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(e.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(e.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),e.Physics.P2.Body=function(t,i,s,n,r){i=i||null,s=s||0,n=n||0,void 0===r&&(r=1),this.game=t,this.world=t.physics.p2,this.sprite=i,this.type=e.Physics.P2JS,this.offset=new e.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:r}),this.data.parent=this,this.velocity=new e.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new e.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new e.Point,this.onBeginContact=new e.Signal,this.onEndContact=new e.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,i&&(this.setRectangleFromSprite(i),i.exists&&this.game.physics.p2.addBody(this))},e.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;n=0?dp;n=p>=0?++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"}}),e.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},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.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},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},e.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),e.Physics.P2.Material.prototype.constructor=e.Physics.P2.Material,e.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},e.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),e.Physics.P2.ContactMaterial.prototype.constructor=e.Physics.P2.ContactMaterial,e.Physics.P2.CollisionGroup=function(t){this.mask=t},e.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)},e.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),e.Physics.P2.DistanceConstraint.prototype.constructor=e.Physics.P2.DistanceConstraint,e.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)},e.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),e.Physics.P2.GearConstraint.prototype.constructor=e.Physics.P2.GearConstraint,e.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)},e.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),e.Physics.P2.LockConstraint.prototype.constructor=e.Physics.P2.LockConstraint,e.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)},e.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),e.Physics.P2.PrismaticConstraint.prototype.constructor=e.Physics.P2.PrismaticConstraint,e.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)},e.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),e.Physics.P2.RevoluteConstraint.prototype.constructor=e.Physics.P2.RevoluteConstraint,e.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},e.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}},e.Tile.prototype.constructor=e.Tile,Object.defineProperty(e.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(e.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(e.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(e.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(e.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(e.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),e.Tilemap=function(t,i,s,n,r,o){this.game=t,this.key=i;var a=e.TilemapParser.parse(this.game,i,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)},e.Tilemap.CSV=0,e.Tilemap.TILED_JSON=1,e.Tilemap.NORTH=0,e.Tilemap.EAST=1,e.Tilemap.SOUTH=2,e.Tilemap.WEST=3,e.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,i,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!==i&&null!==i||(i=t),e.BitmapData&&i instanceof e.BitmapData)h=i.canvas;else{if(!this.game.cache.checkImageKey(i))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+i+'"'),null;h=this.game.cache.getImage(i)}var l=this.getTilesetIndex(t);if(null===l&&this.format===e.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),console.log("Tilesets: ",this.tilesets),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new e.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)return console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"'),void console.log("Layers: ",this.layers);void 0===i||i<=0?i=Math.min(this.game.width,this.layers[r].widthInPixels):i>this.game.width&&(i=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:",i,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new e.TilemapLayer(this.game,this,r,i,s));return this.enableDebug&&console.groupEnd(),o},createBlankLayer:function(t,i,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:i,height:s,widthInPixels:i*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 e.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,i,s){if(s=this.getLayer(s),t>=0&&t=0&&i=0&&i=0&&s-1?this.layers[n].data[s][i].setCollision(!0,!0,!0,!0):this.layers[n].data[s][i].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][i]}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,n){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var r,o,a=0,h=this.layers[s].height,l=this.layers[s].width,c=this.layers[s].data;if(n)var u=[];if(i)for(d=h-1;d>=0;d--){r=c[d];for(p=l-1;p>=0;p--)if((o=r[p]).index===t)if(a>=e){if(!n)return o;u.push(o)}else a++}else for(var d=0;d=e){if(!n)return o;u.push(o)}else a++}return n?u:null},getTile:function(t,e,i,s){return void 0===s&&(s=!1),i=this.getLayer(i),t>=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}},e.Tilemap.prototype.constructor=e.Tilemap,Object.defineProperty(e.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),e.TilemapLayer=function(t,i,s,n,r){n|=0,r|=0,e.Sprite.call(this,t,0,0),this.map=i,this.index=s,this.layer=i.layers[s],this.canvas=e.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=e.TILEMAPLAYER,this.physicsType=e.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:i.tileWidth,tileHeight:i.tileHeight,cw:i.tileWidth,ch:i.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new e.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=e.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},e.TilemapLayer.prototype=Object.create(e.Sprite.prototype),e.TilemapLayer.prototype.constructor=e.TilemapLayer,e.TilemapLayer.prototype.preUpdateCore=e.Component.Core.preUpdate,e.TilemapLayer.sharedCopyCanvas=null,e.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=e.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},e.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},e.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},e.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)},e.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)},e.TilemapLayer.prototype.destroy=function(){e.CanvasPool.remove(this),e.Component.Destroy.prototype.destroy.call(this)},e.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},e.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},e.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},e.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},e.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)},e.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},e.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)},e.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},e.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},e.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},e.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},e.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))}}}},e.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)}},e.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)},e.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(e.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),e.TilemapParser={INSERT_NULL:!1,parse:function(t,i,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===i)return this.getEmptyData();if(null===i)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(i);if(a){if(a.format===e.Tilemap.CSV)return this.parseCSV(i,a.data,s,n);if(!a.format||a.format===e.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn('No map data found for key "%s"',i)},parseCSV:function(t,i,s,n){for(var r=this.getEmptyData(),o=[],a=(i=i.trim()).split("\n"),h=a.length,l=0,c=0;c1.1&&console.warn('Some features in this Tiled JSON map (version %s) may not work in Phaser CE. Enable the json1 plugin and reexport the map in "Tiled 1.1" format. https://github.com/photonstorm/phaser-ce/issues/623',t.version);for(var i={width:t.width,height:t.height,tileWidth:t.tilewidth,tileHeight:t.tileheight,orientation:t.orientation,format:e.Tilemap.TILED_JSON,version:t.version,properties:t.properties,widthInPixels:t.width*t.tilewidth,heightInPixels:t.height*t.tileheight},s=[],n=0;n>>0;r.data=h,delete r.encoding}else if(r.compression){console.warn('Layer compression is unsupported, skipping layer "%s".',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 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?((B=new e.Tile(D,A,p,g.length,t.tilewidth,t.tileheight)).rotation=c,B.flipped=u,0!==d&&(B.flippedVal=d),f.push(B)):e.TilemapParser.INSERT_NULL?f.push(null):f.push(new e.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)}i.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t0?this.scale.set(this.scaleData[t].x,this.scaleData[t].y):this.autoScale=!1}if(this.autoAlpha){this._a-=.001*this.game.time.delta*this.autoAlphaFps;var e=Math.round(this._a);e>0?this.alpha=this.alphaData[e].v:this.autoAlpha=!1}},e.Particle.prototype.onEmit=function(){},e.Particle.prototype.setAlphaData=function(t,e){this.alphaData=t,this._a=t.length-1,this.alpha=this.alphaData[this._a].v,this.autoAlpha=!0,this.autoAlphaFps=e},e.Particle.prototype.setScaleData=function(t,e){this.scaleData=t,this._s=t.length-1,this.scale.set(this.scaleData[this._s].x,this.scaleData[this._s].y),this.autoScale=!0,this.autoScaleFps=e},e.Particle.prototype.reset=function(t,i,s){return e.Component.Reset.prototype.reset.call(this,t,i,s),this.alpha=1,this.scale.set(1),this.autoScale=!1,this.autoAlpha=!1,this},e.Particles=function(t){this.game=t,this.emitters={},this.ID=0},e.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]}},e.Particles.prototype.constructor=e.Particles,e.Particles.Arcade={},e.Particles.Arcade.Emitter=function(t,i,s,n){this.maxParticles=n||50,e.Group.call(this,t),this._id=this.game.particles.ID++,this.name="emitter"+this.id,this.type=e.EMITTER,this.physicsType=e.GROUP,this.area=new e.Rectangle(i,s,1,1),this.minAngle=null,this.maxAngle=null,this.minSpeed=0,this.maxSpeed=100,this.minParticleSpeed=new e.Point(-100,-100),this.maxParticleSpeed=new e.Point(100,100),this.minParticleScale=1,this.maxParticleScale=1,this.scaleData=null,this.minRotation=-360,this.maxRotation=360,this.minParticleAlpha=1,this.maxParticleAlpha=1,this.alphaData=null,this.particleClass=e.Particle,this.particleDrag=new e.Point,this.angularDrag=0,this.frequency=100,this.lifespan=2e3,this.bounce=new e.Point,this.on=!1,this.particleAnchor=new e.Point(.5,.5),this.blendMode=e.blendModes.NORMAL,this.emitX=i,this.emitY=s,this.autoScale=!1,this.autoScaleFps=this.game.time.desiredFps,this.autoAlpha=!1,this.autoAlphaFps=this.game.time.desiredFps,this.particleBringToTop=!1,this.particleSendToBack=!1,this.counts={emitted:0,failed:0,totalEmitted:0,totalFailed:0},this._gravity=new e.Point(0,100),this._minParticleScale=new e.Point(1,1),this._maxParticleScale=new e.Point(1,1),this._total=0,this._timer=0,this._counter=0,this._flowQuantity=0,this._flowTotal=0,this._explode=!0,this._frames=null},e.Particles.Arcade.Emitter.prototype=Object.create(e.Group.prototype),e.Particles.Arcade.Emitter.prototype.constructor=e.Particles.Arcade.Emitter,e.Particles.Arcade.Emitter.prototype.update=function(){if(this.counts.emitted=0,this.counts.failed=0,this.on&&this.game.time.deltaTotal>=this._timer)if(this._timer=this.game.time.deltaTotal+this.frequency,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()},e.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.deltaTotal+e):this.start(!1,t,e,i),this},e.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},e.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},e.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,this.autoScaleFps):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,this.autoAlphaFps):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()},e.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),e.Group.prototype.destroy.call(this,!0,!1)},e.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},e.Particles.Arcade.Emitter.prototype.setSpeed=function(t,e,i,s){return this.setXSpeed(t,e),this.setYSpeed(i,s),this},e.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},e.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},e.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},e.Particles.Arcade.Emitter.prototype.setAlpha=function(t,i,s,n,r){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=0),void 0===n&&(n=e.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=i,this.autoAlpha=!1,s>0&&t!==i){var o={v:t},a=this.game.make.tween(o).to({v:i},s,n);a.yoyo(r),this.alphaData=a.generateData(this.game.time.desiredFps),this.autoAlphaFps=this.game.time.desiredFps,this.alphaData.reverse(),this.autoAlpha=!0}return this},e.Particles.Arcade.Emitter.prototype.setScale=function(t,i,s,n,r,o,a){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=e.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(i,n),this.autoScale=!1,r>0&&(t!==i||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:i,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(this.game.time.desiredFps),this.autoScaleFps=this.game.time.desiredFps,this.scaleData.reverse(),this.autoScale=!0}return this},e.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},e.Particles.Arcade.Emitter.prototype.setGravity=function(t,e){return t=t||0,e=e||0,this._gravity.set(t,e),this},e.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(e.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(e.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),e.Weapon=function(t,i){e.Plugin.call(this,t,i),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new e.Rectangle(0,0,1,1),this.fireAngle=e.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 e.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=e.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=e.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new e.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new e.Signal,this.onKill=new e.Signal,this.onFireLimit=new e.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new e.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new e.Point},e.Weapon.prototype=Object.create(e.Plugin.prototype),e.Weapon.prototype.constructor=e.Weapon,e.Weapon.KILL_NEVER=0,e.Weapon.KILL_LIFESPAN=1,e.Weapon.KILL_DISTANCE=2,e.Weapon.KILL_WEAPON_BOUNDS=3,e.Weapon.KILL_CAMERA_BOUNDS=4,e.Weapon.KILL_WORLD_BOUNDS=5,e.Weapon.KILL_STATIC_BOUNDS=6,e.Weapon.prototype.createBullets=function(t,i,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets&&!this.bullets.game&&(this.bullets=null),this.bullets||(this.bullets=this.game.add.physicsGroup(e.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,i,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=i,this.bulletFrame=s),this},e.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},e.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},e.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},e.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},e.Weapon.prototype.update=function(){this._bulletKillType===e.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()},e.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},e.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},e.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},e.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},e.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},e.Weapon.prototype.fire=function(t,i,s,n,r){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game.time.deltaTotal0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=e.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!==i&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,i-a))),0!==this.bulletAngleVariance&&(l+=e.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===e.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+=e.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(g=0),f=this.game.time.deltaTotal+g}else f=this.game.time.deltaTotal+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},e.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},e.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},e.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},e.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},e.Weapon.prototype.setBulletFrames=function(t,i,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=e.ArrayUtils.numberArray(t,i),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},e.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},e.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(e.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(e.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case e.Weapon.KILL_STATIC_BOUNDS:case e.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case e.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case e.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(e.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(e.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(e.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),e.Bullet=function(t,i,s,n,r){e.Sprite.call(this,t,i,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},e.Bullet.prototype=Object.create(e.Sprite.prototype),e.Bullet.prototype.constructor=e.Bullet,e.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},e.Bullet.prototype.update=function(){this.exists&&(this.data.killType>e.Weapon.KILL_LIFESPAN&&(this.data.killType===e.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=this.body.velocity.atan()),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},PIXI.CreatureShader=function(t){this._UID=e._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;","attribute vec4 aColor;","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) * aColor.a * 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.colorAttribute],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},e.Creature=function(t,i,s,n,r,o,a){if(this.game=t,void 0===o&&(o="default"),void 0===a&&(a=!1),this.type=e.CREATURE,t.cache.checkJSONKey(r)){var h=t.cache.getJSON(r,!0);if(this._creature=new Creature(h,a),this.animation=new CreatureAnimation(h,o,a),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 e.Point,this.creatureBoundsMax=new e.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.setAttribute("playsinline","playsinline"),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,i){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"),void 0!==i&&(this.video.crossOrigin=i),this.video.setAttribute("playsinline","playsinline"),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,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.srcObject?(this.video.srcObject.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,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(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 this.onTouchUnlock.dispatch(this),!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.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(e.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(e.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(e.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(e.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(e.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(e.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(e.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop=!0:this.video&&(this.video.loop=!1)}}),Object.defineProperty(e.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),e.Video.prototype.constructor=e.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}).call(this); +(function(){var t=this,e=e||{VERSION:"2.19.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("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),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,i,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=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(i),o=n*Math.sin(i);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new e.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,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,r){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.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(e.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(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.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},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.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},e.Circle.intersectsLine=function(t,i,s){var n=t.x,r=t.y,o=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-o*i.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 e.Point(u,p),m=new e.Point(d,f),y=i.pointOnSegment(g.x,g.y,.01),v=i.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.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 e.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 e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.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 e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(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},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.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},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=i.x,h=i.y,l=i.right,c=i.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 e.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,i){return e.Point.distance(this,t,i)},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,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,r){return e.Point.rotate(this,t,i,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},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.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(e.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(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.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(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.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)},e.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}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,r,o),this.bounds=new e.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 e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.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 e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.FLASH=0,e.Camera.FADE_OUT=1,e.Camera.FADE_IN=2,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(i){case e.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case e.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.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,i,s,n,r){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.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,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_OUT)},fadeIn:function(t,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_IN)},fadeEffect:function(t,i,s,n,r){if(void 0===t&&(t=0),void 0===i&&(i=500),void 0===s&&(s=!1),void 0===n&&(n=1),!this.fx||!s&&this._fxDuration>0)return!1;if(this.fx.clear(),this.fx.beginFill(t,n),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),r<1||r>2)throw new Error("Wrong `type` argument");return this.fx.alpha=r===e.Camera.FADE_IN?1:0,this._fxDuration=i,this._fxType=r,!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(){this._fxType===e.Camera.FLASH?(this.fx.alpha-=this.game.time.delta/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):this._fxType===e.Camera.FADE_IN?(this.fx.alpha-=this.game.time.delta/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFadeComplete.dispatch())):(this.fx.alpha+=this.game.time.delta/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.delta,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}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.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(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.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},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.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},e.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,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(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){if(this.clearCurrentState(),this.setCurrentState(this._pendingState),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 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){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.current,i=this.states[t];this.callbackContext=i,this.link(t),this.onInitCallback=i.init||this.dummy,this.onPreloadCallback=i.preload||null,this.onLoadRenderCallback=i.loadRender||null,this.onLoadUpdateCallback=i.loadUpdate||null,this.onCreateCallback=i.create||null,this.onUpdateCallback=i.update||null,this.onPostUpdateCallback=i.postUpdate||null,this.onPreRenderCallback=i.preRender||null,this.onRenderCallback=i.render||null,this.onResizeCallback=i.resize||null,this.onPausedCallback=i.paused||null,this.onResumedCallback=i.resumed||null,this.onPauseUpdateCallback=i.pauseUpdate||null,this.onShutDownCallback=i.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onStateChange.dispatch(this.current,e),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.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.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(){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===e.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.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.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,i,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else o=new e.SignalBinding(this,t,i,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)},e.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)},e.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===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,l=i*n,c=o;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.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},e.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},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.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},e.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},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))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},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=e.Utils.getProperty(t,i);return!(void 0===r&&n||r!==s)},e.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)},e.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=this.children.length,a=0;a2){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()}},e.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},e.Group.prototype.iterate=function(t,i,s,n,r,o){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!i||i.call(s,h,r))&&(n=r,o=h)}return o},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.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 e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.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}},e.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()}},e.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)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.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(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.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(e.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(e.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(e.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(e.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(e.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}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.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)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.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()},e.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))},e.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(e.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){tthis.time.deltaMax){if(this.dropFrames)return;e=this.time.deltaMax}if(this.forceSingleUpdate)this.updatesThisFrame=1,this.rendersThisFrame=1,this.updateLogic(.001*e/this.time.slowMotion),this.updateRender();else if(this._spiraling>2)this.updatesThisFrame=0,this.rendersThisFrame=0,this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0;else{var i=0,s=1e3*this.time.desiredFpsMult;for(this._deltaTime+=e,this.updatesThisFrame=Math.floor(this._deltaTime/s),this.rendersThisFrame=this.forceSingleRender?1:Math.min(1,this.updatesThisFrame);this._deltaTime>=s;)this._deltaTime-=s,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult/this.time.slowMotion),this.time.refresh(),i++;i>this._lastCount?this._spiraling++:i0&&this.updateRender()}}}}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.preUpdate(t),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(){this.lockRender||this.renderType===e.HEADLESS||(this.time.preRender(),this.state.preRender(),this.renderer.render(this.stage),this.plugins.render(),this.state.render(),this.plugins.postRender(),this.renderer.postRender())},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.gamePaused(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.gameResumed(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this._focusGained=!0,this.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),e.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=e.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!0===t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},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+i.x=a&&this.game.camera.y+i.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}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.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===i,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 e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.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,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,r="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):r||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},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 i=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),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.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===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.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,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!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.pointerLock.locked&&!i&&(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===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.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,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!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 i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=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&&i.currentPointers--,i.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=e.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){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,r=this._pointerData[t.id],o=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var l=i.scale.x*h.x+n.x+s.x,c=i.scale.y*h.y+n.y+s.y;else var l=h.x+n.x+s.x,c=h.y+n.y+s.y;if(a.fixedToCamera){var u=a.cameraOffset,d=u.x,p=u.y;this.allowHorizontalDrag&&(u.x=l-i.x),this.allowVerticalDrag&&(u.y=c-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(u.x=Math.round((u.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,u.y=Math.round((u.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(u.x,u.y));var f=u.x-d,g=u.y-p}else{var m=i.x-r.camX,y=i.y-r.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=l+m),this.allowVerticalDrag&&(a.y=c+y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(a.x,a.y));var f=a.x-d,g=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,l,c,o,e,f,g),!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)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.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 e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this)]},e.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 i=!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}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;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},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.delta,this.lifespan<=0))||(this.kill(),!1)},e.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}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||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===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.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(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)o=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,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,i)}r&&(this._frame=e.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}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):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))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.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)}}},e.Component.Reset=function(){},e.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},e.Component.ScaleMinMax=function(){},e.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,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,r){var o=this.game.plugins.add(e.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,i,s,n),o},image:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,r,o,a){void 0===r&&(r=this.world);var h=new e.Creature(this.game,t,i,s,n,o,a);return r.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,r){return new e.Group(this.game,t,i,s,n,r)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,r,o))},rope:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.Rope(this.game,t,i,s,n,r))},text:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,r,o,a,h,l,c){return void 0===c&&(c=this.world),c.add(new e.Button(this.game,t,i,s,n,r,o,a,h,l))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.BitmapText(this.game,t,i,s,n,r))},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,r){return new e.Group(this.game,t||null,i,s,n,r)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o){return new e.TileSprite(this.game,t,i,s,n,r,o)},rope:function(t,i,s,n,r){return new e.Rope(this.game,t,i,s,n,r)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,r,o,a,h,l){return new e.Button(this.game,t,i,s,n,r,o,a,h,l)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return new e.BitmapText(this.game,t,i,s,n,r,o)},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,r,o,a,h,l,c){i=i||0,s=s||0,n=n||null,r=r||null,o=o||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.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 e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.PointerMode.CONTACT,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)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;return e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.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)},e.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())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},e.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},e.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)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.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)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.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")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.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())},e.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&&i>=0&&i<=this.height&&(e.Device.LITTLE_ENDIAN?this.pixels[i*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[i*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,i,s){s||(s=e.Color.createColor());var n=~~(t+i*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,i,s,n,r){return e.Color.unpackPixel(this.getPixel32(t,i),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 i=e.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{e.Color.unpackPixel(this.getPixel32(s,n),i),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===i.a&&!o);return i.x=s,i.y=n,i},getBounds:function(t){return void 0===t&&(t=new e.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,i,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 e.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof e.Sprite||t instanceof e.Image||t instanceof e.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 e.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 e.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return this;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==i&&null!==i||(i=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=i),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)return this;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+i,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,i,s){if(void 0===i&&(i=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 e.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,i&&(this.op=i),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,i,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,i,s),t.type===e.GROUP&&t.exists)this.drawGroup(t,i,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ni.width&&(n=i.width);var r=this.context;return r.fillStyle=r.createPattern(i,s),this._circle=new e.Circle(t.start.x,t.start.y,i.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,i.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),e.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 e.EarCut.earcutLinked(o,a,s,h,l,f),a},e.EarCut.linkedList=function(t,i,s,n,r){var o,a,h,l=0;for(o=i,a=s-n;o0)for(o=i;o=i;o-=n)h=e.EarCut.insertNode(o,t[o],t[o+1],h);return h},e.EarCut.filterPoints=function(t,i){if(!t)return t;i||(i=t);var s,n=t;do{if(s=!1,n.steiner||!e.EarCut.equals(n,n.next)&&0!==e.EarCut.area(n.prev,n,n.next))n=n.next;else{if(e.EarCut.removeNode(n),(n=i=n.prev)===n.next)return null;s=!0}}while(s||n!==i);return i},e.EarCut.earcutLinked=function(t,i,s,n,r,o,a){if(t){!a&&o&&e.EarCut.indexCurve(t,n,r,o);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?e.EarCut.isEarHashed(t,n,r,o):e.EarCut.isEar(t))i.push(h.i/s),i.push(t.i/s),i.push(l.i/s),e.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=e.EarCut.cureLocalIntersections(t,i,s),e.EarCut.earcutLinked(t,i,s,n,r,o,2)):2===a&&e.EarCut.splitEarcut(t,i,s,n,r,o):e.EarCut.earcutLinked(e.EarCut.filterPoints(t),i,s,n,r,o,1);break}}},e.EarCut.isEar=function(t){var i=t.prev,s=t,n=t.next;if(e.EarCut.area(i,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(e.EarCut.pointInTriangle(i.x,i.y,s.x,s.y,n.x,n.y,r.x,r.y)&&e.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},e.EarCut.isEarHashed=function(t,i,s,n){var r=t.prev,o=t,a=t.next;if(e.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=e.EarCut.zOrder(h,l,i,s,n),p=e.EarCut.zOrder(c,u,i,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.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&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},e.EarCut.cureLocalIntersections=function(t,i,s){var n=t;do{var r=n.prev,o=n.next.next;e.EarCut.intersects(r,n,n.next,o)&&e.EarCut.locallyInside(r,o)&&e.EarCut.locallyInside(o,r)&&(i.push(r.i/s),i.push(n.i/s),i.push(o.i/s),e.EarCut.removeNode(n),e.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},e.EarCut.splitEarcut=function(t,i,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&e.EarCut.isValidDiagonal(a,h)){var l=e.EarCut.splitPolygon(a,h);return a=e.EarCut.filterPoints(a,a.next),l=e.EarCut.filterPoints(l,l.next),e.EarCut.earcutLinked(a,i,s,n,r,o),void e.EarCut.earcutLinked(l,i,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},e.EarCut.eliminateHoles=function(t,i,s,n){var r,o,a,h,l,c=[];for(r=0,o=i.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&&e.EarCut.pointInTriangle(os.x)&&e.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},e.EarCut.indexCurve=function(t,i,s,n){var r=t;do{null===r.z&&(r.z=e.EarCut.zOrder(r.x,r.y,i,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,e.EarCut.sortLinked(r)},e.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},e.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},e.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},e.EarCut.isValidDiagonal=function(t,i){return e.EarCut.equals(t,i)||t.next.i!==i.i&&t.prev.i!==i.i&&!e.EarCut.intersectsPolygon(t,i)&&e.EarCut.locallyInside(t,i)&&e.EarCut.locallyInside(i,t)&&e.EarCut.middleInside(t,i)},e.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},e.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},e.EarCut.intersects=function(t,i,s,n){return e.EarCut.area(t,i,s)>0!=e.EarCut.area(t,i,n)>0&&e.EarCut.area(s,n,t)>0!=e.EarCut.area(s,n,i)>0},e.EarCut.intersectsPolygon=function(t,i){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==i.i&&s.next.i!==i.i&&e.EarCut.intersects(s,s.next,t,i))return!0;s=s.next}while(s!==t);return!1},e.EarCut.locallyInside=function(t,i){return e.EarCut.area(t.prev,t,t.next)<0?e.EarCut.area(t,i,t.next)>=0&&e.EarCut.area(t,t.prev,i)>=0:e.EarCut.area(t,i,t.prev)<0||e.EarCut.area(t,t.next,i)<0},e.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},e.EarCut.splitPolygon=function(t,i){var s=new e.EarCut.Node(t.i,t.x,t.y),n=new e.EarCut.Node(i.i,i.x,i.y),r=t.next,o=i.prev;return t.next=i,i.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},e.EarCut.insertNode=function(t,i,s,n){var r=new e.EarCut.Node(t,i,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},e.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)},e.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,i){var s,n=i.gl,r=i.projection,o=i.offset,a=i.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===e.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===e.CIRCLE||a.type===e.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===e.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),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?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,i.beginPath(),i.moveTo(_,w+C),i.lineTo(_,w+P-C),i.quadraticCurveTo(_,w+P,_+C,w+P),i.lineTo(_+T-C,w+P),i.quadraticCurveTo(_+T,w+P,_+T,w+P-C),i.lineTo(_+T,w+C),i.quadraticCurveTo(_+T,w,_+T-C,w),i.lineTo(_+C,w),i.quadraticCurveTo(_,w,_,w+C),i.closePath(),(r.fillColor||0===r.fillColor)&&(i.globalAlpha=r.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fill()),r.lineWidth&&(i.globalAlpha=r.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,i){var s=t.graphicsData.length;if(0!==s){i.beginPath();for(var n=0;nP?P:T,i.moveTo(x,b+T),i.lineTo(x,b+w-T),i.quadraticCurveTo(x,b+w,x+T,b+w),i.lineTo(x+_-T,b+w),i.quadraticCurveTo(x+_,b+w,x+_,b+w-T),i.lineTo(x+_,b+T),i.quadraticCurveTo(x+_,b,x+_-T,b),i.lineTo(x+T,b),i.quadraticCurveTo(x,b,x,b+T),i.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}},e.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},e.GraphicsData.prototype.constructor=e.GraphicsData,e.GraphicsData.prototype.clone=function(){return new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},e.Graphics=function(t,i,s){void 0===i&&(i=0),void 0===s&&(s=0),this.type=e.GRAPHICS,this.physicsType=e.SPRITE,this.anchor=new e.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 e.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Graphics.prototype.constructor=e.Graphics,e.Component.Core.install.call(e.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.Graphics.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Graphics.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Graphics.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Graphics.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Graphics.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},e.Graphics.prototype.drawTriangles=function(t,i,s){void 0===s&&(s=!1);var n,r=new e.Point,o=new e.Point,a=new e.Point,h=[];if(i)if(t[0]instanceof e.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},e.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},e.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},e.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},e.Graphics.prototype.drawRect=function(t,i,s,n){return this.drawShape(new e.Rectangle(t,i,s,n)),this},e.Graphics.prototype.drawRoundedRect=function(t,i,s,n,r){return this.drawShape(new e.RoundedRectangle(t,i,s,n,r)),this},e.Graphics.prototype.drawCircle=function(t,i,s){return this.drawShape(new e.Circle(t,i,s)),this},e.Graphics.prototype.drawEllipse=function(t,i,s,n){return this.drawShape({x:t,y:i,width:s,height:n,type:e.ELLIPSE}),this},e.Graphics.prototype.drawPolygon=function(t){t instanceof e.Polygon&&(t=t.points);var i=t;if(!Array.isArray(i)){i=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},e.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=e.identityMatrix;for(var i=0;ii?a+l:i,s=hn?h+c:n;else if(p===e.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,c=r.radius+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else if(p===e.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,c=r.height+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else{o=r.points;for(var g=0;gi?a+f:i,s=h-fn?h+f:n}}else t=0,i=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=i-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},e.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},e.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()},e.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},e.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof e.Polygon&&(t=t.clone()).flatten();var i=new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(i),i.type===e.POLYGON&&(i.shape.closed=this.filling,this.currentPath=i),this.dirty=!0,this._boundsDirty=!0,i},Object.defineProperty(e.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}}),e.RenderTexture=function(t,i,s,n,r,o,a,h){if(void 0===i&&(i=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=e.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=e.RENDERTEXTURE,this._tempMatrix=new e.Matrix,this.width=i,this.height=s,this.resolution=o,this.frame=new e.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===e.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 e.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 e.Matrix,this._updateUvs()},e.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),e.RenderTexture.prototype.constructor=e.RenderTexture,e.RenderTexture.prototype.renderXY=function(t,i,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=i,this._tempMatrix.ty=s,this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.renderRawXY=function(t,i,s,n){this._tempMatrix.identity().translate(i,s),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.render=function(t,i,s){void 0===i||null===i?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(i),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},e.RenderTexture.prototype.resize=function(t,i,s){t===this.width&&i===this.height||(this.valid=t>0&&i>0,this.width=t,this.height=i,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=i*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===e.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},e.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===e.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},e.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},e.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)},e.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++}},e.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},e.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},e.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},e.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},e.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},e.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},e.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)/)},e.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},e.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,"")},e.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},e.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()},e.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.Text.prototype.determineFontProperties=function(t){var i=e.Text.fontPropertiesCache[t];if(i)return i;var s=e.Text.fontPropertiesContext;s.font=t;var n=s.measureText(this.testString);if(n.actualBoundingBoxAscent)i={ascent:o=Math.ceil(n.actualBoundingBoxAscent),descent:a=Math.ceil(n.actualBoundingBoxDescent),fontSize:o+a};else{var r=s.measureText("MX").width,o=Math.ceil(.75*r),a=Math.ceil(.25*r);i={ascent:o,descent:a,fontSize:o+a}}return e.Text.fontPropertiesCache[t]=i,i},e.Text.prototype.getBounds=function(t){return this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype.getBounds.call(this,t)},e.Text.prototype.setCharacterLimit=function(t,e){this.characterLimitSuffix=void 0===e?"":e,this.characterLimitSize=t,this.updateText()},Object.defineProperty(e.Text.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.dirty=!0,this.parent&&this.updateTransform())}}),Object.defineProperty(e.Text.prototype,"cssFont",{get:function(){return this.componentsToFont(this._fontComponents)},set:function(t){t=t||"bold 20pt Arial",this._fontComponents=this.fontToComponents(t),this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"font",{get:function(){return this._fontComponents.fontFamily},set:function(t){t=(t=t||"Arial").trim(),/^(?:inherit|serif|sans-serif|cursive|fantasy|monospace)$/.exec(t)||/['",]/.exec(t)||(t="'"+t+"'"),this._fontComponents.fontFamily=t,this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"fontSize",{get:function(){var t=this._fontComponents.fontSize;return t&&/(?:^0$|px$)/.exec(t)?parseInt(t,10):t},set:function(t){"number"==typeof(t=t||"0")&&(t+="px"),this._fontComponents.fontSize=t,this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"fontWeight",{get:function(){return this._fontComponents.fontWeight||"normal"},set:function(t){t=t||"normal",this._fontComponents.fontWeight=t,this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"fontStyle",{get:function(){return this._fontComponents.fontStyle||"normal"},set:function(t){t=t||"normal",this._fontComponents.fontStyle=t,this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"fontVariant",{get:function(){return this._fontComponents.fontVariant||"normal"},set:function(t){t=t||"normal",this._fontComponents.fontVariant=t,this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"fill",{get:function(){return this.style.fill},set:function(t){t!==this.style.fill&&(this.style.fill=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"align",{get:function(){return this.style.align},set:function(t){(t=t.toLowerCase())!==this.style.align&&(this.style.align=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"resolution",{get:function(){return this._res},set:function(t){t!==this._res&&(this._res=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"tabs",{get:function(){return this.style.tabs},set:function(t){t!==this.style.tabs&&(this.style.tabs=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"boundsAlignH",{get:function(){return this.style.boundsAlignH},set:function(t){(t=t.toLowerCase())!==this.style.boundsAlignH&&(this.style.boundsAlignH=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"boundsAlignV",{get:function(){return this.style.boundsAlignV},set:function(t){(t=t.toLowerCase())!==this.style.boundsAlignV&&(this.style.boundsAlignV=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"stroke",{get:function(){return this.style.stroke},set:function(t){t!==this.style.stroke&&(this.style.stroke=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"strokeThickness",{get:function(){return this.style.strokeThickness},set:function(t){t!==this.style.strokeThickness&&(this.style.strokeThickness=Number(t),this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"wordWrap",{get:function(){return this.style.wordWrap},set:function(t){t!==this.style.wordWrap&&(this.style.wordWrap=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"wordWrapWidth",{get:function(){return this.style.wordWrapWidth},set:function(t){t!==this.style.wordWrapWidth&&(this.style.wordWrapWidth=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"lineSpacing",{get:function(){return this._lineSpacing},set:function(t){t!==this._lineSpacing&&(this._lineSpacing=parseFloat(t),this.dirty=!0,this.parent&&this.updateTransform())}}),Object.defineProperty(e.Text.prototype,"shadowOffsetX",{get:function(){return this.style.shadowOffsetX},set:function(t){t!==this.style.shadowOffsetX&&(this.style.shadowOffsetX=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"shadowOffsetY",{get:function(){return this.style.shadowOffsetY},set:function(t){t!==this.style.shadowOffsetY&&(this.style.shadowOffsetY=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"shadowColor",{get:function(){return this.style.shadowColor},set:function(t){t!==this.style.shadowColor&&(this.style.shadowColor=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"shadowBlur",{get:function(){return this.style.shadowBlur},set:function(t){t!==this.style.shadowBlur&&(this.style.shadowBlur=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"shadowStroke",{get:function(){return this.style.shadowStroke},set:function(t){t!==this.style.shadowStroke&&(this.style.shadowStroke=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"shadowFill",{get:function(){return this.style.shadowFill},set:function(t){t!==this.style.shadowFill&&(this.style.shadowFill=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"width",{get:function(){return this.dirty&&(this.updateText(),this.dirty=!1),this.scale.x*(this.texture.frame.width/this.resolution)},set:function(t){this.scale.x=t/this.texture.frame.width,this._width=t}}),Object.defineProperty(e.Text.prototype,"height",{get:function(){return this.dirty&&(this.updateText(),this.dirty=!1),this.scale.y*(this.texture.frame.height/this.resolution)},set:function(t){this.scale.y=t/this.texture.frame.height,this._height=t}}),Object.defineProperty(e.Text.prototype,"testString",{get:function(){return this._testString},set:function(t){this._testString=t,this.updateText()}}),e.Text.fontPropertiesCache={},e.Text.fontPropertiesCanvas=document.createElement("canvas"),e.Text.fontPropertiesContext=e.Text.fontPropertiesCanvas.getContext("2d"),e.BitmapText=function(t,i,s,n,r,o,a){i=i||0,s=s||0,n=n||"",r=r||"",o=o||32,a=a||"left",PIXI.DisplayObjectContainer.call(this),this.type=e.BITMAPTEXT,this.physicsType=e.SPRITE,this.textWidth=0,this.textHeight=0,this.anchor=new e.Point,this._prevAnchor=new e.Point,this._glyphs=[],this._maxWidth=0,this._text=r.toString()||"",this._data=t.cache.getBitmapFont(n),this._font=n,this._fontSize=o,this._align=a,this._letterSpacing=0,this._tint=16777215,this.updateText(),this.dirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.BitmapText.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.BitmapText.prototype.constructor=e.BitmapText,e.Component.Core.install.call(e.BitmapText.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.BitmapText.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.BitmapText.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.BitmapText.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.BitmapText.prototype.preUpdateCore=e.Component.Core.preUpdate,e.BitmapText.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.BitmapText.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this.body&&this.body.type===e.Physics.ARCADE&&(this.textWidth===this.body.sourceWidth&&this.textHeight===this.body.sourceHeight||this.body.setSize(this.textWidth,this.textHeight))},e.BitmapText.prototype.setText=function(t){this.text=t},e.BitmapText.prototype.scanLine=function(t,e,i){for(var s=0,n=0,r=-1,o=0,a=null,h=this._maxWidth>0?this._maxWidth:null,l=[],c=0;c=h&&r>-1)return{width:o||n,text:i.substr(0,c-(c-r)),end:!1,chars:l};n+=(p.xAdvance+g+this.letterSpacing)*e,l.push(s+(p.xOffset+g+this.letterSpacing)*e),s+=(p.xAdvance+g+this.letterSpacing)*e,a=d}return{width:n,text:i,end:u,chars:l}},e.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(e.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),e.RetroFont=function(t,i,s,n,r,o,a,h,l,c){if(!t.cache.checkImageKey(i))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(i).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(i),this._text="",this.grabData=[],this.frameData=new e.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",e.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",e.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",e.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",e.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",e.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",e.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",e.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",e.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},e.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)},e.RetroFont.prototype.buildRetroFontText=function(){var t=0,i=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===e.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===e.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},e.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},e.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},e.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},e.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(e.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(e.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),e.Rope=function(t,i,s,n,r,o){this.points=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=e.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=e.Rope.TRIANGLE_STRIP,e.Component.Core.init.call(this,t,i,s,n,r),this.refresh()},e.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Rope.prototype.constructor=e.Rope,e.Component.Core.install.call(e.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Rope.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Rope.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Rope.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Rope.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Rope.TRIANGLE_STRIP=0,e.Rope.TRIANGLES=1,e.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},e.Rope.prototype.reset=function(t,i){return e.Component.Reset.prototype.reset.call(this,t,i),this},e.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;for(var n=t.length,r=0,o=0,a=0;a0){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=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,O=g*c+l*y+m*u-c*y-l*m-g*u,I=g*x*u+v*c*y+l*m*b-l*x*y-v*m*u-g*c*b,E=d*x+v*f+p*b-x*f-v*p-d*b,R=g*p+d*y+m*f-p*y-d*m-g*f,L=g*x*f+v*p*y+d*m*b-d*x*y-v*m*f-g*p*b;t.transform(M/k,E/k,O/k,R/k,I/k,L/k),t.drawImage(o,0,0),t.restore()},e.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nl?y:l,c=v>c?v:c}if(u===-1/0||c===1/0)return e.EmptyRectangle;var x=this._bounds;return x.x=u,x.width=l-u,x.y=d,x.height=c-d,this._currentBounds=x,x},Object.defineProperty(e.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(e.Rope.prototype,"segments",{get:function(){for(var t,i,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(e.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(e.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),e.CanvasPool={create:function(t,i,s){var n,r=e.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};e.CanvasPool.pool.push(o),n=o.canvas}else e.CanvasPool.pool[r].parent=t,n=e.CanvasPool.pool[r].canvas;return void 0!==i&&(n.width=i,n.height=s),n},getFirst:function(){for(var t=e.CanvasPool.pool,i=0;i=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&&i(),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=!!window.WebGLRenderingContext,s.worker=!!window.Worker,s.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,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=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var r=i.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]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.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"))},e.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))))))},e.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)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,r){i=i||256,s=s||256;var o=r?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=i,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,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),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 i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},setImageRenderingCrisp:function(t){for(var e=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","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=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=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}},e.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)},e.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(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.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)},e.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 e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.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 e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},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}},e.QuadTree.prototype.constructor=e.QuadTree,e.TweenManager=function(t){this.game=t,this._tweens=[],this._add=[],this.easeMap={Power0:e.Easing.Power0,Power1:e.Easing.Power1,Power2:e.Easing.Power2,Power3:e.Easing.Power3,Power4:e.Easing.Power4,Linear:e.Easing.Linear.None,Quad:e.Easing.Quadratic.Out,Cubic:e.Easing.Cubic.Out,Quart:e.Easing.Quartic.Out,Quint:e.Easing.Quintic.Out,Sine:e.Easing.Sinusoidal.Out,Expo:e.Easing.Exponential.Out,Circ:e.Easing.Circular.Out,Elastic:e.Easing.Elastic.Out,Back:e.Easing.Back.Out,Bounce:e.Easing.Bounce.Out,"Quad.easeIn":e.Easing.Quadratic.In,"Cubic.easeIn":e.Easing.Cubic.In,"Quart.easeIn":e.Easing.Quartic.In,"Quint.easeIn":e.Easing.Quintic.In,"Sine.easeIn":e.Easing.Sinusoidal.In,"Expo.easeIn":e.Easing.Exponential.In,"Circ.easeIn":e.Easing.Circular.In,"Elastic.easeIn":e.Easing.Elastic.In,"Back.easeIn":e.Easing.Back.In,"Bounce.easeIn":e.Easing.Bounce.In,"Quad.easeOut":e.Easing.Quadratic.Out,"Cubic.easeOut":e.Easing.Cubic.Out,"Quart.easeOut":e.Easing.Quartic.Out,"Quint.easeOut":e.Easing.Quintic.Out,"Sine.easeOut":e.Easing.Sinusoidal.Out,"Expo.easeOut":e.Easing.Exponential.Out,"Circ.easeOut":e.Easing.Circular.Out,"Elastic.easeOut":e.Easing.Elastic.Out,"Back.easeOut":e.Easing.Back.Out,"Bounce.easeOut":e.Easing.Bounce.Out,"Quad.easeInOut":e.Easing.Quadratic.InOut,"Cubic.easeInOut":e.Easing.Cubic.InOut,"Quart.easeInOut":e.Easing.Quartic.InOut,"Quint.easeInOut":e.Easing.Quintic.InOut,"Sine.easeInOut":e.Easing.Sinusoidal.InOut,"Expo.easeInOut":e.Easing.Exponential.InOut,"Circ.easeInOut":e.Easing.Circular.InOut,"Elastic.easeInOut":e.Easing.Elastic.InOut,"Back.easeInOut":e.Easing.Back.InOut,"Bounce.easeInOut":e.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},e.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,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_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)},destroy:function(){this.game.onPause.remove(this._pauseAll,this),this.game.onResume.remove(this._resumeAll,this),this.game=null,this._add=null,this._tweens=null}},e.TweenManager.prototype.constructor=e.TweenManager,e.Tween=function(t,i,s){this.game=i,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new e.Signal,this.onLoop=new e.Signal,this.onRepeat=new e.Signal,this.onChildComplete=new e.Signal,this.onComplete=new e.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},e.Tween.updateColor=function(t){e.Color.updateColor(t.target)},e.Tween.prototype={to:function(t,i,s,n,r,o,a){return(void 0===i||i<=0)&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).to(t,i,s,r,o,a)),n&&this.start(),this)},from:function(t,i,s,n,r,o,a){return void 0===i&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).from(t,i,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(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.deltaTotal},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.deltaTotal)},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.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])),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 e.TweenData.PENDING;this.isRunning=!0}var i=this.game.time.delta;this.parent.reverse?(this.dt-=i*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=i*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():e.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,e.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return e.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.deltaTotal,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,e.TweenData.LOOPED}},e.TweenData.prototype.constructor=e.TweenData,e.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){return 0===t?0:1===t?1:(.1,-1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4))},Out:function(t){return 0===t?0:1===t?1:(.1,1*Math.pow(2,-10*t)*Math.sin((t-.1)*(2*Math.PI)/.4)+1)},InOut:function(t){return 0===t?0:1===t?1:(.1,(t*=2)<1?1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*-.5:1*Math.pow(2,-10*(t-=1))*Math.sin((t-.1)*(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-e.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*e.Easing.Bounce.In(2*t):.5*e.Easing.Bounce.Out(2*t-1)+.5}}},e.Easing.Default=e.Easing.Linear.None,e.Easing.Power0=e.Easing.Linear.None,e.Easing.Power1=e.Easing.Quadratic.Out,e.Easing.Power2=e.Easing.Cubic.Out,e.Easing.Power3=e.Easing.Quartic.Out,e.Easing.Power4=e.Easing.Quintic.Out,e.Time=function(t){this.game=t,this.time=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.delta=0,this.deltaTotal=0,this.deltaMax=200,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=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 e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._timers=[]},e.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 i=new e.Timer(this.game,t);return this._timers.push(i),i},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){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},preUpdate:function(t){t*=1e3,this.delta=t,this.deltaTotal+=t,this.game.paused||(this.events.update(this.deltaTotal),this.updateTimers()),this.advancedTiming&&this.updates++},preRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted},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(e.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.desiredFpsMult=1/t}}),Object.defineProperty(e.Time.prototype,"desiredMinFps",{get:function(){return 1e3/this.deltaMax},set:function(t){this.deltaMax=1e3/t}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.Signal,this.nextTick=0,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=this.game.time?this.game.time.deltaTotal:0,this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,r,o){var a=(t=Math.round(t))+this._now,h=new e.TimerEvent(this,t,a,s,i,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.deltaTotal+(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._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.deltaTotal,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.deltaTotal,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.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},e.TimerEvent.prototype.constructor=e.TimerEvent,e.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=[]},e.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,i,s,n,r){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,r,this._outputFrames),this._anims[t]=new e.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}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},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(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},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)}}),e.Animation=function(t,i,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=i,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 e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.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.deltaTotal,this._timeNextFrame=this.game.time.deltaTotal+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.deltaTotal,this._timeNextFrame=this.game.time.deltaTotal+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=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(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||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.updateCurrentFrame(!1),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()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.deltaTotal:this.isPlaying&&(this._timeNextFrame=this.game.time.deltaTotal+this.delay)}}),Object.defineProperty(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.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(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,r){void 0===n&&(n="");var o=[],a="";if(i=s;h--)a=t+(a="number"==typeof r?e.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},e.Frame=function(t,i,s,n,r,o){this.index=t,this.x=i,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+o+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=e.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},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},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 e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.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 e.FrameData,i=0;if||h<-f)return console.error('Spritesheet "%s": skipFrames=%s is larger than the frame total %s',i,h,f),null;if(r>-1&&(v=(f=r)-1),d<1&&console.warn('Spritesheet "%s": Texture has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)',i,c,s+o+a,s,o,a),p<1&&console.warn('Spritesheet "%s": Texture has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)',i,u,n+o+a,n,o,a),0===g)return console.error('Spritesheet "%s": zero frames were produced',i),null;if(h>0?v=(y=h)+(f=Math.min(f,g-h))-1:h<0&&(y=(v=m+h)-(f=Math.min(f,g+h))+1),y<0)return console.error('Spritesheet "%s": There is no frame at index %s',i,y),null;if(v>m)return console.warn('Spritesheet "%s": There is no frame at index %s. Last frame found is index %s',i,v,m),null;for(var x=new e.FrameData,b=o,_=o,w=0,T=0;Tv);T++)T>=y&&x.addFrame(new e.Frame(w++,b,_,s,n,"")),(b+=s+a)+s>c&&(b=o,_+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,r=i.frames,o=0;o tag")}},e.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:{},data:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._cacheMap[e.Cache.DATA]=this._cache.data,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DATA=16,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in e.LoaderParser?e.LoaderParser[s](n):n,o={key:t,url:i,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new e.Frame(0,0,0,r.width,r.height,t),frameData:new e.FrameData,fileFormat:s};return o.frameData.addFrame(new e.Frame(0,0,0,r.width,r.height,i)),this._cache.image[t]=o,this._resolveURL(i,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,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.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(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.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,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,r,o,a){var h={url:i,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?e.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,r,o,a){var h=this.getFrameByName(i,s);if(h){var l={font:null,base:this.getBaseTexture(i),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var c;"json"===r?(c=this.getJSON(n),l.font=e.LoaderParser.jsonBitmapFont(c,l.base,o,a,h,this.game.resolution)):(c=this.getXML(n),l.font=e.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,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,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:i,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=c,this._resolveURL(i,c)},addTextureAtlas:function(t,i,s,n,r){var o={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===e.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=e.AnimationParser.XMLData(this.game,n,t):r===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=e.AnimationParser.JSONData(this.game,n,t):o.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(i,o)},addData:function(t,e){this._cache.data[t]=e},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 i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.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(e.Cache.CANVAS,t)},checkDataKey:function(t){return this.checkKey(e.Cache.DATA,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.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,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var r=n[i];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+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getData:function(t){return this.getItem(t,e.Cache.DATA,"getData")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},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=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},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]},removeData:function(t){delete this._cache.data[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.",i),t._ready())},e.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)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.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 e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.Signal,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},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.mediaTypes={avif:"image/avif",bmp:"image/bmp",cur:"image/x-icon",gif:"image/gif",ico:"image/x-icon",jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",svg:"image/svg+xml",tif:"image/tiff",tiff:"image/tiff",webp:"image/webp"},e.Loader.getMediaType=function(t){var i=t.match(/\.(\w+)$/);return i?e.Loader.mediaTypes[i[1]]||null:null},e.Loader._getSource=function(t){return"string"==typeof t?{url:t,type:e.Loader.getMediaType(t)}:t},e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.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.game.state&&(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.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 i=t.data[t.key];if(i)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()},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,i){if(this.game.isBooted){var s=!0;switch(t.type){case"packfile":r=JSON.parse(i.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,i.response);break;case"image":case"imageset":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===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.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=i.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=i.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=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(i.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=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.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(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.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;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=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]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),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}},e.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])},e.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]}},e.AudioSprite.prototype.constructor=e.AudioSprite,e.Sound=function(t,i,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=i,this.key=i,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.playOnce=!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._pendingStart=!1,this._removeFromSoundManager=!1,this._sourceId=0,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,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(i)&&this.game.cache.isSoundReady(i)?(this._sound=this.game.cache.getSoundData(i),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new e.Signal,this.onPlay=new e.Signal,this.onPause=new e.Signal,this.onResume=new e.Signal,this.onLoop=new e.Signal,this.onStop=new e.Signal,this.onMute=new e.Signal,this.onMarkerComplete=new e.Signal,this.onFadeComplete=new e.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},e.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&&(this._removeOnEndedHandler(),this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),this._markedToDelete&&(this._disconnectSource(),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(){if(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));var t=this.game.time.time;if(this.isPlaying){if(this._pendingStart){var e=this._sound.currentTime;if(!(e>((this.paused?this._tempPause:0)||this.position||0)))return;this._pendingStart=!1,this.startTime=t-1e3*e,this.stopTime=this.startTime+this.durationMS}this.currentTime=t-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=t,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0,!1))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=t),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0,!1)):this.stop())}}else this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n,r){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),void 0===r&&(r=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0),this.isPlaying=!1),""===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._createSourceAndConnect(),this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||this._addOnEndedHandler(),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),this.loop&&""===t?this._startSource(0,0):this._startSource(0,this.position,this.duration),this.isPlaying=!0,this.paused=!1,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&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._sound.loop=this.loop,this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._globalVolume=this.game.sound.volume,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._globalVolume,this._pendingStart=!this.currentMarker,this.isPlaying=!0,this.paused=!1,this._tempPause=0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&this.onPlay.dispatch(this)):this.pendingPlayback=!0,this.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!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.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){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._createSourceAndConnect(),""===this.currentMarker&&(this.loop?this._sound.loop=!0:this._addOnEndedHandler());var e=this.duration-this.pausedPosition/1e3;this.loop&&""===this.currentMarker?this._startSource(0,t):this._startSource(0,t,e)}else this._pendingStart=!this.currentMarker,this._sound.currentTime=this._tempPause,this._tempPause=0,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&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0)),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,i){this.isPlaying&&!this.paused&&i!==this.volume&&(void 0===t&&(t=1e3),void 0!==i?(this.fadeTween=this.game.add.tween(this).to({volume:i},t,e.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())},_createSourceAndConnect:function(){this._sound=this.context.createBufferSource(),this._sound.connect(this.externalNode||this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this._sourceId++},_disconnectSource:function(){this._sound.disconnect(this.externalNode||this.gainNode)},_startSource:function(t,e,i){void 0===i?this._sound.start(t||0,e||0):this._sound.start(t||0,e||0,i)},_stopSourceAndDisconnect:function(){this._removeOnEndedHandler();try{this._sound.stop(0)}catch(t){}this._disconnectSource(),this._sound=null},_addOnEndedHandler:function(){this._sound.onended=this.onEndedHandler.bind(this)},_removeOnEndedHandler:function(){this._sound.onended=null}},e.Sound.prototype.constructor=e.Sound,Object.defineProperty(e.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(e.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(e.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(e.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))}}),Object.defineProperty(e.Sound.prototype,"sourceId",{get:function(){return this._sound?this._sourceId:null}}),e.SoundManager=function(t){this.game=t,this.onSoundDecode=new e.Signal,this.onVolumeChange=new e.Signal,this.onMute=new e.Signal,this.onUnMute=new e.Signal,this.onTouchUnlock=new e.Signal,this.onStateChange=new e.Signal,this.context=null,this.baseLatency=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 e.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null,this._onClick=this._onClick.bind(this),this._onStateChange=this._onStateChange.bind(this)},e.SoundManager.prototype={boot:function(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,this.baseLatency=this.context.baseLatency||256/(this.context.sampleRate||44100),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.context.onstatechange=this._onStateChange,"suspended"===this.context.state&&this.game.canvas.addEventListener("click",this._onClick);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},webAudioIsSuspended:function(){return this.usingWebAudio&&"suspended"===this.context.state},resumeWebAudio:function(){if(this.usingWebAudio)return this.context.resume()},resumeWebAudioIfSuspended:function(){if(this.webAudioIsSuspended())return this.context.resume()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();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);var e=this;this._unlockSource.onended=function(){e.setTouchUnlock(),e.resumeWebAudioIfSuspended()},void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudioIfSuspended()}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 i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==i||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))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.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(e.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(e.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(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),e.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px monospace",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},e.Utils.Debug.GEOM_AUTO=0,e.Utils.Debug.GEOM_RECTANGLE=1,e.Utils.Debug.GEOM_CIRCLE=2,e.Utils.Debug.GEOM_POINT=3,e.Utils.Debug.GEOM_LINE=4,e.Utils.Debug.GEOM_ELLIPSE=5,e.Utils.Debug.prototype={boot:function(){this.game.renderType===e.CANVAS?this.context=this.game.context:(this.bmd=new e.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=e.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new e.Line,this._rect=new e.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;e ")+o):o===s._pendingState?this.line("+ "+o):this.line(" "+o)}this.stop()},sound:function(t,e,i){var s=this.game.sound;this.start(t,e,i),s.noAudio?this.line("Audio is disabled"):(this.line("Volume: "+s.volume.toFixed(2)+(s.mute?" (Mute)":"")),this.line("Mute on pause: "+s.muteOnPause),this.line("Using: "+(s.usingWebAudio?"Web Audio - "+s.context.state:"Audio Tag")),this.line("Touch locked: "+s.touchLocked),this.line("Sounds: "+s._sounds.length)),this.stop()},soundInfo:function(t,e,i,s){if(this.start(e,i,s),this.line("Sound: "+t.key+" Touch locked: "+t.game.sound.touchLocked),this.line("Is Ready?: "+this.game.cache.isSoundReady(t.key)+" Pending Playback: "+t.pendingPlayback),this.line("Decoded: "+t.isDecoded+" Decoding: "+t.isDecoding),this.line("Playing: "+t.isPlaying+" Loop: "+t.loop),this.line("Time: "+(t.currentTime/1e3).toFixed(3)+"s Total: "+t.totalDuration.toFixed(3)+"s"),this.line("Volume: "+t.volume.toFixed(2)+(t.mute?" (Mute)":"")),this.line("Using: "+(t.usingWebAudio?"Web Audio":"Audio Tag")),t.usingWebAudio&&this.line(" Source: "+(t.sourceId||"none")),t.usingAudioTag&&t._sound){var n=t._sound;this.line(" currentSrc: "+n.currentSrc),this.line(" currentTime: "+n.currentTime),this.line(" duration: "+n.duration),this.line(" ended: "+n.ended),this.line(" loop: "+n.loop),this.line(" muted: "+n.muted),this.line(" paused: "+n.paused)}""!==t.currentMarker&&(this.line("Marker: "+t.currentMarker+" Duration: "+t.duration.toFixed(3)+"s ("+t.durationMS+"ms)"),this.line("Start: "+t.markers[t.currentMarker].start.toFixed(3)+" Stop: "+t.markers[t.currentMarker].stop.toFixed(3)),this.line("Position: "+t.position.toFixed(3))),this.stop()},camera:function(t,e,i){var s=t.deadzone,n=t.target,r=t.view;s&&(this._rect.setTo(r.x+s.x,r.y+s.y,s.width,s.height),this.rectangle(this._rect,e,i)),n&&(this._line.setTo(r.centerX,r.centerY,n.x,n.y),this.geom(this._line,e,i),this.geom(n,e,!1,3))},cameraInfo:function(t,e,i,s){var n=t.bounds,r=t.deadzone,o=t.target,a=t.view;this.start(e,i,s),this.line("Camera ("+t.width+" x "+t.height+")"),this.line("x: "+t.x+" y: "+t.y),this.line("Bounds: "+(n?"x: "+n.x+" y: "+n.y+" w: "+n.width+" h: "+n.height:"none")),this.line("View: x: "+a.x+" y: "+a.y+" w: "+a.width+" h: "+a.height),this.line("Center: x: "+t.centerX+" y: "+t.centerY),this.line("Deadzone: "+(r?"x: "+r.x+" y: "+r.y+" w: "+r.width+" h: "+r.height:r)),this.line("Total in view: "+t.totalInView),this.line("At limit: x: "+t.atLimit.x+" y: "+t.atLimit.y),this.line("Target: "+(o?o.name||o:"none")),this.stop()},timer:function(t,e,i,s){this.start(e,i,s),this.line("Timer (running: "+t.running+" expired: "+t.expired+")"),this.line("Next Tick: "+t.next+" Duration: "+t.duration),this.line("Paused: "+t.paused+" Length: "+t.length),this.stop()},pointer:function(t,e,i,s,n,r){if(null!=t&&(void 0===e&&(e=!1),i=i||"rgba(0,255,0,0.5)",s=s||"rgba(255,255,0,0.5)",r=r||"rgba(255,0,0,0.5)",!0!==e||!0!==t.isUp)){this.start(t.x,t.y-150,n),this.context.beginPath(),this.context.arc(t.x,t.y,t.circle.radius,0,2*Math.PI),t.active?this.context.fillStyle=t.isDown?i:s:this.context.fillStyle=r,this.context.fill(),this.context.closePath(),this.context.beginPath(),this.context.moveTo(t.positionDown.x,t.positionDown.y),this.context.lineTo(t.position.x,t.position.y),this.context.lineWidth=2,this.context.stroke(),this.context.closePath();var o=t.movementX,a=t.movementY;(o||a)&&(this.context.beginPath(),this.context.moveTo(o+t.position.x,a+t.position.y),this.context.lineTo(t.position.x,t.position.y),this.context.lineWidth=2,this.context.stroke(),this.context.closePath()),this.line("ID: "+t.id+" Active: "+t.active),this.line("World X: "+t.worldX.toFixed(1)+" World Y: "+t.worldY.toFixed(1)),this.line("Screen X: "+t.x.toFixed(1)+" Screen Y: "+t.y.toFixed(1)+" In: "+t.withinGame),this.line("Movement: X: "+o+" Y: "+a),this.line("Duration: "+t.duration+" ms"),this.line("is Down: "+t.isDown+" is Up: "+t.isUp),this.line("Identifier: "+t.identifier+" Pointer ID: "+t.pointerId),t.isMouse&&this.line("Buttons: "+this._pointerButtonIcon(t.leftButton)+" "+this._pointerButtonIcon(t.middleButton)+" "+this._pointerButtonIcon(t.rightButton)),this.stop()}},_pointerButtonIcon:function(t){return t.isDown?"x":t.isUp?"o":"-"},spriteInputInfo:function(t,e,i,s){this.start(e,i,s),this.line("Sprite Input: ("+t.width+" x "+t.height+")"),this.line("x: "+t.input.pointerX().toFixed(1)+" y: "+t.input.pointerY().toFixed(1)),this.line("over: "+t.input.pointerOver()+" duration: "+t.input.overDuration().toFixed(0)),this.line("down: "+t.input.pointerDown()+" duration: "+t.input.downDuration().toFixed(0)),this.line("just over: "+t.input.justOver()+" just out: "+t.input.justOut()),this.stop()},key:function(t,e,i,s){this.start(e,i,s,150),this.line("Key:",t.keyCode,"isDown:",t.isDown),this.line("justDown:",t.justDown,"justUp:",t.justUp),this.line("Time Down:",t.timeDown.toFixed(0),"duration:",t.duration.toFixed(0)),this.stop()},inputInfo:function(t,i,s,n){var r=this.game.input;if(void 0===n&&(n=!0),this.start(t,i,s),this.line("Input"),this.line("X: "+r.x+" Y: "+r.y),this.line("World X: "+r.worldX+" World Y: "+r.worldY),this.line("Scale X: "+r.scale.x.toFixed(2)+" Scale Y: "+r.scale.x.toFixed(2)),this.line("Screen X: "+r.activePointer.screenX.toFixed(1)+" Screen Y: "+r.activePointer.screenY.toFixed(1)),n){this.line("Sources:"),this.line(" "+this._inputHandler(r.mouse,"mouse")),this.line(" "+this._inputHandler(r.mspointer,"mspointer")),this.line(" "+this._inputHandler(r.touch,"touch"));var o=r.pointers,a=r.mousePointer,h=e.PointerModes,l=0,c=0;this.line("Pointers:"),this.line(" "+(a.isDown?"x":"o")+" "+h[a.pointerMode]+" "+a.identifier);for(var u=0;u0)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 e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=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(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.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(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:r}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.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(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.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,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},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,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var r=Math.min(t,i,s),o=Math.max(t,i,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=(i-s)/a+(i1&&(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,i,s,n,r,o,a,h){var l={r:t||0,g:i||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 e.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.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,i,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){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);i?(i.r=n,i.g=r,i.b=o):i=e.Color.createColor(n,r,o)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);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=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.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=e.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return e.Color.getColor32(r,l,c,u)},interpolateColorWithRGB:function(t,i,s,n,r,o){var a=e.Color.getRGB(t),h=(i-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,c=(n-a.blue)*o/r+a.blue;return e.Color.getColor(h,l,c)},interpolateRGB:function(t,i,s,n,r,o,a,h){var l=(n-t)*h/a+t,c=(r-i)*h/a+i,u=(o-s)*h/a+s;return e.Color.getColor(l,c,u)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t));return e.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 i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.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,i){return e.Color.blendOverlay(i,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,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.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()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.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}},e.Physics.prototype.constructor=e.Physics,e.Physics.Arcade=function(t){this.game=t,this.gravity=new e.Point,this.bounds=new e.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=e.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new e.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()},e.Physics.Arcade.prototype.constructor=e.Physics.Arcade,e.Physics.Arcade.SORT_NONE=0,e.Physics.Arcade.LEFT_RIGHT=1,e.Physics.Arcade.RIGHT_LEFT=2,e.Physics.Arcade.TOP_BOTTOM=3,e.Physics.Arcade.BOTTOM_TOP=4,e.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,i){void 0===i&&(i=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof e.Group?this.enable(t[s].children,i):(this.enableBody(t[s]),i&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof e.Group?this.enable(t.children,i):(this.enableBody(t),i&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.Arcade.Body(t),t.parent&&t.parent instanceof e.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+=.001*t.angularVelocity*this.game.time.delta}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+=.001*(this.gravity.x+e.gravity.x)*this.game.time.delta:2===t&&e.allowGravity&&(i+=.001*(this.gravity.y+e.gravity.y)*this.game.time.delta),s?i+=.001*s*this.game.time.delta:n&&e.allowDrag&&(i-(n*=.001*this.game.time.delta)>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,i){null!==t.physicsSortDirection?i=t.physicsSortDirection:void 0===i&&(i=this.sortDirection),i===e.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):i===e.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):i===e.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):i===e.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===e.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(i);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===e.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,i,s,n,r)}}}}},collideGroupVsGroup:function(t,i,s,n,r,o){if(0!==t.length&&0!==i.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)=i.right)&&!(t.position.y>=i.bottom))))},circleBodyIntersects:function(t,i){var s=e.Math.clamp(t.center.x,i.left,i.right),n=e.Math.clamp(t.center.y,i.top,i.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,i,s){this.getOverlapX(t,i),this.getOverlapY(t,i);var n=i.center.x-t.center.x,r=i.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==i.isCircle){var h={x:i.isCircle?t.position.x:i.position.x,y:i.isCircle?t.position.y:i.position.y,right:i.isCircle?t.right:i.right,bottom:i.isCircle?t.bottom:i.bottom},l={x:t.isCircle?t.center.x:i.center.x,y:t.isCircle?t.center.y:i.center.y,radius:t.isCircle?t.halfWidth:i.halfWidth};l.yh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+i.halfWidth-e.Math.distance(t.center.x,t.center.y,i.center.x,i.center.y);if(s||0===a||t.immovable&&i.immovable||t.customSeparateX||i.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,i.sprite),i.onOverlap&&i.onOverlap.dispatch(i.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:i.velocity.x*Math.cos(o)+i.velocity.y*Math.sin(o),y:-i.velocity.x*Math.sin(o)+i.velocity.y*Math.cos(o)},d=((t.mass-i.mass)*c.x+2*i.mass*u.x)/(t.mass+i.mass),p=(2*t.mass*c.x+(i.mass-t.mass)*u.x)/(t.mass+i.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),i.immovable||(i.velocity.x=(p*Math.cos(o)-u.y*Math.sin(o))*i.bounce.x,i.velocity.y=(u.y*Math.cos(o)+p*Math.sin(o))*i.bounce.y),Math.abs(o)0&&!t.immovable&&i.velocity.x>t.velocity.x?t.velocity.x*=-1:i.velocity.x<0&&!i.immovable&&t.velocity.x0&&!t.immovable&&i.velocity.y>t.velocity.y?t.velocity.y*=-1:i.velocity.y<0&&!i.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&i.velocity.x0&&!i.immovable&&t.velocity.x>i.velocity.x?i.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&i.velocity.y0&&!i.immovable&&t.velocity.x>i.velocity.y&&(i.velocity.y*=-1)),t.immovable||(t.x+=.001*t.velocity.x*this.game.time.delta-a*Math.cos(o),t.y+=.001*t.velocity.y*this.game.time.delta-a*Math.sin(o)),i.immovable||(i.x+=.001*i.velocity.x*this.game.time.delta+a*Math.cos(o),i.y+=.001*i.velocity.y*this.game.time.delta+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,i.sprite),i.onCollide&&i.onCollide.dispatch(i.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,i,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 e.Rectangle(t,i,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(s=this.distanceBetween(t,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},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,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i,!0)},velocityFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},accelerationFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},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,s){void 0===i&&(i=!1);var n,r;return s?(n=t.centerX-e.centerX,r=t.centerY-e.centerY):i?(n=t.world.x-e.world.x,r=t.world.y-e.world.y):(n=t.x-e.x,r=t.y-e.y),Math.sqrt(n*n+r*r)},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,s){for(var n=1/0,r=null,o=0,a=e.length;on&&(r=h,n=l)}return r},angleBetween:function(t,i,s){return void 0===s&&(s=!1),s?e.Point.angle(i.world,t.world):e.Point.angle(i,t)},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)}},e.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=e.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new e.Point,this.position=new e.Point(t.x,t.y),this.prev=new e.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 e.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new e.Point,this.newVelocity=new e.Point,this.deltaMax=new e.Point,this.acceleration=new e.Point,this.allowDrag=!0,this.drag=new e.Point,this.allowGravity=!0,this.gravity=new e.Point,this.bounce=new e.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new e.Point(1e4,1e4),this.friction=new e.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=e.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 e.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 e.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},e.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(.001*this.velocity.x*this.game.time.delta,.001*this.velocity.y*this.game.time.delta),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=this.velocity.atan()),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.delta,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=e.LEFT:this.deltaX()>0&&(this.facing=e.RIGHT),this.deltaY()<0?this.facing=e.UP:this.deltaY()>0&&(this.facing=e.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,i,s){var n=i/(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),i=Math.abs(i),this.moveDuration=0,this.moveDistance=i,null===this.moveTarget&&(this.moveTarget=new e.Line,this.moveEnd=new e.Point),this.moveTarget.fromAngle(this.x,this.y,r,i),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,i){return this.isCircle?e.Circle.contains(this,t,i):e.Rectangle.contains(this,t,i)},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 e.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(e.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),e.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)},e.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)},e.Physics.Arcade.Body.prototype.constructor=e.Physics.Arcade.Body,e.Physics.Arcade.TilemapCollision=function(){},e.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}},e.Utils.mixinPrototype(e.Physics.Arcade.prototype,e.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,e.Physics.P2=function(t,i){this.game=t,void 0===i?i={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(i.hasOwnProperty("gravity")||(i.gravity=[0,0]),i.hasOwnProperty("broadphase")||(i.broadphase=new p2.SAPBroadphase)),this.config=i,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new e.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new e.Signal,this.onBodyRemoved=new e.Signal,this.onSpringAdded=new e.Signal,this.onSpringRemoved=new e.Signal,this.onConstraintAdded=new e.Signal,this.onConstraintRemoved=new e.Signal,this.onContactMaterialAdded=new e.Signal,this.onContactMaterialRemoved=new e.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new e.Signal,this.onEndContact=new e.Signal,i.hasOwnProperty("mpx")&&i.hasOwnProperty("pxm")&&i.hasOwnProperty("mpxi")&&i.hasOwnProperty("pxmi")&&(this.mpx=i.mpx,this.mpxi=i.mpxi,this.pxm=i.pxm,this.pxmi=i.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.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)},e.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,i,s){void 0===i&&(i=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof e.Group?this.enable(t[n].children,i,s):(this.enableBody(t[n],i),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],i,!0));else t instanceof e.Group?this.enable(t.children,i,s):(this.enableBody(t,i),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,i,!0))},enableBody:function(t,i){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=i,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(.001*this.game.time.delta):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.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 e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,i,s,n,r,o){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.DistanceConstraint(this,t,i,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,i,s,n){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.GearConstraint(this,t,i,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,i,s,n,r,o){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new e.Physics.P2.RevoluteConstraint(this,t,i,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,i,s,n,r){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.LockConstraint(this,t,i,s,n,r));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,i,s,n,r,o,a){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.PrismaticConstraint(this,t,i,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,i){t=t||"";var s=new e.Physics.P2.Material(t);return this.materials.push(s),void 0!==i&&i.setMaterial(s),s},createContactMaterial:function(t,i,s){void 0===t&&(t=this.createMaterial()),void 0===i&&(i=this.createMaterial());var n=new e.Physics.P2.ContactMaterial(t,i,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 e.Physics.P2.Body?t.data:t.body&&t.body.type===e.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,i,s,n){void 0===i&&(i=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=i.length;a--;)i[a]instanceof e.Physics.P2.Body&&(!n||i[a].data.type!==p2.Body.STATIC)?o.push(i[a].data):i[a]instanceof p2.Body&&i[a].parent&&(!n||i[a].type!==p2.Body.STATIC)?o.push(i[a]):i[a]instanceof e.Sprite&&i[a].hasOwnProperty("body")&&(!n||i[a].body.data.type!==p2.Body.STATIC)&&o.push(i[a].body.data);return this.world.hitTest(r,o,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var i=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|i),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|i),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|i),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|i),this._collisionGroupID++;var s=new e.Physics.P2.CollisionGroup(i);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,i){if(t instanceof e.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(e.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(e.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(e.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(e.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(e.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(e.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(e.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(e.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(e.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),e.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},e.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}},e.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.PointProxy.prototype.constructor=e.Physics.P2.PointProxy,Object.defineProperty(e.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(e.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(e.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(e.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),e.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.InversePointProxy.prototype.constructor=e.Physics.P2.InversePointProxy,Object.defineProperty(e.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(e.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(e.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),e.Physics.P2.Body=function(t,i,s,n,r){i=i||null,s=s||0,n=n||0,void 0===r&&(r=1),this.game=t,this.world=t.physics.p2,this.sprite=i,this.type=e.Physics.P2JS,this.offset=new e.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:r}),this.data.parent=this,this.velocity=new e.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new e.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new e.Point,this.onBeginContact=new e.Signal,this.onEndContact=new e.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,i&&(this.setRectangleFromSprite(i),i.exists&&this.game.physics.p2.addBody(this))},e.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;n=0?dp;n=p>=0?++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"}}),e.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},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.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},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},e.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),e.Physics.P2.Material.prototype.constructor=e.Physics.P2.Material,e.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},e.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),e.Physics.P2.ContactMaterial.prototype.constructor=e.Physics.P2.ContactMaterial,e.Physics.P2.CollisionGroup=function(t){this.mask=t},e.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)},e.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),e.Physics.P2.DistanceConstraint.prototype.constructor=e.Physics.P2.DistanceConstraint,e.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)},e.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),e.Physics.P2.GearConstraint.prototype.constructor=e.Physics.P2.GearConstraint,e.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)},e.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),e.Physics.P2.LockConstraint.prototype.constructor=e.Physics.P2.LockConstraint,e.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)},e.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),e.Physics.P2.PrismaticConstraint.prototype.constructor=e.Physics.P2.PrismaticConstraint,e.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)},e.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),e.Physics.P2.RevoluteConstraint.prototype.constructor=e.Physics.P2.RevoluteConstraint,e.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},e.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}},e.Tile.prototype.constructor=e.Tile,Object.defineProperty(e.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(e.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(e.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(e.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(e.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(e.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),e.Tilemap=function(t,i,s,n,r,o){this.game=t,this.key=i;var a=e.TilemapParser.parse(this.game,i,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.objectsMap=a.objectsMap,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)},e.Tilemap.CSV=0,e.Tilemap.TILED_JSON=1,e.Tilemap.NORTH=0,e.Tilemap.EAST=1,e.Tilemap.SOUTH=2,e.Tilemap.WEST=3,e.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,i,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!==i&&null!==i||(i=t),e.BitmapData&&i instanceof e.BitmapData)h=i.canvas;else{if(!this.game.cache.checkImageKey(i))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+i+'"'),null;h=this.game.cache.getImage(i)}var l=this.getTilesetIndex(t);if(null===l&&this.format===e.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),console.log("Tilesets: ",this.tilesets),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new e.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)return console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"'),void console.log("Layers: ",this.layers);void 0===i||i<=0?i=Math.min(this.game.width,this.layers[r].widthInPixels):i>this.game.width&&(i=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:",i,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new e.TilemapLayer(this.game,this,r,i,s));return this.enableDebug&&console.groupEnd(),o},createBlankLayer:function(t,i,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:i,height:s,widthInPixels:i*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 e.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,i,s){if(s=this.getLayer(s),t>=0&&t=0&&i=0&&i=0&&s-1?this.layers[n].data[s][i].setCollision(!0,!0,!0,!0):this.layers[n].data[s][i].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][i]}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,n){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var r,o,a=0,h=this.layers[s].height,l=this.layers[s].width,c=this.layers[s].data;if(n)var u=[];if(i)for(d=h-1;d>=0;d--){r=c[d];for(p=l-1;p>=0;p--)if((o=r[p]).index===t)if(a>=e){if(!n)return o;u.push(o)}else a++}else for(var d=0;d=e){if(!n)return o;u.push(o)}else a++}return n?u:null},getTile:function(t,e,i,s){return void 0===s&&(s=!1),i=this.getLayer(i),t>=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}},e.Tilemap.prototype.constructor=e.Tilemap,Object.defineProperty(e.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),e.TilemapLayer=function(t,i,s,n,r){n|=0,r|=0,e.Sprite.call(this,t,0,0),this.map=i,this.index=s,this.layer=i.layers[s],this.canvas=e.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=e.TILEMAPLAYER,this.physicsType=e.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:i.tileWidth,tileHeight:i.tileHeight,cw:i.tileWidth,ch:i.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new e.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=e.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},e.TilemapLayer.prototype=Object.create(e.Sprite.prototype),e.TilemapLayer.prototype.constructor=e.TilemapLayer,e.TilemapLayer.prototype.preUpdateCore=e.Component.Core.preUpdate,e.TilemapLayer.sharedCopyCanvas=null,e.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=e.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},e.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},e.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},e.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)},e.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)},e.TilemapLayer.prototype.destroy=function(){e.CanvasPool.remove(this),e.Component.Destroy.prototype.destroy.call(this)},e.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},e.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},e.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},e.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},e.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)},e.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},e.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)},e.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},e.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},e.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},e.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},e.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))}}}},e.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)}},e.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)},e.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(e.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),e.TilemapParser={INSERT_NULL:!1,parse:function(t,i,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===i)return this.getEmptyData();if(null===i)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(i);if(a){if(a.format===e.Tilemap.CSV)return this.parseCSV(i,a.data,s,n);if(!a.format||a.format===e.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn('No map data found for key "%s"',i)},parseCSV:function(t,i,s,n){for(var r=this.getEmptyData(),o=[],a=(i=i.trim()).split("\n"),h=a.length,l=0,c=0;c>>0;r.data=h,delete r.encoding}else if(r.compression){console.warn('Layer compression is unsupported, skipping layer "%s".',r.name);continue}B={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&&(B.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 e.Tile(B,A,p,g.length,t.tilewidth,t.tileheight)).rotation=c,F.flipped=u,0!==d&&(F.flippedVal=d),f.push(F)):e.TilemapParser.INSERT_NULL?f.push(null):f.push(new e.Tile(B,-1,p,g.length,t.tilewidth,t.tileheight)),++p===r.width&&(g.push(f),p=0,f=[])}B.data=g,s.push(B)}i.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t0?this.scale.set(this.scaleData[t].x,this.scaleData[t].y):this.autoScale=!1}if(this.autoAlpha){this._a-=.001*this.game.time.delta*this.autoAlphaFps;var e=Math.round(this._a);e>0?this.alpha=this.alphaData[e].v:this.autoAlpha=!1}},e.Particle.prototype.onEmit=function(){},e.Particle.prototype.setAlphaData=function(t,e){this.alphaData=t,this._a=t.length-1,this.alpha=this.alphaData[this._a].v,this.autoAlpha=!0,this.autoAlphaFps=e},e.Particle.prototype.setScaleData=function(t,e){this.scaleData=t,this._s=t.length-1,this.scale.set(this.scaleData[this._s].x,this.scaleData[this._s].y),this.autoScale=!0,this.autoScaleFps=e},e.Particle.prototype.reset=function(t,i,s){return e.Component.Reset.prototype.reset.call(this,t,i,s),this.alpha=1,this.scale.set(1),this.autoScale=!1,this.autoAlpha=!1,this},e.Particles=function(t){this.game=t,this.emitters={},this.ID=0},e.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]}},e.Particles.prototype.constructor=e.Particles,e.Particles.Arcade={},e.Particles.Arcade.Emitter=function(t,i,s,n){this.maxParticles=n||50,e.Group.call(this,t),this._id=this.game.particles.ID++,this.name="emitter"+this.id,this.type=e.EMITTER,this.physicsType=e.GROUP,this.area=new e.Rectangle(i,s,1,1),this.minAngle=null,this.maxAngle=null,this.minSpeed=0,this.maxSpeed=100,this.minParticleSpeed=new e.Point(-100,-100),this.maxParticleSpeed=new e.Point(100,100),this.minParticleScale=1,this.maxParticleScale=1,this.scaleData=null,this.minRotation=-360,this.maxRotation=360,this.minParticleAlpha=1,this.maxParticleAlpha=1,this.alphaData=null,this.particleClass=e.Particle,this.particleDrag=new e.Point,this.angularDrag=0,this.frequency=100,this.lifespan=2e3,this.bounce=new e.Point,this.on=!1,this.particleAnchor=new e.Point(.5,.5),this.blendMode=e.blendModes.NORMAL,this.emitX=i,this.emitY=s,this.autoScale=!1,this.autoScaleFps=this.game.time.desiredFps,this.autoAlpha=!1,this.autoAlphaFps=this.game.time.desiredFps,this.particleBringToTop=!1,this.particleSendToBack=!1,this.counts={emitted:0,failed:0,totalEmitted:0,totalFailed:0},this._gravity=new e.Point(0,100),this._minParticleScale=new e.Point(1,1),this._maxParticleScale=new e.Point(1,1),this._total=0,this._timer=0,this._counter=0,this._flowQuantity=0,this._flowTotal=0,this._explode=!0,this._frames=null},e.Particles.Arcade.Emitter.prototype=Object.create(e.Group.prototype),e.Particles.Arcade.Emitter.prototype.constructor=e.Particles.Arcade.Emitter,e.Particles.Arcade.Emitter.prototype.update=function(){if(this.counts.emitted=0,this.counts.failed=0,this.on&&this.game.time.deltaTotal>=this._timer)if(this._timer=this.game.time.deltaTotal+this.frequency,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()},e.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.deltaTotal+e):this.start(!1,t,e,i),this},e.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},e.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},e.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,this.autoScaleFps):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,this.autoAlphaFps):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()},e.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),e.Group.prototype.destroy.call(this,!0,!1)},e.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},e.Particles.Arcade.Emitter.prototype.setSpeed=function(t,e,i,s){return this.setXSpeed(t,e),this.setYSpeed(i,s),this},e.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},e.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},e.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},e.Particles.Arcade.Emitter.prototype.setAlpha=function(t,i,s,n,r){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=0),void 0===n&&(n=e.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=i,this.autoAlpha=!1,s>0&&t!==i){var o={v:t},a=this.game.make.tween(o).to({v:i},s,n);a.yoyo(r),this.alphaData=a.generateData(this.game.time.desiredFps),this.autoAlphaFps=this.game.time.desiredFps,this.alphaData.reverse(),this.autoAlpha=!0}return this},e.Particles.Arcade.Emitter.prototype.setScale=function(t,i,s,n,r,o,a){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=e.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(i,n),this.autoScale=!1,r>0&&(t!==i||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:i,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(this.game.time.desiredFps),this.autoScaleFps=this.game.time.desiredFps,this.scaleData.reverse(),this.autoScale=!0}return this},e.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},e.Particles.Arcade.Emitter.prototype.setGravity=function(t,e){return t=t||0,e=e||0,this._gravity.set(t,e),this},e.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(e.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(e.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),e.Weapon=function(t,i){e.Plugin.call(this,t,i),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new e.Rectangle(0,0,1,1),this.fireAngle=e.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 e.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=e.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=e.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new e.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new e.Signal,this.onKill=new e.Signal,this.onFireLimit=new e.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new e.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new e.Point},e.Weapon.prototype=Object.create(e.Plugin.prototype),e.Weapon.prototype.constructor=e.Weapon,e.Weapon.KILL_NEVER=0,e.Weapon.KILL_LIFESPAN=1,e.Weapon.KILL_DISTANCE=2,e.Weapon.KILL_WEAPON_BOUNDS=3,e.Weapon.KILL_CAMERA_BOUNDS=4,e.Weapon.KILL_WORLD_BOUNDS=5,e.Weapon.KILL_STATIC_BOUNDS=6,e.Weapon.prototype.createBullets=function(t,i,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets&&!this.bullets.game&&(this.bullets=null),this.bullets||(this.bullets=this.game.add.physicsGroup(e.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,i,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=i,this.bulletFrame=s),this},e.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},e.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},e.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},e.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},e.Weapon.prototype.update=function(){this._bulletKillType===e.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()},e.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},e.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},e.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},e.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},e.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},e.Weapon.prototype.fire=function(t,i,s,n,r){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game.time.deltaTotal0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=e.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!==i&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,i-a))),0!==this.bulletAngleVariance&&(l+=e.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===e.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+=e.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(g=0),f=this.game.time.deltaTotal+g}else f=this.game.time.deltaTotal+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},e.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},e.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},e.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},e.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},e.Weapon.prototype.setBulletFrames=function(t,i,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=e.ArrayUtils.numberArray(t,i),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},e.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},e.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(e.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(e.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case e.Weapon.KILL_STATIC_BOUNDS:case e.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case e.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case e.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(e.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(e.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(e.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),e.Bullet=function(t,i,s,n,r){e.Sprite.call(this,t,i,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},e.Bullet.prototype=Object.create(e.Sprite.prototype),e.Bullet.prototype.constructor=e.Bullet,e.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},e.Bullet.prototype.update=function(){this.exists&&(this.data.killType>e.Weapon.KILL_LIFESPAN&&(this.data.killType===e.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=this.body.velocity.atan()),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},PIXI.CreatureShader=function(t){this._UID=e._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;","attribute vec4 aColor;","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) * aColor.a * 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.colorAttribute],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},e.Creature=function(t,i,s,n,r,o,a){if(this.game=t,void 0===o&&(o="default"),void 0===a&&(a=!1),this.type=e.CREATURE,t.cache.checkJSONKey(r)){var h=t.cache.getJSON(r,!0);if(this._creature=new Creature(h,a),this.animation=new CreatureAnimation(h,o,a),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 e.Point,this.creatureBoundsMax=new e.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.setAttribute("playsinline","playsinline"),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,i){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"),void 0!==i&&(this.video.crossOrigin=i),this.video.setAttribute("playsinline","playsinline"),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,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.srcObject?(this.video.srcObject.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,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(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 this.onTouchUnlock.dispatch(this),!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.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(e.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(e.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(e.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(e.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(e.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(e.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(e.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop=!0:this.video&&(this.video.loop=!1)}}),Object.defineProperty(e.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),e.Video.prototype.constructor=e.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}).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 7e18a0f69..ca41467ee 100644 --- a/build/custom/phaser-minimum.js +++ b/build/custom/phaser-minimum.js @@ -7,7 +7,7 @@ * * Phaser CE - https://github.com/photonstorm/phaser-ce * -* v2.18.0 "2021-05-07" - Built: Thu May 06 2021 19:53:43 +* v2.19.0 "2021-08-23" - Built: Mon Aug 23 2021 13:20:22 * * By Richard Davey http://www.photonstorm.com @photonstorm and Phaser CE contributors * @@ -7784,7 +7784,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.18.0', + VERSION: '2.19.0', /** * An array of Phaser game instances. diff --git a/build/custom/phaser-minimum.min.js b/build/custom/phaser-minimum.min.js index ee03cee5f..cfd438a8a 100644 --- a/build/custom/phaser-minimum.min.js +++ b/build/custom/phaser-minimum.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.18.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.19.0 - 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(),this._destroyTintedTexture()},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)},_destroyTintedTexture:function(){this.tintedTexture&&(Phaser.CanvasPool.removeByCanvas(this.tintedTexture),this.tintedTexture=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.bringChildToTop=function(t){if(t.parent===this)return this.setChildIndex(t,this.children.length-1)},s.DisplayObjectContainer.prototype.sendChildToBack=function(t){if(t.parent===this)return this.setChildIndex(t,0)},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,b=x.a,_=x.b,T=x.c,w=x.d,S=x.tx,C=x.ty,P=b*g+T*y+S,E=w*y+_*g+C,M=b*m+T*y+S,A=w*y+_*m+C,R=b*m+T*v+S,O=w*v+_*m+C,L=b*g+T*v+S,I=w*v+_*g+C;c=P,d=E,l=E,u=L<(u=R<(u=M<(u=P)?M:u)?R:u)?L:u,l=I<(l=O<(l=A(c=R>(c=M>c?M:c)?R:c)?L:c,d=I>(d=O>(d=A>d?A: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=_>(f=x>f?x:f)?_:f)?w:f)?C:f,m=P>(m=S>(m=T>(m=b>m?b: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=i.baseTexture.resolution,v=i.baseTexture.textureIndex,y=o.a/g,x=o.b/g,b=o.c/g,_=o.d/g,T=o.tx,w=o.ty,S=i.crop.height;if(i.rotated){var C=o.a,P=o.b,E=o.c,M=o.d,A=u,R=h;T=o.c*S+T,w=o.d*S+w,y=6.123233995736766e-17*C-E,x=6.123233995736766e-17*P-M,b=C+6.123233995736766e-17*E,_=P+6.123233995736766e-17*M,i._updateUvsInverted(),h=l,u=c,l=R,c=A}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+b*c+T|0,L[m++]=_*c+x*u+w|0,L[m++]=a.x0,L[m++]=a.y0,O[m++]=D,L[m++]=v,L[m++]=y*h+b*c+T|0,L[m++]=_*c+x*h+w|0,L[m++]=a.x1,L[m++]=a.y1,O[m++]=D,L[m++]=v,L[m++]=y*h+b*l+T|0,L[m++]=_*l+x*h+w|0,L[m++]=a.x2,L[m++]=a.y2,O[m++]=D,L[m++]=v,L[m++]=y*u+b*l+T|0,L[m++]=_*l+x*u+w|0,L[m++]=a.x3,L[m++]=a.y3,O[m++]=D,L[m++]=v):(L[m++]=y*u+b*c+T,L[m++]=_*c+x*u+w,L[m++]=a.x0,L[m++]=a.y0,O[m++]=D,L[m++]=v,L[m++]=y*h+b*c+T,L[m++]=_*c+x*h+w,L[m++]=a.x1,L[m++]=a.y1,O[m++]=D,L[m++]=v,L[m++]=y*h+b*l+T,L[m++]=_*l+x*h+w,L[m++]=a.x2,L[m++]=a.y2,O[m++]=D,L[m++]=v,L[m++]=y*u+b*l+T,L[m++]=_*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=t.texture.baseTexture.textureIndex;if(s._enableMultiTextureToggle){var n=e.baseTexture,r=this.gl;s.WebGLRenderer.textureArray[i]!=n&&(this.flush(),r.activeTexture(r.TEXTURE0+i),r.bindTexture(r.TEXTURE_2D,n._glTextures[r.id]),s.WebGLRenderer.textureArray[i]=n)}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,b=t.anchor.y,_=v*(1-x),T=v*-x,w=y*(1-b),S=y*-b,C=this.currentBatchSize*this.vertexSize,P=e.baseTexture.resolution,E=t.worldTransform,M=E.a/P,A=E.b/P,R=E.c/P,O=E.d/P,L=E.tx,I=E.ty;m[C++]=M*T+R*S+L,m[C++]=O*S+A*T+I,m[C++]=o.x0,m[C++]=o.y0,g[C++]=f,m[C++]=i,m[C++]=M*_+R*S+L,m[C++]=O*S+A*_+I,m[C++]=o.x1,m[C++]=o.y1,g[C++]=f,m[C++]=i,m[C++]=M*_+R*w+L,m[C++]=O*w+A*_+I,m[C++]=o.x2,m[C++]=o.y2,g[C++]=f,m[C++]=i,m[C++]=M*T+R*w+L,m[C++]=O*w+A*T+I,m[C++]=o.x3,m[C++]=o.y3,g[C++]=f,m[C++]=i,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);var x=c!==r;if((!s._enableMultiTextureToggle&&x&&!y||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 b=this.renderSession.projection;e.uniform2f(t.projectionVector,b.x,b.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(){var t=this,e=e||{VERSION:"2.18.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("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),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,i,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=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(i),o=n*Math.sin(i);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new e.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,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,r){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.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(e.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(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.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},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.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},e.Circle.intersectsLine=function(t,i,s){var n=t.x,r=t.y,o=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-o*i.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 e.Point(c,p),g=new e.Point(d,f),v=i.pointOnSegment(m.x,m.y,.01),y=i.pointOnSegment(g.x,g.y,.01);return v&&y?!s||[m,g]:v?!s||[m]:y?!s||[g]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.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 e.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 e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.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 e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(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},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.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},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=i.x,h=i.y,u=i.right,l=i.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 e.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,i){return e.Point.distance(this,t,i)},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,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,r){return e.Point.rotate(this,t,i,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},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.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(e.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(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.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(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.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)},e.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}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,r,o),this.bounds=new e.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 e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.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 e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.FLASH=0,e.Camera.FADE_OUT=1,e.Camera.FADE_IN=2,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(i){case e.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case e.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.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,i,s,n,r){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.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,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_OUT)},fadeIn:function(t,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_IN)},fadeEffect:function(t,i,s,n,r){if(void 0===t&&(t=0),void 0===i&&(i=500),void 0===s&&(s=!1),void 0===n&&(n=1),!this.fx||!s&&this._fxDuration>0)return!1;if(this.fx.clear(),this.fx.beginFill(t,n),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),r<1||r>2)throw new Error("Wrong `type` argument");return this.fx.alpha=r===e.Camera.FADE_IN?1:0,this._fxDuration=i,this._fxType=r,!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(){this._fxType===e.Camera.FLASH?(this.fx.alpha-=this.game.time.delta/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):this._fxType===e.Camera.FADE_IN?(this.fx.alpha-=this.game.time.delta/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFadeComplete.dispatch())):(this.fx.alpha+=this.game.time.delta/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.delta,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}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.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(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.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},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.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},e.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,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(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){if(this.clearCurrentState(),this.setCurrentState(this._pendingState),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 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){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.current,i=this.states[t];this.callbackContext=i,this.link(t),this.onInitCallback=i.init||this.dummy,this.onPreloadCallback=i.preload||null,this.onLoadRenderCallback=i.loadRender||null,this.onLoadUpdateCallback=i.loadUpdate||null,this.onCreateCallback=i.create||null,this.onUpdateCallback=i.update||null,this.onPostUpdateCallback=i.postUpdate||null,this.onPreRenderCallback=i.preRender||null,this.onRenderCallback=i.render||null,this.onResizeCallback=i.resize||null,this.onPausedCallback=i.paused||null,this.onResumedCallback=i.resumed||null,this.onPauseUpdateCallback=i.pauseUpdate||null,this.onShutDownCallback=i.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onStateChange.dispatch(this.current,e),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.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.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(){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===e.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.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.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,i,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else o=new e.SignalBinding(this,t,i,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)},e.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)},e.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===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,u=i*n,l=o;lthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.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},e.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},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.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},e.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},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))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},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=e.Utils.getProperty(t,i);return!(void 0===r&&n||r!==s)},e.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)},e.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=this.children.length,a=0;a2){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()}},e.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},e.Group.prototype.iterate=function(t,i,s,n,r,o){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var u=0;u0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!i||i.call(s,h,r))&&(n=r,o=h)}return o},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.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 e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.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}},e.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()}},e.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)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.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(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.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(e.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(e.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(e.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(e.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(e.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}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.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)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.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()},e.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))},e.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(e.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){tthis.time.deltaMax){if(this.dropFrames)return;e=this.time.deltaMax}if(this.forceSingleUpdate)this.updatesThisFrame=1,this.rendersThisFrame=1,this.updateLogic(.001*e/this.time.slowMotion),this.updateRender();else if(this._spiraling>2)this.updatesThisFrame=0,this.rendersThisFrame=0,this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0;else{var i=0,s=1e3*this.time.desiredFpsMult;for(this._deltaTime+=e,this.updatesThisFrame=Math.floor(this._deltaTime/s),this.rendersThisFrame=this.forceSingleRender?1:Math.min(1,this.updatesThisFrame);this._deltaTime>=s;)this._deltaTime-=s,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult/this.time.slowMotion),this.time.refresh(),i++;i>this._lastCount?this._spiraling++:i0&&this.updateRender()}}}}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.preUpdate(t),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(){this.lockRender||this.renderType===e.HEADLESS||(this.time.preRender(),this.state.preRender(),this.renderer.render(this.stage),this.plugins.render(),this.state.render(),this.plugins.postRender(),this.renderer.postRender())},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.gamePaused(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.gameResumed(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this._focusGained=!0,this.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),e.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=e.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!0===t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},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+i.x=a&&this.game.camera.y+i.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}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.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===i,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 e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.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,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,r="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):r||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},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 i=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),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.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===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.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,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!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.pointerLock.locked&&!i&&(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===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.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,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!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 i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=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&&i.currentPointers--,i.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=e.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){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,r=this._pointerData[t.id],o=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var u=i.scale.x*h.x+n.x+s.x,l=i.scale.y*h.y+n.y+s.y;else var u=h.x+n.x+s.x,l=h.y+n.y+s.y;if(a.fixedToCamera){var c=a.cameraOffset,d=c.x,p=c.y;this.allowHorizontalDrag&&(c.x=u-i.x),this.allowVerticalDrag&&(c.y=l-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(c.x=Math.round((c.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,c.y=Math.round((c.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(c.x,c.y));var f=c.x-d,m=c.y-p}else{var g=i.x-r.camX,v=i.y-r.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=u+g),this.allowVerticalDrag&&(a.y=l+v),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(a.x,a.y));var f=a.x-d,m=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,u,l,o,e,f,m),!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)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.Component=function(){},e.Component.Angle=function(){},e.Component.Angle.prototype={angle:{get:function(){return e.Math.wrapAngle(e.Math.radToDeg(this.rotation))},set:function(t){this.rotation=e.Math.degToRad(e.Math.wrapAngle(t))}}},e.Component.Animation=function(){},e.Component.Animation.prototype={play:function(t,e,i,s){if(this.animations)return this.animations.play(t,e,i,s)}},e.Component.AutoCull=function(){},e.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)}}},e.Component.Bounds=function(){},e.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,i,s,n){switch(void 0===s&&(s=0),void 0===n&&(n=0),i){default:case e.TOP_LEFT:this.left=t.left-s,this.top=t.top-n;break;case e.TOP_CENTER:this.centerX=t.centerX+s,this.top=t.top-n;break;case e.TOP_RIGHT:this.right=t.right+s,this.top=t.top-n;break;case e.LEFT_CENTER:this.left=t.left-s,this.centerY=t.centerY+n;break;case e.CENTER:this.centerX=t.centerX+s,this.centerY=t.centerY+n;break;case e.RIGHT_CENTER:this.right=t.right+s,this.centerY=t.centerY+n;break;case e.BOTTOM_LEFT:this.left=t.left-s,this.bottom=t.bottom+n;break;case e.BOTTOM_CENTER:this.centerX=t.centerX+s,this.bottom=t.bottom+n;break;case e.BOTTOM_RIGHT:this.right=t.right+s,this.bottom=t.bottom+n}return this},alignTo:function(t,i,s,n){switch(void 0===s&&(s=0),void 0===n&&(n=0),i){default:case e.TOP_LEFT:this.left=t.left-s,this.bottom=t.top-n;break;case e.TOP_CENTER:this.centerX=t.centerX+s,this.bottom=t.top-n;break;case e.TOP_RIGHT:this.right=t.right+s,this.bottom=t.top-n;break;case e.LEFT_TOP:this.right=t.left-s,this.top=t.top-n;break;case e.LEFT_CENTER:this.right=t.left-s,this.centerY=t.centerY+n;break;case e.LEFT_BOTTOM:this.right=t.left-s,this.bottom=t.bottom+n;break;case e.RIGHT_TOP:this.left=t.right+s,this.top=t.top-n;break;case e.RIGHT_CENTER:this.left=t.right+s,this.centerY=t.centerY+n;break;case e.RIGHT_BOTTOM:this.left=t.right+s,this.bottom=t.bottom+n;break;case e.BOTTOM_LEFT:this.left=t.left-s,this.top=t.bottom+n;break;case e.BOTTOM_CENTER:this.centerX=t.centerX+s,this.top=t.bottom+n;break;case e.BOTTOM_RIGHT:this.right=t.right+s,this.top=t.bottom+n}return this}},e.Group.prototype.alignIn=e.Component.Bounds.prototype.alignIn,e.Group.prototype.alignTo=e.Component.Bounds.prototype.alignTo,e.Component.BringToTop=function(){},e.Component.BringToTop.prototype.bringToTop=function(){return this.parent&&this.parent.bringChildToTop&&this.parent.bringChildToTop(this),this},e.Component.BringToTop.prototype.sendToBack=function(){return this.parent&&this.parent.sendChildToBack&&this.parent.sendChildToBack(this),this},e.Component.BringToTop.prototype.moveUp=function(){return this.parent&&this.parent.moveUp(this),this},e.Component.BringToTop.prototype.moveDown=function(){return this.parent&&this.parent.moveDown(this),this},e.Component.Core=function(){},e.Component.Core.install=function(t){e.Utils.mixinPrototype(this,e.Component.Core.prototype),this.components={};for(var i=0;ithis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;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},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.delta,this.lifespan<=0))||(this.kill(),!1)},e.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}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||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===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.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(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)o=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,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,i)}r&&(this._frame=e.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}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):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))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.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)}}},e.Component.Reset=function(){},e.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},e.Component.ScaleMinMax=function(){},e.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,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,r){var o=this.game.plugins.add(e.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,i,s,n),o},image:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,r,o,a){void 0===r&&(r=this.world);var h=new e.Creature(this.game,t,i,s,n,o,a);return r.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,r){return new e.Group(this.game,t,i,s,n,r)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,r,o))},rope:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.Rope(this.game,t,i,s,n,r))},text:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,r,o,a,h,u,l){return void 0===l&&(l=this.world),l.add(new e.Button(this.game,t,i,s,n,r,o,a,h,u))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,r,o,a,h,u){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,u)},bitmapText:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.BitmapText(this.game,t,i,s,n,r))},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,r){return new e.Group(this.game,t||null,i,s,n,r)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o){return new e.TileSprite(this.game,t,i,s,n,r,o)},rope:function(t,i,s,n,r){return new e.Rope(this.game,t,i,s,n,r)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,r,o,a,h,u){return new e.Button(this.game,t,i,s,n,r,o,a,h,u)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,r,o,a,h,u){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,u)},bitmapText:function(t,i,s,n,r,o){return new e.BitmapText(this.game,t,i,s,n,r,o)},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,r,o,a,h,u,l){i=i||0,s=s||0,n=n||null,r=r||null,o=o||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.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 e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.PointerMode.CONTACT,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)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.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)},e.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())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},e.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},e.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)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.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)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.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")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.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())},e.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&&i(),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=!!window.WebGLRenderingContext,s.worker=!!window.Worker,s.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,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=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var r=i.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]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.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"))},e.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))))))},e.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)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,r){i=i||256,s=s||256;var o=r?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=i,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,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),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 i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},setImageRenderingCrisp:function(t){for(var e=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","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=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=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}},e.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)},e.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(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.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)},e.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 e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.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 e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},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}},e.QuadTree.prototype.constructor=e.QuadTree,e.TweenManager=function(){},e.TweenManager.prototype.update=function(){},e.TweenManager.prototype.removeAll=function(){},e.TweenManager.prototype.removeFrom=function(){},e.TweenManager.prototype.destroy=function(){},e.TweenManager.prototype.constructor=e.TweenManager,e.Time=function(t){this.game=t,this.time=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.delta=0,this.deltaTotal=0,this.deltaMax=200,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=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 e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._timers=[]},e.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 i=new e.Timer(this.game,t);return this._timers.push(i),i},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){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},preUpdate:function(t){t*=1e3,this.delta=t,this.deltaTotal+=t,this.game.paused||(this.events.update(this.deltaTotal),this.updateTimers()),this.advancedTiming&&this.updates++},preRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted},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(e.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.desiredFpsMult=1/t}}),Object.defineProperty(e.Time.prototype,"desiredMinFps",{get:function(){return 1e3/this.deltaMax},set:function(t){this.deltaMax=1e3/t}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.Signal,this.nextTick=0,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=this.game.time?this.game.time.deltaTotal:0,this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,r,o){var a=(t=Math.round(t))+this._now,h=new e.TimerEvent(this,t,a,s,i,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.deltaTotal+(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._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.deltaTotal,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.deltaTotal,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.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},e.TimerEvent.prototype.constructor=e.TimerEvent,e.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=[]},e.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,i,s,n,r){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,r,this._outputFrames),this._anims[t]=new e.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}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},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(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},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)}}),e.Animation=function(t,i,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=i,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 e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.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.deltaTotal,this._timeNextFrame=this.game.time.deltaTotal+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.deltaTotal,this._timeNextFrame=this.game.time.deltaTotal+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=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(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||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.updateCurrentFrame(!1),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()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.deltaTotal:this.isPlaying&&(this._timeNextFrame=this.game.time.deltaTotal+this.delay)}}),Object.defineProperty(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.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(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,r){void 0===n&&(n="");var o=[],a="";if(i=s;h--)a=t+(a="number"==typeof r?e.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},e.Frame=function(t,i,s,n,r,o){this.index=t,this.x=i,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+o+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=e.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},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},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 e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.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 e.FrameData,i=0;if||h<-f)return console.error('Spritesheet "%s": skipFrames=%s is larger than the frame total %s',i,h,f),null;if(r>-1&&(y=(f=r)-1),d<1&&console.warn('Spritesheet "%s": Texture has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)',i,l,s+o+a,s,o,a),p<1&&console.warn('Spritesheet "%s": Texture has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)',i,c,n+o+a,n,o,a),0===m)return console.error('Spritesheet "%s": zero frames were produced',i),null;if(h>0?y=(v=h)+(f=Math.min(f,m-h))-1:h<0&&(v=(y=g+h)-(f=Math.min(f,m+h))+1),v<0)return console.error('Spritesheet "%s": There is no frame at index %s',i,v),null;if(y>g)return console.warn('Spritesheet "%s": There is no frame at index %s. Last frame found is index %s',i,y,g),null;for(var x=new e.FrameData,b=o,_=o,T=0,w=0;wy);w++)w>=v&&x.addFrame(new e.Frame(T++,b,_,s,n,"")),(b+=s+a)+s>l&&(b=o,_+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,r=i.frames,o=0;o tag")}},e.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:{},data:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._cacheMap[e.Cache.DATA]=this._cache.data,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DATA=16,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in e.LoaderParser?e.LoaderParser[s](n):n,o={key:t,url:i,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new e.Frame(0,0,0,r.width,r.height,t),frameData:new e.FrameData,fileFormat:s};return o.frameData.addFrame(new e.Frame(0,0,0,r.width,r.height,i)),this._cache.image[t]=o,this._resolveURL(i,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,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.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(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.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,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,r,o,a){var h={url:i,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?e.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,r,o,a){var h=this.getFrameByName(i,s);if(h){var u={font:null,base:this.getBaseTexture(i),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var l;"json"===r?(l=this.getJSON(n),u.font=e.LoaderParser.jsonBitmapFont(l,u.base,o,a,h,this.game.resolution)):(l=this.getXML(n),u.font=e.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,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,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:i,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,u)};this._cache.image[t]=l,this._resolveURL(i,l)},addTextureAtlas:function(t,i,s,n,r){var o={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===e.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=e.AnimationParser.XMLData(this.game,n,t):r===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=e.AnimationParser.JSONData(this.game,n,t):o.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(i,o)},addData:function(t,e){this._cache.data[t]=e},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 i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.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(e.Cache.CANVAS,t)},checkDataKey:function(t){return this.checkKey(e.Cache.DATA,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.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,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var r=n[i];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+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getData:function(t){return this.getItem(t,e.Cache.DATA,"getData")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},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=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},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]},removeData:function(t){delete this._cache.data[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.",i),t._ready())},e.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)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.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 e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.Signal,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},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.mediaTypes={avif:"image/avif",bmp:"image/bmp",cur:"image/x-icon",gif:"image/gif",ico:"image/x-icon",jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",svg:"image/svg+xml",tif:"image/tiff",tiff:"image/tiff",webp:"image/webp"},e.Loader.getMediaType=function(t){var i=t.match(/\.(\w+)$/);return i?e.Loader.mediaTypes[i[1]]||null:null},e.Loader._getSource=function(t){return"string"==typeof t?{url:t,type:e.Loader.getMediaType(t)}:t},e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.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.game.state&&(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.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 i=t.data[t.key];if(i)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()},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,i){if(this.game.isBooted){var s=!0;switch(t.type){case"packfile":r=JSON.parse(i.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,i.response);break;case"image":case"imageset":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===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.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=i.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=i.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=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(i.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=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.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(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.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;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=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]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),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}},e.SoundManager=function(){this.muteOnPause=!1},e.SoundManager.prototype.boot=function(){},e.SoundManager.prototype.update=function(){},e.SoundManager.prototype.destroy=function(){},e.SoundManager.prototype.setMute=function(){},e.SoundManager.prototype.unsetMute=function(){},e.SoundManager.prototype.constructor=e.SoundManager,e.ScaleManager=function(t,i,s){this.game=t,this.dom=e.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 e.Point,this.forceLandscape=!1,this.forcePortrait=!1,this.incorrectOrientation=!1,this._pageAlignHorizontally=!1,this._pageAlignVertically=!1,this.onOrientationChange=new e.Signal,this.enterIncorrectOrientation=new e.Signal,this.leaveIncorrectOrientation=new e.Signal,this.hasPhaserSetFullScreen=!1,this.fullScreenTarget=null,this._createdFullScreenTarget=null,this.onFullScreenInit=new e.Signal,this.onFullScreenChange=new e.Signal,this.onFullScreenError=new e.Signal,this.screenOrientation=this.dom.getScreenOrientation(),this.scaleFactor=new e.Point(1,1),this.scaleFactorInversed=new e.Point(1,1),this.margin={left:0,top:0,right:0,bottom:0,x:0,y:0},this.bounds=new e.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=e.ScaleManager.NO_SCALE,this._fullScreenScaleMode=e.ScaleManager.NO_SCALE,this.parentIsWindow=!1,this.parentNode=null,this.parentScaleFactor=new e.Point(1,1),this.trackParentInterval=2e3,this.onSizeChange=new e.Signal,this.onResize=null,this.onResizeContext=null,this._pendingScaleMode=null,this._fullScreenRestore=null,this._gameSize=new e.Rectangle,this._userScaleFactor=new e.Point(1,1),this._userScaleTrim=new e.Point(0,0),this._lastUpdate=0,this._updateThrottle=0,this._updateThrottleReset=100,this._parentBounds=new e.Rectangle,this._tempBounds=new e.Rectangle,this._lastReportedCanvasSize=new e.Rectangle,this._lastReportedGameSize=new e.Rectangle,this._booted=!1,t.config&&this.parseConfig(t.config),this.setupScale(i,s)},e.ScaleManager.EXACT_FIT=0,e.ScaleManager.NO_SCALE=1,e.ScaleManager.SHOW_ALL=2,e.ScaleManager.RESIZE=3,e.ScaleManager.USER_SCALE=4,e.ScaleManager.MODES=["EXACT_FIT","NO_SCALE","SHOW_ALL","RESIZE","USER_SCALE"],e.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 e.Point(0,1):t.scrollTo=new e.Point(0,0)),this.game.device.desktop?(t.orientationFallback="screen",t.clickTrampoline="when-not-mouse"):(t.orientationFallback="",t.clickTrampoline="");var i=this;this._orientationChange=function(t){return i.orientationChange(t)},this._windowResize=function(t){return i.windowResize(t)},window.addEventListener("orientationchange",this._orientationChange,!1),window.addEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(this._fullScreenChange=function(t){return i.fullScreenChange(t)},this._fullScreenError=function(t){return i.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),e.FlexGrid&&(this.grid=new e.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),this.pageAlignHorizontally=t.alignH||!1,this.pageAlignVertically=t.alignV||!1,t.scaleH&&t.scaleV&&this.setUserScale(t.scaleH,t.scaleV,t.trimH,t.trimV)},setupScale:function(t,i){var s,n=new e.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,this.parentNode),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 i?o=i:(this.parentScaleFactor.y=parseInt(i,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,i){this._gameSize.setTo(0,0,t,i),this.currentScaleMode!==e.ScaleManager.RESIZE&&this.updateDimensions(t,i,!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(!e.Rectangle.sameDimensions(this,this._lastReportedCanvasSize)||!e.Rectangle.sameDimensions(this.game,this._lastReportedGameSize)){var t=this.width,i=this.height;this._lastReportedCanvasSize.setTo(0,0,t,i),this._lastReportedGameSize.setTo(0,0,this.game.width,this.game.height),this.grid&&this.grid.onResize(t,i),this.onSizeChange.dispatch(this,t,i),this.currentScaleMode===e.ScaleManager.RESIZE&&(this.game.state.resize(t,i),this.game.load.resize(t,i))}},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 i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==i||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))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.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(e.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(e.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(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}});var n=function(){};return e.Utils.Debug=n,e.Utils.Debug.prototype={isDisabled:!0,boot:n,destroy:n,preUpdate:n,reset:n,start:n,stop:n,line:n,soundInfo:n,cameraInfo:n,timer:n,pointer:n,spriteInputInfo:n,key:n,inputInfo:n,spriteBounds:n,ropeSegments:n,spriteInfo:n,spriteCoords:n,lineInfo:n,pixel:n,geom:n,rectangle:n,text:n,quadTree:n,body:n,bodyInfo:n,box2dWorld:n,box2dBody:n},e.Utils.Debug.prototype.constructor=e.Utils.Debug,e.DOM={getOffset:function(t,i){i=i||new e.Point;var s=t.getBoundingClientRect(),n=e.DOM.scrollY,r=e.DOM.scrollX,o=document.documentElement.clientTop,a=document.documentElement.clientLeft;return i.x=s.left+r-a,i.y=s.top+n-o,i},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 e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=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(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.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(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:r}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.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(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.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,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},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,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var r=Math.min(t,i,s),o=Math.max(t,i,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=(i-s)/a+(i1&&(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,i,s,n,r,o,a,h){var u={r:t||0,g:i||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 e.Color.updateColor(u)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.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,i,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){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);i?(i.r=n,i.g=r,i.b=o):i=e.Color.createColor(n,r,o)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);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=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.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=e.Color.HSVtoRGB(d,v,y,x),u=x.r,l=x.g,c=x.b}return e.Color.getColor32(r,u,l,c)},interpolateColorWithRGB:function(t,i,s,n,r,o){var a=e.Color.getRGB(t),h=(i-a.red)*o/r+a.red,u=(s-a.green)*o/r+a.green,l=(n-a.blue)*o/r+a.blue;return e.Color.getColor(h,u,l)},interpolateRGB:function(t,i,s,n,r,o,a,h){var u=(n-t)*h/a+t,l=(r-i)*h/a+i,c=(o-s)*h/a+s;return e.Color.getColor(u,l,c)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t));return e.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 i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.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,i){return e.Color.blendOverlay(i,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,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.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()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.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}},e.Physics.prototype.constructor=e.Physics,e.Particles=function(t){this.game=t,this.emitters={},this.ID=0},e.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]}},e.Particles.prototype.constructor=e.Particles,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}.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(),this._destroyTintedTexture()},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)},_destroyTintedTexture:function(){this.tintedTexture&&(Phaser.CanvasPool.removeByCanvas(this.tintedTexture),this.tintedTexture=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.bringChildToTop=function(t){if(t.parent===this)return this.setChildIndex(t,this.children.length-1)},s.DisplayObjectContainer.prototype.sendChildToBack=function(t){if(t.parent===this)return this.setChildIndex(t,0)},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,b=x.a,_=x.b,T=x.c,w=x.d,S=x.tx,C=x.ty,P=b*g+T*y+S,E=w*y+_*g+C,M=b*m+T*y+S,A=w*y+_*m+C,R=b*m+T*v+S,O=w*v+_*m+C,L=b*g+T*v+S,I=w*v+_*g+C;c=P,d=E,l=E,u=L<(u=R<(u=M<(u=P)?M:u)?R:u)?L:u,l=I<(l=O<(l=A(c=R>(c=M>c?M:c)?R:c)?L:c,d=I>(d=O>(d=A>d?A: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=_>(f=x>f?x:f)?_:f)?w:f)?C:f,m=P>(m=S>(m=T>(m=b>m?b: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=i.baseTexture.resolution,v=i.baseTexture.textureIndex,y=o.a/g,x=o.b/g,b=o.c/g,_=o.d/g,T=o.tx,w=o.ty,S=i.crop.height;if(i.rotated){var C=o.a,P=o.b,E=o.c,M=o.d,A=u,R=h;T=o.c*S+T,w=o.d*S+w,y=6.123233995736766e-17*C-E,x=6.123233995736766e-17*P-M,b=C+6.123233995736766e-17*E,_=P+6.123233995736766e-17*M,i._updateUvsInverted(),h=l,u=c,l=R,c=A}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+b*c+T|0,L[m++]=_*c+x*u+w|0,L[m++]=a.x0,L[m++]=a.y0,O[m++]=D,L[m++]=v,L[m++]=y*h+b*c+T|0,L[m++]=_*c+x*h+w|0,L[m++]=a.x1,L[m++]=a.y1,O[m++]=D,L[m++]=v,L[m++]=y*h+b*l+T|0,L[m++]=_*l+x*h+w|0,L[m++]=a.x2,L[m++]=a.y2,O[m++]=D,L[m++]=v,L[m++]=y*u+b*l+T|0,L[m++]=_*l+x*u+w|0,L[m++]=a.x3,L[m++]=a.y3,O[m++]=D,L[m++]=v):(L[m++]=y*u+b*c+T,L[m++]=_*c+x*u+w,L[m++]=a.x0,L[m++]=a.y0,O[m++]=D,L[m++]=v,L[m++]=y*h+b*c+T,L[m++]=_*c+x*h+w,L[m++]=a.x1,L[m++]=a.y1,O[m++]=D,L[m++]=v,L[m++]=y*h+b*l+T,L[m++]=_*l+x*h+w,L[m++]=a.x2,L[m++]=a.y2,O[m++]=D,L[m++]=v,L[m++]=y*u+b*l+T,L[m++]=_*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=t.texture.baseTexture.textureIndex;if(s._enableMultiTextureToggle){var n=e.baseTexture,r=this.gl;s.WebGLRenderer.textureArray[i]!=n&&(this.flush(),r.activeTexture(r.TEXTURE0+i),r.bindTexture(r.TEXTURE_2D,n._glTextures[r.id]),s.WebGLRenderer.textureArray[i]=n)}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,b=t.anchor.y,_=v*(1-x),T=v*-x,w=y*(1-b),S=y*-b,C=this.currentBatchSize*this.vertexSize,P=e.baseTexture.resolution,E=t.worldTransform,M=E.a/P,A=E.b/P,R=E.c/P,O=E.d/P,L=E.tx,I=E.ty;m[C++]=M*T+R*S+L,m[C++]=O*S+A*T+I,m[C++]=o.x0,m[C++]=o.y0,g[C++]=f,m[C++]=i,m[C++]=M*_+R*S+L,m[C++]=O*S+A*_+I,m[C++]=o.x1,m[C++]=o.y1,g[C++]=f,m[C++]=i,m[C++]=M*_+R*w+L,m[C++]=O*w+A*_+I,m[C++]=o.x2,m[C++]=o.y2,g[C++]=f,m[C++]=i,m[C++]=M*T+R*w+L,m[C++]=O*w+A*T+I,m[C++]=o.x3,m[C++]=o.y3,g[C++]=f,m[C++]=i,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);var x=c!==r;if((!s._enableMultiTextureToggle&&x&&!y||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 b=this.renderSession.projection;e.uniform2f(t.projectionVector,b.x,b.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(){var t=this,e=e||{VERSION:"2.19.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("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),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,i,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=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(i),o=n*Math.sin(i);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new e.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,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,r){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.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(e.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(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.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},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.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},e.Circle.intersectsLine=function(t,i,s){var n=t.x,r=t.y,o=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-o*i.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 e.Point(c,p),g=new e.Point(d,f),v=i.pointOnSegment(m.x,m.y,.01),y=i.pointOnSegment(g.x,g.y,.01);return v&&y?!s||[m,g]:v?!s||[m]:y?!s||[g]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.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 e.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 e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.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 e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(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},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.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},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=i.x,h=i.y,u=i.right,l=i.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 e.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,i){return e.Point.distance(this,t,i)},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,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,r){return e.Point.rotate(this,t,i,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},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.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(e.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(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.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(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.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)},e.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}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,r,o),this.bounds=new e.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 e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.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 e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.FLASH=0,e.Camera.FADE_OUT=1,e.Camera.FADE_IN=2,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(i){case e.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case e.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.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,i,s,n,r){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.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,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_OUT)},fadeIn:function(t,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_IN)},fadeEffect:function(t,i,s,n,r){if(void 0===t&&(t=0),void 0===i&&(i=500),void 0===s&&(s=!1),void 0===n&&(n=1),!this.fx||!s&&this._fxDuration>0)return!1;if(this.fx.clear(),this.fx.beginFill(t,n),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),r<1||r>2)throw new Error("Wrong `type` argument");return this.fx.alpha=r===e.Camera.FADE_IN?1:0,this._fxDuration=i,this._fxType=r,!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(){this._fxType===e.Camera.FLASH?(this.fx.alpha-=this.game.time.delta/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):this._fxType===e.Camera.FADE_IN?(this.fx.alpha-=this.game.time.delta/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFadeComplete.dispatch())):(this.fx.alpha+=this.game.time.delta/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.delta,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}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.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(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.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},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.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},e.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,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(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){if(this.clearCurrentState(),this.setCurrentState(this._pendingState),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 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){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.current,i=this.states[t];this.callbackContext=i,this.link(t),this.onInitCallback=i.init||this.dummy,this.onPreloadCallback=i.preload||null,this.onLoadRenderCallback=i.loadRender||null,this.onLoadUpdateCallback=i.loadUpdate||null,this.onCreateCallback=i.create||null,this.onUpdateCallback=i.update||null,this.onPostUpdateCallback=i.postUpdate||null,this.onPreRenderCallback=i.preRender||null,this.onRenderCallback=i.render||null,this.onResizeCallback=i.resize||null,this.onPausedCallback=i.paused||null,this.onResumedCallback=i.resumed||null,this.onPauseUpdateCallback=i.pauseUpdate||null,this.onShutDownCallback=i.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onStateChange.dispatch(this.current,e),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.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.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(){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===e.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.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.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,i,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else o=new e.SignalBinding(this,t,i,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)},e.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)},e.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===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,u=i*n,l=o;lthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.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},e.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},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.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},e.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},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))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},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=e.Utils.getProperty(t,i);return!(void 0===r&&n||r!==s)},e.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)},e.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=this.children.length,a=0;a2){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()}},e.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},e.Group.prototype.iterate=function(t,i,s,n,r,o){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var u=0;u0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!i||i.call(s,h,r))&&(n=r,o=h)}return o},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.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 e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.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}},e.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()}},e.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)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.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(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.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(e.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(e.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(e.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(e.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(e.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}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.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)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.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()},e.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))},e.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(e.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){tthis.time.deltaMax){if(this.dropFrames)return;e=this.time.deltaMax}if(this.forceSingleUpdate)this.updatesThisFrame=1,this.rendersThisFrame=1,this.updateLogic(.001*e/this.time.slowMotion),this.updateRender();else if(this._spiraling>2)this.updatesThisFrame=0,this.rendersThisFrame=0,this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0;else{var i=0,s=1e3*this.time.desiredFpsMult;for(this._deltaTime+=e,this.updatesThisFrame=Math.floor(this._deltaTime/s),this.rendersThisFrame=this.forceSingleRender?1:Math.min(1,this.updatesThisFrame);this._deltaTime>=s;)this._deltaTime-=s,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult/this.time.slowMotion),this.time.refresh(),i++;i>this._lastCount?this._spiraling++:i0&&this.updateRender()}}}}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.preUpdate(t),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(){this.lockRender||this.renderType===e.HEADLESS||(this.time.preRender(),this.state.preRender(),this.renderer.render(this.stage),this.plugins.render(),this.state.render(),this.plugins.postRender(),this.renderer.postRender())},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.gamePaused(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.gameResumed(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this._focusGained=!0,this.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),e.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=e.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!0===t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},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+i.x=a&&this.game.camera.y+i.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}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.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===i,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 e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.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,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,r="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):r||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},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 i=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),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.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===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.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,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!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.pointerLock.locked&&!i&&(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===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.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,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!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 i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=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&&i.currentPointers--,i.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=e.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){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,r=this._pointerData[t.id],o=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var u=i.scale.x*h.x+n.x+s.x,l=i.scale.y*h.y+n.y+s.y;else var u=h.x+n.x+s.x,l=h.y+n.y+s.y;if(a.fixedToCamera){var c=a.cameraOffset,d=c.x,p=c.y;this.allowHorizontalDrag&&(c.x=u-i.x),this.allowVerticalDrag&&(c.y=l-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(c.x=Math.round((c.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,c.y=Math.round((c.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(c.x,c.y));var f=c.x-d,m=c.y-p}else{var g=i.x-r.camX,v=i.y-r.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=u+g),this.allowVerticalDrag&&(a.y=l+v),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(a.x,a.y));var f=a.x-d,m=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,u,l,o,e,f,m),!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)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.Component=function(){},e.Component.Angle=function(){},e.Component.Angle.prototype={angle:{get:function(){return e.Math.wrapAngle(e.Math.radToDeg(this.rotation))},set:function(t){this.rotation=e.Math.degToRad(e.Math.wrapAngle(t))}}},e.Component.Animation=function(){},e.Component.Animation.prototype={play:function(t,e,i,s){if(this.animations)return this.animations.play(t,e,i,s)}},e.Component.AutoCull=function(){},e.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)}}},e.Component.Bounds=function(){},e.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,i,s,n){switch(void 0===s&&(s=0),void 0===n&&(n=0),i){default:case e.TOP_LEFT:this.left=t.left-s,this.top=t.top-n;break;case e.TOP_CENTER:this.centerX=t.centerX+s,this.top=t.top-n;break;case e.TOP_RIGHT:this.right=t.right+s,this.top=t.top-n;break;case e.LEFT_CENTER:this.left=t.left-s,this.centerY=t.centerY+n;break;case e.CENTER:this.centerX=t.centerX+s,this.centerY=t.centerY+n;break;case e.RIGHT_CENTER:this.right=t.right+s,this.centerY=t.centerY+n;break;case e.BOTTOM_LEFT:this.left=t.left-s,this.bottom=t.bottom+n;break;case e.BOTTOM_CENTER:this.centerX=t.centerX+s,this.bottom=t.bottom+n;break;case e.BOTTOM_RIGHT:this.right=t.right+s,this.bottom=t.bottom+n}return this},alignTo:function(t,i,s,n){switch(void 0===s&&(s=0),void 0===n&&(n=0),i){default:case e.TOP_LEFT:this.left=t.left-s,this.bottom=t.top-n;break;case e.TOP_CENTER:this.centerX=t.centerX+s,this.bottom=t.top-n;break;case e.TOP_RIGHT:this.right=t.right+s,this.bottom=t.top-n;break;case e.LEFT_TOP:this.right=t.left-s,this.top=t.top-n;break;case e.LEFT_CENTER:this.right=t.left-s,this.centerY=t.centerY+n;break;case e.LEFT_BOTTOM:this.right=t.left-s,this.bottom=t.bottom+n;break;case e.RIGHT_TOP:this.left=t.right+s,this.top=t.top-n;break;case e.RIGHT_CENTER:this.left=t.right+s,this.centerY=t.centerY+n;break;case e.RIGHT_BOTTOM:this.left=t.right+s,this.bottom=t.bottom+n;break;case e.BOTTOM_LEFT:this.left=t.left-s,this.top=t.bottom+n;break;case e.BOTTOM_CENTER:this.centerX=t.centerX+s,this.top=t.bottom+n;break;case e.BOTTOM_RIGHT:this.right=t.right+s,this.top=t.bottom+n}return this}},e.Group.prototype.alignIn=e.Component.Bounds.prototype.alignIn,e.Group.prototype.alignTo=e.Component.Bounds.prototype.alignTo,e.Component.BringToTop=function(){},e.Component.BringToTop.prototype.bringToTop=function(){return this.parent&&this.parent.bringChildToTop&&this.parent.bringChildToTop(this),this},e.Component.BringToTop.prototype.sendToBack=function(){return this.parent&&this.parent.sendChildToBack&&this.parent.sendChildToBack(this),this},e.Component.BringToTop.prototype.moveUp=function(){return this.parent&&this.parent.moveUp(this),this},e.Component.BringToTop.prototype.moveDown=function(){return this.parent&&this.parent.moveDown(this),this},e.Component.Core=function(){},e.Component.Core.install=function(t){e.Utils.mixinPrototype(this,e.Component.Core.prototype),this.components={};for(var i=0;ithis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;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},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.delta,this.lifespan<=0))||(this.kill(),!1)},e.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}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||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===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.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(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)o=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,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,i)}r&&(this._frame=e.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}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):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))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.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)}}},e.Component.Reset=function(){},e.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},e.Component.ScaleMinMax=function(){},e.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,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,r){var o=this.game.plugins.add(e.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,i,s,n),o},image:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,r,o,a){void 0===r&&(r=this.world);var h=new e.Creature(this.game,t,i,s,n,o,a);return r.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,r){return new e.Group(this.game,t,i,s,n,r)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,r,o))},rope:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.Rope(this.game,t,i,s,n,r))},text:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,r,o,a,h,u,l){return void 0===l&&(l=this.world),l.add(new e.Button(this.game,t,i,s,n,r,o,a,h,u))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,r,o,a,h,u){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,u)},bitmapText:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.BitmapText(this.game,t,i,s,n,r))},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,r){return new e.Group(this.game,t||null,i,s,n,r)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o){return new e.TileSprite(this.game,t,i,s,n,r,o)},rope:function(t,i,s,n,r){return new e.Rope(this.game,t,i,s,n,r)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,r,o,a,h,u){return new e.Button(this.game,t,i,s,n,r,o,a,h,u)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,r,o,a,h,u){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,u)},bitmapText:function(t,i,s,n,r,o){return new e.BitmapText(this.game,t,i,s,n,r,o)},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,r,o,a,h,u,l){i=i||0,s=s||0,n=n||null,r=r||null,o=o||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.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 e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.PointerMode.CONTACT,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)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.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)},e.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())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},e.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},e.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)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.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)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.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")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.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())},e.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&&i(),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=!!window.WebGLRenderingContext,s.worker=!!window.Worker,s.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,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=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var r=i.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]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.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"))},e.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))))))},e.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)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,r){i=i||256,s=s||256;var o=r?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=i,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,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),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 i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},setImageRenderingCrisp:function(t){for(var e=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","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=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=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}},e.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)},e.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(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.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)},e.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 e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.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 e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},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}},e.QuadTree.prototype.constructor=e.QuadTree,e.TweenManager=function(){},e.TweenManager.prototype.update=function(){},e.TweenManager.prototype.removeAll=function(){},e.TweenManager.prototype.removeFrom=function(){},e.TweenManager.prototype.destroy=function(){},e.TweenManager.prototype.constructor=e.TweenManager,e.Time=function(t){this.game=t,this.time=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.delta=0,this.deltaTotal=0,this.deltaMax=200,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=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 e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._timers=[]},e.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 i=new e.Timer(this.game,t);return this._timers.push(i),i},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){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},preUpdate:function(t){t*=1e3,this.delta=t,this.deltaTotal+=t,this.game.paused||(this.events.update(this.deltaTotal),this.updateTimers()),this.advancedTiming&&this.updates++},preRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted},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(e.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.desiredFpsMult=1/t}}),Object.defineProperty(e.Time.prototype,"desiredMinFps",{get:function(){return 1e3/this.deltaMax},set:function(t){this.deltaMax=1e3/t}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.Signal,this.nextTick=0,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=this.game.time?this.game.time.deltaTotal:0,this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,r,o){var a=(t=Math.round(t))+this._now,h=new e.TimerEvent(this,t,a,s,i,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.deltaTotal+(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._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.deltaTotal,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.deltaTotal,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.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},e.TimerEvent.prototype.constructor=e.TimerEvent,e.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=[]},e.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,i,s,n,r){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,r,this._outputFrames),this._anims[t]=new e.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}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},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(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},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)}}),e.Animation=function(t,i,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=i,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 e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.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.deltaTotal,this._timeNextFrame=this.game.time.deltaTotal+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.deltaTotal,this._timeNextFrame=this.game.time.deltaTotal+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=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(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||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.updateCurrentFrame(!1),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()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.deltaTotal:this.isPlaying&&(this._timeNextFrame=this.game.time.deltaTotal+this.delay)}}),Object.defineProperty(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.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(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,r){void 0===n&&(n="");var o=[],a="";if(i=s;h--)a=t+(a="number"==typeof r?e.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},e.Frame=function(t,i,s,n,r,o){this.index=t,this.x=i,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+o+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=e.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},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},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 e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.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 e.FrameData,i=0;if||h<-f)return console.error('Spritesheet "%s": skipFrames=%s is larger than the frame total %s',i,h,f),null;if(r>-1&&(y=(f=r)-1),d<1&&console.warn('Spritesheet "%s": Texture has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)',i,l,s+o+a,s,o,a),p<1&&console.warn('Spritesheet "%s": Texture has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)',i,c,n+o+a,n,o,a),0===m)return console.error('Spritesheet "%s": zero frames were produced',i),null;if(h>0?y=(v=h)+(f=Math.min(f,m-h))-1:h<0&&(v=(y=g+h)-(f=Math.min(f,m+h))+1),v<0)return console.error('Spritesheet "%s": There is no frame at index %s',i,v),null;if(y>g)return console.warn('Spritesheet "%s": There is no frame at index %s. Last frame found is index %s',i,y,g),null;for(var x=new e.FrameData,b=o,_=o,T=0,w=0;wy);w++)w>=v&&x.addFrame(new e.Frame(T++,b,_,s,n,"")),(b+=s+a)+s>l&&(b=o,_+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,r=i.frames,o=0;o tag")}},e.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:{},data:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._cacheMap[e.Cache.DATA]=this._cache.data,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DATA=16,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in e.LoaderParser?e.LoaderParser[s](n):n,o={key:t,url:i,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new e.Frame(0,0,0,r.width,r.height,t),frameData:new e.FrameData,fileFormat:s};return o.frameData.addFrame(new e.Frame(0,0,0,r.width,r.height,i)),this._cache.image[t]=o,this._resolveURL(i,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,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.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(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.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,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,r,o,a){var h={url:i,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?e.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,r,o,a){var h=this.getFrameByName(i,s);if(h){var u={font:null,base:this.getBaseTexture(i),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var l;"json"===r?(l=this.getJSON(n),u.font=e.LoaderParser.jsonBitmapFont(l,u.base,o,a,h,this.game.resolution)):(l=this.getXML(n),u.font=e.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,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,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:i,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,u)};this._cache.image[t]=l,this._resolveURL(i,l)},addTextureAtlas:function(t,i,s,n,r){var o={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===e.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=e.AnimationParser.XMLData(this.game,n,t):r===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=e.AnimationParser.JSONData(this.game,n,t):o.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(i,o)},addData:function(t,e){this._cache.data[t]=e},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 i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.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(e.Cache.CANVAS,t)},checkDataKey:function(t){return this.checkKey(e.Cache.DATA,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.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,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var r=n[i];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+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getData:function(t){return this.getItem(t,e.Cache.DATA,"getData")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},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=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},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]},removeData:function(t){delete this._cache.data[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.",i),t._ready())},e.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)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.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 e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.Signal,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},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.mediaTypes={avif:"image/avif",bmp:"image/bmp",cur:"image/x-icon",gif:"image/gif",ico:"image/x-icon",jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",svg:"image/svg+xml",tif:"image/tiff",tiff:"image/tiff",webp:"image/webp"},e.Loader.getMediaType=function(t){var i=t.match(/\.(\w+)$/);return i?e.Loader.mediaTypes[i[1]]||null:null},e.Loader._getSource=function(t){return"string"==typeof t?{url:t,type:e.Loader.getMediaType(t)}:t},e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.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.game.state&&(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.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 i=t.data[t.key];if(i)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()},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,i){if(this.game.isBooted){var s=!0;switch(t.type){case"packfile":r=JSON.parse(i.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,i.response);break;case"image":case"imageset":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===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.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=i.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=i.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=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(i.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=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.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(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.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;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=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]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),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}},e.SoundManager=function(){this.muteOnPause=!1},e.SoundManager.prototype.boot=function(){},e.SoundManager.prototype.update=function(){},e.SoundManager.prototype.destroy=function(){},e.SoundManager.prototype.setMute=function(){},e.SoundManager.prototype.unsetMute=function(){},e.SoundManager.prototype.constructor=e.SoundManager,e.ScaleManager=function(t,i,s){this.game=t,this.dom=e.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 e.Point,this.forceLandscape=!1,this.forcePortrait=!1,this.incorrectOrientation=!1,this._pageAlignHorizontally=!1,this._pageAlignVertically=!1,this.onOrientationChange=new e.Signal,this.enterIncorrectOrientation=new e.Signal,this.leaveIncorrectOrientation=new e.Signal,this.hasPhaserSetFullScreen=!1,this.fullScreenTarget=null,this._createdFullScreenTarget=null,this.onFullScreenInit=new e.Signal,this.onFullScreenChange=new e.Signal,this.onFullScreenError=new e.Signal,this.screenOrientation=this.dom.getScreenOrientation(),this.scaleFactor=new e.Point(1,1),this.scaleFactorInversed=new e.Point(1,1),this.margin={left:0,top:0,right:0,bottom:0,x:0,y:0},this.bounds=new e.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=e.ScaleManager.NO_SCALE,this._fullScreenScaleMode=e.ScaleManager.NO_SCALE,this.parentIsWindow=!1,this.parentNode=null,this.parentScaleFactor=new e.Point(1,1),this.trackParentInterval=2e3,this.onSizeChange=new e.Signal,this.onResize=null,this.onResizeContext=null,this._pendingScaleMode=null,this._fullScreenRestore=null,this._gameSize=new e.Rectangle,this._userScaleFactor=new e.Point(1,1),this._userScaleTrim=new e.Point(0,0),this._lastUpdate=0,this._updateThrottle=0,this._updateThrottleReset=100,this._parentBounds=new e.Rectangle,this._tempBounds=new e.Rectangle,this._lastReportedCanvasSize=new e.Rectangle,this._lastReportedGameSize=new e.Rectangle,this._booted=!1,t.config&&this.parseConfig(t.config),this.setupScale(i,s)},e.ScaleManager.EXACT_FIT=0,e.ScaleManager.NO_SCALE=1,e.ScaleManager.SHOW_ALL=2,e.ScaleManager.RESIZE=3,e.ScaleManager.USER_SCALE=4,e.ScaleManager.MODES=["EXACT_FIT","NO_SCALE","SHOW_ALL","RESIZE","USER_SCALE"],e.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 e.Point(0,1):t.scrollTo=new e.Point(0,0)),this.game.device.desktop?(t.orientationFallback="screen",t.clickTrampoline="when-not-mouse"):(t.orientationFallback="",t.clickTrampoline="");var i=this;this._orientationChange=function(t){return i.orientationChange(t)},this._windowResize=function(t){return i.windowResize(t)},window.addEventListener("orientationchange",this._orientationChange,!1),window.addEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(this._fullScreenChange=function(t){return i.fullScreenChange(t)},this._fullScreenError=function(t){return i.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),e.FlexGrid&&(this.grid=new e.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),this.pageAlignHorizontally=t.alignH||!1,this.pageAlignVertically=t.alignV||!1,t.scaleH&&t.scaleV&&this.setUserScale(t.scaleH,t.scaleV,t.trimH,t.trimV)},setupScale:function(t,i){var s,n=new e.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,this.parentNode),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 i?o=i:(this.parentScaleFactor.y=parseInt(i,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,i){this._gameSize.setTo(0,0,t,i),this.currentScaleMode!==e.ScaleManager.RESIZE&&this.updateDimensions(t,i,!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(!e.Rectangle.sameDimensions(this,this._lastReportedCanvasSize)||!e.Rectangle.sameDimensions(this.game,this._lastReportedGameSize)){var t=this.width,i=this.height;this._lastReportedCanvasSize.setTo(0,0,t,i),this._lastReportedGameSize.setTo(0,0,this.game.width,this.game.height),this.grid&&this.grid.onResize(t,i),this.onSizeChange.dispatch(this,t,i),this.currentScaleMode===e.ScaleManager.RESIZE&&(this.game.state.resize(t,i),this.game.load.resize(t,i))}},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 i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==i||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))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.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(e.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(e.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(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}});var n=function(){};return e.Utils.Debug=n,e.Utils.Debug.prototype={isDisabled:!0,boot:n,destroy:n,preUpdate:n,reset:n,start:n,stop:n,line:n,soundInfo:n,cameraInfo:n,timer:n,pointer:n,spriteInputInfo:n,key:n,inputInfo:n,spriteBounds:n,ropeSegments:n,spriteInfo:n,spriteCoords:n,lineInfo:n,pixel:n,geom:n,rectangle:n,text:n,quadTree:n,body:n,bodyInfo:n,box2dWorld:n,box2dBody:n},e.Utils.Debug.prototype.constructor=e.Utils.Debug,e.DOM={getOffset:function(t,i){i=i||new e.Point;var s=t.getBoundingClientRect(),n=e.DOM.scrollY,r=e.DOM.scrollX,o=document.documentElement.clientTop,a=document.documentElement.clientLeft;return i.x=s.left+r-a,i.y=s.top+n-o,i},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 e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=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(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.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(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:r}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.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(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.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,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},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,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var r=Math.min(t,i,s),o=Math.max(t,i,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=(i-s)/a+(i1&&(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,i,s,n,r,o,a,h){var u={r:t||0,g:i||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 e.Color.updateColor(u)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.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,i,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){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);i?(i.r=n,i.g=r,i.b=o):i=e.Color.createColor(n,r,o)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);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=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.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=e.Color.HSVtoRGB(d,v,y,x),u=x.r,l=x.g,c=x.b}return e.Color.getColor32(r,u,l,c)},interpolateColorWithRGB:function(t,i,s,n,r,o){var a=e.Color.getRGB(t),h=(i-a.red)*o/r+a.red,u=(s-a.green)*o/r+a.green,l=(n-a.blue)*o/r+a.blue;return e.Color.getColor(h,u,l)},interpolateRGB:function(t,i,s,n,r,o,a,h){var u=(n-t)*h/a+t,l=(r-i)*h/a+i,c=(o-s)*h/a+s;return e.Color.getColor(u,l,c)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t));return e.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 i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.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,i){return e.Color.blendOverlay(i,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,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.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()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.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}},e.Physics.prototype.constructor=e.Physics,e.Particles=function(t){this.game=t,this.emitters={},this.ID=0},e.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]}},e.Particles.prototype.constructor=e.Particles,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}.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 bdb7422b9..2f1caac4e 100644 --- a/build/custom/phaser-no-physics.js +++ b/build/custom/phaser-no-physics.js @@ -7,7 +7,7 @@ * * Phaser CE - https://github.com/photonstorm/phaser-ce * -* v2.18.0 "2021-05-07" - Built: Thu May 06 2021 19:53:39 +* v2.19.0 "2021-08-23" - Built: Mon Aug 23 2021 13:20:19 * * By Richard Davey http://www.photonstorm.com @photonstorm and Phaser CE contributors * @@ -7784,7 +7784,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.18.0', + VERSION: '2.19.0', /** * An array of Phaser game instances. @@ -43653,10 +43653,10 @@ Phaser.RenderTexture.prototype.getCanvas = function () * @param {string} text - The actual text that will be written. * @param {object} [style] - The style properties to be set on the Text. * @param {string} [style.font='bold 20pt Arial'] - The style and size of the font. - * @param {string} [style.fontStyle=(from font)] - The style of the font (eg. 'italic'): overrides the value in `style.font`. - * @param {string} [style.fontVariant=(from font)] - The variant of the font (eg. 'small-caps'): overrides the value in `style.font`. - * @param {string} [style.fontWeight=(from font)] - The weight of the font (eg. 'bold'): overrides the value in `style.font`. - * @param {string|number} [style.fontSize=(from font)] - The size of the font (eg. 32 or '32px'): overrides the value in `style.font`. + * @param {string} [style.fontStyle] - The style of the font (eg. 'italic'): overrides the value in `style.font`. + * @param {string} [style.fontVariant] - The variant of the font (eg. 'small-caps'): overrides the value in `style.font`. + * @param {string} [style.fontWeight] - The weight of the font (eg. 'bold'): overrides the value in `style.font`. + * @param {string|number} [style.fontSize] - The size of the font (eg. 32 or '32px'): overrides the value in `style.font`. * @param {string} [style.backgroundColor=null] - A canvas fillstyle that will be used as the background for the whole Text object. Set to `null` to disable. * @param {string} [style.fill='black'] - A canvas fillstyle that will be used on the text eg 'red', '#00FF00'. * @param {string} [style.align='left'] - Horizontal alignment of each line in multiline text. Can be: 'left', 'center' or 'right'. Does not affect single lines of text (see `textBounds` and `boundsAlignH` for that). @@ -43668,6 +43668,8 @@ Phaser.RenderTexture.prototype.getCanvas = function () * @param {number} [style.wordWrapWidth=100] - The width in pixels at which text will wrap. * @param {number} [style.maxLines=0] - The maximum number of lines to be shown for wrapped text. * @param {number} [style.tabs=0] - The size (in pixels) of the tabs, for when text includes tab characters. 0 disables. Can be an array of varying tab sizes, one per tab stop. + * @param {object} [style.fontProperties=null] - `ascent`, `descent`, and `fontSize` lengths for a given style. You can get these from {@link Phaser.Text#determineFontProperties}. + * @param {string} [style.testString='|MÂÉQfjq_'] - The text to use to measure the font width and height. */ Phaser.Text = function (game, x, y, text, style) { @@ -43789,7 +43791,7 @@ Phaser.Text = function (game, x, y, text, style) * @property {string} _testString * @private */ - this._testString = '|MÉq'; + this._testString = style.testString || '|MÂÉQfjq_'; /** * @property {number} _res - Internal canvas resolution var. @@ -43931,10 +43933,10 @@ Phaser.Text.prototype.setShadow = function (x, y, color, blur, shadowStroke, sha * @method Phaser.Text#setStyle * @param {object} [style] - The style properties to be set on the Text. * @param {string} [style.font='bold 20pt Arial'] - The style and size of the font. - * @param {string} [style.fontStyle=(from font)] - The style of the font (eg. 'italic'): overrides the value in `style.font`. - * @param {string} [style.fontVariant=(from font)] - The variant of the font (eg. 'small-caps'): overrides the value in `style.font`. - * @param {string} [style.fontWeight=(from font)] - The weight of the font (eg. 'bold'): overrides the value in `style.font`. - * @param {string|number} [style.fontSize=(from font)] - The size of the font (eg. 32 or '32px'): overrides the value in `style.font`. + * @param {string} [style.fontStyle] - The style of the font (eg. 'italic'): overrides the value in `style.font`. + * @param {string} [style.fontVariant] - The variant of the font (eg. 'small-caps'): overrides the value in `style.font`. + * @param {string} [style.fontWeight] - The weight of the font (eg. 'bold'): overrides the value in `style.font`. + * @param {string|number} [style.fontSize] - The size of the font (eg. 32 or '32px'): overrides the value in `style.font`. * @param {string} [style.backgroundColor=null] - A canvas fillstyle that will be used as the background for the whole Text object. Set to `null` to disable. * @param {string} [style.fill='black'] - A canvas fillstyle that will be used on the text eg 'red', '#00FF00'. * @param {string} [style.align='left'] - Horizontal alignment of each line in multiline text. Can be: 'left', 'center' or 'right'. Does not affect single lines of text (see `textBounds` and `boundsAlignH` for that). @@ -43946,6 +43948,8 @@ Phaser.Text.prototype.setShadow = function (x, y, color, blur, shadowStroke, sha * @param {number} [style.wordWrapWidth=100] - The width in pixels at which text will wrap. * @param {number} [style.maxLines=0] - The maximum number of lines to be shown for wrapped text. * @param {number|array} [style.tabs=0] - The size (in pixels) of the tabs, for when text includes tab characters. 0 disables. Can be an array of varying tab sizes, one per tab stop. + * @param {object} [style.fontProperties=null] - `ascent`, `descent`, and `fontSize` lengths for a given style. You can get these from {@link Phaser.Text#determineFontProperties}. + * @param {string} [style.testString='|MÂÉQfjq_'] - The text to use to measure the font width and height. * @param {boolean} [update=false] - Immediately update the Text object after setting the new style? Or wait for the next frame. * @return {Phaser.Text} This Text instance. */ @@ -43970,6 +43974,7 @@ Phaser.Text.prototype.setStyle = function (style, update) newStyle.shadowColor = style.shadowColor || 'rgba(0,0,0,0)'; newStyle.shadowBlur = style.shadowBlur || 0; newStyle.tabs = style.tabs || 0; + newStyle.fontProperties = style.fontProperties || null; var components = this.fontToComponents(newStyle.font); @@ -44005,6 +44010,11 @@ Phaser.Text.prototype.setStyle = function (style, update) this.style = newStyle; this.dirty = true; + if (newStyle.testString) + { + this.testString = newStyle.testString; + } + if (update) { this.updateText(); @@ -44044,7 +44054,7 @@ Phaser.Text.prototype.updateText = function () var tabs = this.style.tabs; var lineWidths = []; var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this.style.font); + var fontProperties = this.style.fontProperties || this.determineFontProperties(this.style.font); var drawnLines = lines.length; @@ -45175,113 +45185,44 @@ Phaser.Text.prototype._renderCanvas = function (renderSession) Phaser.Text.prototype.determineFontProperties = function (fontStyle) { var properties = Phaser.Text.fontPropertiesCache[fontStyle]; - var measureText = this.testString || '|MÉq'; - if (!properties) + if (properties) { - properties = {}; - - var canvas = Phaser.Text.fontPropertiesCanvas; - var context = Phaser.Text.fontPropertiesContext; - - context.font = fontStyle; - - var width = Math.ceil(context.measureText(measureText).width); - var baseline = Math.ceil(context.measureText(measureText).width); - var height = 2 * baseline; - - baseline = baseline * 1.4 | 0; - - canvas.width = width; - canvas.height = height; - - context.fillStyle = '#f00'; - context.fillRect(0, 0, width, height); - - context.font = fontStyle; - - context.textBaseline = 'alphabetic'; - context.fillStyle = '#000'; - context.fillText(measureText, 0, baseline); - - if (!context.getImageData(0, 0, width, height)) - { - properties.ascent = baseline; - properties.descent = baseline + 6; - properties.fontSize = properties.ascent + properties.descent; - - Phaser.Text.fontPropertiesCache[fontStyle] = properties; - - return properties; - } - - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; - - var i, j; - - var idx = 0; - var stop = false; - - // ascent. scan from top to bottom until we find a non red pixel - for (i = 0; i < baseline; i++) - { - for (j = 0; j < line; j += 4) - { - if (imagedata[idx + j] !== 255) - { - stop = true; - break; - } - } - - if (!stop) - { - idx += line; - } - else - { - break; - } - } + return properties; + } - properties.ascent = baseline - i; + var context = Phaser.Text.fontPropertiesContext; - idx = pixels - line; - stop = false; + context.font = fontStyle; - // descent. scan from bottom to top until we find a non red pixel - for (i = height; i > baseline; i--) - { - for (j = 0; j < line; j += 4) - { - if (imagedata[idx + j] !== 255) - { - stop = true; - break; - } - } + var testStringMetrics = context.measureText(this.testString); - if (!stop) - { - idx -= line; - } - else - { - break; - } - } - - properties.descent = i - baseline; + if (testStringMetrics.actualBoundingBoxAscent) + { + var asc = Math.ceil(testStringMetrics.actualBoundingBoxAscent); + var desc = Math.ceil(testStringMetrics.actualBoundingBoxDescent); - // TODO might need a tweak. kind of a temp fix! - properties.descent += 6; - properties.fontSize = properties.ascent + properties.descent; + properties = { + ascent: asc, + descent: desc, + fontSize: asc + desc + }; + } + else + { + var mxWidth = context.measureText('MX').width; + var asc = Math.ceil(0.75 * mxWidth); + var desc = Math.ceil(0.25 * mxWidth); - Phaser.Text.fontPropertiesCache[fontStyle] = properties; + properties = { + ascent: asc, + descent: desc, + fontSize: asc + desc + }; } + Phaser.Text.fontPropertiesCache[fontStyle] = properties; + return properties; }; @@ -45965,7 +45906,7 @@ Object.defineProperty(Phaser.Text.prototype, 'height', { /** * The text used to measure the font's width and height * @name Phaser.Text#testString - * @default '|MÉq' + * @default '|MÂÉQfjq_' */ Object.defineProperty(Phaser.Text.prototype, 'testString', { diff --git a/build/custom/phaser-no-physics.map b/build/custom/phaser-no-physics.map index c8e72f4d7..8fc0b50c7 100644 --- a/build/custom/phaser-no-physics.map +++ b/build/custom/phaser-no-physics.map @@ -1 +1 @@ -{"version":3,"sources":["phaser-no-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","_destroyTintedTexture","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","tintedTexture","CanvasPool","removeByCanvas","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","bringChildToTop","sendChildToBack","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","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","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","config","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","powerPreference","view","canvas","_contextOptions","antialias","failIfMajorPerformanceCaveat","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","postRender","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","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","baseTextureChanged","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","unloadFromGPU","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd","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","AudioBufferSourceNode","noteGrainOn","noteOff","trunc","floor","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","defaults","keys","reverseString","string","split","getProperty","obj","name","parts","_getProperty","setProperties","props","setProperty","_setProperty","val","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","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","centerX","centerY","normx","normy","Line","fromPoints","fromSprite","startSprite","endSprite","useCenter","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","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","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","centroid","points","pointslength","parse","xProp","yProp","parseFloat","isPoint","sortClockwise","center","sort","det","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","FLASH","FADE_OUT","FADE_IN","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","beginFill","drawRect","endFill","fade","fadeEffect","fadeIn","update","updateFX","updateShake","checkBounds","time","delta","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","postUpdate","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","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","previousStateKey","onPostUpdateCallback","_kickstart","getCurrentState","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","paramsArr","bindings","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","PluginManager","plugins","_len","_i","plugin","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","parseConfig","backgroundColor","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","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","getFirst","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","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","wrapAll","between","Game","physicsConfig","multiTexture","isRunning","raf","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","onBoot","_paused","_codePaused","_focusGained","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Debug","noop","isDisabled","showDebugHeader","forceSetTimeOut","RequestAnimationFrame","focusWindow","disableStart","isReady","onReady","PhaserGlobal","hideBanner","v","webAudio","ie","canvasID","canvasStyle","crisp","setImageRenderingCrisp","webGL","contextRestored","webGLRendererError","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","elapsed","deltaMax","slowMotion","fixedStepSize","enableStep","disableStep","step","removeFromDOM","cordova","iOS","focus","stopFocus","muteOnPause","setMute","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","mouseWheel","MouseWheel","pointerLock","PointerLock","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","CONTACT","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","hitTest","localPoint","Creature","TileSprite","graphicsData","fill","shape","processClickTrampolines","handler","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","capture","stopOnGameOut","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","isAndroidStockBrowser","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","mouseMoveCallback","withinGame","resetButtons","updateButtons","element","wheelEventName","wheelEvent","boundOnWheelHandler","onWheelHandler","eventProxy","WheelEventProxy","bindEvent","deltaY","pointerDownCallback","pointerMoveCallback","pointerUpCallback","pointerOutCallback","pointerOverCallback","pointerCancelCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","_onMSPointerCancel","onPointerCancel","isMousePointerEvent","getPointerFromEvent","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","button","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","toLowerCase","down","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","locked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","doubleTap","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","PointerModes","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","dragPoint","pointerData","pointerLocalCoord","globalToLocal","py","prevX","prevY","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","onChange","onError","boundOnChangeHandler","onChangeHandler","boundOnErrorHandler","onErrorHandler","pointerLockElement","pointerlockchange","pointerlockerror","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","request","exit","_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","removeCallbacks","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","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","deltaX","deltaZ","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","prop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","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","animation","useFlatData","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","getBase64","encoderOptions","toDataURL","onLoadCallback","onErrorCallback","onload","onerror","addImage","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","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","polygon","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","getVisualBounds","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_testString","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","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","testString","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_letterSpacing","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","letterSpacing","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","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","textureDebug","tilePattern","frameWidth","frameHeight","autoScroll","stopScroll","generateTilingTexture","needsUpdate","restartBatch","sessionBlendMode","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","android","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chrome","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","standalone","process","require","versions","_checkBrowser","AudioContext","webkitAudioContext","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","devicePixelRatio","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","CanvasRenderingContext2D","getItem","File","FileReader","FileList","Blob","requestFileSystem","WebGLRenderingContext","Worker","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","ALLOW_KEYBOARD_INPUT","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","fakeiOSTouchLock","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","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","isFinite","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","_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","deltaTotal","isTweening","checkIsRunning","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","ms","fps","blob","reversed","elapsedMS","_desiredFps","suggestedFps","desiredFps","advancedTiming","updates","renders","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_timers","timer","autoDestroy","previousDateNow","previousNow","updateAdvancedTiming","updateTimers","interval","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","_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","diff","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","row","column","totalAvailable","lastAvailable","firstFrame","lastFrame","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","layers","tileheight","tilewidth","tiles","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","DATA","_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","addData","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkDataKey","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","getData","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","removeData","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onBeforeLoadComplete","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","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","mediaTypes","avif","bmp","gif","ico","jpg","jpeg","png","svg","tif","tiff","webp","getMediaType","_getSource","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageset","sources","defaultSource","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","truecolor","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","tilemapCSV","tilemapTiledJSON","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","loadPictureTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","picElm","sourceElm","setAttribute","currentSrc","controls","autoplay","playsInline","videoLoadEvent","canplay","Audio","playThroughEvent","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","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","char","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","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_pendingStart","_removeFromSoundManager","_sourceId","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","_removeOnEndedHandler","_disconnectSource","isDecoded","loopFull","forceRestart","_stopSourceAndDisconnect","_createSourceAndConnect","_addOnEndedHandler","_startSource","muted","mute","prevMarker","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","createBufferSource","when","onended","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","baseLatency","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","_onStateChange","disableAudio","disableWebAudio","audioContext","onstatechange","setTouchLock","unlock","setTouchUnlock","webAudioIsSuspended","resumeWebAudio","resumeWebAudioIfSuspended","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactor","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","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","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","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","navigationUI","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","GEOM_AUTO","GEOM_RECTANGLE","GEOM_CIRCLE","GEOM_POINT","GEOM_LINE","GEOM_ELLIPSE","gameInfo","1","2","3","4","soundInfo","sourceId","ended","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","inactiveColor","mx","my","worldX","worldY","_pointerButtonIcon","btn","spriteInputInfo","justDown","justUp","inputInfo","showDetails","_inputHandler","free","inputHandler","_inputHandlerStatusIcon","_inputHandlerCaptureIcon","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","factor","loader","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","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","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","emitters","ID","onAccess","onTimeout","playWhenUnlocked","timeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","captureVideo","removeVideoElement","getUserMediaTimeout","mediaDevices","then","getUserMediaSuccess","catch","getUserMediaError","mozSrcObject","srcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":"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","file":"phaser-no-physics.min.js"} \ No newline at end of file +{"version":3,"sources":["phaser-no-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","_destroyTintedTexture","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","tintedTexture","CanvasPool","removeByCanvas","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","bringChildToTop","sendChildToBack","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","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","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","config","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","powerPreference","view","canvas","_contextOptions","antialias","failIfMajorPerformanceCaveat","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","postRender","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","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","baseTextureChanged","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","unloadFromGPU","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd","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","AudioBufferSourceNode","noteGrainOn","noteOff","trunc","floor","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","defaults","keys","reverseString","string","split","getProperty","obj","name","parts","_getProperty","setProperties","props","setProperty","_setProperty","val","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","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","centerX","centerY","normx","normy","Line","fromPoints","fromSprite","startSprite","endSprite","useCenter","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","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","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","centroid","points","pointslength","parse","xProp","yProp","parseFloat","isPoint","sortClockwise","center","sort","det","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","FLASH","FADE_OUT","FADE_IN","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","beginFill","drawRect","endFill","fade","fadeEffect","fadeIn","update","updateFX","updateShake","checkBounds","time","delta","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","postUpdate","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","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","previousStateKey","onPostUpdateCallback","_kickstart","getCurrentState","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","paramsArr","bindings","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","PluginManager","plugins","_len","_i","plugin","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","parseConfig","backgroundColor","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","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","getFirst","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","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","wrapAll","between","Game","physicsConfig","multiTexture","isRunning","raf","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","onBoot","_paused","_codePaused","_focusGained","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Debug","noop","isDisabled","showDebugHeader","forceSetTimeOut","RequestAnimationFrame","focusWindow","disableStart","isReady","onReady","PhaserGlobal","hideBanner","v","webAudio","ie","canvasID","canvasStyle","crisp","setImageRenderingCrisp","webGL","contextRestored","webGLRendererError","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","elapsed","deltaMax","slowMotion","fixedStepSize","enableStep","disableStep","step","removeFromDOM","cordova","iOS","focus","stopFocus","muteOnPause","setMute","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","mouseWheel","MouseWheel","pointerLock","PointerLock","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","CONTACT","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","hitTest","localPoint","Creature","TileSprite","graphicsData","fill","shape","processClickTrampolines","handler","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","capture","stopOnGameOut","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","isAndroidStockBrowser","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","mouseMoveCallback","withinGame","resetButtons","updateButtons","element","wheelEventName","wheelEvent","boundOnWheelHandler","onWheelHandler","eventProxy","WheelEventProxy","bindEvent","deltaY","pointerDownCallback","pointerMoveCallback","pointerUpCallback","pointerOutCallback","pointerOverCallback","pointerCancelCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","_onMSPointerCancel","onPointerCancel","isMousePointerEvent","getPointerFromEvent","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","button","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","toLowerCase","down","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","locked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","doubleTap","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","PointerModes","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","dragPoint","pointerData","pointerLocalCoord","globalToLocal","py","prevX","prevY","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","onChange","onError","boundOnChangeHandler","onChangeHandler","boundOnErrorHandler","onErrorHandler","pointerLockElement","pointerlockchange","pointerlockerror","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","request","exit","_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","removeCallbacks","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","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","deltaX","deltaZ","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","prop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","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","animation","useFlatData","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","getBase64","encoderOptions","toDataURL","onLoadCallback","onErrorCallback","onload","onerror","addImage","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","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","polygon","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","getVisualBounds","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_testString","testString","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontProperties","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","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","fontPropertiesContext","testStringMetrics","actualBoundingBoxAscent","asc","descent","desc","actualBoundingBoxDescent","mxWidth","setCharacterLimit","characterLimit","suffix","fontPropertiesCanvas","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_letterSpacing","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","letterSpacing","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","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","textureDebug","tilePattern","frameWidth","frameHeight","autoScroll","stopScroll","generateTilingTexture","needsUpdate","restartBatch","sessionBlendMode","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","idx","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","android","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chrome","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","standalone","process","require","versions","_checkBrowser","AudioContext","webkitAudioContext","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","devicePixelRatio","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","CanvasRenderingContext2D","getItem","File","FileReader","FileList","Blob","requestFileSystem","WebGLRenderingContext","Worker","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","ALLOW_KEYBOARD_INPUT","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","fakeiOSTouchLock","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","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","isFinite","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","_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","deltaTotal","isTweening","checkIsRunning","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","ms","fps","blob","reversed","elapsedMS","_desiredFps","suggestedFps","desiredFps","advancedTiming","updates","renders","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_timers","timer","autoDestroy","previousDateNow","previousNow","updateAdvancedTiming","updateTimers","interval","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","_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","diff","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","row","column","totalAvailable","lastAvailable","firstFrame","lastFrame","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","layers","tileheight","tilewidth","tiles","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","DATA","_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","addData","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkDataKey","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","getData","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","removeData","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onBeforeLoadComplete","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","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","mediaTypes","avif","bmp","gif","ico","jpg","jpeg","png","svg","tif","tiff","webp","getMediaType","_getSource","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageset","sources","defaultSource","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","truecolor","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","tilemapCSV","tilemapTiledJSON","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","loadPictureTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","picElm","sourceElm","setAttribute","currentSrc","controls","autoplay","playsInline","videoLoadEvent","canplay","Audio","playThroughEvent","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","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","char","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","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_pendingStart","_removeFromSoundManager","_sourceId","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","_removeOnEndedHandler","_disconnectSource","isDecoded","loopFull","forceRestart","_stopSourceAndDisconnect","_createSourceAndConnect","_addOnEndedHandler","_startSource","muted","mute","prevMarker","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","createBufferSource","when","onended","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","baseLatency","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","_onStateChange","disableAudio","disableWebAudio","audioContext","onstatechange","setTouchLock","unlock","setTouchUnlock","webAudioIsSuspended","resumeWebAudio","resumeWebAudioIfSuspended","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactor","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","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","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","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","navigationUI","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","GEOM_AUTO","GEOM_RECTANGLE","GEOM_CIRCLE","GEOM_POINT","GEOM_LINE","GEOM_ELLIPSE","gameInfo","1","2","3","4","soundInfo","sourceId","ended","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","inactiveColor","mx","my","worldX","worldY","_pointerButtonIcon","btn","spriteInputInfo","justDown","justUp","inputInfo","showDetails","_inputHandler","free","inputHandler","_inputHandlerStatusIcon","_inputHandlerCaptureIcon","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","factor","loader","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","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","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","emitters","ID","onAccess","onTimeout","playWhenUnlocked","timeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","captureVideo","removeVideoElement","getUserMediaTimeout","mediaDevices","then","getUserMediaSuccess","catch","getUserMediaError","mozSrcObject","srcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":"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","file":"phaser-no-physics.min.js"} \ No newline at end of file diff --git a/build/custom/phaser-no-physics.min.js b/build/custom/phaser-no-physics.min.js index c6d42a9ea..7f1a802a2 100644 --- a/build/custom/phaser-no-physics.min.js +++ b/build/custom/phaser-no-physics.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.18.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.19.0 - 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(),this._destroyTintedTexture()},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)},_destroyTintedTexture:function(){this.tintedTexture&&(Phaser.CanvasPool.removeByCanvas(this.tintedTexture),this.tintedTexture=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.bringChildToTop=function(t){if(t.parent===this)return this.setChildIndex(t,this.children.length-1)},s.DisplayObjectContainer.prototype.sendChildToBack=function(t){if(t.parent===this)return this.setChildIndex(t,0)},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,_=x.a,b=x.b,T=x.c,w=x.d,C=x.tx,S=x.ty,P=_*m+T*v+C,E=w*v+b*m+S,A=_*g+T*v+C,M=w*v+b*g+S,R=_*g+T*y+C,I=w*y+b*g+S,O=_*m+T*y+C,L=w*y+b*m+S;c=P,d=E,l=E,u=O<(u=R<(u=A<(u=P)?A:u)?R:u)?O:u,l=L<(l=I<(l=M(c=R>(c=A>c?A:c)?R:c)?O:c,d=L>(d=I>(d=M>d?M:d)?I:d)?L: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,g=P>(g=C>(g=T>(g=_>g?_: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,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 g=this.currentBatchSize*this.vertexSize,m=i.baseTexture.resolution,y=i.baseTexture.textureIndex,v=o.a/m,x=o.b/m,_=o.c/m,b=o.d/m,T=o.tx,w=o.ty,C=i.crop.height;if(i.rotated){var S=o.a,P=o.b,E=o.c,A=o.d,M=u,R=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=R,c=M}var I=this.colors,O=this.positions,L=t.tint,k=(L>>16)+(65280&L)+((255&L)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(O[g++]=v*u+_*c+T|0,O[g++]=b*c+x*u+w|0,O[g++]=a.x0,O[g++]=a.y0,I[g++]=k,O[g++]=y,O[g++]=v*h+_*c+T|0,O[g++]=b*c+x*h+w|0,O[g++]=a.x1,O[g++]=a.y1,I[g++]=k,O[g++]=y,O[g++]=v*h+_*l+T|0,O[g++]=b*l+x*h+w|0,O[g++]=a.x2,O[g++]=a.y2,I[g++]=k,O[g++]=y,O[g++]=v*u+_*l+T|0,O[g++]=b*l+x*u+w|0,O[g++]=a.x3,O[g++]=a.y3,I[g++]=k,O[g++]=y):(O[g++]=v*u+_*c+T,O[g++]=b*c+x*u+w,O[g++]=a.x0,O[g++]=a.y0,I[g++]=k,O[g++]=y,O[g++]=v*h+_*c+T,O[g++]=b*c+x*h+w,O[g++]=a.x1,O[g++]=a.y1,I[g++]=k,O[g++]=y,O[g++]=v*h+_*l+T,O[g++]=b*l+x*h+w,O[g++]=a.x2,O[g++]=a.y2,I[g++]=k,O[g++]=y,O[g++]=v*u+_*l+T,O[g++]=b*l+x*u+w,O[g++]=a.x3,O[g++]=a.y3,I[g++]=k,O[g++]=y),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=t.texture.baseTexture.textureIndex;if(s._enableMultiTextureToggle){var n=e.baseTexture,r=this.gl;s.WebGLRenderer.textureArray[i]!=n&&(this.flush(),r.activeTexture(r.TEXTURE0+i),r.bindTexture(r.TEXTURE_2D,n._glTextures[r.id]),s.WebGLRenderer.textureArray[i]=n)}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),g=this.positions,m=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,M=E.b/P,R=E.c/P,I=E.d/P,O=E.tx,L=E.ty;g[S++]=A*T+R*C+O,g[S++]=I*C+M*T+L,g[S++]=o.x0,g[S++]=o.y0,m[S++]=f,g[S++]=i,g[S++]=A*b+R*C+O,g[S++]=I*C+M*b+L,g[S++]=o.x1,g[S++]=o.y1,m[S++]=f,g[S++]=i,g[S++]=A*b+R*w+O,g[S++]=I*w+M*b+L,g[S++]=o.x2,g[S++]=o.y2,m[S++]=f,g[S++]=i,g[S++]=A*T+R*w+O,g[S++]=I*w+M*T+L,g[S++]=o.x3,g[S++]=o.y3,m[S++]=f,g[S++]=i,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,g=!1,m=0,y=this.currentBatchSize;m0&&(v=!1);var x=c!==r;if((!s._enableMultiTextureToggle&&x&&!v||f||g)&&(this.renderBatch(c,u,l),l=m,u=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 _=this.renderSession.projection;e.uniform2f(t.projectionVector,_.x,_.y);var b=this.renderSession.offset;e.uniform2f(t.offsetVector,b.x,b.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(){var t=this,e=e||{VERSION:"2.18.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("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),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,i,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=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(i),o=n*Math.sin(i);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new e.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,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,r){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.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(e.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(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.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},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.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},e.Circle.intersectsLine=function(t,i,s){var n=t.x,r=t.y,o=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-o*i.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,g=new e.Point(c,p),m=new e.Point(d,f),y=i.pointOnSegment(g.x,g.y,.01),v=i.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.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 e.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 e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.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 e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(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&&g<=1&&m>=0&&m<=1?o:null}return o},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.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},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=i.x,h=i.y,u=i.right,l=i.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 e.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,i){return e.Point.distance(this,t,i)},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,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,r){return e.Point.rotate(this,t,i,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},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.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(e.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(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.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(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.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)},e.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}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,r,o),this.bounds=new e.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 e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.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 e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.FLASH=0,e.Camera.FADE_OUT=1,e.Camera.FADE_IN=2,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(i){case e.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case e.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.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,i,s,n,r){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.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,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_OUT)},fadeIn:function(t,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_IN)},fadeEffect:function(t,i,s,n,r){if(void 0===t&&(t=0),void 0===i&&(i=500),void 0===s&&(s=!1),void 0===n&&(n=1),!this.fx||!s&&this._fxDuration>0)return!1;if(this.fx.clear(),this.fx.beginFill(t,n),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),r<1||r>2)throw new Error("Wrong `type` argument");return this.fx.alpha=r===e.Camera.FADE_IN?1:0,this._fxDuration=i,this._fxType=r,!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(){this._fxType===e.Camera.FLASH?(this.fx.alpha-=this.game.time.delta/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):this._fxType===e.Camera.FADE_IN?(this.fx.alpha-=this.game.time.delta/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFadeComplete.dispatch())):(this.fx.alpha+=this.game.time.delta/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.delta,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}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.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(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.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},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.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},e.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,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(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){if(this.clearCurrentState(),this.setCurrentState(this._pendingState),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 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){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.current,i=this.states[t];this.callbackContext=i,this.link(t),this.onInitCallback=i.init||this.dummy,this.onPreloadCallback=i.preload||null,this.onLoadRenderCallback=i.loadRender||null,this.onLoadUpdateCallback=i.loadUpdate||null,this.onCreateCallback=i.create||null,this.onUpdateCallback=i.update||null,this.onPostUpdateCallback=i.postUpdate||null,this.onPreRenderCallback=i.preRender||null,this.onRenderCallback=i.render||null,this.onResizeCallback=i.resize||null,this.onPausedCallback=i.paused||null,this.onResumedCallback=i.resumed||null,this.onPauseUpdateCallback=i.pauseUpdate||null,this.onShutDownCallback=i.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onStateChange.dispatch(this.current,e),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.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.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(){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===e.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.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.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,i,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else o=new e.SignalBinding(this,t,i,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)},e.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)},e.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===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,u=i*n,l=o;lthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.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},e.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},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.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},e.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},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))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},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=e.Utils.getProperty(t,i);return!(void 0===r&&n||r!==s)},e.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)},e.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=this.children.length,a=0;a2){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()}},e.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},e.Group.prototype.iterate=function(t,i,s,n,r,o){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var u=0;u0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!i||i.call(s,h,r))&&(n=r,o=h)}return o},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.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 e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.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}},e.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()}},e.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)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.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(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.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(e.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(e.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(e.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(e.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(e.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}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.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)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.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()},e.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))},e.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(e.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){tthis.time.deltaMax){if(this.dropFrames)return;e=this.time.deltaMax}if(this.forceSingleUpdate)this.updatesThisFrame=1,this.rendersThisFrame=1,this.updateLogic(.001*e/this.time.slowMotion),this.updateRender();else if(this._spiraling>2)this.updatesThisFrame=0,this.rendersThisFrame=0,this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0;else{var i=0,s=1e3*this.time.desiredFpsMult;for(this._deltaTime+=e,this.updatesThisFrame=Math.floor(this._deltaTime/s),this.rendersThisFrame=this.forceSingleRender?1:Math.min(1,this.updatesThisFrame);this._deltaTime>=s;)this._deltaTime-=s,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult/this.time.slowMotion),this.time.refresh(),i++;i>this._lastCount?this._spiraling++:i0&&this.updateRender()}}}}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.preUpdate(t),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(){this.lockRender||this.renderType===e.HEADLESS||(this.time.preRender(),this.state.preRender(),this.renderer.render(this.stage),this.plugins.render(),this.state.render(),this.plugins.postRender(),this.renderer.postRender())},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.gamePaused(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.gameResumed(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this._focusGained=!0,this.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),e.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=e.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!0===t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},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+i.x=a&&this.game.camera.y+i.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}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.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===i,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 e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.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,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,r="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):r||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},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 i=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),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.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===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.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,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!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.pointerLock.locked&&!i&&(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===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.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,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!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 i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=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&&i.currentPointers--,i.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=e.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){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,r=this._pointerData[t.id],o=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var u=i.scale.x*h.x+n.x+s.x,l=i.scale.y*h.y+n.y+s.y;else var u=h.x+n.x+s.x,l=h.y+n.y+s.y;if(a.fixedToCamera){var c=a.cameraOffset,d=c.x,p=c.y;this.allowHorizontalDrag&&(c.x=u-i.x),this.allowVerticalDrag&&(c.y=l-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(c.x=Math.round((c.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,c.y=Math.round((c.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(c.x,c.y));var f=c.x-d,g=c.y-p}else{var m=i.x-r.camX,y=i.y-r.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=u+m),this.allowVerticalDrag&&(a.y=l+y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(a.x,a.y));var f=a.x-d,g=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,u,l,o,e,f,g),!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)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.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 e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this)]},e.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 i=!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}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;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},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.delta,this.lifespan<=0))||(this.kill(),!1)},e.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}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||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===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.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(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)o=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,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,i)}r&&(this._frame=e.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}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):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))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.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)}}},e.Component.Reset=function(){},e.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},e.Component.ScaleMinMax=function(){},e.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,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,r){var o=this.game.plugins.add(e.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,i,s,n),o},image:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,r,o,a){void 0===r&&(r=this.world);var h=new e.Creature(this.game,t,i,s,n,o,a);return r.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,r){return new e.Group(this.game,t,i,s,n,r)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,r,o))},rope:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.Rope(this.game,t,i,s,n,r))},text:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,r,o,a,h,u,l){return void 0===l&&(l=this.world),l.add(new e.Button(this.game,t,i,s,n,r,o,a,h,u))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,r,o,a,h,u){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,u)},bitmapText:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.BitmapText(this.game,t,i,s,n,r))},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,r){return new e.Group(this.game,t||null,i,s,n,r)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o){return new e.TileSprite(this.game,t,i,s,n,r,o)},rope:function(t,i,s,n,r){return new e.Rope(this.game,t,i,s,n,r)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,r,o,a,h,u){return new e.Button(this.game,t,i,s,n,r,o,a,h,u)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,r,o,a,h,u){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,u)},bitmapText:function(t,i,s,n,r,o){return new e.BitmapText(this.game,t,i,s,n,r,o)},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,r,o,a,h,u,l){i=i||0,s=s||0,n=n||null,r=r||null,o=o||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.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 e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.PointerMode.CONTACT,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)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;return e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.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)},e.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())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},e.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},e.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)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.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)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.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")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.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())},e.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&&i>=0&&i<=this.height&&(e.Device.LITTLE_ENDIAN?this.pixels[i*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[i*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,i,s){s||(s=e.Color.createColor());var n=~~(t+i*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,i,s,n,r){return e.Color.unpackPixel(this.getPixel32(t,i),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 i=e.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{e.Color.unpackPixel(this.getPixel32(s,n),i),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===i.a&&!o);return i.x=s,i.y=n,i},getBounds:function(t){return void 0===t&&(t=new e.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,i,s,n,r,o,a,h,u,l,c,d,p,f,g,m,y){if(void 0!==t&&null!==t||(t=this),t instanceof e.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof e.Sprite||t instanceof e.Image||t instanceof e.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 e.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 e.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return this;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==i&&null!==i||(i=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=i),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 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)return this;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+i,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,i,s){if(void 0===i&&(i=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 e.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,i&&(this.op=i),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,i,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,i,s),t.type===e.GROUP&&t.exists)this.drawGroup(t,i,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ni.width&&(n=i.width);var r=this.context;return r.fillStyle=r.createPattern(i,s),this._circle=new e.Circle(t.start.x,t.start.y,i.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,i.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),e.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 g=s;gl&&(l=d),p>c&&(c=p);f=Math.max(l-h,c-u)}return e.EarCut.earcutLinked(o,a,s,h,u,f),a},e.EarCut.linkedList=function(t,i,s,n,r){var o,a,h,u=0;for(o=i,a=s-n;o0)for(o=i;o=i;o-=n)h=e.EarCut.insertNode(o,t[o],t[o+1],h);return h},e.EarCut.filterPoints=function(t,i){if(!t)return t;i||(i=t);var s,n=t;do{if(s=!1,n.steiner||!e.EarCut.equals(n,n.next)&&0!==e.EarCut.area(n.prev,n,n.next))n=n.next;else{if(e.EarCut.removeNode(n),(n=i=n.prev)===n.next)return null;s=!0}}while(s||n!==i);return i},e.EarCut.earcutLinked=function(t,i,s,n,r,o,a){if(t){!a&&o&&e.EarCut.indexCurve(t,n,r,o);for(var h,u,l=t;t.prev!==t.next;)if(h=t.prev,u=t.next,o?e.EarCut.isEarHashed(t,n,r,o):e.EarCut.isEar(t))i.push(h.i/s),i.push(t.i/s),i.push(u.i/s),e.EarCut.removeNode(t),t=u.next,l=u.next;else if((t=u)===l){a?1===a?(t=e.EarCut.cureLocalIntersections(t,i,s),e.EarCut.earcutLinked(t,i,s,n,r,o,2)):2===a&&e.EarCut.splitEarcut(t,i,s,n,r,o):e.EarCut.earcutLinked(e.EarCut.filterPoints(t),i,s,n,r,o,1);break}}},e.EarCut.isEar=function(t){var i=t.prev,s=t,n=t.next;if(e.EarCut.area(i,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(e.EarCut.pointInTriangle(i.x,i.y,s.x,s.y,n.x,n.y,r.x,r.y)&&e.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},e.EarCut.isEarHashed=function(t,i,s,n){var r=t.prev,o=t,a=t.next;if(e.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=e.EarCut.zOrder(h,u,i,s,n),p=e.EarCut.zOrder(l,c,i,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.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&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},e.EarCut.cureLocalIntersections=function(t,i,s){var n=t;do{var r=n.prev,o=n.next.next;e.EarCut.intersects(r,n,n.next,o)&&e.EarCut.locallyInside(r,o)&&e.EarCut.locallyInside(o,r)&&(i.push(r.i/s),i.push(n.i/s),i.push(o.i/s),e.EarCut.removeNode(n),e.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},e.EarCut.splitEarcut=function(t,i,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&e.EarCut.isValidDiagonal(a,h)){var u=e.EarCut.splitPolygon(a,h);return a=e.EarCut.filterPoints(a,a.next),u=e.EarCut.filterPoints(u,u.next),e.EarCut.earcutLinked(a,i,s,n,r,o),void e.EarCut.earcutLinked(u,i,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},e.EarCut.eliminateHoles=function(t,i,s,n){var r,o,a,h,u,l=[];for(r=0,o=i.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&&e.EarCut.pointInTriangle(os.x)&&e.EarCut.locallyInside(n,t)&&(s=n,c=u),n=n.next;return s},e.EarCut.indexCurve=function(t,i,s,n){var r=t;do{null===r.z&&(r.z=e.EarCut.zOrder(r.x,r.y,i,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,e.EarCut.sortLinked(r)},e.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},e.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},e.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},e.EarCut.isValidDiagonal=function(t,i){return e.EarCut.equals(t,i)||t.next.i!==i.i&&t.prev.i!==i.i&&!e.EarCut.intersectsPolygon(t,i)&&e.EarCut.locallyInside(t,i)&&e.EarCut.locallyInside(i,t)&&e.EarCut.middleInside(t,i)},e.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},e.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},e.EarCut.intersects=function(t,i,s,n){return e.EarCut.area(t,i,s)>0!=e.EarCut.area(t,i,n)>0&&e.EarCut.area(s,n,t)>0!=e.EarCut.area(s,n,i)>0},e.EarCut.intersectsPolygon=function(t,i){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==i.i&&s.next.i!==i.i&&e.EarCut.intersects(s,s.next,t,i))return!0;s=s.next}while(s!==t);return!1},e.EarCut.locallyInside=function(t,i){return e.EarCut.area(t.prev,t,t.next)<0?e.EarCut.area(t,i,t.next)>=0&&e.EarCut.area(t,t.prev,i)>=0:e.EarCut.area(t,i,t.prev)<0||e.EarCut.area(t,t.next,i)<0},e.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},e.EarCut.splitPolygon=function(t,i){var s=new e.EarCut.Node(t.i,t.x,t.y),n=new e.EarCut.Node(i.i,i.x,i.y),r=t.next,o=i.prev;return t.next=i,i.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},e.EarCut.insertNode=function(t,i,s,n){var r=new e.EarCut.Node(t,i,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},e.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)},e.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,i){var s,n=i.gl,r=i.projection,o=i.offset,a=i.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===e.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===e.CIRCLE||a.type===e.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===e.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),s.lastIndex++}for(n=0;n19600?(b=y-x,T=v-_,b/=R=Math.sqrt(b*b+T*T),T/=R,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*(L-2)],d=n[2*(L-2)+1],p=n[2*(L-1)],y=-(d-(f=n[2*(L-1)+1])),v=c-p,y/=R=Math.sqrt(y*y+v*v),v/=R,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),O.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,i.beginPath(),i.moveTo(b,T+S),i.lineTo(b,T+C-S),i.quadraticCurveTo(b,T+C,b+S,T+C),i.lineTo(b+w-S,T+C),i.quadraticCurveTo(b+w,T+C,b+w,T+C-S),i.lineTo(b+w,T+S),i.quadraticCurveTo(b+w,T,b+w-S,T),i.lineTo(b+S,T),i.quadraticCurveTo(b,T,b,T+S),i.closePath(),(r.fillColor||0===r.fillColor)&&(i.globalAlpha=r.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fill()),r.lineWidth&&(i.globalAlpha=r.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,i){var s=t.graphicsData.length;if(0!==s){i.beginPath();for(var n=0;nC?C:w,i.moveTo(x,_+w),i.lineTo(x,_+T-w),i.quadraticCurveTo(x,_+T,x+w,_+T),i.lineTo(x+b-w,_+T),i.quadraticCurveTo(x+b,_+T,x+b,_+T-w),i.lineTo(x+b,_+w),i.quadraticCurveTo(x+b,_,x+b-w,_),i.lineTo(x+w,_),i.quadraticCurveTo(x,_,x,_+w),i.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}},e.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},e.GraphicsData.prototype.constructor=e.GraphicsData,e.GraphicsData.prototype.clone=function(){return new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},e.Graphics=function(t,i,s){void 0===i&&(i=0),void 0===s&&(s=0),this.type=e.GRAPHICS,this.physicsType=e.SPRITE,this.anchor=new e.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 e.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Graphics.prototype.constructor=e.Graphics,e.Component.Core.install.call(e.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.Graphics.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Graphics.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Graphics.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Graphics.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Graphics.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},e.Graphics.prototype.drawTriangles=function(t,i,s){void 0===s&&(s=!1);var n,r=new e.Point,o=new e.Point,a=new e.Point,h=[];if(i)if(t[0]instanceof e.Point)for(n=0;nl*a)}return this.dirty=!0,this._boundsDirty=!0,this},e.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),g=Math.sin(d),m=h-1,y=m%1/m,v=0;v<=m;v++){var x=d+s+p*(v+y*v),_=Math.cos(x),b=-Math.sin(x);c.push((f*_+g*b)*i+t,(f*-b+g*_)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},e.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},e.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},e.Graphics.prototype.drawRect=function(t,i,s,n){return this.drawShape(new e.Rectangle(t,i,s,n)),this},e.Graphics.prototype.drawRoundedRect=function(t,i,s,n,r){return this.drawShape(new e.RoundedRectangle(t,i,s,n,r)),this},e.Graphics.prototype.drawCircle=function(t,i,s){return this.drawShape(new e.Circle(t,i,s)),this},e.Graphics.prototype.drawEllipse=function(t,i,s,n){return this.drawShape({x:t,y:i,width:s,height:n,type:e.ELLIPSE}),this},e.Graphics.prototype.drawPolygon=function(t){t instanceof e.Polygon&&(t=t.points);var i=t;if(!Array.isArray(i)){i=new Array(arguments.length);for(var s=0;sT?m: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},e.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=e.identityMatrix;for(var i=0;ii?a+u:i,s=hn?h+l:n;else if(p===e.CIRCLE)a=r.x,h=r.y,u=r.radius+f/2,l=r.radius+f/2,t=a-ui?a+u:i,s=h-ln?h+l:n;else if(p===e.ELLIPSE)a=r.x,h=r.y,u=r.width+f/2,l=r.height+f/2,t=a-ui?a+u:i,s=h-ln?h+l:n;else{o=r.points;for(var g=0;gi?a+f:i,s=h-fn?h+f:n}}else t=0,i=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=i-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},e.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},e.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()},e.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},e.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof e.Polygon&&(t=t.clone()).flatten();var i=new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(i),i.type===e.POLYGON&&(i.shape.closed=this.filling,this.currentPath=i),this.dirty=!0,this._boundsDirty=!0,i},Object.defineProperty(e.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}}),e.RenderTexture=function(t,i,s,n,r,o,a,h){if(void 0===i&&(i=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=e.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=e.RENDERTEXTURE,this._tempMatrix=new e.Matrix,this.width=i,this.height=s,this.resolution=o,this.frame=new e.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===e.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 e.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 e.Matrix,this._updateUvs()},e.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),e.RenderTexture.prototype.constructor=e.RenderTexture,e.RenderTexture.prototype.renderXY=function(t,i,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=i,this._tempMatrix.ty=s,this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.renderRawXY=function(t,i,s,n){this._tempMatrix.identity().translate(i,s),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.render=function(t,i,s){void 0===i||null===i?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(i),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},e.RenderTexture.prototype.resize=function(t,i,s){t===this.width&&i===this.height||(this.valid=t>0&&i>0,this.width=t,this.height=i,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=i*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===e.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},e.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===e.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},e.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,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},e.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)},e.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++}},e.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},e.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},e.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},e.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},e.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},e.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},e.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)/)},e.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},e.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 g=p;g.length&&(g=g.slice(0,-1),!((f=e.measureText(g).width)<=u)););if(!g.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var m=d.substr(g.length);l[c]=m,h+=g}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,"")},e.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},e.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()},e.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.Text.prototype.determineFontProperties=function(t){var i=e.Text.fontPropertiesCache[t],s=this.testString||"|MÉq";if(!i){i={};var n=e.Text.fontPropertiesCanvas,r=e.Text.fontPropertiesContext;r.font=t;var o=Math.ceil(r.measureText(s).width),a=Math.ceil(r.measureText(s).width),h=2*a;if(a=1.4*a|0,n.width=o,n.height=h,r.fillStyle="#f00",r.fillRect(0,0,o,h),r.font=t,r.textBaseline="alphabetic",r.fillStyle="#000",r.fillText(s,0,a),!r.getImageData(0,0,o,h))return i.ascent=a,i.descent=a+6,i.fontSize=i.ascent+i.descent,e.Text.fontPropertiesCache[t]=i,i;var u,l,c=r.getImageData(0,0,o,h).data,d=c.length,p=4*o,f=0,g=!1;for(u=0;ua;u--){for(l=0;l0?this._maxWidth:null,u=[],l=0;l=h&&r>-1)return{width:o||n,text:i.substr(0,l-(l-r)),end:!1,chars:u};n+=(p.xAdvance+g+this.letterSpacing)*e,u.push(s+(p.xOffset+g+this.letterSpacing)*e),s+=(p.xAdvance+g+this.letterSpacing)*e,a=d}return{width:n,text:i,end:c,chars:u}},e.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(e.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),e.RetroFont=function(t,i,s,n,r,o,a,h,u,l){if(!t.cache.checkImageKey(i))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(i).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(i),this._text="",this.grabData=[],this.frameData=new e.FrameData;for(var c=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",e.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",e.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",e.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",e.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",e.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",e.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",e.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",e.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},e.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)},e.RetroFont.prototype.buildRetroFontText=function(){var t=0,i=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===e.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===e.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},e.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},e.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},e.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},e.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(e.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(e.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),e.Rope=function(t,i,s,n,r,o){this.points=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=e.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=e.Rope.TRIANGLE_STRIP,e.Component.Core.init.call(this,t,i,s,n,r),this.refresh()},e.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Rope.prototype.constructor=e.Rope,e.Component.Core.install.call(e.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Rope.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Rope.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Rope.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Rope.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Rope.TRIANGLE_STRIP=0,e.Rope.TRIANGLES=1,e.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},e.Rope.prototype.reset=function(t,i){return e.Component.Reset.prototype.reset.call(this,t,i),this},e.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;for(var n=t.length,r=0,o=0,a=0;a0){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=g*x+v*y+m*_-x*y-v*m-g*_,M=u*x+v*c+l*_-x*c-v*l-u*_,R=g*l+u*y+m*c-l*y-u*m-g*c,I=g*x*c+v*l*y+u*m*_-u*x*y-v*m*c-g*l*_,O=d*x+v*f+p*_-x*f-v*p-d*_,L=g*p+d*y+m*f-p*y-d*m-g*f,k=g*x*f+v*p*y+d*m*_-d*x*y-v*m*f-g*p*_;t.transform(M/A,O/A,R/A,L/A,I/A,k/A),t.drawImage(o,0,0),t.restore()},e.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nu?y:u,l=v>l?v:l}if(c===-1/0||l===1/0)return e.EmptyRectangle;var x=this._bounds;return x.x=c,x.width=u-c,x.y=d,x.height=l-d,this._currentBounds=x,x},Object.defineProperty(e.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(e.Rope.prototype,"segments",{get:function(){for(var t,i,s,n,r,o,a,h,u=[],l=0;l(b=y>(b=g>(b=p>b?p:b)?g:b)?y:b)?x:b,T=_>(T=v>(T=m>(T=f>T?f:T)?m: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(e.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(e.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),e.CanvasPool={create:function(t,i,s){var n,r=e.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};e.CanvasPool.pool.push(o),n=o.canvas}else e.CanvasPool.pool[r].parent=t,n=e.CanvasPool.pool[r].canvas;return void 0!==i&&(n.width=i,n.height=s),n},getFirst:function(){for(var t=e.CanvasPool.pool,i=0;i=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&&i(),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=!!window.WebGLRenderingContext,s.worker=!!window.Worker,s.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,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=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var r=i.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]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.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"))},e.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))))))},e.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)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,r){i=i||256,s=s||256;var o=r?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=i,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,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),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 i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},setImageRenderingCrisp:function(t){for(var e=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","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=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=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}},e.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)},e.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(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.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)},e.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 e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.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 e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},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}},e.QuadTree.prototype.constructor=e.QuadTree,e.TweenManager=function(t){this.game=t,this._tweens=[],this._add=[],this.easeMap={Power0:e.Easing.Power0,Power1:e.Easing.Power1,Power2:e.Easing.Power2,Power3:e.Easing.Power3,Power4:e.Easing.Power4,Linear:e.Easing.Linear.None,Quad:e.Easing.Quadratic.Out,Cubic:e.Easing.Cubic.Out,Quart:e.Easing.Quartic.Out,Quint:e.Easing.Quintic.Out,Sine:e.Easing.Sinusoidal.Out,Expo:e.Easing.Exponential.Out,Circ:e.Easing.Circular.Out,Elastic:e.Easing.Elastic.Out,Back:e.Easing.Back.Out,Bounce:e.Easing.Bounce.Out,"Quad.easeIn":e.Easing.Quadratic.In,"Cubic.easeIn":e.Easing.Cubic.In,"Quart.easeIn":e.Easing.Quartic.In,"Quint.easeIn":e.Easing.Quintic.In,"Sine.easeIn":e.Easing.Sinusoidal.In,"Expo.easeIn":e.Easing.Exponential.In,"Circ.easeIn":e.Easing.Circular.In,"Elastic.easeIn":e.Easing.Elastic.In,"Back.easeIn":e.Easing.Back.In,"Bounce.easeIn":e.Easing.Bounce.In,"Quad.easeOut":e.Easing.Quadratic.Out,"Cubic.easeOut":e.Easing.Cubic.Out,"Quart.easeOut":e.Easing.Quartic.Out,"Quint.easeOut":e.Easing.Quintic.Out,"Sine.easeOut":e.Easing.Sinusoidal.Out,"Expo.easeOut":e.Easing.Exponential.Out,"Circ.easeOut":e.Easing.Circular.Out,"Elastic.easeOut":e.Easing.Elastic.Out,"Back.easeOut":e.Easing.Back.Out,"Bounce.easeOut":e.Easing.Bounce.Out,"Quad.easeInOut":e.Easing.Quadratic.InOut,"Cubic.easeInOut":e.Easing.Cubic.InOut,"Quart.easeInOut":e.Easing.Quartic.InOut,"Quint.easeInOut":e.Easing.Quintic.InOut,"Sine.easeInOut":e.Easing.Sinusoidal.InOut,"Expo.easeInOut":e.Easing.Exponential.InOut,"Circ.easeInOut":e.Easing.Circular.InOut,"Elastic.easeInOut":e.Easing.Elastic.InOut,"Back.easeInOut":e.Easing.Back.InOut,"Bounce.easeInOut":e.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},e.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,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_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)},destroy:function(){this.game.onPause.remove(this._pauseAll,this),this.game.onResume.remove(this._resumeAll,this),this.game=null,this._add=null,this._tweens=null}},e.TweenManager.prototype.constructor=e.TweenManager,e.Tween=function(t,i,s){this.game=i,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new e.Signal,this.onLoop=new e.Signal,this.onRepeat=new e.Signal,this.onChildComplete=new e.Signal,this.onComplete=new e.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},e.Tween.updateColor=function(t){e.Color.updateColor(t.target)},e.Tween.prototype={to:function(t,i,s,n,r,o,a){return(void 0===i||i<=0)&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).to(t,i,s,r,o,a)),n&&this.start(),this)},from:function(t,i,s,n,r,o,a){return void 0===i&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).from(t,i,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(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.deltaTotal},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.deltaTotal)},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.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])),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 e.TweenData.PENDING;this.isRunning=!0}var i=this.game.time.delta;this.parent.reverse?(this.dt-=i*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=i*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():e.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,e.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return e.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.deltaTotal,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,e.TweenData.LOOPED}},e.TweenData.prototype.constructor=e.TweenData,e.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){return 0===t?0:1===t?1:(.1,-1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4))},Out:function(t){return 0===t?0:1===t?1:(.1,1*Math.pow(2,-10*t)*Math.sin((t-.1)*(2*Math.PI)/.4)+1)},InOut:function(t){return 0===t?0:1===t?1:(.1,(t*=2)<1?1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*-.5:1*Math.pow(2,-10*(t-=1))*Math.sin((t-.1)*(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-e.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*e.Easing.Bounce.In(2*t):.5*e.Easing.Bounce.Out(2*t-1)+.5}}},e.Easing.Default=e.Easing.Linear.None,e.Easing.Power0=e.Easing.Linear.None,e.Easing.Power1=e.Easing.Quadratic.Out,e.Easing.Power2=e.Easing.Cubic.Out,e.Easing.Power3=e.Easing.Quartic.Out,e.Easing.Power4=e.Easing.Quintic.Out,e.Time=function(t){this.game=t,this.time=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.delta=0,this.deltaTotal=0,this.deltaMax=200,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=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 e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._timers=[]},e.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 i=new e.Timer(this.game,t);return this._timers.push(i),i},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){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},preUpdate:function(t){t*=1e3,this.delta=t,this.deltaTotal+=t,this.game.paused||(this.events.update(this.deltaTotal),this.updateTimers()),this.advancedTiming&&this.updates++},preRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted},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(e.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.desiredFpsMult=1/t}}),Object.defineProperty(e.Time.prototype,"desiredMinFps",{get:function(){return 1e3/this.deltaMax},set:function(t){this.deltaMax=1e3/t}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.Signal,this.nextTick=0,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=this.game.time?this.game.time.deltaTotal:0,this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,r,o){var a=(t=Math.round(t))+this._now,h=new e.TimerEvent(this,t,a,s,i,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.deltaTotal+(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._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.deltaTotal,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.deltaTotal,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.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},e.TimerEvent.prototype.constructor=e.TimerEvent,e.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=[]},e.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,i,s,n,r){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,r,this._outputFrames),this._anims[t]=new e.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}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},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(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},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)}}),e.Animation=function(t,i,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=i,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 e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.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.deltaTotal,this._timeNextFrame=this.game.time.deltaTotal+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.deltaTotal,this._timeNextFrame=this.game.time.deltaTotal+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=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(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||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.updateCurrentFrame(!1),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()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.deltaTotal:this.isPlaying&&(this._timeNextFrame=this.game.time.deltaTotal+this.delay)}}),Object.defineProperty(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.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(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,r){void 0===n&&(n="");var o=[],a="";if(i=s;h--)a=t+(a="number"==typeof r?e.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},e.Frame=function(t,i,s,n,r,o){this.index=t,this.x=i,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+o+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=e.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},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},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 e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.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 e.FrameData,i=0;if||h<-f)return console.error('Spritesheet "%s": skipFrames=%s is larger than the frame total %s',i,h,f),null;if(r>-1&&(v=(f=r)-1),d<1&&console.warn('Spritesheet "%s": Texture has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)',i,l,s+o+a,s,o,a),p<1&&console.warn('Spritesheet "%s": Texture has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)',i,c,n+o+a,n,o,a),0===g)return console.error('Spritesheet "%s": zero frames were produced',i),null;if(h>0?v=(y=h)+(f=Math.min(f,g-h))-1:h<0&&(y=(v=m+h)-(f=Math.min(f,g+h))+1),y<0)return console.error('Spritesheet "%s": There is no frame at index %s',i,y),null;if(v>m)return console.warn('Spritesheet "%s": There is no frame at index %s. Last frame found is index %s',i,v,m),null;for(var x=new e.FrameData,_=o,b=o,T=0,w=0;wv);w++)w>=y&&x.addFrame(new e.Frame(T++,_,b,s,n,"")),(_+=s+a)+s>l&&(_=o,b+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,r=i.frames,o=0;o tag")}},e.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:{},data:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._cacheMap[e.Cache.DATA]=this._cache.data,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DATA=16,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in e.LoaderParser?e.LoaderParser[s](n):n,o={key:t,url:i,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new e.Frame(0,0,0,r.width,r.height,t),frameData:new e.FrameData,fileFormat:s};return o.frameData.addFrame(new e.Frame(0,0,0,r.width,r.height,i)),this._cache.image[t]=o,this._resolveURL(i,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,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.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(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.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,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,r,o,a){var h={url:i,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?e.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,r,o,a){var h=this.getFrameByName(i,s);if(h){var u={font:null,base:this.getBaseTexture(i),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var l;"json"===r?(l=this.getJSON(n),u.font=e.LoaderParser.jsonBitmapFont(l,u.base,o,a,h,this.game.resolution)):(l=this.getXML(n),u.font=e.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,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,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:i,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,u)};this._cache.image[t]=l,this._resolveURL(i,l)},addTextureAtlas:function(t,i,s,n,r){var o={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===e.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=e.AnimationParser.XMLData(this.game,n,t):r===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=e.AnimationParser.JSONData(this.game,n,t):o.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(i,o)},addData:function(t,e){this._cache.data[t]=e},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 i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.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(e.Cache.CANVAS,t)},checkDataKey:function(t){return this.checkKey(e.Cache.DATA,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.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,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var r=n[i];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+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getData:function(t){return this.getItem(t,e.Cache.DATA,"getData")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},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=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},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]},removeData:function(t){delete this._cache.data[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.",i),t._ready())},e.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)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.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 e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.Signal,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},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.mediaTypes={avif:"image/avif",bmp:"image/bmp",cur:"image/x-icon",gif:"image/gif",ico:"image/x-icon",jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",svg:"image/svg+xml",tif:"image/tiff",tiff:"image/tiff",webp:"image/webp"},e.Loader.getMediaType=function(t){var i=t.match(/\.(\w+)$/);return i?e.Loader.mediaTypes[i[1]]||null:null},e.Loader._getSource=function(t){return"string"==typeof t?{url:t,type:e.Loader.getMediaType(t)}:t},e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.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.game.state&&(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.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 i=t.data[t.key];if(i)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()},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,i){if(this.game.isBooted){var s=!0;switch(t.type){case"packfile":r=JSON.parse(i.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,i.response);break;case"image":case"imageset":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===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.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=i.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=i.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=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(i.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=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.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(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.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;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=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]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),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}},e.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])},e.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]}},e.AudioSprite.prototype.constructor=e.AudioSprite,e.Sound=function(t,i,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=i,this.key=i,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.playOnce=!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._pendingStart=!1,this._removeFromSoundManager=!1,this._sourceId=0,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,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(i)&&this.game.cache.isSoundReady(i)?(this._sound=this.game.cache.getSoundData(i),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new e.Signal,this.onPlay=new e.Signal,this.onPause=new e.Signal,this.onResume=new e.Signal,this.onLoop=new e.Signal,this.onStop=new e.Signal,this.onMute=new e.Signal,this.onMarkerComplete=new e.Signal,this.onFadeComplete=new e.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},e.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&&(this._removeOnEndedHandler(),this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),this._markedToDelete&&(this._disconnectSource(),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(){if(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));var t=this.game.time.time;if(this.isPlaying){if(this._pendingStart){var e=this._sound.currentTime;if(!(e>((this.paused?this._tempPause:0)||this.position||0)))return;this._pendingStart=!1,this.startTime=t-1e3*e,this.stopTime=this.startTime+this.durationMS}this.currentTime=t-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=t,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0,!1))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=t),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0,!1)):this.stop())}}else this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n,r){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),void 0===r&&(r=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0),this.isPlaying=!1),""===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._createSourceAndConnect(),this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||this._addOnEndedHandler(),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),this.loop&&""===t?this._startSource(0,0):this._startSource(0,this.position,this.duration),this.isPlaying=!0,this.paused=!1,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&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._sound.loop=this.loop,this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._globalVolume=this.game.sound.volume,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._globalVolume,this._pendingStart=!this.currentMarker,this.isPlaying=!0,this.paused=!1,this._tempPause=0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&this.onPlay.dispatch(this)):this.pendingPlayback=!0,this.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!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.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){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._createSourceAndConnect(),""===this.currentMarker&&(this.loop?this._sound.loop=!0:this._addOnEndedHandler());var e=this.duration-this.pausedPosition/1e3;this.loop&&""===this.currentMarker?this._startSource(0,t):this._startSource(0,t,e)}else this._pendingStart=!this.currentMarker,this._sound.currentTime=this._tempPause,this._tempPause=0,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&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0)),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,i){this.isPlaying&&!this.paused&&i!==this.volume&&(void 0===t&&(t=1e3),void 0!==i?(this.fadeTween=this.game.add.tween(this).to({volume:i},t,e.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())},_createSourceAndConnect:function(){this._sound=this.context.createBufferSource(),this._sound.connect(this.externalNode||this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this._sourceId++},_disconnectSource:function(){this._sound.disconnect(this.externalNode||this.gainNode)},_startSource:function(t,e,i){void 0===i?this._sound.start(t||0,e||0):this._sound.start(t||0,e||0,i)},_stopSourceAndDisconnect:function(){this._removeOnEndedHandler();try{this._sound.stop(0)}catch(t){}this._disconnectSource(),this._sound=null},_addOnEndedHandler:function(){this._sound.onended=this.onEndedHandler.bind(this)},_removeOnEndedHandler:function(){this._sound.onended=null}},e.Sound.prototype.constructor=e.Sound,Object.defineProperty(e.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(e.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(e.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(e.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))}}),Object.defineProperty(e.Sound.prototype,"sourceId",{get:function(){return this._sound?this._sourceId:null}}),e.SoundManager=function(t){this.game=t,this.onSoundDecode=new e.Signal,this.onVolumeChange=new e.Signal,this.onMute=new e.Signal,this.onUnMute=new e.Signal,this.onTouchUnlock=new e.Signal,this.onStateChange=new e.Signal,this.context=null,this.baseLatency=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 e.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null,this._onClick=this._onClick.bind(this),this._onStateChange=this._onStateChange.bind(this)},e.SoundManager.prototype={boot:function(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,this.baseLatency=this.context.baseLatency||256/(this.context.sampleRate||44100),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.context.onstatechange=this._onStateChange,"suspended"===this.context.state&&this.game.canvas.addEventListener("click",this._onClick);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},webAudioIsSuspended:function(){return this.usingWebAudio&&"suspended"===this.context.state},resumeWebAudio:function(){if(this.usingWebAudio)return this.context.resume()},resumeWebAudioIfSuspended:function(){if(this.webAudioIsSuspended())return this.context.resume()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();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);var e=this;this._unlockSource.onended=function(){e.setTouchUnlock(),e.resumeWebAudioIfSuspended()},void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudioIfSuspended()}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 i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==i||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))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.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(e.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(e.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(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),e.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px monospace",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},e.Utils.Debug.GEOM_AUTO=0,e.Utils.Debug.GEOM_RECTANGLE=1,e.Utils.Debug.GEOM_CIRCLE=2,e.Utils.Debug.GEOM_POINT=3,e.Utils.Debug.GEOM_LINE=4,e.Utils.Debug.GEOM_ELLIPSE=5,e.Utils.Debug.prototype={boot:function(){this.game.renderType===e.CANVAS?this.context=this.game.context:(this.bmd=new e.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=e.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new e.Line,this._rect=new e.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;e ")+o):o===s._pendingState?this.line("+ "+o):this.line(" "+o)}this.stop()},sound:function(t,e,i){var s=this.game.sound;this.start(t,e,i),s.noAudio?this.line("Audio is disabled"):(this.line("Volume: "+s.volume.toFixed(2)+(s.mute?" (Mute)":"")),this.line("Mute on pause: "+s.muteOnPause),this.line("Using: "+(s.usingWebAudio?"Web Audio - "+s.context.state:"Audio Tag")),this.line("Touch locked: "+s.touchLocked),this.line("Sounds: "+s._sounds.length)),this.stop()},soundInfo:function(t,e,i,s){if(this.start(e,i,s),this.line("Sound: "+t.key+" Touch locked: "+t.game.sound.touchLocked),this.line("Is Ready?: "+this.game.cache.isSoundReady(t.key)+" Pending Playback: "+t.pendingPlayback),this.line("Decoded: "+t.isDecoded+" Decoding: "+t.isDecoding),this.line("Playing: "+t.isPlaying+" Loop: "+t.loop),this.line("Time: "+(t.currentTime/1e3).toFixed(3)+"s Total: "+t.totalDuration.toFixed(3)+"s"),this.line("Volume: "+t.volume.toFixed(2)+(t.mute?" (Mute)":"")),this.line("Using: "+(t.usingWebAudio?"Web Audio":"Audio Tag")),t.usingWebAudio&&this.line(" Source: "+(t.sourceId||"none")),t.usingAudioTag&&t._sound){var n=t._sound;this.line(" currentSrc: "+n.currentSrc),this.line(" currentTime: "+n.currentTime),this.line(" duration: "+n.duration),this.line(" ended: "+n.ended),this.line(" loop: "+n.loop),this.line(" muted: "+n.muted),this.line(" paused: "+n.paused)}""!==t.currentMarker&&(this.line("Marker: "+t.currentMarker+" Duration: "+t.duration.toFixed(3)+"s ("+t.durationMS+"ms)"),this.line("Start: "+t.markers[t.currentMarker].start.toFixed(3)+" Stop: "+t.markers[t.currentMarker].stop.toFixed(3)),this.line("Position: "+t.position.toFixed(3))),this.stop()},camera:function(t,e,i){var s=t.deadzone,n=t.target,r=t.view;s&&(this._rect.setTo(r.x+s.x,r.y+s.y,s.width,s.height),this.rectangle(this._rect,e,i)),n&&(this._line.setTo(r.centerX,r.centerY,n.x,n.y),this.geom(this._line,e,i),this.geom(n,e,!1,3))},cameraInfo:function(t,e,i,s){var n=t.bounds,r=t.deadzone,o=t.target,a=t.view;this.start(e,i,s),this.line("Camera ("+t.width+" x "+t.height+")"),this.line("x: "+t.x+" y: "+t.y),this.line("Bounds: "+(n?"x: "+n.x+" y: "+n.y+" w: "+n.width+" h: "+n.height:"none")),this.line("View: x: "+a.x+" y: "+a.y+" w: "+a.width+" h: "+a.height),this.line("Center: x: "+t.centerX+" y: "+t.centerY),this.line("Deadzone: "+(r?"x: "+r.x+" y: "+r.y+" w: "+r.width+" h: "+r.height:r)),this.line("Total in view: "+t.totalInView),this.line("At limit: x: "+t.atLimit.x+" y: "+t.atLimit.y),this.line("Target: "+(o?o.name||o:"none")),this.stop()},timer:function(t,e,i,s){this.start(e,i,s),this.line("Timer (running: "+t.running+" expired: "+t.expired+")"),this.line("Next Tick: "+t.next+" Duration: "+t.duration),this.line("Paused: "+t.paused+" Length: "+t.length),this.stop()},pointer:function(t,e,i,s,n,r){if(null!=t&&(void 0===e&&(e=!1),i=i||"rgba(0,255,0,0.5)",s=s||"rgba(255,255,0,0.5)",r=r||"rgba(255,0,0,0.5)",!0!==e||!0!==t.isUp)){this.start(t.x,t.y-150,n),this.context.beginPath(),this.context.arc(t.x,t.y,t.circle.radius,0,2*Math.PI),t.active?this.context.fillStyle=t.isDown?i:s:this.context.fillStyle=r,this.context.fill(),this.context.closePath(),this.context.beginPath(),this.context.moveTo(t.positionDown.x,t.positionDown.y),this.context.lineTo(t.position.x,t.position.y),this.context.lineWidth=2,this.context.stroke(),this.context.closePath();var o=t.movementX,a=t.movementY;(o||a)&&(this.context.beginPath(),this.context.moveTo(o+t.position.x,a+t.position.y),this.context.lineTo(t.position.x,t.position.y),this.context.lineWidth=2,this.context.stroke(),this.context.closePath()),this.line("ID: "+t.id+" Active: "+t.active),this.line("World X: "+t.worldX.toFixed(1)+" World Y: "+t.worldY.toFixed(1)),this.line("Screen X: "+t.x.toFixed(1)+" Screen Y: "+t.y.toFixed(1)+" In: "+t.withinGame),this.line("Movement: X: "+o+" Y: "+a),this.line("Duration: "+t.duration+" ms"),this.line("is Down: "+t.isDown+" is Up: "+t.isUp),this.line("Identifier: "+t.identifier+" Pointer ID: "+t.pointerId),t.isMouse&&this.line("Buttons: "+this._pointerButtonIcon(t.leftButton)+" "+this._pointerButtonIcon(t.middleButton)+" "+this._pointerButtonIcon(t.rightButton)),this.stop()}},_pointerButtonIcon:function(t){return t.isDown?"x":t.isUp?"o":"-"},spriteInputInfo:function(t,e,i,s){this.start(e,i,s),this.line("Sprite Input: ("+t.width+" x "+t.height+")"),this.line("x: "+t.input.pointerX().toFixed(1)+" y: "+t.input.pointerY().toFixed(1)),this.line("over: "+t.input.pointerOver()+" duration: "+t.input.overDuration().toFixed(0)),this.line("down: "+t.input.pointerDown()+" duration: "+t.input.downDuration().toFixed(0)),this.line("just over: "+t.input.justOver()+" just out: "+t.input.justOut()),this.stop()},key:function(t,e,i,s){this.start(e,i,s,150),this.line("Key:",t.keyCode,"isDown:",t.isDown),this.line("justDown:",t.justDown,"justUp:",t.justUp),this.line("Time Down:",t.timeDown.toFixed(0),"duration:",t.duration.toFixed(0)),this.stop()},inputInfo:function(t,i,s,n){var r=this.game.input;if(void 0===n&&(n=!0),this.start(t,i,s),this.line("Input"),this.line("X: "+r.x+" Y: "+r.y),this.line("World X: "+r.worldX+" World Y: "+r.worldY),this.line("Scale X: "+r.scale.x.toFixed(2)+" Scale Y: "+r.scale.x.toFixed(2)),this.line("Screen X: "+r.activePointer.screenX.toFixed(1)+" Screen Y: "+r.activePointer.screenY.toFixed(1)),n){this.line("Sources:"),this.line(" "+this._inputHandler(r.mouse,"mouse")),this.line(" "+this._inputHandler(r.mspointer,"mspointer")),this.line(" "+this._inputHandler(r.touch,"touch"));var o=r.pointers,a=r.mousePointer,h=e.PointerModes,u=0,l=0;this.line("Pointers:"),this.line(" "+(a.isDown?"x":"o")+" "+h[a.pointerMode]+" "+a.identifier);for(var c=0;c0)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 e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=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(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.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(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:r}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.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(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.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,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},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,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var r=Math.min(t,i,s),o=Math.max(t,i,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=(i-s)/a+(i1&&(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,i,s,n,r,o,a,h){var u={r:t||0,g:i||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 e.Color.updateColor(u)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.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,i,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){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);i?(i.r=n,i.g=r,i.b=o):i=e.Color.createColor(n,r,o)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);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=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.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=e.Color.HSVtoRGB(d,y,v,x),u=x.r,l=x.g,c=x.b}return e.Color.getColor32(r,u,l,c)},interpolateColorWithRGB:function(t,i,s,n,r,o){var a=e.Color.getRGB(t),h=(i-a.red)*o/r+a.red,u=(s-a.green)*o/r+a.green,l=(n-a.blue)*o/r+a.blue;return e.Color.getColor(h,u,l)},interpolateRGB:function(t,i,s,n,r,o,a,h){var u=(n-t)*h/a+t,l=(r-i)*h/a+i,c=(o-s)*h/a+s;return e.Color.getColor(u,l,c)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t));return e.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 i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.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,i){return e.Color.blendOverlay(i,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,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.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()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.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}},e.Physics.prototype.constructor=e.Physics,e.Particles=function(t){this.game=t,this.emitters={},this.ID=0},e.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]}},e.Particles.prototype.constructor=e.Particles,e.Video=function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game=t,this.key=i,this.width=0,this.height=0,this.type=e.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new e.Signal,this.onChangeSource=new e.Signal,this.onComplete=new e.Signal,this.onAccess=new e.Signal,this.onError=new e.Signal,this.onTimeout=new e.Signal,this.onTouchUnlock=new e.Signal,this.playWhenUnlocked=!0,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,i&&this.game.cache.checkVideoKey(i)){var n=this.game.cache.getVideo(i);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(e.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 e.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==i&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,e.BitmapData&&(this.snapshot=new e.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},e.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,s){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=!0),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;if(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"),this.video.setAttribute("playsinline","playsinline"),null!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout),navigator.mediaDevices&&navigator.mediaDevices.getUserMedia)navigator.mediaDevices.getUserMedia({audio:t,video:s}).then(this.getUserMediaSuccess.bind(this)).catch(this.getUserMediaError.bind(this));else try{navigator.getUserMedia({audio:t,video:s},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:void 0!==this.video.srcObject?this.video.srcObject=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.setAttribute("playsinline","playsinline"),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,i){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"),void 0!==i&&(this.video.crossOrigin=i),this.video.setAttribute("playsinline","playsinline"),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,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.srcObject?(this.video.srcObject.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,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(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 this.onTouchUnlock.dispatch(this),!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.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(e.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(e.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(e.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(e.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(e.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(e.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(e.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop=!0:this.video&&(this.video.loop=!1)}}),Object.defineProperty(e.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),e.Video.prototype.constructor=e.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}.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(),this._destroyTintedTexture()},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)},_destroyTintedTexture:function(){this.tintedTexture&&(Phaser.CanvasPool.removeByCanvas(this.tintedTexture),this.tintedTexture=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.bringChildToTop=function(t){if(t.parent===this)return this.setChildIndex(t,this.children.length-1)},s.DisplayObjectContainer.prototype.sendChildToBack=function(t){if(t.parent===this)return this.setChildIndex(t,0)},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,_=x.a,b=x.b,T=x.c,w=x.d,C=x.tx,S=x.ty,P=_*m+T*v+C,E=w*v+b*m+S,A=_*g+T*v+C,M=w*v+b*g+S,R=_*g+T*y+C,I=w*y+b*g+S,O=_*m+T*y+C,L=w*y+b*m+S;c=P,d=E,l=E,u=O<(u=R<(u=A<(u=P)?A:u)?R:u)?O:u,l=L<(l=I<(l=M(c=R>(c=A>c?A:c)?R:c)?O:c,d=L>(d=I>(d=M>d?M:d)?I:d)?L: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,g=P>(g=C>(g=T>(g=_>g?_: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,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 g=this.currentBatchSize*this.vertexSize,m=i.baseTexture.resolution,y=i.baseTexture.textureIndex,v=o.a/m,x=o.b/m,_=o.c/m,b=o.d/m,T=o.tx,w=o.ty,C=i.crop.height;if(i.rotated){var S=o.a,P=o.b,E=o.c,A=o.d,M=u,R=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=R,c=M}var I=this.colors,O=this.positions,L=t.tint,k=(L>>16)+(65280&L)+((255&L)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(O[g++]=v*u+_*c+T|0,O[g++]=b*c+x*u+w|0,O[g++]=a.x0,O[g++]=a.y0,I[g++]=k,O[g++]=y,O[g++]=v*h+_*c+T|0,O[g++]=b*c+x*h+w|0,O[g++]=a.x1,O[g++]=a.y1,I[g++]=k,O[g++]=y,O[g++]=v*h+_*l+T|0,O[g++]=b*l+x*h+w|0,O[g++]=a.x2,O[g++]=a.y2,I[g++]=k,O[g++]=y,O[g++]=v*u+_*l+T|0,O[g++]=b*l+x*u+w|0,O[g++]=a.x3,O[g++]=a.y3,I[g++]=k,O[g++]=y):(O[g++]=v*u+_*c+T,O[g++]=b*c+x*u+w,O[g++]=a.x0,O[g++]=a.y0,I[g++]=k,O[g++]=y,O[g++]=v*h+_*c+T,O[g++]=b*c+x*h+w,O[g++]=a.x1,O[g++]=a.y1,I[g++]=k,O[g++]=y,O[g++]=v*h+_*l+T,O[g++]=b*l+x*h+w,O[g++]=a.x2,O[g++]=a.y2,I[g++]=k,O[g++]=y,O[g++]=v*u+_*l+T,O[g++]=b*l+x*u+w,O[g++]=a.x3,O[g++]=a.y3,I[g++]=k,O[g++]=y),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=t.texture.baseTexture.textureIndex;if(s._enableMultiTextureToggle){var n=e.baseTexture,r=this.gl;s.WebGLRenderer.textureArray[i]!=n&&(this.flush(),r.activeTexture(r.TEXTURE0+i),r.bindTexture(r.TEXTURE_2D,n._glTextures[r.id]),s.WebGLRenderer.textureArray[i]=n)}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),g=this.positions,m=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,M=E.b/P,R=E.c/P,I=E.d/P,O=E.tx,L=E.ty;g[S++]=A*T+R*C+O,g[S++]=I*C+M*T+L,g[S++]=o.x0,g[S++]=o.y0,m[S++]=f,g[S++]=i,g[S++]=A*b+R*C+O,g[S++]=I*C+M*b+L,g[S++]=o.x1,g[S++]=o.y1,m[S++]=f,g[S++]=i,g[S++]=A*b+R*w+O,g[S++]=I*w+M*b+L,g[S++]=o.x2,g[S++]=o.y2,m[S++]=f,g[S++]=i,g[S++]=A*T+R*w+O,g[S++]=I*w+M*T+L,g[S++]=o.x3,g[S++]=o.y3,m[S++]=f,g[S++]=i,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,g=!1,m=0,y=this.currentBatchSize;m0&&(v=!1);var x=c!==r;if((!s._enableMultiTextureToggle&&x&&!v||f||g)&&(this.renderBatch(c,u,l),l=m,u=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 _=this.renderSession.projection;e.uniform2f(t.projectionVector,_.x,_.y);var b=this.renderSession.offset;e.uniform2f(t.offsetVector,b.x,b.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(){var t=this,e=e||{VERSION:"2.19.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("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),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,i,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=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(i),o=n*Math.sin(i);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new e.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,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,r){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.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(e.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(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.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},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.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},e.Circle.intersectsLine=function(t,i,s){var n=t.x,r=t.y,o=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-o*i.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,g=new e.Point(c,p),m=new e.Point(d,f),y=i.pointOnSegment(g.x,g.y,.01),v=i.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.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 e.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 e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.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 e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(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&&g<=1&&m>=0&&m<=1?o:null}return o},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.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},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=i.x,h=i.y,u=i.right,l=i.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 e.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,i){return e.Point.distance(this,t,i)},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,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,r){return e.Point.rotate(this,t,i,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},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.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(e.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(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.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(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.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)},e.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}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,r,o),this.bounds=new e.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 e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.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 e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.FLASH=0,e.Camera.FADE_OUT=1,e.Camera.FADE_IN=2,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(i){case e.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case e.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.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,i,s,n,r){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.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,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_OUT)},fadeIn:function(t,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_IN)},fadeEffect:function(t,i,s,n,r){if(void 0===t&&(t=0),void 0===i&&(i=500),void 0===s&&(s=!1),void 0===n&&(n=1),!this.fx||!s&&this._fxDuration>0)return!1;if(this.fx.clear(),this.fx.beginFill(t,n),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),r<1||r>2)throw new Error("Wrong `type` argument");return this.fx.alpha=r===e.Camera.FADE_IN?1:0,this._fxDuration=i,this._fxType=r,!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(){this._fxType===e.Camera.FLASH?(this.fx.alpha-=this.game.time.delta/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):this._fxType===e.Camera.FADE_IN?(this.fx.alpha-=this.game.time.delta/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFadeComplete.dispatch())):(this.fx.alpha+=this.game.time.delta/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.delta,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}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.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(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.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},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.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},e.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,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(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){if(this.clearCurrentState(),this.setCurrentState(this._pendingState),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 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){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.current,i=this.states[t];this.callbackContext=i,this.link(t),this.onInitCallback=i.init||this.dummy,this.onPreloadCallback=i.preload||null,this.onLoadRenderCallback=i.loadRender||null,this.onLoadUpdateCallback=i.loadUpdate||null,this.onCreateCallback=i.create||null,this.onUpdateCallback=i.update||null,this.onPostUpdateCallback=i.postUpdate||null,this.onPreRenderCallback=i.preRender||null,this.onRenderCallback=i.render||null,this.onResizeCallback=i.resize||null,this.onPausedCallback=i.paused||null,this.onResumedCallback=i.resumed||null,this.onPauseUpdateCallback=i.pauseUpdate||null,this.onShutDownCallback=i.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onStateChange.dispatch(this.current,e),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.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.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(){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===e.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.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.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,i,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else o=new e.SignalBinding(this,t,i,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)},e.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)},e.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===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,u=i*n,l=o;lthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.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},e.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},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.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},e.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},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))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},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=e.Utils.getProperty(t,i);return!(void 0===r&&n||r!==s)},e.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)},e.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=this.children.length,a=0;a2){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()}},e.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},e.Group.prototype.iterate=function(t,i,s,n,r,o){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var u=0;u0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!i||i.call(s,h,r))&&(n=r,o=h)}return o},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.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 e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.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}},e.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()}},e.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)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.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(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.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(e.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(e.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(e.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(e.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(e.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}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.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)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.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()},e.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))},e.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(e.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){tthis.time.deltaMax){if(this.dropFrames)return;e=this.time.deltaMax}if(this.forceSingleUpdate)this.updatesThisFrame=1,this.rendersThisFrame=1,this.updateLogic(.001*e/this.time.slowMotion),this.updateRender();else if(this._spiraling>2)this.updatesThisFrame=0,this.rendersThisFrame=0,this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0;else{var i=0,s=1e3*this.time.desiredFpsMult;for(this._deltaTime+=e,this.updatesThisFrame=Math.floor(this._deltaTime/s),this.rendersThisFrame=this.forceSingleRender?1:Math.min(1,this.updatesThisFrame);this._deltaTime>=s;)this._deltaTime-=s,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult/this.time.slowMotion),this.time.refresh(),i++;i>this._lastCount?this._spiraling++:i0&&this.updateRender()}}}}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.preUpdate(t),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(){this.lockRender||this.renderType===e.HEADLESS||(this.time.preRender(),this.state.preRender(),this.renderer.render(this.stage),this.plugins.render(),this.state.render(),this.plugins.postRender(),this.renderer.postRender())},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.gamePaused(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.gameResumed(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this._focusGained=!0,this.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),e.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=e.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!0===t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},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+i.x=a&&this.game.camera.y+i.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}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.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===i,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 e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.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,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,r="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):r||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},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 i=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),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.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===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.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,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!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.pointerLock.locked&&!i&&(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===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.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,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!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 i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=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&&i.currentPointers--,i.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=e.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){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,r=this._pointerData[t.id],o=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var u=i.scale.x*h.x+n.x+s.x,l=i.scale.y*h.y+n.y+s.y;else var u=h.x+n.x+s.x,l=h.y+n.y+s.y;if(a.fixedToCamera){var c=a.cameraOffset,d=c.x,p=c.y;this.allowHorizontalDrag&&(c.x=u-i.x),this.allowVerticalDrag&&(c.y=l-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(c.x=Math.round((c.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,c.y=Math.round((c.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(c.x,c.y));var f=c.x-d,g=c.y-p}else{var m=i.x-r.camX,y=i.y-r.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=u+m),this.allowVerticalDrag&&(a.y=l+y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(a.x,a.y));var f=a.x-d,g=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,u,l,o,e,f,g),!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)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.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 e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this)]},e.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 i=!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}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;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},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.delta,this.lifespan<=0))||(this.kill(),!1)},e.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}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||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===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.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(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)o=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,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,i)}r&&(this._frame=e.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}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):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))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.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)}}},e.Component.Reset=function(){},e.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},e.Component.ScaleMinMax=function(){},e.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,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,r){var o=this.game.plugins.add(e.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,i,s,n),o},image:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,r,o,a){void 0===r&&(r=this.world);var h=new e.Creature(this.game,t,i,s,n,o,a);return r.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,r){return new e.Group(this.game,t,i,s,n,r)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,r,o))},rope:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.Rope(this.game,t,i,s,n,r))},text:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,r,o,a,h,u,l){return void 0===l&&(l=this.world),l.add(new e.Button(this.game,t,i,s,n,r,o,a,h,u))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,r,o,a,h,u){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,u)},bitmapText:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.BitmapText(this.game,t,i,s,n,r))},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,r){return new e.Group(this.game,t||null,i,s,n,r)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o){return new e.TileSprite(this.game,t,i,s,n,r,o)},rope:function(t,i,s,n,r){return new e.Rope(this.game,t,i,s,n,r)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,r,o,a,h,u){return new e.Button(this.game,t,i,s,n,r,o,a,h,u)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,r,o,a,h,u){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,u)},bitmapText:function(t,i,s,n,r,o){return new e.BitmapText(this.game,t,i,s,n,r,o)},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,r,o,a,h,u,l){i=i||0,s=s||0,n=n||null,r=r||null,o=o||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.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 e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.PointerMode.CONTACT,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)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;return e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.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)},e.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())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},e.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},e.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)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.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)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.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")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.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())},e.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&&i>=0&&i<=this.height&&(e.Device.LITTLE_ENDIAN?this.pixels[i*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[i*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,i,s){s||(s=e.Color.createColor());var n=~~(t+i*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,i,s,n,r){return e.Color.unpackPixel(this.getPixel32(t,i),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 i=e.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{e.Color.unpackPixel(this.getPixel32(s,n),i),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===i.a&&!o);return i.x=s,i.y=n,i},getBounds:function(t){return void 0===t&&(t=new e.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,i,s,n,r,o,a,h,u,l,c,d,p,f,g,m,y){if(void 0!==t&&null!==t||(t=this),t instanceof e.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof e.Sprite||t instanceof e.Image||t instanceof e.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 e.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 e.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return this;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==i&&null!==i||(i=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=i),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 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)return this;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+i,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,i,s){if(void 0===i&&(i=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 e.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,i&&(this.op=i),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,i,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,i,s),t.type===e.GROUP&&t.exists)this.drawGroup(t,i,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ni.width&&(n=i.width);var r=this.context;return r.fillStyle=r.createPattern(i,s),this._circle=new e.Circle(t.start.x,t.start.y,i.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,i.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),e.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 g=s;gl&&(l=d),p>c&&(c=p);f=Math.max(l-h,c-u)}return e.EarCut.earcutLinked(o,a,s,h,u,f),a},e.EarCut.linkedList=function(t,i,s,n,r){var o,a,h,u=0;for(o=i,a=s-n;o0)for(o=i;o=i;o-=n)h=e.EarCut.insertNode(o,t[o],t[o+1],h);return h},e.EarCut.filterPoints=function(t,i){if(!t)return t;i||(i=t);var s,n=t;do{if(s=!1,n.steiner||!e.EarCut.equals(n,n.next)&&0!==e.EarCut.area(n.prev,n,n.next))n=n.next;else{if(e.EarCut.removeNode(n),(n=i=n.prev)===n.next)return null;s=!0}}while(s||n!==i);return i},e.EarCut.earcutLinked=function(t,i,s,n,r,o,a){if(t){!a&&o&&e.EarCut.indexCurve(t,n,r,o);for(var h,u,l=t;t.prev!==t.next;)if(h=t.prev,u=t.next,o?e.EarCut.isEarHashed(t,n,r,o):e.EarCut.isEar(t))i.push(h.i/s),i.push(t.i/s),i.push(u.i/s),e.EarCut.removeNode(t),t=u.next,l=u.next;else if((t=u)===l){a?1===a?(t=e.EarCut.cureLocalIntersections(t,i,s),e.EarCut.earcutLinked(t,i,s,n,r,o,2)):2===a&&e.EarCut.splitEarcut(t,i,s,n,r,o):e.EarCut.earcutLinked(e.EarCut.filterPoints(t),i,s,n,r,o,1);break}}},e.EarCut.isEar=function(t){var i=t.prev,s=t,n=t.next;if(e.EarCut.area(i,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(e.EarCut.pointInTriangle(i.x,i.y,s.x,s.y,n.x,n.y,r.x,r.y)&&e.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},e.EarCut.isEarHashed=function(t,i,s,n){var r=t.prev,o=t,a=t.next;if(e.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=e.EarCut.zOrder(h,u,i,s,n),p=e.EarCut.zOrder(l,c,i,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.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&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},e.EarCut.cureLocalIntersections=function(t,i,s){var n=t;do{var r=n.prev,o=n.next.next;e.EarCut.intersects(r,n,n.next,o)&&e.EarCut.locallyInside(r,o)&&e.EarCut.locallyInside(o,r)&&(i.push(r.i/s),i.push(n.i/s),i.push(o.i/s),e.EarCut.removeNode(n),e.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},e.EarCut.splitEarcut=function(t,i,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&e.EarCut.isValidDiagonal(a,h)){var u=e.EarCut.splitPolygon(a,h);return a=e.EarCut.filterPoints(a,a.next),u=e.EarCut.filterPoints(u,u.next),e.EarCut.earcutLinked(a,i,s,n,r,o),void e.EarCut.earcutLinked(u,i,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},e.EarCut.eliminateHoles=function(t,i,s,n){var r,o,a,h,u,l=[];for(r=0,o=i.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&&e.EarCut.pointInTriangle(os.x)&&e.EarCut.locallyInside(n,t)&&(s=n,c=u),n=n.next;return s},e.EarCut.indexCurve=function(t,i,s,n){var r=t;do{null===r.z&&(r.z=e.EarCut.zOrder(r.x,r.y,i,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,e.EarCut.sortLinked(r)},e.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},e.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},e.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},e.EarCut.isValidDiagonal=function(t,i){return e.EarCut.equals(t,i)||t.next.i!==i.i&&t.prev.i!==i.i&&!e.EarCut.intersectsPolygon(t,i)&&e.EarCut.locallyInside(t,i)&&e.EarCut.locallyInside(i,t)&&e.EarCut.middleInside(t,i)},e.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},e.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},e.EarCut.intersects=function(t,i,s,n){return e.EarCut.area(t,i,s)>0!=e.EarCut.area(t,i,n)>0&&e.EarCut.area(s,n,t)>0!=e.EarCut.area(s,n,i)>0},e.EarCut.intersectsPolygon=function(t,i){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==i.i&&s.next.i!==i.i&&e.EarCut.intersects(s,s.next,t,i))return!0;s=s.next}while(s!==t);return!1},e.EarCut.locallyInside=function(t,i){return e.EarCut.area(t.prev,t,t.next)<0?e.EarCut.area(t,i,t.next)>=0&&e.EarCut.area(t,t.prev,i)>=0:e.EarCut.area(t,i,t.prev)<0||e.EarCut.area(t,t.next,i)<0},e.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},e.EarCut.splitPolygon=function(t,i){var s=new e.EarCut.Node(t.i,t.x,t.y),n=new e.EarCut.Node(i.i,i.x,i.y),r=t.next,o=i.prev;return t.next=i,i.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},e.EarCut.insertNode=function(t,i,s,n){var r=new e.EarCut.Node(t,i,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},e.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)},e.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,i){var s,n=i.gl,r=i.projection,o=i.offset,a=i.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===e.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===e.CIRCLE||a.type===e.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===e.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),s.lastIndex++}for(n=0;n19600?(b=y-x,T=v-_,b/=R=Math.sqrt(b*b+T*T),T/=R,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*(L-2)],d=n[2*(L-2)+1],p=n[2*(L-1)],y=-(d-(f=n[2*(L-1)+1])),v=c-p,y/=R=Math.sqrt(y*y+v*v),v/=R,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),O.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,i.beginPath(),i.moveTo(b,T+S),i.lineTo(b,T+C-S),i.quadraticCurveTo(b,T+C,b+S,T+C),i.lineTo(b+w-S,T+C),i.quadraticCurveTo(b+w,T+C,b+w,T+C-S),i.lineTo(b+w,T+S),i.quadraticCurveTo(b+w,T,b+w-S,T),i.lineTo(b+S,T),i.quadraticCurveTo(b,T,b,T+S),i.closePath(),(r.fillColor||0===r.fillColor)&&(i.globalAlpha=r.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fill()),r.lineWidth&&(i.globalAlpha=r.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,i){var s=t.graphicsData.length;if(0!==s){i.beginPath();for(var n=0;nC?C:w,i.moveTo(x,_+w),i.lineTo(x,_+T-w),i.quadraticCurveTo(x,_+T,x+w,_+T),i.lineTo(x+b-w,_+T),i.quadraticCurveTo(x+b,_+T,x+b,_+T-w),i.lineTo(x+b,_+w),i.quadraticCurveTo(x+b,_,x+b-w,_),i.lineTo(x+w,_),i.quadraticCurveTo(x,_,x,_+w),i.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}},e.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},e.GraphicsData.prototype.constructor=e.GraphicsData,e.GraphicsData.prototype.clone=function(){return new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},e.Graphics=function(t,i,s){void 0===i&&(i=0),void 0===s&&(s=0),this.type=e.GRAPHICS,this.physicsType=e.SPRITE,this.anchor=new e.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 e.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Graphics.prototype.constructor=e.Graphics,e.Component.Core.install.call(e.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.Graphics.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Graphics.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Graphics.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Graphics.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Graphics.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},e.Graphics.prototype.drawTriangles=function(t,i,s){void 0===s&&(s=!1);var n,r=new e.Point,o=new e.Point,a=new e.Point,h=[];if(i)if(t[0]instanceof e.Point)for(n=0;nl*a)}return this.dirty=!0,this._boundsDirty=!0,this},e.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),g=Math.sin(d),m=h-1,y=m%1/m,v=0;v<=m;v++){var x=d+s+p*(v+y*v),_=Math.cos(x),b=-Math.sin(x);c.push((f*_+g*b)*i+t,(f*-b+g*_)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},e.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},e.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},e.Graphics.prototype.drawRect=function(t,i,s,n){return this.drawShape(new e.Rectangle(t,i,s,n)),this},e.Graphics.prototype.drawRoundedRect=function(t,i,s,n,r){return this.drawShape(new e.RoundedRectangle(t,i,s,n,r)),this},e.Graphics.prototype.drawCircle=function(t,i,s){return this.drawShape(new e.Circle(t,i,s)),this},e.Graphics.prototype.drawEllipse=function(t,i,s,n){return this.drawShape({x:t,y:i,width:s,height:n,type:e.ELLIPSE}),this},e.Graphics.prototype.drawPolygon=function(t){t instanceof e.Polygon&&(t=t.points);var i=t;if(!Array.isArray(i)){i=new Array(arguments.length);for(var s=0;sT?m: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},e.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=e.identityMatrix;for(var i=0;ii?a+u:i,s=hn?h+l:n;else if(p===e.CIRCLE)a=r.x,h=r.y,u=r.radius+f/2,l=r.radius+f/2,t=a-ui?a+u:i,s=h-ln?h+l:n;else if(p===e.ELLIPSE)a=r.x,h=r.y,u=r.width+f/2,l=r.height+f/2,t=a-ui?a+u:i,s=h-ln?h+l:n;else{o=r.points;for(var g=0;gi?a+f:i,s=h-fn?h+f:n}}else t=0,i=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=i-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},e.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},e.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()},e.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},e.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof e.Polygon&&(t=t.clone()).flatten();var i=new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(i),i.type===e.POLYGON&&(i.shape.closed=this.filling,this.currentPath=i),this.dirty=!0,this._boundsDirty=!0,i},Object.defineProperty(e.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}}),e.RenderTexture=function(t,i,s,n,r,o,a,h){if(void 0===i&&(i=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=e.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=e.RENDERTEXTURE,this._tempMatrix=new e.Matrix,this.width=i,this.height=s,this.resolution=o,this.frame=new e.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===e.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 e.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 e.Matrix,this._updateUvs()},e.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),e.RenderTexture.prototype.constructor=e.RenderTexture,e.RenderTexture.prototype.renderXY=function(t,i,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=i,this._tempMatrix.ty=s,this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.renderRawXY=function(t,i,s,n){this._tempMatrix.identity().translate(i,s),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.render=function(t,i,s){void 0===i||null===i?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(i),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},e.RenderTexture.prototype.resize=function(t,i,s){t===this.width&&i===this.height||(this.valid=t>0&&i>0,this.width=t,this.height=i,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=i*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===e.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},e.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===e.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},e.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,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},e.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)},e.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++}},e.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},e.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},e.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},e.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},e.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},e.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},e.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)/)},e.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},e.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 g=p;g.length&&(g=g.slice(0,-1),!((f=e.measureText(g).width)<=u)););if(!g.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var m=d.substr(g.length);l[c]=m,h+=g}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,"")},e.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},e.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()},e.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.Text.prototype.determineFontProperties=function(t){var i=e.Text.fontPropertiesCache[t];if(i)return i;var s=e.Text.fontPropertiesContext;s.font=t;var n=s.measureText(this.testString);if(n.actualBoundingBoxAscent)i={ascent:o=Math.ceil(n.actualBoundingBoxAscent),descent:a=Math.ceil(n.actualBoundingBoxDescent),fontSize:o+a};else{var r=s.measureText("MX").width,o=Math.ceil(.75*r),a=Math.ceil(.25*r);i={ascent:o,descent:a,fontSize:o+a}}return e.Text.fontPropertiesCache[t]=i,i},e.Text.prototype.getBounds=function(t){return this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype.getBounds.call(this,t)},e.Text.prototype.setCharacterLimit=function(t,e){this.characterLimitSuffix=void 0===e?"":e,this.characterLimitSize=t,this.updateText()},Object.defineProperty(e.Text.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.dirty=!0,this.parent&&this.updateTransform())}}),Object.defineProperty(e.Text.prototype,"cssFont",{get:function(){return this.componentsToFont(this._fontComponents)},set:function(t){t=t||"bold 20pt Arial",this._fontComponents=this.fontToComponents(t),this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"font",{get:function(){return this._fontComponents.fontFamily},set:function(t){t=(t=t||"Arial").trim(),/^(?:inherit|serif|sans-serif|cursive|fantasy|monospace)$/.exec(t)||/['",]/.exec(t)||(t="'"+t+"'"),this._fontComponents.fontFamily=t,this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"fontSize",{get:function(){var t=this._fontComponents.fontSize;return t&&/(?:^0$|px$)/.exec(t)?parseInt(t,10):t},set:function(t){"number"==typeof(t=t||"0")&&(t+="px"),this._fontComponents.fontSize=t,this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"fontWeight",{get:function(){return this._fontComponents.fontWeight||"normal"},set:function(t){t=t||"normal",this._fontComponents.fontWeight=t,this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"fontStyle",{get:function(){return this._fontComponents.fontStyle||"normal"},set:function(t){t=t||"normal",this._fontComponents.fontStyle=t,this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"fontVariant",{get:function(){return this._fontComponents.fontVariant||"normal"},set:function(t){t=t||"normal",this._fontComponents.fontVariant=t,this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"fill",{get:function(){return this.style.fill},set:function(t){t!==this.style.fill&&(this.style.fill=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"align",{get:function(){return this.style.align},set:function(t){(t=t.toLowerCase())!==this.style.align&&(this.style.align=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"resolution",{get:function(){return this._res},set:function(t){t!==this._res&&(this._res=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"tabs",{get:function(){return this.style.tabs},set:function(t){t!==this.style.tabs&&(this.style.tabs=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"boundsAlignH",{get:function(){return this.style.boundsAlignH},set:function(t){(t=t.toLowerCase())!==this.style.boundsAlignH&&(this.style.boundsAlignH=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"boundsAlignV",{get:function(){return this.style.boundsAlignV},set:function(t){(t=t.toLowerCase())!==this.style.boundsAlignV&&(this.style.boundsAlignV=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"stroke",{get:function(){return this.style.stroke},set:function(t){t!==this.style.stroke&&(this.style.stroke=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"strokeThickness",{get:function(){return this.style.strokeThickness},set:function(t){t!==this.style.strokeThickness&&(this.style.strokeThickness=Number(t),this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"wordWrap",{get:function(){return this.style.wordWrap},set:function(t){t!==this.style.wordWrap&&(this.style.wordWrap=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"wordWrapWidth",{get:function(){return this.style.wordWrapWidth},set:function(t){t!==this.style.wordWrapWidth&&(this.style.wordWrapWidth=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"lineSpacing",{get:function(){return this._lineSpacing},set:function(t){t!==this._lineSpacing&&(this._lineSpacing=parseFloat(t),this.dirty=!0,this.parent&&this.updateTransform())}}),Object.defineProperty(e.Text.prototype,"shadowOffsetX",{get:function(){return this.style.shadowOffsetX},set:function(t){t!==this.style.shadowOffsetX&&(this.style.shadowOffsetX=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"shadowOffsetY",{get:function(){return this.style.shadowOffsetY},set:function(t){t!==this.style.shadowOffsetY&&(this.style.shadowOffsetY=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"shadowColor",{get:function(){return this.style.shadowColor},set:function(t){t!==this.style.shadowColor&&(this.style.shadowColor=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"shadowBlur",{get:function(){return this.style.shadowBlur},set:function(t){t!==this.style.shadowBlur&&(this.style.shadowBlur=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"shadowStroke",{get:function(){return this.style.shadowStroke},set:function(t){t!==this.style.shadowStroke&&(this.style.shadowStroke=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"shadowFill",{get:function(){return this.style.shadowFill},set:function(t){t!==this.style.shadowFill&&(this.style.shadowFill=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"width",{get:function(){return this.dirty&&(this.updateText(),this.dirty=!1),this.scale.x*(this.texture.frame.width/this.resolution)},set:function(t){this.scale.x=t/this.texture.frame.width,this._width=t}}),Object.defineProperty(e.Text.prototype,"height",{get:function(){return this.dirty&&(this.updateText(),this.dirty=!1),this.scale.y*(this.texture.frame.height/this.resolution)},set:function(t){this.scale.y=t/this.texture.frame.height,this._height=t}}),Object.defineProperty(e.Text.prototype,"testString",{get:function(){return this._testString},set:function(t){this._testString=t,this.updateText()}}),e.Text.fontPropertiesCache={},e.Text.fontPropertiesCanvas=document.createElement("canvas"),e.Text.fontPropertiesContext=e.Text.fontPropertiesCanvas.getContext("2d"),e.BitmapText=function(t,i,s,n,r,o,a){i=i||0,s=s||0,n=n||"",r=r||"",o=o||32,a=a||"left",PIXI.DisplayObjectContainer.call(this),this.type=e.BITMAPTEXT,this.physicsType=e.SPRITE,this.textWidth=0,this.textHeight=0,this.anchor=new e.Point,this._prevAnchor=new e.Point,this._glyphs=[],this._maxWidth=0,this._text=r.toString()||"",this._data=t.cache.getBitmapFont(n),this._font=n,this._fontSize=o,this._align=a,this._letterSpacing=0,this._tint=16777215,this.updateText(),this.dirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.BitmapText.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.BitmapText.prototype.constructor=e.BitmapText,e.Component.Core.install.call(e.BitmapText.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.BitmapText.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.BitmapText.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.BitmapText.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.BitmapText.prototype.preUpdateCore=e.Component.Core.preUpdate,e.BitmapText.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.BitmapText.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this.body&&this.body.type===e.Physics.ARCADE&&(this.textWidth===this.body.sourceWidth&&this.textHeight===this.body.sourceHeight||this.body.setSize(this.textWidth,this.textHeight))},e.BitmapText.prototype.setText=function(t){this.text=t},e.BitmapText.prototype.scanLine=function(t,e,i){for(var s=0,n=0,r=-1,o=0,a=null,h=this._maxWidth>0?this._maxWidth:null,u=[],l=0;l=h&&r>-1)return{width:o||n,text:i.substr(0,l-(l-r)),end:!1,chars:u};n+=(p.xAdvance+g+this.letterSpacing)*e,u.push(s+(p.xOffset+g+this.letterSpacing)*e),s+=(p.xAdvance+g+this.letterSpacing)*e,a=d}return{width:n,text:i,end:c,chars:u}},e.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(e.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),e.RetroFont=function(t,i,s,n,r,o,a,h,u,l){if(!t.cache.checkImageKey(i))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(i).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(i),this._text="",this.grabData=[],this.frameData=new e.FrameData;for(var c=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",e.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",e.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",e.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",e.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",e.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",e.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",e.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",e.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},e.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)},e.RetroFont.prototype.buildRetroFontText=function(){var t=0,i=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===e.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===e.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},e.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},e.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},e.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},e.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(e.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(e.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),e.Rope=function(t,i,s,n,r,o){this.points=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=e.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=e.Rope.TRIANGLE_STRIP,e.Component.Core.init.call(this,t,i,s,n,r),this.refresh()},e.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Rope.prototype.constructor=e.Rope,e.Component.Core.install.call(e.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Rope.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Rope.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Rope.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Rope.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Rope.TRIANGLE_STRIP=0,e.Rope.TRIANGLES=1,e.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},e.Rope.prototype.reset=function(t,i){return e.Component.Reset.prototype.reset.call(this,t,i),this},e.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;for(var n=t.length,r=0,o=0,a=0;a0){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=g*x+v*y+m*_-x*y-v*m-g*_,M=u*x+v*c+l*_-x*c-v*l-u*_,R=g*l+u*y+m*c-l*y-u*m-g*c,I=g*x*c+v*l*y+u*m*_-u*x*y-v*m*c-g*l*_,O=d*x+v*f+p*_-x*f-v*p-d*_,L=g*p+d*y+m*f-p*y-d*m-g*f,k=g*x*f+v*p*y+d*m*_-d*x*y-v*m*f-g*p*_;t.transform(M/A,O/A,R/A,L/A,I/A,k/A),t.drawImage(o,0,0),t.restore()},e.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nu?y:u,l=v>l?v:l}if(c===-1/0||l===1/0)return e.EmptyRectangle;var x=this._bounds;return x.x=c,x.width=u-c,x.y=d,x.height=l-d,this._currentBounds=x,x},Object.defineProperty(e.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(e.Rope.prototype,"segments",{get:function(){for(var t,i,s,n,r,o,a,h,u=[],l=0;l(b=y>(b=g>(b=p>b?p:b)?g:b)?y:b)?x:b,T=_>(T=v>(T=m>(T=f>T?f:T)?m: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(e.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(e.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),e.CanvasPool={create:function(t,i,s){var n,r=e.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};e.CanvasPool.pool.push(o),n=o.canvas}else e.CanvasPool.pool[r].parent=t,n=e.CanvasPool.pool[r].canvas;return void 0!==i&&(n.width=i,n.height=s),n},getFirst:function(){for(var t=e.CanvasPool.pool,i=0;i=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&&i(),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=!!window.WebGLRenderingContext,s.worker=!!window.Worker,s.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,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=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var r=i.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]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.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"))},e.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))))))},e.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)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,r){i=i||256,s=s||256;var o=r?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=i,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,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),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 i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},setImageRenderingCrisp:function(t){for(var e=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","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=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=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}},e.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)},e.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(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.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)},e.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 e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.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 e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},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}},e.QuadTree.prototype.constructor=e.QuadTree,e.TweenManager=function(t){this.game=t,this._tweens=[],this._add=[],this.easeMap={Power0:e.Easing.Power0,Power1:e.Easing.Power1,Power2:e.Easing.Power2,Power3:e.Easing.Power3,Power4:e.Easing.Power4,Linear:e.Easing.Linear.None,Quad:e.Easing.Quadratic.Out,Cubic:e.Easing.Cubic.Out,Quart:e.Easing.Quartic.Out,Quint:e.Easing.Quintic.Out,Sine:e.Easing.Sinusoidal.Out,Expo:e.Easing.Exponential.Out,Circ:e.Easing.Circular.Out,Elastic:e.Easing.Elastic.Out,Back:e.Easing.Back.Out,Bounce:e.Easing.Bounce.Out,"Quad.easeIn":e.Easing.Quadratic.In,"Cubic.easeIn":e.Easing.Cubic.In,"Quart.easeIn":e.Easing.Quartic.In,"Quint.easeIn":e.Easing.Quintic.In,"Sine.easeIn":e.Easing.Sinusoidal.In,"Expo.easeIn":e.Easing.Exponential.In,"Circ.easeIn":e.Easing.Circular.In,"Elastic.easeIn":e.Easing.Elastic.In,"Back.easeIn":e.Easing.Back.In,"Bounce.easeIn":e.Easing.Bounce.In,"Quad.easeOut":e.Easing.Quadratic.Out,"Cubic.easeOut":e.Easing.Cubic.Out,"Quart.easeOut":e.Easing.Quartic.Out,"Quint.easeOut":e.Easing.Quintic.Out,"Sine.easeOut":e.Easing.Sinusoidal.Out,"Expo.easeOut":e.Easing.Exponential.Out,"Circ.easeOut":e.Easing.Circular.Out,"Elastic.easeOut":e.Easing.Elastic.Out,"Back.easeOut":e.Easing.Back.Out,"Bounce.easeOut":e.Easing.Bounce.Out,"Quad.easeInOut":e.Easing.Quadratic.InOut,"Cubic.easeInOut":e.Easing.Cubic.InOut,"Quart.easeInOut":e.Easing.Quartic.InOut,"Quint.easeInOut":e.Easing.Quintic.InOut,"Sine.easeInOut":e.Easing.Sinusoidal.InOut,"Expo.easeInOut":e.Easing.Exponential.InOut,"Circ.easeInOut":e.Easing.Circular.InOut,"Elastic.easeInOut":e.Easing.Elastic.InOut,"Back.easeInOut":e.Easing.Back.InOut,"Bounce.easeInOut":e.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},e.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,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_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)},destroy:function(){this.game.onPause.remove(this._pauseAll,this),this.game.onResume.remove(this._resumeAll,this),this.game=null,this._add=null,this._tweens=null}},e.TweenManager.prototype.constructor=e.TweenManager,e.Tween=function(t,i,s){this.game=i,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new e.Signal,this.onLoop=new e.Signal,this.onRepeat=new e.Signal,this.onChildComplete=new e.Signal,this.onComplete=new e.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},e.Tween.updateColor=function(t){e.Color.updateColor(t.target)},e.Tween.prototype={to:function(t,i,s,n,r,o,a){return(void 0===i||i<=0)&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).to(t,i,s,r,o,a)),n&&this.start(),this)},from:function(t,i,s,n,r,o,a){return void 0===i&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).from(t,i,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(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.deltaTotal},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.deltaTotal)},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.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])),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 e.TweenData.PENDING;this.isRunning=!0}var i=this.game.time.delta;this.parent.reverse?(this.dt-=i*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=i*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():e.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,e.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return e.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.deltaTotal,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,e.TweenData.LOOPED}},e.TweenData.prototype.constructor=e.TweenData,e.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){return 0===t?0:1===t?1:(.1,-1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4))},Out:function(t){return 0===t?0:1===t?1:(.1,1*Math.pow(2,-10*t)*Math.sin((t-.1)*(2*Math.PI)/.4)+1)},InOut:function(t){return 0===t?0:1===t?1:(.1,(t*=2)<1?1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*-.5:1*Math.pow(2,-10*(t-=1))*Math.sin((t-.1)*(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-e.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*e.Easing.Bounce.In(2*t):.5*e.Easing.Bounce.Out(2*t-1)+.5}}},e.Easing.Default=e.Easing.Linear.None,e.Easing.Power0=e.Easing.Linear.None,e.Easing.Power1=e.Easing.Quadratic.Out,e.Easing.Power2=e.Easing.Cubic.Out,e.Easing.Power3=e.Easing.Quartic.Out,e.Easing.Power4=e.Easing.Quintic.Out,e.Time=function(t){this.game=t,this.time=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.delta=0,this.deltaTotal=0,this.deltaMax=200,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=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 e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._timers=[]},e.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 i=new e.Timer(this.game,t);return this._timers.push(i),i},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){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},preUpdate:function(t){t*=1e3,this.delta=t,this.deltaTotal+=t,this.game.paused||(this.events.update(this.deltaTotal),this.updateTimers()),this.advancedTiming&&this.updates++},preRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted},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(e.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.desiredFpsMult=1/t}}),Object.defineProperty(e.Time.prototype,"desiredMinFps",{get:function(){return 1e3/this.deltaMax},set:function(t){this.deltaMax=1e3/t}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.Signal,this.nextTick=0,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=this.game.time?this.game.time.deltaTotal:0,this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,r,o){var a=(t=Math.round(t))+this._now,h=new e.TimerEvent(this,t,a,s,i,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.deltaTotal+(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._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.deltaTotal,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.deltaTotal,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.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},e.TimerEvent.prototype.constructor=e.TimerEvent,e.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=[]},e.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,i,s,n,r){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,r,this._outputFrames),this._anims[t]=new e.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}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},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(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},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)}}),e.Animation=function(t,i,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=i,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 e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.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.deltaTotal,this._timeNextFrame=this.game.time.deltaTotal+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.deltaTotal,this._timeNextFrame=this.game.time.deltaTotal+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=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(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||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.updateCurrentFrame(!1),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()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.deltaTotal:this.isPlaying&&(this._timeNextFrame=this.game.time.deltaTotal+this.delay)}}),Object.defineProperty(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.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(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,r){void 0===n&&(n="");var o=[],a="";if(i=s;h--)a=t+(a="number"==typeof r?e.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},e.Frame=function(t,i,s,n,r,o){this.index=t,this.x=i,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+o+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=e.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},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},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 e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.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 e.FrameData,i=0;if||h<-f)return console.error('Spritesheet "%s": skipFrames=%s is larger than the frame total %s',i,h,f),null;if(r>-1&&(v=(f=r)-1),d<1&&console.warn('Spritesheet "%s": Texture has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)',i,l,s+o+a,s,o,a),p<1&&console.warn('Spritesheet "%s": Texture has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)',i,c,n+o+a,n,o,a),0===g)return console.error('Spritesheet "%s": zero frames were produced',i),null;if(h>0?v=(y=h)+(f=Math.min(f,g-h))-1:h<0&&(y=(v=m+h)-(f=Math.min(f,g+h))+1),y<0)return console.error('Spritesheet "%s": There is no frame at index %s',i,y),null;if(v>m)return console.warn('Spritesheet "%s": There is no frame at index %s. Last frame found is index %s',i,v,m),null;for(var x=new e.FrameData,_=o,b=o,T=0,w=0;wv);w++)w>=y&&x.addFrame(new e.Frame(T++,_,b,s,n,"")),(_+=s+a)+s>l&&(_=o,b+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,r=i.frames,o=0;o tag")}},e.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:{},data:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._cacheMap[e.Cache.DATA]=this._cache.data,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DATA=16,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in e.LoaderParser?e.LoaderParser[s](n):n,o={key:t,url:i,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new e.Frame(0,0,0,r.width,r.height,t),frameData:new e.FrameData,fileFormat:s};return o.frameData.addFrame(new e.Frame(0,0,0,r.width,r.height,i)),this._cache.image[t]=o,this._resolveURL(i,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,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.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(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.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,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,r,o,a){var h={url:i,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?e.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,r,o,a){var h=this.getFrameByName(i,s);if(h){var u={font:null,base:this.getBaseTexture(i),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var l;"json"===r?(l=this.getJSON(n),u.font=e.LoaderParser.jsonBitmapFont(l,u.base,o,a,h,this.game.resolution)):(l=this.getXML(n),u.font=e.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,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,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:i,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,u)};this._cache.image[t]=l,this._resolveURL(i,l)},addTextureAtlas:function(t,i,s,n,r){var o={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===e.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=e.AnimationParser.XMLData(this.game,n,t):r===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=e.AnimationParser.JSONData(this.game,n,t):o.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(i,o)},addData:function(t,e){this._cache.data[t]=e},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 i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.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(e.Cache.CANVAS,t)},checkDataKey:function(t){return this.checkKey(e.Cache.DATA,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.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,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var r=n[i];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+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getData:function(t){return this.getItem(t,e.Cache.DATA,"getData")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},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=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},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]},removeData:function(t){delete this._cache.data[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.",i),t._ready())},e.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)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.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 e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.Signal,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},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.mediaTypes={avif:"image/avif",bmp:"image/bmp",cur:"image/x-icon",gif:"image/gif",ico:"image/x-icon",jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",svg:"image/svg+xml",tif:"image/tiff",tiff:"image/tiff",webp:"image/webp"},e.Loader.getMediaType=function(t){var i=t.match(/\.(\w+)$/);return i?e.Loader.mediaTypes[i[1]]||null:null},e.Loader._getSource=function(t){return"string"==typeof t?{url:t,type:e.Loader.getMediaType(t)}:t},e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.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.game.state&&(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.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 i=t.data[t.key];if(i)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()},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,i){if(this.game.isBooted){var s=!0;switch(t.type){case"packfile":r=JSON.parse(i.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,i.response);break;case"image":case"imageset":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===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.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=i.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=i.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=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(i.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=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.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(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.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;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=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]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),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}},e.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])},e.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]}},e.AudioSprite.prototype.constructor=e.AudioSprite,e.Sound=function(t,i,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=i,this.key=i,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.playOnce=!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._pendingStart=!1,this._removeFromSoundManager=!1,this._sourceId=0,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,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(i)&&this.game.cache.isSoundReady(i)?(this._sound=this.game.cache.getSoundData(i),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new e.Signal,this.onPlay=new e.Signal,this.onPause=new e.Signal,this.onResume=new e.Signal,this.onLoop=new e.Signal,this.onStop=new e.Signal,this.onMute=new e.Signal,this.onMarkerComplete=new e.Signal,this.onFadeComplete=new e.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},e.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&&(this._removeOnEndedHandler(),this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),this._markedToDelete&&(this._disconnectSource(),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(){if(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));var t=this.game.time.time;if(this.isPlaying){if(this._pendingStart){var e=this._sound.currentTime;if(!(e>((this.paused?this._tempPause:0)||this.position||0)))return;this._pendingStart=!1,this.startTime=t-1e3*e,this.stopTime=this.startTime+this.durationMS}this.currentTime=t-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=t,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0,!1))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=t),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0,!1)):this.stop())}}else this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n,r){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),void 0===r&&(r=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0),this.isPlaying=!1),""===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._createSourceAndConnect(),this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||this._addOnEndedHandler(),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),this.loop&&""===t?this._startSource(0,0):this._startSource(0,this.position,this.duration),this.isPlaying=!0,this.paused=!1,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&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._sound.loop=this.loop,this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._globalVolume=this.game.sound.volume,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._globalVolume,this._pendingStart=!this.currentMarker,this.isPlaying=!0,this.paused=!1,this._tempPause=0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&this.onPlay.dispatch(this)):this.pendingPlayback=!0,this.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!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.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){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._createSourceAndConnect(),""===this.currentMarker&&(this.loop?this._sound.loop=!0:this._addOnEndedHandler());var e=this.duration-this.pausedPosition/1e3;this.loop&&""===this.currentMarker?this._startSource(0,t):this._startSource(0,t,e)}else this._pendingStart=!this.currentMarker,this._sound.currentTime=this._tempPause,this._tempPause=0,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&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0)),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,i){this.isPlaying&&!this.paused&&i!==this.volume&&(void 0===t&&(t=1e3),void 0!==i?(this.fadeTween=this.game.add.tween(this).to({volume:i},t,e.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())},_createSourceAndConnect:function(){this._sound=this.context.createBufferSource(),this._sound.connect(this.externalNode||this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this._sourceId++},_disconnectSource:function(){this._sound.disconnect(this.externalNode||this.gainNode)},_startSource:function(t,e,i){void 0===i?this._sound.start(t||0,e||0):this._sound.start(t||0,e||0,i)},_stopSourceAndDisconnect:function(){this._removeOnEndedHandler();try{this._sound.stop(0)}catch(t){}this._disconnectSource(),this._sound=null},_addOnEndedHandler:function(){this._sound.onended=this.onEndedHandler.bind(this)},_removeOnEndedHandler:function(){this._sound.onended=null}},e.Sound.prototype.constructor=e.Sound,Object.defineProperty(e.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(e.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(e.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(e.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))}}),Object.defineProperty(e.Sound.prototype,"sourceId",{get:function(){return this._sound?this._sourceId:null}}),e.SoundManager=function(t){this.game=t,this.onSoundDecode=new e.Signal,this.onVolumeChange=new e.Signal,this.onMute=new e.Signal,this.onUnMute=new e.Signal,this.onTouchUnlock=new e.Signal,this.onStateChange=new e.Signal,this.context=null,this.baseLatency=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 e.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null,this._onClick=this._onClick.bind(this),this._onStateChange=this._onStateChange.bind(this)},e.SoundManager.prototype={boot:function(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,this.baseLatency=this.context.baseLatency||256/(this.context.sampleRate||44100),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.context.onstatechange=this._onStateChange,"suspended"===this.context.state&&this.game.canvas.addEventListener("click",this._onClick);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},webAudioIsSuspended:function(){return this.usingWebAudio&&"suspended"===this.context.state},resumeWebAudio:function(){if(this.usingWebAudio)return this.context.resume()},resumeWebAudioIfSuspended:function(){if(this.webAudioIsSuspended())return this.context.resume()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();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);var e=this;this._unlockSource.onended=function(){e.setTouchUnlock(),e.resumeWebAudioIfSuspended()},void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudioIfSuspended()}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 i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==i||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))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.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(e.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(e.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(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),e.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px monospace",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},e.Utils.Debug.GEOM_AUTO=0,e.Utils.Debug.GEOM_RECTANGLE=1,e.Utils.Debug.GEOM_CIRCLE=2,e.Utils.Debug.GEOM_POINT=3,e.Utils.Debug.GEOM_LINE=4,e.Utils.Debug.GEOM_ELLIPSE=5,e.Utils.Debug.prototype={boot:function(){this.game.renderType===e.CANVAS?this.context=this.game.context:(this.bmd=new e.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=e.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new e.Line,this._rect=new e.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;e ")+o):o===s._pendingState?this.line("+ "+o):this.line(" "+o)}this.stop()},sound:function(t,e,i){var s=this.game.sound;this.start(t,e,i),s.noAudio?this.line("Audio is disabled"):(this.line("Volume: "+s.volume.toFixed(2)+(s.mute?" (Mute)":"")),this.line("Mute on pause: "+s.muteOnPause),this.line("Using: "+(s.usingWebAudio?"Web Audio - "+s.context.state:"Audio Tag")),this.line("Touch locked: "+s.touchLocked),this.line("Sounds: "+s._sounds.length)),this.stop()},soundInfo:function(t,e,i,s){if(this.start(e,i,s),this.line("Sound: "+t.key+" Touch locked: "+t.game.sound.touchLocked),this.line("Is Ready?: "+this.game.cache.isSoundReady(t.key)+" Pending Playback: "+t.pendingPlayback),this.line("Decoded: "+t.isDecoded+" Decoding: "+t.isDecoding),this.line("Playing: "+t.isPlaying+" Loop: "+t.loop),this.line("Time: "+(t.currentTime/1e3).toFixed(3)+"s Total: "+t.totalDuration.toFixed(3)+"s"),this.line("Volume: "+t.volume.toFixed(2)+(t.mute?" (Mute)":"")),this.line("Using: "+(t.usingWebAudio?"Web Audio":"Audio Tag")),t.usingWebAudio&&this.line(" Source: "+(t.sourceId||"none")),t.usingAudioTag&&t._sound){var n=t._sound;this.line(" currentSrc: "+n.currentSrc),this.line(" currentTime: "+n.currentTime),this.line(" duration: "+n.duration),this.line(" ended: "+n.ended),this.line(" loop: "+n.loop),this.line(" muted: "+n.muted),this.line(" paused: "+n.paused)}""!==t.currentMarker&&(this.line("Marker: "+t.currentMarker+" Duration: "+t.duration.toFixed(3)+"s ("+t.durationMS+"ms)"),this.line("Start: "+t.markers[t.currentMarker].start.toFixed(3)+" Stop: "+t.markers[t.currentMarker].stop.toFixed(3)),this.line("Position: "+t.position.toFixed(3))),this.stop()},camera:function(t,e,i){var s=t.deadzone,n=t.target,r=t.view;s&&(this._rect.setTo(r.x+s.x,r.y+s.y,s.width,s.height),this.rectangle(this._rect,e,i)),n&&(this._line.setTo(r.centerX,r.centerY,n.x,n.y),this.geom(this._line,e,i),this.geom(n,e,!1,3))},cameraInfo:function(t,e,i,s){var n=t.bounds,r=t.deadzone,o=t.target,a=t.view;this.start(e,i,s),this.line("Camera ("+t.width+" x "+t.height+")"),this.line("x: "+t.x+" y: "+t.y),this.line("Bounds: "+(n?"x: "+n.x+" y: "+n.y+" w: "+n.width+" h: "+n.height:"none")),this.line("View: x: "+a.x+" y: "+a.y+" w: "+a.width+" h: "+a.height),this.line("Center: x: "+t.centerX+" y: "+t.centerY),this.line("Deadzone: "+(r?"x: "+r.x+" y: "+r.y+" w: "+r.width+" h: "+r.height:r)),this.line("Total in view: "+t.totalInView),this.line("At limit: x: "+t.atLimit.x+" y: "+t.atLimit.y),this.line("Target: "+(o?o.name||o:"none")),this.stop()},timer:function(t,e,i,s){this.start(e,i,s),this.line("Timer (running: "+t.running+" expired: "+t.expired+")"),this.line("Next Tick: "+t.next+" Duration: "+t.duration),this.line("Paused: "+t.paused+" Length: "+t.length),this.stop()},pointer:function(t,e,i,s,n,r){if(null!=t&&(void 0===e&&(e=!1),i=i||"rgba(0,255,0,0.5)",s=s||"rgba(255,255,0,0.5)",r=r||"rgba(255,0,0,0.5)",!0!==e||!0!==t.isUp)){this.start(t.x,t.y-150,n),this.context.beginPath(),this.context.arc(t.x,t.y,t.circle.radius,0,2*Math.PI),t.active?this.context.fillStyle=t.isDown?i:s:this.context.fillStyle=r,this.context.fill(),this.context.closePath(),this.context.beginPath(),this.context.moveTo(t.positionDown.x,t.positionDown.y),this.context.lineTo(t.position.x,t.position.y),this.context.lineWidth=2,this.context.stroke(),this.context.closePath();var o=t.movementX,a=t.movementY;(o||a)&&(this.context.beginPath(),this.context.moveTo(o+t.position.x,a+t.position.y),this.context.lineTo(t.position.x,t.position.y),this.context.lineWidth=2,this.context.stroke(),this.context.closePath()),this.line("ID: "+t.id+" Active: "+t.active),this.line("World X: "+t.worldX.toFixed(1)+" World Y: "+t.worldY.toFixed(1)),this.line("Screen X: "+t.x.toFixed(1)+" Screen Y: "+t.y.toFixed(1)+" In: "+t.withinGame),this.line("Movement: X: "+o+" Y: "+a),this.line("Duration: "+t.duration+" ms"),this.line("is Down: "+t.isDown+" is Up: "+t.isUp),this.line("Identifier: "+t.identifier+" Pointer ID: "+t.pointerId),t.isMouse&&this.line("Buttons: "+this._pointerButtonIcon(t.leftButton)+" "+this._pointerButtonIcon(t.middleButton)+" "+this._pointerButtonIcon(t.rightButton)),this.stop()}},_pointerButtonIcon:function(t){return t.isDown?"x":t.isUp?"o":"-"},spriteInputInfo:function(t,e,i,s){this.start(e,i,s),this.line("Sprite Input: ("+t.width+" x "+t.height+")"),this.line("x: "+t.input.pointerX().toFixed(1)+" y: "+t.input.pointerY().toFixed(1)),this.line("over: "+t.input.pointerOver()+" duration: "+t.input.overDuration().toFixed(0)),this.line("down: "+t.input.pointerDown()+" duration: "+t.input.downDuration().toFixed(0)),this.line("just over: "+t.input.justOver()+" just out: "+t.input.justOut()),this.stop()},key:function(t,e,i,s){this.start(e,i,s,150),this.line("Key:",t.keyCode,"isDown:",t.isDown),this.line("justDown:",t.justDown,"justUp:",t.justUp),this.line("Time Down:",t.timeDown.toFixed(0),"duration:",t.duration.toFixed(0)),this.stop()},inputInfo:function(t,i,s,n){var r=this.game.input;if(void 0===n&&(n=!0),this.start(t,i,s),this.line("Input"),this.line("X: "+r.x+" Y: "+r.y),this.line("World X: "+r.worldX+" World Y: "+r.worldY),this.line("Scale X: "+r.scale.x.toFixed(2)+" Scale Y: "+r.scale.x.toFixed(2)),this.line("Screen X: "+r.activePointer.screenX.toFixed(1)+" Screen Y: "+r.activePointer.screenY.toFixed(1)),n){this.line("Sources:"),this.line(" "+this._inputHandler(r.mouse,"mouse")),this.line(" "+this._inputHandler(r.mspointer,"mspointer")),this.line(" "+this._inputHandler(r.touch,"touch"));var o=r.pointers,a=r.mousePointer,h=e.PointerModes,u=0,l=0;this.line("Pointers:"),this.line(" "+(a.isDown?"x":"o")+" "+h[a.pointerMode]+" "+a.identifier);for(var c=0;c0)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 e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=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(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.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(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:r}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.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(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.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,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},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,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var r=Math.min(t,i,s),o=Math.max(t,i,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=(i-s)/a+(i1&&(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,i,s,n,r,o,a,h){var u={r:t||0,g:i||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 e.Color.updateColor(u)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.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,i,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){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);i?(i.r=n,i.g=r,i.b=o):i=e.Color.createColor(n,r,o)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);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=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.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=e.Color.HSVtoRGB(d,y,v,x),u=x.r,l=x.g,c=x.b}return e.Color.getColor32(r,u,l,c)},interpolateColorWithRGB:function(t,i,s,n,r,o){var a=e.Color.getRGB(t),h=(i-a.red)*o/r+a.red,u=(s-a.green)*o/r+a.green,l=(n-a.blue)*o/r+a.blue;return e.Color.getColor(h,u,l)},interpolateRGB:function(t,i,s,n,r,o,a,h){var u=(n-t)*h/a+t,l=(r-i)*h/a+i,c=(o-s)*h/a+s;return e.Color.getColor(u,l,c)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t));return e.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 i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.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,i){return e.Color.blendOverlay(i,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,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.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()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.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}},e.Physics.prototype.constructor=e.Physics,e.Particles=function(t){this.game=t,this.emitters={},this.ID=0},e.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]}},e.Particles.prototype.constructor=e.Particles,e.Video=function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game=t,this.key=i,this.width=0,this.height=0,this.type=e.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new e.Signal,this.onChangeSource=new e.Signal,this.onComplete=new e.Signal,this.onAccess=new e.Signal,this.onError=new e.Signal,this.onTimeout=new e.Signal,this.onTouchUnlock=new e.Signal,this.playWhenUnlocked=!0,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,i&&this.game.cache.checkVideoKey(i)){var n=this.game.cache.getVideo(i);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(e.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 e.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==i&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,e.BitmapData&&(this.snapshot=new e.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},e.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,s){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=!0),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;if(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"),this.video.setAttribute("playsinline","playsinline"),null!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout),navigator.mediaDevices&&navigator.mediaDevices.getUserMedia)navigator.mediaDevices.getUserMedia({audio:t,video:s}).then(this.getUserMediaSuccess.bind(this)).catch(this.getUserMediaError.bind(this));else try{navigator.getUserMedia({audio:t,video:s},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:void 0!==this.video.srcObject?this.video.srcObject=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.setAttribute("playsinline","playsinline"),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,i){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"),void 0!==i&&(this.video.crossOrigin=i),this.video.setAttribute("playsinline","playsinline"),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,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.srcObject?(this.video.srcObject.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,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(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 this.onTouchUnlock.dispatch(this),!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.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(e.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(e.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(e.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(e.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(e.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(e.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(e.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop=!0:this.video&&(this.video.loop=!1)}}),Object.defineProperty(e.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),e.Video.prototype.constructor=e.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}.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 87f8746e9..6e413695e 100644 --- a/build/custom/phaser-split.js +++ b/build/custom/phaser-split.js @@ -7,7 +7,7 @@ * * Phaser CE - https://github.com/photonstorm/phaser-ce * -* v2.18.0 "2021-05-07" - Built: Thu May 06 2021 19:53:46 +* v2.19.0 "2021-08-23" - Built: Mon Aug 23 2021 13:20:26 * * By Richard Davey http://www.photonstorm.com @photonstorm and Phaser CE contributors * @@ -40,7 +40,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.18.0', + VERSION: '2.19.0', /** * An array of Phaser game instances. @@ -35909,10 +35909,10 @@ Phaser.RenderTexture.prototype.getCanvas = function () * @param {string} text - The actual text that will be written. * @param {object} [style] - The style properties to be set on the Text. * @param {string} [style.font='bold 20pt Arial'] - The style and size of the font. - * @param {string} [style.fontStyle=(from font)] - The style of the font (eg. 'italic'): overrides the value in `style.font`. - * @param {string} [style.fontVariant=(from font)] - The variant of the font (eg. 'small-caps'): overrides the value in `style.font`. - * @param {string} [style.fontWeight=(from font)] - The weight of the font (eg. 'bold'): overrides the value in `style.font`. - * @param {string|number} [style.fontSize=(from font)] - The size of the font (eg. 32 or '32px'): overrides the value in `style.font`. + * @param {string} [style.fontStyle] - The style of the font (eg. 'italic'): overrides the value in `style.font`. + * @param {string} [style.fontVariant] - The variant of the font (eg. 'small-caps'): overrides the value in `style.font`. + * @param {string} [style.fontWeight] - The weight of the font (eg. 'bold'): overrides the value in `style.font`. + * @param {string|number} [style.fontSize] - The size of the font (eg. 32 or '32px'): overrides the value in `style.font`. * @param {string} [style.backgroundColor=null] - A canvas fillstyle that will be used as the background for the whole Text object. Set to `null` to disable. * @param {string} [style.fill='black'] - A canvas fillstyle that will be used on the text eg 'red', '#00FF00'. * @param {string} [style.align='left'] - Horizontal alignment of each line in multiline text. Can be: 'left', 'center' or 'right'. Does not affect single lines of text (see `textBounds` and `boundsAlignH` for that). @@ -35924,6 +35924,8 @@ Phaser.RenderTexture.prototype.getCanvas = function () * @param {number} [style.wordWrapWidth=100] - The width in pixels at which text will wrap. * @param {number} [style.maxLines=0] - The maximum number of lines to be shown for wrapped text. * @param {number} [style.tabs=0] - The size (in pixels) of the tabs, for when text includes tab characters. 0 disables. Can be an array of varying tab sizes, one per tab stop. + * @param {object} [style.fontProperties=null] - `ascent`, `descent`, and `fontSize` lengths for a given style. You can get these from {@link Phaser.Text#determineFontProperties}. + * @param {string} [style.testString='|MÂÉQfjq_'] - The text to use to measure the font width and height. */ Phaser.Text = function (game, x, y, text, style) { @@ -36045,7 +36047,7 @@ Phaser.Text = function (game, x, y, text, style) * @property {string} _testString * @private */ - this._testString = '|MÉq'; + this._testString = style.testString || '|MÂÉQfjq_'; /** * @property {number} _res - Internal canvas resolution var. @@ -36187,10 +36189,10 @@ Phaser.Text.prototype.setShadow = function (x, y, color, blur, shadowStroke, sha * @method Phaser.Text#setStyle * @param {object} [style] - The style properties to be set on the Text. * @param {string} [style.font='bold 20pt Arial'] - The style and size of the font. - * @param {string} [style.fontStyle=(from font)] - The style of the font (eg. 'italic'): overrides the value in `style.font`. - * @param {string} [style.fontVariant=(from font)] - The variant of the font (eg. 'small-caps'): overrides the value in `style.font`. - * @param {string} [style.fontWeight=(from font)] - The weight of the font (eg. 'bold'): overrides the value in `style.font`. - * @param {string|number} [style.fontSize=(from font)] - The size of the font (eg. 32 or '32px'): overrides the value in `style.font`. + * @param {string} [style.fontStyle] - The style of the font (eg. 'italic'): overrides the value in `style.font`. + * @param {string} [style.fontVariant] - The variant of the font (eg. 'small-caps'): overrides the value in `style.font`. + * @param {string} [style.fontWeight] - The weight of the font (eg. 'bold'): overrides the value in `style.font`. + * @param {string|number} [style.fontSize] - The size of the font (eg. 32 or '32px'): overrides the value in `style.font`. * @param {string} [style.backgroundColor=null] - A canvas fillstyle that will be used as the background for the whole Text object. Set to `null` to disable. * @param {string} [style.fill='black'] - A canvas fillstyle that will be used on the text eg 'red', '#00FF00'. * @param {string} [style.align='left'] - Horizontal alignment of each line in multiline text. Can be: 'left', 'center' or 'right'. Does not affect single lines of text (see `textBounds` and `boundsAlignH` for that). @@ -36202,6 +36204,8 @@ Phaser.Text.prototype.setShadow = function (x, y, color, blur, shadowStroke, sha * @param {number} [style.wordWrapWidth=100] - The width in pixels at which text will wrap. * @param {number} [style.maxLines=0] - The maximum number of lines to be shown for wrapped text. * @param {number|array} [style.tabs=0] - The size (in pixels) of the tabs, for when text includes tab characters. 0 disables. Can be an array of varying tab sizes, one per tab stop. + * @param {object} [style.fontProperties=null] - `ascent`, `descent`, and `fontSize` lengths for a given style. You can get these from {@link Phaser.Text#determineFontProperties}. + * @param {string} [style.testString='|MÂÉQfjq_'] - The text to use to measure the font width and height. * @param {boolean} [update=false] - Immediately update the Text object after setting the new style? Or wait for the next frame. * @return {Phaser.Text} This Text instance. */ @@ -36226,6 +36230,7 @@ Phaser.Text.prototype.setStyle = function (style, update) newStyle.shadowColor = style.shadowColor || 'rgba(0,0,0,0)'; newStyle.shadowBlur = style.shadowBlur || 0; newStyle.tabs = style.tabs || 0; + newStyle.fontProperties = style.fontProperties || null; var components = this.fontToComponents(newStyle.font); @@ -36261,6 +36266,11 @@ Phaser.Text.prototype.setStyle = function (style, update) this.style = newStyle; this.dirty = true; + if (newStyle.testString) + { + this.testString = newStyle.testString; + } + if (update) { this.updateText(); @@ -36300,7 +36310,7 @@ Phaser.Text.prototype.updateText = function () var tabs = this.style.tabs; var lineWidths = []; var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this.style.font); + var fontProperties = this.style.fontProperties || this.determineFontProperties(this.style.font); var drawnLines = lines.length; @@ -37431,113 +37441,44 @@ Phaser.Text.prototype._renderCanvas = function (renderSession) Phaser.Text.prototype.determineFontProperties = function (fontStyle) { var properties = Phaser.Text.fontPropertiesCache[fontStyle]; - var measureText = this.testString || '|MÉq'; - if (!properties) + if (properties) { - properties = {}; - - var canvas = Phaser.Text.fontPropertiesCanvas; - var context = Phaser.Text.fontPropertiesContext; - - context.font = fontStyle; - - var width = Math.ceil(context.measureText(measureText).width); - var baseline = Math.ceil(context.measureText(measureText).width); - var height = 2 * baseline; - - baseline = baseline * 1.4 | 0; - - canvas.width = width; - canvas.height = height; - - context.fillStyle = '#f00'; - context.fillRect(0, 0, width, height); - - context.font = fontStyle; - - context.textBaseline = 'alphabetic'; - context.fillStyle = '#000'; - context.fillText(measureText, 0, baseline); - - if (!context.getImageData(0, 0, width, height)) - { - properties.ascent = baseline; - properties.descent = baseline + 6; - properties.fontSize = properties.ascent + properties.descent; - - Phaser.Text.fontPropertiesCache[fontStyle] = properties; - - return properties; - } - - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; - - var i, j; - - var idx = 0; - var stop = false; - - // ascent. scan from top to bottom until we find a non red pixel - for (i = 0; i < baseline; i++) - { - for (j = 0; j < line; j += 4) - { - if (imagedata[idx + j] !== 255) - { - stop = true; - break; - } - } - - if (!stop) - { - idx += line; - } - else - { - break; - } - } + return properties; + } - properties.ascent = baseline - i; + var context = Phaser.Text.fontPropertiesContext; - idx = pixels - line; - stop = false; + context.font = fontStyle; - // descent. scan from bottom to top until we find a non red pixel - for (i = height; i > baseline; i--) - { - for (j = 0; j < line; j += 4) - { - if (imagedata[idx + j] !== 255) - { - stop = true; - break; - } - } - - if (!stop) - { - idx -= line; - } - else - { - break; - } - } + var testStringMetrics = context.measureText(this.testString); - properties.descent = i - baseline; + if (testStringMetrics.actualBoundingBoxAscent) + { + var asc = Math.ceil(testStringMetrics.actualBoundingBoxAscent); + var desc = Math.ceil(testStringMetrics.actualBoundingBoxDescent); - // TODO might need a tweak. kind of a temp fix! - properties.descent += 6; - properties.fontSize = properties.ascent + properties.descent; + properties = { + ascent: asc, + descent: desc, + fontSize: asc + desc + }; + } + else + { + var mxWidth = context.measureText('MX').width; + var asc = Math.ceil(0.75 * mxWidth); + var desc = Math.ceil(0.25 * mxWidth); - Phaser.Text.fontPropertiesCache[fontStyle] = properties; + properties = { + ascent: asc, + descent: desc, + fontSize: asc + desc + }; } + Phaser.Text.fontPropertiesCache[fontStyle] = properties; + return properties; }; @@ -38221,7 +38162,7 @@ Object.defineProperty(Phaser.Text.prototype, 'height', { /** * The text used to measure the font's width and height * @name Phaser.Text#testString - * @default '|MÉq' + * @default '|MÂÉQfjq_' */ Object.defineProperty(Phaser.Text.prototype, 'testString', { @@ -78209,10 +78150,15 @@ Phaser.Tilemap = function (game, key, tileWidth, tileHeight, width, height) this.tiles = data.tiles; /** - * @property {array} objects - An array of Tiled Object Layers. + * @property {object} objects - Tiled Object Layers, by layer name. */ this.objects = data.objects; + /** + * @property {object} objectsMap - Tiled objects indexed by `id`. + */ + this.objectsMap = data.objectsMap; + /** * @property {array} collideIndexes - An array of tile indexes that collide. */ @@ -78464,30 +78410,37 @@ Phaser.Tilemap.prototype = { }, /** - * Creates a Sprite for every {@link http://doc.mapeditor.org/reference/tmx-map-format/#object object} matching the `gid` argument. You can optionally specify the group that the Sprite will be created in. If none is - * given it will be created in the World. All properties from the map data objectgroup are copied across to the Sprite, so you can use this as an easy way to - * configure Sprite properties from within the map editor. For example giving an object a property of `alpha: 0.5` in the map editor will duplicate that when the - * Sprite is created. You could also give it a value like: `body.velocity.x: 100` to set it moving automatically. + * Creates a Sprite for every {@link http://doc.mapeditor.org/reference/tmx-map-format/#object object} matching the `search` argument. * - * The `gid` argument is matched against: + * - When `search` is a number, it matches the object's tile ID (`gid`). + * - When `search` is a string, it matches the object's `name`. + * - When `search` is an array like `['type', 'enemy']` it matches that property name and value on the object. + * - When `search` is `null`, it matches every object. * - * 1. For a tile object, the tile identifier (`gid`); or - * 2. The object's unique ID (`id`); or - * 3. The object's `name` (a string) + * You can optionally specify the group that the Sprite will be created in. + * If `undefined` is given it will be created in the World. + * If `null` is given it won't be added to any group. + * + * All properties from the object are copied to the Sprite, so you can use this as an easy way to + * configure Sprite properties from within the map editor. + * For example giving an object a property of `alpha: 0.5` in the map editor will duplicate that when the + * Sprite is created. You could also give it a value like: `body.velocity.x: 100` to set it moving automatically. * * @method Phaser.Tilemap#createFromObjects - * @param {string} name - The name of the Object Group to create Sprites from. - * @param {number|string} gid - The object's tile reference (gid), unique ID (id) or name. + * @param {string} layer - The name of the Object Group (Object Layer) to create Sprites from. + * @param {number|string|array|null} search - The search value (see above). * @param {string} key - The Game.cache key of the image that this Sprite will use. * @param {number|string} [frame] - If the Sprite image contains multiple frames you can specify which one to use here. * @param {boolean} [exists=true] - The default exists state of the Sprite. * @param {boolean} [autoCull=false] - The default autoCull state of the Sprite. Sprites that are autoCulled are culled from the camera if out of its range. - * @param {Phaser.Group} [group=Phaser.World] - Group to add the Sprite to. If not specified it will be added to the World group. + * @param {Phaser.Group|null} [group=this.game.world] - Group to add the Sprite to, or `null` for no group. If `undefined` it will be added to the World group. * @param {object} [CustomClass=Phaser.Sprite] - If you wish to create your own class, rather than Phaser.Sprite, pass the class here. Your class must extend Phaser.Sprite and have the same constructor parameters. * @param {boolean} [adjustY=true] - By default the Tiled map editor uses a bottom-left coordinate system. Phaser uses top-left. So most objects will appear too low down. This parameter moves them up by their height. * @param {boolean} [adjustSize=true] - By default the width and height of the objects are transferred to the sprite. This parameter controls that behavior. + * + * @return {Phaser.Sprite[]} - The created Sprites. */ - createFromObjects: function (name, gid, key, frame, exists, autoCull, group, CustomClass, adjustY, adjustSize) + createFromObjects: function (layer, search, key, frame, exists, autoCull, group, CustomClass, adjustY, adjustSize) { if (exists === undefined) { exists = true; } if (autoCull === undefined) { autoCull = false; } @@ -78496,91 +78449,89 @@ Phaser.Tilemap.prototype = { if (adjustY === undefined) { adjustY = true; } if (adjustSize === undefined) { adjustSize = true; } - if (!this.objects[name]) + var objects = this.objects[layer]; + + if (!objects) { - console.warn('Tilemap.createFromObjects: Invalid objectgroup name given: ' + name); - console.log('Objects: ', this.objects); + console.warn('Tilemap.createFromObjects: Invalid object layer name given: ' + layer); + console.log('Object layers: ', this.objects); return; } - for (var i = 0; i < this.objects[name].length; i++) - { - var found = false; - var obj = this.objects[name][i]; + var foundObjects = []; + var created = []; + var searchType = typeof search; - if (obj.gid !== undefined && typeof gid === 'number' && obj.gid === gid) - { - found = true; - } - else if (obj.id !== undefined && typeof gid === 'number' && obj.id === gid) - { - found = true; - } - else if (obj.name !== undefined && typeof gid === 'string' && obj.name === gid) - { - found = true; - } - - if (found) - { - var sprite = new CustomClass(this.game, parseFloat(obj.x), parseFloat(obj.y), key, frame); - - sprite.name = obj.name; - sprite.autoCull = autoCull; - sprite.exists = exists; - sprite.visible = obj.visible; + if (searchType === 'number') + { + this.getObjects(layer, 'gid', search, foundObjects); + } + else if (searchType === 'string') + { + this.getObjects(layer, 'name', search, foundObjects); + } + else if (Array.isArray(search)) + { + this.getObjects(layer, search[0], search[1], foundObjects); + } + else if (search === null) + { + foundObjects = objects; + } - if (adjustSize) - { - if (obj.width) - { - sprite.width = obj.width; - } + for (var i = 0; i < foundObjects.length; i++) + { + var obj = foundObjects[i]; + var sprite = new CustomClass(this.game, parseFloat(obj.x), parseFloat(obj.y), key, frame); - if (obj.height) - { - sprite.height = obj.height; - } - } + sprite.name = obj.name; + sprite.autoCull = autoCull; + sprite.exists = exists; + sprite.visible = obj.visible; - if (obj.rotation) + if (adjustSize) + { + if (obj.width) { - sprite.angle = obj.rotation; + sprite.width = obj.width; } - if (adjustY) + if (obj.height) { - sprite.y -= sprite.height; + sprite.height = obj.height; } + } - group.add(sprite); + if (obj.rotation) + { + sprite.angle = obj.rotation; + } - // Set properties directly on the sprite + // Tile objects have origin (0, 1), all others (0, 0) - var properties = obj.properties; + if (adjustY && obj.gid) + { + sprite.y -= sprite.height; + } - if (Array.isArray(properties)) - { - // New property format + if (group !== null) + { + group.add(sprite); + } - for (var j = 0; j < properties.length; j++) - { - var propData = properties[j]; + // Set properties directly on the sprite - group.set(sprite, propData.name, propData.value, false, false, 0, true); - } - } - else - { - // Old property format + var properties = obj.properties; - for (var propertyName in properties) - { - group.set(sprite, propertyName, properties[propertyName], false, false, 0, true); - } - } + for (var propertyName in properties) + { + Phaser.Utils.setProperty(sprite, propertyName, properties[propertyName]); } + + created.push(sprite); } + + return created; }, /** @@ -78863,6 +78814,51 @@ Phaser.Tilemap.prototype = { return this.getIndex(this.layers, name); }, + /** + * Gets the object with the given `id`, from any Object Layer. + * + * @param {number} id - The `id` of the object. + * + * @return {?TilemapObject} The object, or null if not found. + */ + getObject: function (id) + { + return this.objectsMap[id] || null; + }, + + /** + * Gets objects matching the given property name and value from an Object Layer. + * + * @param {string} layer - The name of the Object Layer. + * @param {string} propName - The name of the object property to match. + * @param {any} propValue - The property value to match. + * @param {array} [output] - An array to append matching objects to. + * + * @return {TilemapObject[]} - The matching objects. + */ + getObjects: function (layer, propName, propValue, output) + { + var objects = this.objects[layer]; + var len = objects.length; + + if (output === undefined) + { + output = []; + } + + for (var i = 0; i < len; i++) + { + var obj = objects[i]; + + if (obj[propName] === propValue) + { + output.push(obj); + } + } + + return output; + }, + /** * Gets the tileset index based on its name. * @@ -80113,6 +80109,31 @@ Object.defineProperty(Phaser.Tilemap.prototype, 'layer', { }); +/** + * @typedef {object} TilemapObject + * + * See {@link https://doc.mapeditor.org/en/latest/reference/json-map-format/#object} + * + * @property {boolean} ellipse - True for an ellipse + * @property {number} height - The height + * @property {number} id - The object identifier + * @property {string} name - The name + * @property {boolean} point - True for a point + * @property {boolean} rectangle - True for a rectangle + * @property {boolean} rotation - Rotation in degrees + * @property {string} type - The type + * @property {boolean} visible - Visible or hidden + * @property {number} width - The width + * @property {number} x - The x coordinate in global space + * @property {number} y - The y coordinate in global space + * @property {?number} gid - The global tile identifier, for a tile object + * @property {?number[][]} polygon - Vertices for a polygon + * @property {?number[][]} polyline - Vertices for a polyline + * @property {?object} properties - Custom properties + * @property {?string} template - The template path, for a template instance + * @property {?object} text - See {@link https://doc.mapeditor.org/en/latest/reference/json-map-format/#text} + */ + /** * @author Richard Davey * @copyright 2016 Photon Storm Ltd. @@ -81645,21 +81666,60 @@ Phaser.TilemapParser = { }; }, - _slice: function (obj, fields) + getEmptyObject: function () { - var sliced = {}; + return { - for (var k in fields) + // Common properties + + id: undefined, + x: undefined, + y: undefined, + width: undefined, + height: undefined, + rotation: undefined, + visible: undefined, + name: undefined, + type: undefined, + + // Uncommon properties + + ellipse: false, + gid: null, + point: false, + polygon: null, + polyline: null, + properties: null, + rectangle: false, + template: null, + text: null + }; + }, + + createObject: function (source) + { + var obj = Object.assign(this.getEmptyObject(), source); + + obj.rectangle = !obj.ellipse && !obj.gid && !obj.point && !obj.polygon && !obj.polyline && !obj.template && !obj.text; + + var props = obj.properties; + + // New property format + if (props && Array.isArray(props)) { - var key = fields[k]; + var propsMap = {}; - if (typeof obj[key] !== 'undefined') + for (var i = 0, len = props.length; i < len; i++) { - sliced[key] = obj[key]; + var prop = props[i]; + + propsMap[prop.name] = prop.value; } + + obj.properties = propsMap; } - return sliced; + return obj; }, /** @@ -81672,11 +81732,10 @@ Phaser.TilemapParser = { * @param {object} [relativePosition={x: 0, y: 0}] - Coordinates the object group's position is relative to. * @return {object} A object literal containing the objectsCollection and collisionCollection */ - parseObjectGroup: function (objectGroup, objectsCollection, collisionCollection, nameKey, relativePosition) + parseObjectGroup: function (objectGroup, objectsCollection, collisionCollection, nameKey, relativePosition, objectsMap) { var nameKey = nameKey || objectGroup.name; var relativePosition = relativePosition || {x: 0, y: 0}; - var slice = this._slice; if (!nameKey) { @@ -81694,47 +81753,20 @@ Phaser.TilemapParser = { for (var v = 0, len = objectGroup.objects.length; v < len; v++) { var o = objectGroup.objects[v]; + var object = this.createObject(o); - // Object Tiles - if (o.gid) - { - var object = { - gid: o.gid, - name: o.name, - type: o.type || '', - x: o.x + relativePosition.x, - y: o.y + relativePosition.y, - width: o.width, - height: o.height, - visible: o.visible, - properties: o.properties - }; + object.x += relativePosition.x; + object.y += relativePosition.y; - if (o.rotation) - { - object.rotation = o.rotation; - } + objectsCollection[nameKey].push(object); - objectsCollection[nameKey].push(object); - } - else if (o.polyline) + if (object.id) { - var object = { - name: o.name, - type: o.type, - x: o.x + relativePosition.x, - y: o.y + relativePosition.y, - width: o.width, - height: o.height, - visible: o.visible, - properties: o.properties - }; - - if (o.rotation) - { - object.rotation = o.rotation; - } + objectsMap[object.id] = object; + } + if (o.polyline) + { object.polyline = []; // Parse the polyline into an array @@ -81744,17 +81776,9 @@ Phaser.TilemapParser = { } collisionCollection[nameKey].push(object); - objectsCollection[nameKey].push(object); } - - // polygon else if (o.polygon) { - var object = slice(o, [ 'name', 'type', 'x', 'y', 'visible', 'rotation', 'properties' ]); - - object.x += relativePosition.x; - object.y += relativePosition.y; - // Parse the polygon into an array object.polygon = []; @@ -81764,30 +81788,10 @@ Phaser.TilemapParser = { } collisionCollection[nameKey].push(object); - objectsCollection[nameKey].push(object); } - - // ellipse - else if (o.ellipse) + else if (o.ellipse || o.rectangle) { - var object = slice(o, [ 'name', 'type', 'ellipse', 'x', 'y', 'width', 'height', 'visible', 'rotation', 'properties' ]); - object.x += relativePosition.x; - object.y += relativePosition.y; - collisionCollection[nameKey].push(object); - objectsCollection[nameKey].push(object); - } - - // otherwise it's a rectangle - else - { - var object = slice(o, [ 'name', 'type', 'x', 'y', 'width', 'height', 'visible', 'rotation', 'properties' ]); - object.x += relativePosition.x; - object.y += relativePosition.y; - - object.rectangle = true; - collisionCollection[nameKey].push(object); - objectsCollection[nameKey].push(object); } } @@ -81812,11 +81816,6 @@ Phaser.TilemapParser = { return null; } - if (json.version > 1.1) - { - console.warn('Some features in this Tiled JSON map (version %s) may not work in Phaser CE. Enable the json1 plugin and reexport the map in "Tiled 1.1" format. https://github.com/photonstorm/phaser-ce/issues/623', json.version); - } - // Map data will consist of: layers, objects, images, tilesets, sizes var map = { width: json.width, @@ -82144,6 +82143,7 @@ Phaser.TilemapParser = { // Objects & Collision Data (polylines, etc) var objects = {}; var collision = {}; + var objectsMap = {}; for (var i = 0; i < json.layers.length; i++) { @@ -82153,11 +82153,12 @@ Phaser.TilemapParser = { } var objectGroup = json.layers[i]; - this.parseObjectGroup(objectGroup, objects, collision); + this.parseObjectGroup(objectGroup, objects, collision, undefined, undefined, objectsMap); } map.objects = objects; map.collision = collision; + map.objectsMap = objectsMap; map.tiles = []; @@ -82258,7 +82259,9 @@ Phaser.TilemapParser = { { x: tile.worldX + objectGroup.x, y: tile.worldY + objectGroup.y - }); + }, + objectsMap + ); } } } diff --git a/build/custom/phaser-split.map b/build/custom/phaser-split.map index ca8c0e293..5d6dd67ee 100644 --- a/build/custom/phaser-split.map +++ b/build/custom/phaser-split.map @@ -1 +1 @@ -{"version":3,"sources":["phaser-split.js"],"names":["root","this","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","AudioBufferSourceNode","prototype","start","noteGrainOn","stop","noteOff","Math","trunc","x","ceil","floor","Function","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","defaults","keys","key","undefined","reverseString","string","split","reverse","join","getProperty","obj","name","parts","_getProperty","setProperties","props","setProperty","value","_setProperty","val","currentObj","chanceRoll","chance","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","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","n","del","x0","sqrt","x1","y0","y1","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","width","height","p","centerX","centerY","normx","normy","Line","x2","y2","fromPoints","fromSprite","startSprite","endSprite","useCenter","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","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","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","s","interpolate","project","amt","projectUnit","centroid","points","Error","pointslength","parse","xProp","yProp","parseFloat","isPoint","sortClockwise","center","sort","det","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","FLASH","FADE_OUT","FADE_IN","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","fadeEffect","fadeIn","update","updateFX","updateShake","checkBounds","time","delta","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","postUpdate","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","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","destroy","link","unlink","previousStateKey","onPostUpdateCallback","_kickstart","getCurrentState","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","paramsArr","bindings","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","Stage","DisplayObjectContainer","disableVisibilityChange","exists","worldTransform","currentRenderOrderID","_hiddenVar","_onChange","_bgColor","g","rgba","transparent","config","parseConfig","backgroundColor","setBackgroundColor","DOM","getOffset","canvas","Canvas","setUserSelect","setTouchAction","checkVisibility","children","child","updateTransform","worldAlpha","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","focusLoss","focusGain","gamePaused","gameResumed","Color","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","addChildAt","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","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","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","bringChildToTop","sendToBack","sendChildToBack","moveUp","moveDown","xy","getByName","getFirst","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","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","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","wrapAll","between","Game","renderer","antialias","physicsConfig","multiTexture","preserveDrawingBuffer","clearBeforeRender","isRunning","raf","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","onBoot","_paused","_codePaused","_focusGained","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","powerPreference","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Debug","noop","isDisabled","showDebugHeader","forceSetTimeOut","RequestAnimationFrame","focusWindow","disableStart","isReady","onReady","PhaserGlobal","hideBanner","v","webAudio","ie","canvasID","canvasStyle","crisp","setImageRenderingCrisp","webGL","enableMultiTexture","WebGLRenderer","contextLost","contextRestored","webGLRendererError","defaultRenderer","_enableMultiTextureToggle","CanvasRenderer","cocoonJS","screencanvas","smoothed","addToDOM","preventDefault","initContext","clearGLTextures","updateLogic","desiredFpsMult","updateRender","elapsed","deltaMax","slowMotion","fixedStepSize","refresh","enableStep","disableStep","step","removeFromDOM","cordova","iOS","focus","stopFocus","muteOnPause","setMute","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","mouseWheel","MouseWheel","pointerLock","PointerLock","Keyboard","Gamepad","CanvasPool","getContext","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","CONTACT","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","handler","item","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","capture","stopOnGameOut","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","isAndroidStockBrowser","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","mouseMoveCallback","withinGame","resetButtons","updateButtons","element","wheelEventName","wheelEvent","boundOnWheelHandler","onWheelHandler","eventProxy","WheelEventProxy","bindEvent","deltaY","pointerDownCallback","pointerMoveCallback","pointerUpCallback","pointerOutCallback","pointerOverCallback","pointerCancelCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","_onMSPointerCancel","onPointerCancel","isMousePointerEvent","getPointerFromEvent","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","button","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","toLowerCase","down","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","locked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","doubleTap","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","PointerModes","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","dragPoint","pointerData","pointerLocalCoord","globalToLocal","py","prevX","prevY","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","onChange","onError","boundOnChangeHandler","onChangeHandler","boundOnErrorHandler","onErrorHandler","pointerLockElement","pointerlockchange","pointerlockerror","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","request","exit","_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","removeCallbacks","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","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","deltaX","deltaZ","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","mask","renderable","transformCallback","transformCallbackContext","filterArea","_mask","_destroyCachedSprite","_destroyTintedTexture","_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","prop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","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","animation","useFlatData","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","getBase64","encoderOptions","toDataURL","onLoadCallback","onErrorCallback","onload","onerror","generateTexture","addImage","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","polygon","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","getVisualBounds","cachedSprite","destroyCachedSprite","textureUnit","_tempMatrix","_glTextures","hasLoaded","textureIndex","_dirty","textureBuffer","FilterTexture","tempMatrix","renderXY","renderRawXY","updateBase","bindFramebuffer","FRAMEBUFFER","frameBuffer","viewport","renderDisplayObject","realResolution","webGLPixels","Uint8Array","readPixels","RGBA","UNSIGNED_BYTE","tempCanvas","canvasData","textBounds","colors","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_testString","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","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","testString","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_letterSpacing","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","letterSpacing","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","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","tileScale","tileScaleOffset","tilePosition","textureDebug","tilePattern","frameWidth","frameHeight","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","android","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","canHandleAlpha","canUseMultiply","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chrome","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","standalone","process","require","versions","error","_checkBrowser","AudioContext","webkitAudioContext","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","devicePixelRatio","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","CanvasRenderingContext2D","getItem","File","FileReader","FileList","Blob","requestFileSystem","WebGLRenderingContext","Worker","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","tintMethod","tintWithMultiply","tintWithPerPixel","_checkCanvasFeatures","fs","cfs","Element","ALLOW_KEYBOARD_INPUT","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","fakeiOSTouchLock","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","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","isFinite","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","_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","deltaTotal","isTweening","checkIsRunning","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","ms","fps","blob","reversed","elapsedMS","_desiredFps","suggestedFps","desiredFps","advancedTiming","updates","renders","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_timers","timer","autoDestroy","previousDateNow","previousNow","updateAdvancedTiming","updateTimers","interval","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","_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","diff","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","row","column","totalAvailable","lastAvailable","firstFrame","lastFrame","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","layers","tileheight","tilewidth","tiles","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","DATA","_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","addData","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkDataKey","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","getData","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","removeData","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onBeforeLoadComplete","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","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","mediaTypes","avif","bmp","gif","ico","jpg","jpeg","png","svg","tif","tiff","webp","getMediaType","_getSource","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageset","sources","defaultSource","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","compression","extensions","truecolor","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","tilemapCSV","tilemapTiledJSON","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","loadPictureTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","picElm","sourceElm","setAttribute","currentSrc","controls","autoplay","playsInline","videoLoadEvent","canplay","Audio","playThroughEvent","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","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","char","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","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_pendingStart","_removeFromSoundManager","_sourceId","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","_removeOnEndedHandler","_disconnectSource","isDecoded","loopFull","forceRestart","_stopSourceAndDisconnect","_createSourceAndConnect","_addOnEndedHandler","_startSource","muted","mute","prevMarker","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","createBufferSource","when","onended","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","baseLatency","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","_onStateChange","disableAudio","disableWebAudio","audioContext","onstatechange","setTouchLock","unlock","setTouchUnlock","webAudioIsSuspended","resumeWebAudio","resumeWebAudioIfSuspended","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactor","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","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","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","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","navigationUI","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","GEOM_AUTO","GEOM_RECTANGLE","GEOM_CIRCLE","GEOM_POINT","GEOM_LINE","GEOM_ELLIPSE","gameInfo","1","2","3","4","soundInfo","sourceId","ended","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","inactiveColor","mx","my","worldX","worldY","_pointerButtonIcon","btn","spriteInputInfo","justDown","justUp","inputInfo","showDetails","_inputHandler","modes","free","inputHandler","_inputHandlerStatusIcon","_inputHandlerCaptureIcon","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","factor","loader","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","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","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","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","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","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","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","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","adjustSize","found","propData","propertyName","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","location","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","layerArg","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","skip","all","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","_slice","fields","sliced","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","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","autoScaleFps","scaleData","_s","autoAlpha","autoAlphaFps","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","setSpeed","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","setGravity","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","onTimeout","playWhenUnlocked","timeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","forceLoaded","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","captureVideo","removeVideoElement","getUserMediaTimeout","mediaDevices","then","getUserMediaSuccess","catch","getUserMediaError","mozSrcObject","srcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","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":["root","this","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","AudioBufferSourceNode","prototype","start","noteGrainOn","stop","noteOff","Math","trunc","x","ceil","floor","Function","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","defaults","keys","key","undefined","reverseString","string","split","reverse","join","getProperty","obj","name","parts","_getProperty","setProperties","props","setProperty","value","_setProperty","val","currentObj","chanceRoll","chance","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","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","n","del","x0","sqrt","x1","y0","y1","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","width","height","p","centerX","centerY","normx","normy","Line","x2","y2","fromPoints","fromSprite","startSprite","endSprite","useCenter","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","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","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","s","interpolate","project","amt","projectUnit","centroid","points","Error","pointslength","parse","xProp","yProp","parseFloat","isPoint","sortClockwise","center","sort","det","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","FLASH","FADE_OUT","FADE_IN","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","fadeEffect","fadeIn","update","updateFX","updateShake","checkBounds","time","delta","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","postUpdate","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","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","destroy","link","unlink","previousStateKey","onPostUpdateCallback","_kickstart","getCurrentState","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","paramsArr","bindings","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","Stage","DisplayObjectContainer","disableVisibilityChange","exists","worldTransform","currentRenderOrderID","_hiddenVar","_onChange","_bgColor","g","rgba","transparent","config","parseConfig","backgroundColor","setBackgroundColor","DOM","getOffset","canvas","Canvas","setUserSelect","setTouchAction","checkVisibility","children","child","updateTransform","worldAlpha","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","focusLoss","focusGain","gamePaused","gameResumed","Color","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","addChildAt","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","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","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","bringChildToTop","sendToBack","sendChildToBack","moveUp","moveDown","xy","getByName","getFirst","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","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","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","wrapAll","between","Game","renderer","antialias","physicsConfig","multiTexture","preserveDrawingBuffer","clearBeforeRender","isRunning","raf","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","onBoot","_paused","_codePaused","_focusGained","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","powerPreference","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Debug","noop","isDisabled","showDebugHeader","forceSetTimeOut","RequestAnimationFrame","focusWindow","disableStart","isReady","onReady","PhaserGlobal","hideBanner","v","webAudio","ie","canvasID","canvasStyle","crisp","setImageRenderingCrisp","webGL","enableMultiTexture","WebGLRenderer","contextLost","contextRestored","webGLRendererError","defaultRenderer","_enableMultiTextureToggle","CanvasRenderer","cocoonJS","screencanvas","smoothed","addToDOM","preventDefault","initContext","clearGLTextures","updateLogic","desiredFpsMult","updateRender","elapsed","deltaMax","slowMotion","fixedStepSize","refresh","enableStep","disableStep","step","removeFromDOM","cordova","iOS","focus","stopFocus","muteOnPause","setMute","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","mouseWheel","MouseWheel","pointerLock","PointerLock","Keyboard","Gamepad","CanvasPool","getContext","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","CONTACT","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","handler","item","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","capture","stopOnGameOut","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","isAndroidStockBrowser","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","mouseMoveCallback","withinGame","resetButtons","updateButtons","element","wheelEventName","wheelEvent","boundOnWheelHandler","onWheelHandler","eventProxy","WheelEventProxy","bindEvent","deltaY","pointerDownCallback","pointerMoveCallback","pointerUpCallback","pointerOutCallback","pointerOverCallback","pointerCancelCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","_onMSPointerCancel","onPointerCancel","isMousePointerEvent","getPointerFromEvent","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","button","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","toLowerCase","down","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","locked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","doubleTap","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","PointerModes","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","dragPoint","pointerData","pointerLocalCoord","globalToLocal","py","prevX","prevY","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","onChange","onError","boundOnChangeHandler","onChangeHandler","boundOnErrorHandler","onErrorHandler","pointerLockElement","pointerlockchange","pointerlockerror","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","request","exit","_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","removeCallbacks","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","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","deltaX","deltaZ","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","mask","renderable","transformCallback","transformCallbackContext","filterArea","_mask","_destroyCachedSprite","_destroyTintedTexture","_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","prop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","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","animation","useFlatData","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","getBase64","encoderOptions","toDataURL","onLoadCallback","onErrorCallback","onload","onerror","generateTexture","addImage","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","polygon","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","getVisualBounds","cachedSprite","destroyCachedSprite","textureUnit","_tempMatrix","_glTextures","hasLoaded","textureIndex","_dirty","textureBuffer","FilterTexture","tempMatrix","renderXY","renderRawXY","updateBase","bindFramebuffer","FRAMEBUFFER","frameBuffer","viewport","renderDisplayObject","realResolution","webGLPixels","Uint8Array","readPixels","RGBA","UNSIGNED_BYTE","tempCanvas","canvasData","textBounds","colors","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_testString","testString","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontProperties","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","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","fontPropertiesContext","testStringMetrics","actualBoundingBoxAscent","asc","descent","desc","actualBoundingBoxDescent","mxWidth","setCharacterLimit","characterLimit","suffix","fontPropertiesCanvas","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_letterSpacing","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","letterSpacing","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","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","tileScale","tileScaleOffset","tilePosition","textureDebug","tilePattern","frameWidth","frameHeight","autoScroll","stopScroll","flush","generateTilingTexture","needsUpdate","renderTilingSprite","restartBatch","sessionBlendMode","tw","th","onTextureUpdate","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","isTiling","targetTexture","_powerOf2","idx","pool","removeByCanvas","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","android","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","canHandleAlpha","canUseMultiply","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chrome","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","standalone","process","require","versions","error","_checkBrowser","AudioContext","webkitAudioContext","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","devicePixelRatio","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","CanvasRenderingContext2D","getItem","File","FileReader","FileList","Blob","requestFileSystem","WebGLRenderingContext","Worker","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","tintMethod","tintWithMultiply","tintWithPerPixel","_checkCanvasFeatures","fs","cfs","Element","ALLOW_KEYBOARD_INPUT","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","fakeiOSTouchLock","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","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","isFinite","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","_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","deltaTotal","isTweening","checkIsRunning","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","ms","fps","blob","reversed","elapsedMS","_desiredFps","suggestedFps","desiredFps","advancedTiming","updates","renders","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_timers","timer","autoDestroy","previousDateNow","previousNow","updateAdvancedTiming","updateTimers","interval","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","_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","diff","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","row","column","totalAvailable","lastAvailable","firstFrame","lastFrame","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","layers","tileheight","tilewidth","tiles","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","DATA","_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","addData","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkDataKey","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","getData","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","removeData","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onBeforeLoadComplete","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","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","mediaTypes","avif","bmp","gif","ico","jpg","jpeg","png","svg","tif","tiff","webp","getMediaType","_getSource","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageset","sources","defaultSource","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","compression","extensions","truecolor","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","tilemapCSV","tilemapTiledJSON","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","loadPictureTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","picElm","sourceElm","setAttribute","currentSrc","controls","autoplay","playsInline","videoLoadEvent","canplay","Audio","playThroughEvent","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","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","char","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","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_pendingStart","_removeFromSoundManager","_sourceId","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","_removeOnEndedHandler","_disconnectSource","isDecoded","loopFull","forceRestart","_stopSourceAndDisconnect","_createSourceAndConnect","_addOnEndedHandler","_startSource","muted","mute","prevMarker","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","createBufferSource","when","onended","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","baseLatency","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","_onStateChange","disableAudio","disableWebAudio","audioContext","onstatechange","setTouchLock","unlock","setTouchUnlock","webAudioIsSuspended","resumeWebAudio","resumeWebAudioIfSuspended","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactor","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","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","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","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","navigationUI","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","GEOM_AUTO","GEOM_RECTANGLE","GEOM_CIRCLE","GEOM_POINT","GEOM_LINE","GEOM_ELLIPSE","gameInfo","1","2","3","4","soundInfo","sourceId","ended","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","inactiveColor","mx","my","worldX","worldY","_pointerButtonIcon","btn","spriteInputInfo","justDown","justUp","inputInfo","showDetails","_inputHandler","modes","free","inputHandler","_inputHandlerStatusIcon","_inputHandlerCaptureIcon","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","factor","loader","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","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","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","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","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","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","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","objectsMap","collideIndexes","currentLayer","debugMap","_tempA","NORTH","EAST","SOUTH","WEST","setTileSize","createBlankLayer","addTilesetImage","tileset","tileMargin","tileSpacing","getTilesetIndex","setImage","newSet","Tileset","countX","countY","columns","rows","createFromObjects","search","CustomClass","adjustY","adjustSize","foundObjects","created","searchType","getObjects","propertyName","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","location","getObject","propName","propValue","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","layerArg","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","skip","all","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","getEmptyObject","template","createObject","propsMap","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","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","autoScaleFps","scaleData","_s","autoAlpha","autoAlphaFps","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","setSpeed","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","setGravity","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","onTimeout","playWhenUnlocked","timeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","forceLoaded","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","captureVideo","removeVideoElement","getUserMediaTimeout","mediaDevices","then","getUserMediaSuccess","catch","getUserMediaError","mozSrcObject","srcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","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 diff --git a/build/custom/phaser-split.min.js b/build/custom/phaser-split.min.js index 67ec25a90..9cb916bef 100644 --- a/build/custom/phaser-split.min.js +++ b/build/custom/phaser-split.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.18.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.19.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -(function(){var t=this,e=e||{VERSION:"2.18.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("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),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,i,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=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,o=n*Math.cos(i),r=n*Math.sin(i);return t.x=this.x+o*this.radius,t.y=this.y+r*this.radius,t},getBounds:function(){return new e.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,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,o){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),o||(o=[]);for(var r=0;r0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.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(e.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(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.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},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.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},e.Circle.intersectsLine=function(t,i,s){var n=t.x,o=t.y,r=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-r*i.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,g=new e.Point(u,p),m=new e.Point(d,f),y=i.pointOnSegment(g.x,g.y,.01),v=i.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.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 e.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 e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.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 e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(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&&g<=1&&m>=0&&m<=1?r:null}return r},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.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},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var o=n.edges,r=n.edgeIntersection.set(0),a=i.x,h=i.y,l=i.right,c=i.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 e.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,i){return e.Point.distance(this,t,i)},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,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,o){return e.Point.rotate(this,t,i,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},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.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(e.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(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.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(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.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)},e.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}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,o,r){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,o,r),this.bounds=new e.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 e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.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 e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.FLASH=0,e.Camera.FADE_OUT=1,e.Camera.FADE_IN=2,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var o;switch(i){case e.Camera.FOLLOW_PLATFORMER:var r=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-a)/2-.25*a,r,a);break;case e.Camera.FOLLOW_TOPDOWN:o=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:o=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case e.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,i,s,n,o){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===o&&(o=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=o,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.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,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_OUT)},fadeIn:function(t,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_IN)},fadeEffect:function(t,i,s,n,o){if(void 0===t&&(t=0),void 0===i&&(i=500),void 0===s&&(s=!1),void 0===n&&(n=1),!this.fx||!s&&this._fxDuration>0)return!1;if(this.fx.clear(),this.fx.beginFill(t,n),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),o<1||o>2)throw new Error("Wrong `type` argument");return this.fx.alpha=o===e.Camera.FADE_IN?1:0,this._fxDuration=i,this._fxType=o,!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(){this._fxType===e.Camera.FLASH?(this.fx.alpha-=this.game.time.delta/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):this._fxType===e.Camera.FADE_IN?(this.fx.alpha-=this.game.time.delta/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFadeComplete.dispatch())):(this.fx.alpha+=this.game.time.delta/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.delta,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}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.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(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.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},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.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},e.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,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(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){if(this.clearCurrentState(),this.setCurrentState(this._pendingState),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 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){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.current,i=this.states[t];this.callbackContext=i,this.link(t),this.onInitCallback=i.init||this.dummy,this.onPreloadCallback=i.preload||null,this.onLoadRenderCallback=i.loadRender||null,this.onLoadUpdateCallback=i.loadUpdate||null,this.onCreateCallback=i.create||null,this.onUpdateCallback=i.update||null,this.onPostUpdateCallback=i.postUpdate||null,this.onPreRenderCallback=i.preRender||null,this.onRenderCallback=i.render||null,this.onResizeCallback=i.resize||null,this.onPausedCallback=i.paused||null,this.onResumedCallback=i.resumed||null,this.onPauseUpdateCallback=i.pauseUpdate||null,this.onShutDownCallback=i.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onStateChange.dispatch(this.current,e),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.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.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(){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===e.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.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.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,i,s,n,o){var r,a=this._indexOfListener(t,s);if(-1!==a){if((r=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else r=new e.SignalBinding(this,t,i,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)},e.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)},e.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===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,l=i*n,c=r;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.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},e.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},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.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},e.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},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))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},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var o=e.Utils.getProperty(t,i);return!(void 0===o&&n||o!==s)},e.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)},e.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=this.children.length,a=0;a2){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()}},e.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},e.Group.prototype.iterate=function(t,i,s,n,o,r){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,o=0,r=null,a=0;an&&(!i||i.call(s,h,o))&&(n=o,r=h)}return r},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.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 e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.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}},e.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()}},e.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)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.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(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.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(e.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(e.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(e.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(e.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(e.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}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.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)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.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()},e.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))},e.World.prototype.wrapAll=function(t,e,i,s,n,o){t.forEach(this.wrap,this,e,i,s,n,o)},Object.defineProperty(e.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){tthis.time.deltaMax){if(this.dropFrames)return;e=this.time.deltaMax}if(this.forceSingleUpdate)this.updatesThisFrame=1,this.rendersThisFrame=1,this.updateLogic(.001*e/this.time.slowMotion),this.updateRender();else if(this._spiraling>2)this.updatesThisFrame=0,this.rendersThisFrame=0,this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0;else{var i=0,s=1e3*this.time.desiredFpsMult;for(this._deltaTime+=e,this.updatesThisFrame=Math.floor(this._deltaTime/s),this.rendersThisFrame=this.forceSingleRender?1:Math.min(1,this.updatesThisFrame);this._deltaTime>=s;)this._deltaTime-=s,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult/this.time.slowMotion),this.time.refresh(),i++;i>this._lastCount?this._spiraling++:i0&&this.updateRender()}}}}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.preUpdate(t),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(){this.lockRender||this.renderType===e.HEADLESS||(this.time.preRender(),this.state.preRender(),this.renderer.render(this.stage),this.plugins.render(),this.state.render(),this.plugins.postRender(),this.renderer.postRender())},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.gamePaused(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.gameResumed(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this._focusGained=!0,this.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),e.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=e.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!0===t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},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+i.x=a&&this.game.camera.y+i.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}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.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===i,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 e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.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,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,o="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):o||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},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 i=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),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.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===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.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,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!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.pointerLock.locked&&!i&&(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===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.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,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!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 i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=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&&i.currentPointers--,i.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=e.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){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,o=this._pointerData[t.id],r=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var l=i.scale.x*h.x+n.x+s.x,c=i.scale.y*h.y+n.y+s.y;else var l=h.x+n.x+s.x,c=h.y+n.y+s.y;if(a.fixedToCamera){var u=a.cameraOffset,d=u.x,p=u.y;this.allowHorizontalDrag&&(u.x=l-i.x),this.allowVerticalDrag&&(u.y=c-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(u.x=Math.round((u.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,u.y=Math.round((u.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,r.set(u.x,u.y));var f=u.x-d,g=u.y-p}else{var m=i.x-o.camX,y=i.y-o.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=l+m),this.allowVerticalDrag&&(a.y=c+y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,r.set(a.x,a.y));var f=a.x-d,g=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,l,c,r,e,f,g),!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)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.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 e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this)]},e.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 i=!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}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;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},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.delta,this.lifespan<=0))||(this.kill(),!1)},e.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}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||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===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),o=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.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(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)r=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,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,i)}o&&(this._frame=e.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}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):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))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.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)}}},e.Component.Reset=function(){},e.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},e.Component.ScaleMinMax=function(){},e.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,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,o){var r=this.game.plugins.add(e.Weapon);return o&&(r.bulletClass=o),r.createBullets(t,i,s,n),r},image:function(t,i,s,n,o){return void 0===o&&(o=this.world),o.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,o){return void 0===o&&(o=this.world),o.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,o,r,a){void 0===o&&(o=this.world);var h=new e.Creature(this.game,t,i,s,n,r,a);return o.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,o){return new e.Group(this.game,t,i,s,n,o)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,o,r,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,o,r))},rope:function(t,i,s,n,o,r){return void 0===r&&(r=this.world),r.add(new e.Rope(this.game,t,i,s,n,o))},text:function(t,i,s,n,o){return void 0===o&&(o=this.world),o.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,o,r,a,h,l,c){return void 0===c&&(c=this.world),c.add(new e.Button(this.game,t,i,s,n,o,r,a,h,l))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,o,r,a,h,l){return new e.RetroFont(this.game,t,i,s,n,o,r,a,h,l)},bitmapText:function(t,i,s,n,o,r){return void 0===r&&(r=this.world),r.add(new e.BitmapText(this.game,t,i,s,n,o))},tilemap:function(t,i,s,n,o){return new e.Tilemap(this.game,t,i,s,n,o)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,o),o},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,o){return new e.Group(this.game,t||null,i,s,n,o)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,o,r){return new e.TileSprite(this.game,t,i,s,n,o,r)},rope:function(t,i,s,n,o){return new e.Rope(this.game,t,i,s,n,o)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,o,r,a,h,l){return new e.Button(this.game,t,i,s,n,o,r,a,h,l)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,o,r,a,h,l){return new e.RetroFont(this.game,t,i,s,n,o,r,a,h,l)},bitmapText:function(t,i,s,n,o,r){return new e.BitmapText(this.game,t,i,s,n,o,r)},tilemap:function(t,i,s,n,o){return new e.Tilemap(this.game,t,i,s,n,o)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,o),o},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,o){i=i||0,s=s||0,n=n||null,o=o||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,o)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,o){i=i||0,s=s||0,n=n||null,o=o||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,o)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,o,r,a,h,l,c){i=i||0,s=s||0,n=n||null,o=o||null,r=r||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.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 e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.PointerMode.CONTACT,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)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;return e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.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)},e.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())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",o="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[o]="string"==typeof s?s:""):(this[n]=null,this[o]="")},e.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},e.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)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.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)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.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")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.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())},e.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&&i>=0&&i<=this.height&&(e.Device.LITTLE_ENDIAN?this.pixels[i*this.width+t]=r<<24|o<<16|n<<8|s:this.pixels[i*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,i,s){s||(s=e.Color.createColor());var n=~~(t+i*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,i,s,n,o){return e.Color.unpackPixel(this.getPixel32(t,i),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 i=e.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{e.Color.unpackPixel(this.getPixel32(s,n),i),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===i.a&&!r);return i.x=s,i.y=n,i},getBounds:function(t){return void 0===t&&(t=new e.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,i,s,n,o,r,a,h,l,c,u,d,p,f,g,m,y){if(void 0!==t&&null!==t||(t=this),t instanceof e.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof e.Sprite||t instanceof e.Image||t instanceof e.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 e.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 e.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return this;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==i&&null!==i||(i=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),o&&(this._size.y=o),void 0!==r&&null!==r||(r=i),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)return this;var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,m&&(this.op=m),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+i,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,i,s){if(void 0===i&&(i=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 e.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,i&&(this.op=i),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,i,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,i,s),t.type===e.GROUP&&t.exists)this.drawGroup(t,i,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ni.width&&(n=i.width);var o=this.context;return o.fillStyle=o.createPattern(i,s),this._circle=new e.Circle(t.start.x,t.start.y,i.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,i.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),e.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 e.EarCut.earcutLinked(r,a,s,h,l,f),a},e.EarCut.linkedList=function(t,i,s,n,o){var r,a,h,l=0;for(r=i,a=s-n;r0)for(r=i;r=i;r-=n)h=e.EarCut.insertNode(r,t[r],t[r+1],h);return h},e.EarCut.filterPoints=function(t,i){if(!t)return t;i||(i=t);var s,n=t;do{if(s=!1,n.steiner||!e.EarCut.equals(n,n.next)&&0!==e.EarCut.area(n.prev,n,n.next))n=n.next;else{if(e.EarCut.removeNode(n),(n=i=n.prev)===n.next)return null;s=!0}}while(s||n!==i);return i},e.EarCut.earcutLinked=function(t,i,s,n,o,r,a){if(t){!a&&r&&e.EarCut.indexCurve(t,n,o,r);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,r?e.EarCut.isEarHashed(t,n,o,r):e.EarCut.isEar(t))i.push(h.i/s),i.push(t.i/s),i.push(l.i/s),e.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=e.EarCut.cureLocalIntersections(t,i,s),e.EarCut.earcutLinked(t,i,s,n,o,r,2)):2===a&&e.EarCut.splitEarcut(t,i,s,n,o,r):e.EarCut.earcutLinked(e.EarCut.filterPoints(t),i,s,n,o,r,1);break}}},e.EarCut.isEar=function(t){var i=t.prev,s=t,n=t.next;if(e.EarCut.area(i,s,n)>=0)return!1;for(var o=t.next.next;o!==t.prev;){if(e.EarCut.pointInTriangle(i.x,i.y,s.x,s.y,n.x,n.y,o.x,o.y)&&e.EarCut.area(o.prev,o,o.next)>=0)return!1;o=o.next}return!0},e.EarCut.isEarHashed=function(t,i,s,n){var o=t.prev,r=t,a=t.next;if(e.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=e.EarCut.zOrder(h,l,i,s,n),p=e.EarCut.zOrder(c,u,i,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&e.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&&e.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},e.EarCut.cureLocalIntersections=function(t,i,s){var n=t;do{var o=n.prev,r=n.next.next;e.EarCut.intersects(o,n,n.next,r)&&e.EarCut.locallyInside(o,r)&&e.EarCut.locallyInside(r,o)&&(i.push(o.i/s),i.push(n.i/s),i.push(r.i/s),e.EarCut.removeNode(n),e.EarCut.removeNode(n.next),n=t=r),n=n.next}while(n!==t);return n},e.EarCut.splitEarcut=function(t,i,s,n,o,r){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&e.EarCut.isValidDiagonal(a,h)){var l=e.EarCut.splitPolygon(a,h);return a=e.EarCut.filterPoints(a,a.next),l=e.EarCut.filterPoints(l,l.next),e.EarCut.earcutLinked(a,i,s,n,o,r),void e.EarCut.earcutLinked(l,i,s,n,o,r)}h=h.next}a=a.next}while(a!==t)},e.EarCut.eliminateHoles=function(t,i,s,n){var o,r,a,h,l,c=[];for(o=0,r=i.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&&e.EarCut.pointInTriangle(rs.x)&&e.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},e.EarCut.indexCurve=function(t,i,s,n){var o=t;do{null===o.z&&(o.z=e.EarCut.zOrder(o.x,o.y,i,s,n)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next}while(o!==t);o.prevZ.nextZ=null,o.prevZ=null,e.EarCut.sortLinked(o)},e.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},e.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},e.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},e.EarCut.isValidDiagonal=function(t,i){return e.EarCut.equals(t,i)||t.next.i!==i.i&&t.prev.i!==i.i&&!e.EarCut.intersectsPolygon(t,i)&&e.EarCut.locallyInside(t,i)&&e.EarCut.locallyInside(i,t)&&e.EarCut.middleInside(t,i)},e.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},e.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},e.EarCut.intersects=function(t,i,s,n){return e.EarCut.area(t,i,s)>0!=e.EarCut.area(t,i,n)>0&&e.EarCut.area(s,n,t)>0!=e.EarCut.area(s,n,i)>0},e.EarCut.intersectsPolygon=function(t,i){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==i.i&&s.next.i!==i.i&&e.EarCut.intersects(s,s.next,t,i))return!0;s=s.next}while(s!==t);return!1},e.EarCut.locallyInside=function(t,i){return e.EarCut.area(t.prev,t,t.next)<0?e.EarCut.area(t,i,t.next)>=0&&e.EarCut.area(t,t.prev,i)>=0:e.EarCut.area(t,i,t.prev)<0||e.EarCut.area(t,t.next,i)<0},e.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},e.EarCut.splitPolygon=function(t,i){var s=new e.EarCut.Node(t.i,t.x,t.y),n=new e.EarCut.Node(i.i,i.x,i.y),o=t.next,r=i.prev;return t.next=i,i.prev=t,s.next=o,o.prev=s,n.next=s,s.prev=n,r.next=n,n.prev=r,n},e.EarCut.insertNode=function(t,i,s,n){var o=new e.EarCut.Node(t,i,s);return n?(o.next=n.next,o.prev=n,n.next.prev=o,n.next=o):(o.prev=o,o.next=o),o},e.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)},e.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,i){var s,n=i.gl,o=i.projection,r=i.offset,a=i.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===e.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,r):a.type===e.CIRCLE||a.type===e.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,r):a.type===e.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),R++):(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*(L-2)],d=n[2*(L-2)+1],p=n[2*(L-1)],y=-(d-(f=n[2*(L-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,i.beginPath(),i.moveTo(_,w+C),i.lineTo(_,w+P-C),i.quadraticCurveTo(_,w+P,_+C,w+P),i.lineTo(_+T-C,w+P),i.quadraticCurveTo(_+T,w+P,_+T,w+P-C),i.lineTo(_+T,w+C),i.quadraticCurveTo(_+T,w,_+T-C,w),i.lineTo(_+C,w),i.quadraticCurveTo(_,w,_,w+C),i.closePath(),(o.fillColor||0===o.fillColor)&&(i.globalAlpha=o.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fill()),o.lineWidth&&(i.globalAlpha=o.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,i){var s=t.graphicsData.length;if(0!==s){i.beginPath();for(var n=0;nP?P:T,i.moveTo(x,b+T),i.lineTo(x,b+w-T),i.quadraticCurveTo(x,b+w,x+T,b+w),i.lineTo(x+_-T,b+w),i.quadraticCurveTo(x+_,b+w,x+_,b+w-T),i.lineTo(x+_,b+T),i.quadraticCurveTo(x+_,b,x+_-T,b),i.lineTo(x+T,b),i.quadraticCurveTo(x,b,x,b+T),i.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}},e.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},e.GraphicsData.prototype.constructor=e.GraphicsData,e.GraphicsData.prototype.clone=function(){return new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},e.Graphics=function(t,i,s){void 0===i&&(i=0),void 0===s&&(s=0),this.type=e.GRAPHICS,this.physicsType=e.SPRITE,this.anchor=new e.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 e.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Graphics.prototype.constructor=e.Graphics,e.Component.Core.install.call(e.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.Graphics.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Graphics.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Graphics.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Graphics.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Graphics.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},e.Graphics.prototype.drawTriangles=function(t,i,s){void 0===s&&(s=!1);var n,o=new e.Point,r=new e.Point,a=new e.Point,h=[];if(i)if(t[0]instanceof e.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},e.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),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},e.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},e.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},e.Graphics.prototype.drawRect=function(t,i,s,n){return this.drawShape(new e.Rectangle(t,i,s,n)),this},e.Graphics.prototype.drawRoundedRect=function(t,i,s,n,o){return this.drawShape(new e.RoundedRectangle(t,i,s,n,o)),this},e.Graphics.prototype.drawCircle=function(t,i,s){return this.drawShape(new e.Circle(t,i,s)),this},e.Graphics.prototype.drawEllipse=function(t,i,s,n){return this.drawShape({x:t,y:i,width:s,height:n,type:e.ELLIPSE}),this},e.Graphics.prototype.drawPolygon=function(t){t instanceof e.Polygon&&(t=t.points);var i=t;if(!Array.isArray(i)){i=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},e.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=e.identityMatrix;for(var i=0;ii?a+l:i,s=hn?h+c:n;else if(p===e.CIRCLE)a=o.x,h=o.y,l=o.radius+f/2,c=o.radius+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else if(p===e.ELLIPSE)a=o.x,h=o.y,l=o.width+f/2,c=o.height+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else{r=o.points;for(var g=0;gi?a+f:i,s=h-fn?h+f:n}}else t=0,i=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=i-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},e.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},e.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()},e.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},e.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof e.Polygon&&(t=t.clone()).flatten();var i=new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(i),i.type===e.POLYGON&&(i.shape.closed=this.filling,this.currentPath=i),this.dirty=!0,this._boundsDirty=!0,i},Object.defineProperty(e.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}}),e.RenderTexture=function(t,i,s,n,o,r,a,h){if(void 0===i&&(i=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===o&&(o=e.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=e.RENDERTEXTURE,this._tempMatrix=new e.Matrix,this.width=i,this.height=s,this.resolution=r,this.frame=new e.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===e.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 e.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 e.Matrix,this._updateUvs()},e.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),e.RenderTexture.prototype.constructor=e.RenderTexture,e.RenderTexture.prototype.renderXY=function(t,i,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=i,this._tempMatrix.ty=s,this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.renderRawXY=function(t,i,s,n){this._tempMatrix.identity().translate(i,s),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.render=function(t,i,s){void 0===i||null===i?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(i),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},e.RenderTexture.prototype.resize=function(t,i,s){t===this.width&&i===this.height||(this.valid=t>0&&i>0,this.width=t,this.height=i,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=i*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===e.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},e.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===e.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},e.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,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},e.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)},e.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++}},e.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},e.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},e.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},e.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},e.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},e.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},e.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)/)},e.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},e.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 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[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,"")},e.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},e.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()},e.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.Text.prototype.determineFontProperties=function(t){var i=e.Text.fontPropertiesCache[t],s=this.testString||"|MÉq";if(!i){i={};var n=e.Text.fontPropertiesCanvas,o=e.Text.fontPropertiesContext;o.font=t;var r=Math.ceil(o.measureText(s).width),a=Math.ceil(o.measureText(s).width),h=2*a;if(a=1.4*a|0,n.width=r,n.height=h,o.fillStyle="#f00",o.fillRect(0,0,r,h),o.font=t,o.textBaseline="alphabetic",o.fillStyle="#000",o.fillText(s,0,a),!o.getImageData(0,0,r,h))return i.ascent=a,i.descent=a+6,i.fontSize=i.ascent+i.descent,e.Text.fontPropertiesCache[t]=i,i;var l,c,u=o.getImageData(0,0,r,h).data,d=u.length,p=4*r,f=0,g=!1;for(l=0;la;l--){for(c=0;c0?this._maxWidth:null,l=[],c=0;c=h&&o>-1)return{width:r||n,text:i.substr(0,c-(c-o)),end:!1,chars:l};n+=(p.xAdvance+g+this.letterSpacing)*e,l.push(s+(p.xOffset+g+this.letterSpacing)*e),s+=(p.xAdvance+g+this.letterSpacing)*e,a=d}return{width:n,text:i,end:u,chars:l}},e.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(e.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),e.RetroFont=function(t,i,s,n,o,r,a,h,l,c){if(!t.cache.checkImageKey(i))return!1;void 0!==r&&null!==r||(r=t.cache.getImage(i).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(i),this._text="",this.grabData=[],this.frameData=new e.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",e.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",e.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",e.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",e.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",e.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",e.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",e.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",e.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},e.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)},e.RetroFont.prototype.buildRetroFontText=function(){var t=0,i=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===e.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===e.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},e.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},e.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},e.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},e.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(e.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(e.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),e.Rope=function(t,i,s,n,o,r){this.points=r||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,i=i||0,s=s||0,n=n||null,o=o||null,this.type=e.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=e.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=e.Rope.TRIANGLE_STRIP,e.Component.Core.init.call(this,t,i,s,n,o),this.refresh()},e.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Rope.prototype.constructor=e.Rope,e.Component.Core.install.call(e.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Rope.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Rope.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Rope.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Rope.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Rope.TRIANGLE_STRIP=0,e.Rope.TRIANGLES=1,e.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},e.Rope.prototype.reset=function(t,i){return e.Component.Reset.prototype.reset.call(this,t,i),this},e.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;for(var n=t.length,o=0,r=0,a=0;a0){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=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,O=g*c+l*y+m*u-c*y-l*m-g*u,I=g*x*u+v*c*y+l*m*b-l*x*y-v*m*u-g*c*b,E=d*x+v*f+p*b-x*f-v*p-d*b,L=g*p+d*y+m*f-p*y-d*m-g*f,R=g*x*f+v*p*y+d*m*b-d*x*y-v*m*f-g*p*b;t.transform(M/A,E/A,O/A,L/A,I/A,R/A),t.drawImage(r,0,0),t.restore()},e.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nl?y:l,c=v>c?v:c}if(u===-1/0||c===1/0)return e.EmptyRectangle;var x=this._bounds;return x.x=u,x.width=l-u,x.y=d,x.height=c-d,this._currentBounds=x,x},Object.defineProperty(e.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(e.Rope.prototype,"segments",{get:function(){for(var t,i,s,n,o,r,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(e.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(e.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),e.CanvasPool={create:function(t,i,s){var n,o=e.CanvasPool.getFirst();if(-1===o){var r={parent:t,canvas:document.createElement("canvas")};e.CanvasPool.pool.push(r),n=r.canvas}else e.CanvasPool.pool[o].parent=t,n=e.CanvasPool.pool[o].canvas;return void 0!==i&&(n.width=i,n.height=s),n},getFirst:function(){for(var t=e.CanvasPool.pool,i=0;i=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&&i(),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=!!window.WebGLRenderingContext,s.worker=!!window.Worker,s.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,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=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var o=i.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]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.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"))},e.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))))))},e.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)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,o){i=i||256,s=s||256;var r=o?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(r.id=n),r.width=i,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,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),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 i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},setImageRenderingCrisp:function(t){for(var e=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","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=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=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}},e.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)},e.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(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.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)},e.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 e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.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 e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},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}},e.QuadTree.prototype.constructor=e.QuadTree,e.TweenManager=function(t){this.game=t,this._tweens=[],this._add=[],this.easeMap={Power0:e.Easing.Power0,Power1:e.Easing.Power1,Power2:e.Easing.Power2,Power3:e.Easing.Power3,Power4:e.Easing.Power4,Linear:e.Easing.Linear.None,Quad:e.Easing.Quadratic.Out,Cubic:e.Easing.Cubic.Out,Quart:e.Easing.Quartic.Out,Quint:e.Easing.Quintic.Out,Sine:e.Easing.Sinusoidal.Out,Expo:e.Easing.Exponential.Out,Circ:e.Easing.Circular.Out,Elastic:e.Easing.Elastic.Out,Back:e.Easing.Back.Out,Bounce:e.Easing.Bounce.Out,"Quad.easeIn":e.Easing.Quadratic.In,"Cubic.easeIn":e.Easing.Cubic.In,"Quart.easeIn":e.Easing.Quartic.In,"Quint.easeIn":e.Easing.Quintic.In,"Sine.easeIn":e.Easing.Sinusoidal.In,"Expo.easeIn":e.Easing.Exponential.In,"Circ.easeIn":e.Easing.Circular.In,"Elastic.easeIn":e.Easing.Elastic.In,"Back.easeIn":e.Easing.Back.In,"Bounce.easeIn":e.Easing.Bounce.In,"Quad.easeOut":e.Easing.Quadratic.Out,"Cubic.easeOut":e.Easing.Cubic.Out,"Quart.easeOut":e.Easing.Quartic.Out,"Quint.easeOut":e.Easing.Quintic.Out,"Sine.easeOut":e.Easing.Sinusoidal.Out,"Expo.easeOut":e.Easing.Exponential.Out,"Circ.easeOut":e.Easing.Circular.Out,"Elastic.easeOut":e.Easing.Elastic.Out,"Back.easeOut":e.Easing.Back.Out,"Bounce.easeOut":e.Easing.Bounce.Out,"Quad.easeInOut":e.Easing.Quadratic.InOut,"Cubic.easeInOut":e.Easing.Cubic.InOut,"Quart.easeInOut":e.Easing.Quartic.InOut,"Quint.easeInOut":e.Easing.Quintic.InOut,"Sine.easeInOut":e.Easing.Sinusoidal.InOut,"Expo.easeInOut":e.Easing.Exponential.InOut,"Circ.easeInOut":e.Easing.Circular.InOut,"Elastic.easeInOut":e.Easing.Elastic.InOut,"Back.easeInOut":e.Easing.Back.InOut,"Bounce.easeInOut":e.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},e.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,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_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)},destroy:function(){this.game.onPause.remove(this._pauseAll,this),this.game.onResume.remove(this._resumeAll,this),this.game=null,this._add=null,this._tweens=null}},e.TweenManager.prototype.constructor=e.TweenManager,e.Tween=function(t,i,s){this.game=i,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new e.Signal,this.onLoop=new e.Signal,this.onRepeat=new e.Signal,this.onChildComplete=new e.Signal,this.onComplete=new e.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},e.Tween.updateColor=function(t){e.Color.updateColor(t.target)},e.Tween.prototype={to:function(t,i,s,n,o,r,a){return(void 0===i||i<=0)&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).to(t,i,s,o,r,a)),n&&this.start(),this)},from:function(t,i,s,n,o,r,a){return void 0===i&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).from(t,i,s,o,r,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(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.deltaTotal},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.deltaTotal)},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.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])),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 e.TweenData.PENDING;this.isRunning=!0}var i=this.game.time.delta;this.parent.reverse?(this.dt-=i*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=i*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():e.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,e.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return e.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.deltaTotal,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,e.TweenData.LOOPED}},e.TweenData.prototype.constructor=e.TweenData,e.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){return 0===t?0:1===t?1:(.1,-1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4))},Out:function(t){return 0===t?0:1===t?1:(.1,1*Math.pow(2,-10*t)*Math.sin((t-.1)*(2*Math.PI)/.4)+1)},InOut:function(t){return 0===t?0:1===t?1:(.1,(t*=2)<1?1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*-.5:1*Math.pow(2,-10*(t-=1))*Math.sin((t-.1)*(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-e.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*e.Easing.Bounce.In(2*t):.5*e.Easing.Bounce.Out(2*t-1)+.5}}},e.Easing.Default=e.Easing.Linear.None,e.Easing.Power0=e.Easing.Linear.None,e.Easing.Power1=e.Easing.Quadratic.Out,e.Easing.Power2=e.Easing.Cubic.Out,e.Easing.Power3=e.Easing.Quartic.Out,e.Easing.Power4=e.Easing.Quintic.Out,e.Time=function(t){this.game=t,this.time=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.delta=0,this.deltaTotal=0,this.deltaMax=200,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=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 e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._timers=[]},e.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 i=new e.Timer(this.game,t);return this._timers.push(i),i},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){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},preUpdate:function(t){t*=1e3,this.delta=t,this.deltaTotal+=t,this.game.paused||(this.events.update(this.deltaTotal),this.updateTimers()),this.advancedTiming&&this.updates++},preRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted},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(e.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.desiredFpsMult=1/t}}),Object.defineProperty(e.Time.prototype,"desiredMinFps",{get:function(){return 1e3/this.deltaMax},set:function(t){this.deltaMax=1e3/t}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.Signal,this.nextTick=0,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=this.game.time?this.game.time.deltaTotal:0,this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,o,r){var a=(t=Math.round(t))+this._now,h=new e.TimerEvent(this,t,a,s,i,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.deltaTotal+(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._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.deltaTotal,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.deltaTotal,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.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},e.TimerEvent.prototype.constructor=e.TimerEvent,e.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=[]},e.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,i,s,n,o){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===o&&(o=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,o,this._outputFrames),this._anims[t]=new e.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}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},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(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},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)}}),e.Animation=function(t,i,s,n,o,r,a){void 0===a&&(a=!1),this.game=t,this._parent=i,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 e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.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.deltaTotal,this._timeNextFrame=this.game.time.deltaTotal+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.deltaTotal,this._timeNextFrame=this.game.time.deltaTotal+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=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(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||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.updateCurrentFrame(!1),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()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.deltaTotal:this.isPlaying&&(this._timeNextFrame=this.game.time.deltaTotal+this.delay)}}),Object.defineProperty(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.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(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,o){void 0===n&&(n="");var r=[],a="";if(i=s;h--)a=t+(a="number"==typeof o?e.Utils.pad(h.toString(),o,"0",1):h.toString())+n,r.push(a);return r},e.Frame=function(t,i,s,n,o,r){this.index=t,this.x=i,this.y=s,this.width=n,this.height=o,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+r+'" has a width or height of zero'),this.name=r,this.centerX=Math.floor(n/2),this.centerY=Math.floor(o/2),this.distance=e.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},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},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 e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.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 e.FrameData,i=0;if||h<-f)return console.error('Spritesheet "%s": skipFrames=%s is larger than the frame total %s',i,h,f),null;if(o>-1&&(v=(f=o)-1),d<1&&console.warn('Spritesheet "%s": Texture has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)',i,c,s+r+a,s,r,a),p<1&&console.warn('Spritesheet "%s": Texture has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)',i,u,n+r+a,n,r,a),0===g)return console.error('Spritesheet "%s": zero frames were produced',i),null;if(h>0?v=(y=h)+(f=Math.min(f,g-h))-1:h<0&&(y=(v=m+h)-(f=Math.min(f,g+h))+1),y<0)return console.error('Spritesheet "%s": There is no frame at index %s',i,y),null;if(v>m)return console.warn('Spritesheet "%s": There is no frame at index %s. Last frame found is index %s',i,v,m),null;for(var x=new e.FrameData,b=r,_=r,w=0,T=0;Tv);T++)T>=y&&x.addFrame(new e.Frame(w++,b,_,s,n,"")),(b+=s+a)+s>c&&(b=r,_+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,o=i.frames,r=0;r tag")}},e.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:{},data:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._cacheMap[e.Cache.DATA]=this._cache.data,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DATA=16,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var o=s in e.LoaderParser?e.LoaderParser[s](n):n,r={key:t,url:i,data:o,base:new PIXI.BaseTexture(o,null,this.game.resolution),frame:new e.Frame(0,0,0,o.width,o.height,t),frameData:new e.FrameData,fileFormat:s};return r.frameData.addFrame(new e.Frame(0,0,0,o.width,o.height,i)),this._cache.image[t]=r,this._resolveURL(i,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,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.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(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.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,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,o,r,a){var h={url:i,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?e.LoaderParser.jsonBitmapFont(n,h.base,r,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,r,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,o,r,a){var h=this.getFrameByName(i,s);if(h){var l={font:null,base:this.getBaseTexture(i),frame:h};void 0===r&&(r=0),void 0===a&&(a=0);var c;"json"===o?(c=this.getJSON(n),l.font=e.LoaderParser.jsonBitmapFont(c,l.base,r,a,h,this.game.resolution)):(c=this.getXML(n),l.font=e.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,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,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:i,data:s,frameWidth:n,frameHeight:o,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,o,r,a,h,l)};this._cache.image[t]=c,this._resolveURL(i,c)},addTextureAtlas:function(t,i,s,n,o){var r={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};o===e.Loader.TEXTURE_ATLAS_XML_STARLING?r.frameData=e.AnimationParser.XMLData(this.game,n,t):o===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?r.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?r.frameData=e.AnimationParser.JSONData(this.game,n,t):r.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=r,this._resolveURL(i,r)},addData:function(t,e){this._cache.data[t]=e},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 i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.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(e.Cache.CANVAS,t)},checkDataKey:function(t){return this.checkKey(e.Cache.DATA,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.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,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var o=n[i];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+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getData:function(t){return this.getItem(t,e.Cache.DATA,"getData")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},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=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},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]},removeData:function(t){delete this._cache.data[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.",i),t._ready())},e.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)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.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 e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.Signal,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},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.mediaTypes={avif:"image/avif",bmp:"image/bmp",cur:"image/x-icon",gif:"image/gif",ico:"image/x-icon",jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",svg:"image/svg+xml",tif:"image/tiff",tiff:"image/tiff",webp:"image/webp"},e.Loader.getMediaType=function(t){var i=t.match(/\.(\w+)$/);return i?e.Loader.mediaTypes[i[1]]||null:null},e.Loader._getSource=function(t){return"string"==typeof t?{url:t,type:e.Loader.getMediaType(t)}:t},e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.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.game.state&&(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.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 i=t.data[t.key];if(i)for(var s=0;s=400&&o.status<=599?n.call(r,t,o):s.call(r,t,o)}catch(e){r.hasLoaded?console.error(e):r.asyncComplete(t,e.message||"Exception")}},o.onerror=function(){try{return n.call(r,t,o)}catch(e){r.hasLoaded?console.error(e):r.asyncComplete(t,e.message||"Exception")}},t.requestObject=o,t.requestUrl=e,o.send()},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,i){if(this.game.isBooted){var s=!0;switch(t.type){case"packfile":o=JSON.parse(i.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,i.response);break;case"image":case"imageset":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===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.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=i.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=i.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=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var o=JSON.parse(i.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=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.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(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.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;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=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]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),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}},e.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])},e.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]}},e.AudioSprite.prototype.constructor=e.AudioSprite,e.Sound=function(t,i,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=i,this.key=i,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.playOnce=!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._pendingStart=!1,this._removeFromSoundManager=!1,this._sourceId=0,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,o&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(i)&&this.game.cache.isSoundReady(i)?(this._sound=this.game.cache.getSoundData(i),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new e.Signal,this.onPlay=new e.Signal,this.onPause=new e.Signal,this.onResume=new e.Signal,this.onLoop=new e.Signal,this.onStop=new e.Signal,this.onMute=new e.Signal,this.onMarkerComplete=new e.Signal,this.onFadeComplete=new e.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},e.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&&(this._removeOnEndedHandler(),this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),this._markedToDelete&&(this._disconnectSource(),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(){if(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));var t=this.game.time.time;if(this.isPlaying){if(this._pendingStart){var e=this._sound.currentTime;if(!(e>((this.paused?this._tempPause:0)||this.position||0)))return;this._pendingStart=!1,this.startTime=t-1e3*e,this.stopTime=this.startTime+this.durationMS}this.currentTime=t-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=t,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0,!1))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=t),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0,!1)):this.stop())}}else this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n,o){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),void 0===o&&(o=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0),this.isPlaying=!1),""===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._createSourceAndConnect(),this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||this._addOnEndedHandler(),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),this.loop&&""===t?this._startSource(0,0):this._startSource(0,this.position,this.duration),this.isPlaying=!0,this.paused=!1,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,o&&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._sound.loop=this.loop,this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._globalVolume=this.game.sound.volume,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._globalVolume,this._pendingStart=!this.currentMarker,this.isPlaying=!0,this.paused=!1,this._tempPause=0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,o&&this.onPlay.dispatch(this)):this.pendingPlayback=!0,this.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!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.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){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._createSourceAndConnect(),""===this.currentMarker&&(this.loop?this._sound.loop=!0:this._addOnEndedHandler());var e=this.duration-this.pausedPosition/1e3;this.loop&&""===this.currentMarker?this._startSource(0,t):this._startSource(0,t,e)}else this._pendingStart=!this.currentMarker,this._sound.currentTime=this._tempPause,this._tempPause=0,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&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0)),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,i){this.isPlaying&&!this.paused&&i!==this.volume&&(void 0===t&&(t=1e3),void 0!==i?(this.fadeTween=this.game.add.tween(this).to({volume:i},t,e.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())},_createSourceAndConnect:function(){this._sound=this.context.createBufferSource(),this._sound.connect(this.externalNode||this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this._sourceId++},_disconnectSource:function(){this._sound.disconnect(this.externalNode||this.gainNode)},_startSource:function(t,e,i){void 0===i?this._sound.start(t||0,e||0):this._sound.start(t||0,e||0,i)},_stopSourceAndDisconnect:function(){this._removeOnEndedHandler();try{this._sound.stop(0)}catch(t){}this._disconnectSource(),this._sound=null},_addOnEndedHandler:function(){this._sound.onended=this.onEndedHandler.bind(this)},_removeOnEndedHandler:function(){this._sound.onended=null}},e.Sound.prototype.constructor=e.Sound,Object.defineProperty(e.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(e.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(e.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(e.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))}}),Object.defineProperty(e.Sound.prototype,"sourceId",{get:function(){return this._sound?this._sourceId:null}}),e.SoundManager=function(t){this.game=t,this.onSoundDecode=new e.Signal,this.onVolumeChange=new e.Signal,this.onMute=new e.Signal,this.onUnMute=new e.Signal,this.onTouchUnlock=new e.Signal,this.onStateChange=new e.Signal,this.context=null,this.baseLatency=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 e.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null,this._onClick=this._onClick.bind(this),this._onStateChange=this._onStateChange.bind(this)},e.SoundManager.prototype={boot:function(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,this.baseLatency=this.context.baseLatency||256/(this.context.sampleRate||44100),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.context.onstatechange=this._onStateChange,"suspended"===this.context.state&&this.game.canvas.addEventListener("click",this._onClick);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},webAudioIsSuspended:function(){return this.usingWebAudio&&"suspended"===this.context.state},resumeWebAudio:function(){if(this.usingWebAudio)return this.context.resume()},resumeWebAudioIfSuspended:function(){if(this.webAudioIsSuspended())return this.context.resume()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();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);var e=this;this._unlockSource.onended=function(){e.setTouchUnlock(),e.resumeWebAudioIfSuspended()},void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudioIfSuspended()}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 i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),o=n.width!==i||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))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.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(e.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(e.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(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),e.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px monospace",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},e.Utils.Debug.GEOM_AUTO=0,e.Utils.Debug.GEOM_RECTANGLE=1,e.Utils.Debug.GEOM_CIRCLE=2,e.Utils.Debug.GEOM_POINT=3,e.Utils.Debug.GEOM_LINE=4,e.Utils.Debug.GEOM_ELLIPSE=5,e.Utils.Debug.prototype={boot:function(){this.game.renderType===e.CANVAS?this.context=this.game.context:(this.bmd=new e.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=e.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new e.Line,this._rect=new e.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;e ")+r):r===s._pendingState?this.line("+ "+r):this.line(" "+r)}this.stop()},sound:function(t,e,i){var s=this.game.sound;this.start(t,e,i),s.noAudio?this.line("Audio is disabled"):(this.line("Volume: "+s.volume.toFixed(2)+(s.mute?" (Mute)":"")),this.line("Mute on pause: "+s.muteOnPause),this.line("Using: "+(s.usingWebAudio?"Web Audio - "+s.context.state:"Audio Tag")),this.line("Touch locked: "+s.touchLocked),this.line("Sounds: "+s._sounds.length)),this.stop()},soundInfo:function(t,e,i,s){if(this.start(e,i,s),this.line("Sound: "+t.key+" Touch locked: "+t.game.sound.touchLocked),this.line("Is Ready?: "+this.game.cache.isSoundReady(t.key)+" Pending Playback: "+t.pendingPlayback),this.line("Decoded: "+t.isDecoded+" Decoding: "+t.isDecoding),this.line("Playing: "+t.isPlaying+" Loop: "+t.loop),this.line("Time: "+(t.currentTime/1e3).toFixed(3)+"s Total: "+t.totalDuration.toFixed(3)+"s"),this.line("Volume: "+t.volume.toFixed(2)+(t.mute?" (Mute)":"")),this.line("Using: "+(t.usingWebAudio?"Web Audio":"Audio Tag")),t.usingWebAudio&&this.line(" Source: "+(t.sourceId||"none")),t.usingAudioTag&&t._sound){var n=t._sound;this.line(" currentSrc: "+n.currentSrc),this.line(" currentTime: "+n.currentTime),this.line(" duration: "+n.duration),this.line(" ended: "+n.ended),this.line(" loop: "+n.loop),this.line(" muted: "+n.muted),this.line(" paused: "+n.paused)}""!==t.currentMarker&&(this.line("Marker: "+t.currentMarker+" Duration: "+t.duration.toFixed(3)+"s ("+t.durationMS+"ms)"),this.line("Start: "+t.markers[t.currentMarker].start.toFixed(3)+" Stop: "+t.markers[t.currentMarker].stop.toFixed(3)),this.line("Position: "+t.position.toFixed(3))),this.stop()},camera:function(t,e,i){var s=t.deadzone,n=t.target,o=t.view;s&&(this._rect.setTo(o.x+s.x,o.y+s.y,s.width,s.height),this.rectangle(this._rect,e,i)),n&&(this._line.setTo(o.centerX,o.centerY,n.x,n.y),this.geom(this._line,e,i),this.geom(n,e,!1,3))},cameraInfo:function(t,e,i,s){var n=t.bounds,o=t.deadzone,r=t.target,a=t.view;this.start(e,i,s),this.line("Camera ("+t.width+" x "+t.height+")"),this.line("x: "+t.x+" y: "+t.y),this.line("Bounds: "+(n?"x: "+n.x+" y: "+n.y+" w: "+n.width+" h: "+n.height:"none")),this.line("View: x: "+a.x+" y: "+a.y+" w: "+a.width+" h: "+a.height),this.line("Center: x: "+t.centerX+" y: "+t.centerY),this.line("Deadzone: "+(o?"x: "+o.x+" y: "+o.y+" w: "+o.width+" h: "+o.height:o)),this.line("Total in view: "+t.totalInView),this.line("At limit: x: "+t.atLimit.x+" y: "+t.atLimit.y),this.line("Target: "+(r?r.name||r:"none")),this.stop()},timer:function(t,e,i,s){this.start(e,i,s),this.line("Timer (running: "+t.running+" expired: "+t.expired+")"),this.line("Next Tick: "+t.next+" Duration: "+t.duration),this.line("Paused: "+t.paused+" Length: "+t.length),this.stop()},pointer:function(t,e,i,s,n,o){if(null!=t&&(void 0===e&&(e=!1),i=i||"rgba(0,255,0,0.5)",s=s||"rgba(255,255,0,0.5)",o=o||"rgba(255,0,0,0.5)",!0!==e||!0!==t.isUp)){this.start(t.x,t.y-150,n),this.context.beginPath(),this.context.arc(t.x,t.y,t.circle.radius,0,2*Math.PI),t.active?this.context.fillStyle=t.isDown?i:s:this.context.fillStyle=o,this.context.fill(),this.context.closePath(),this.context.beginPath(),this.context.moveTo(t.positionDown.x,t.positionDown.y),this.context.lineTo(t.position.x,t.position.y),this.context.lineWidth=2,this.context.stroke(),this.context.closePath();var r=t.movementX,a=t.movementY;(r||a)&&(this.context.beginPath(),this.context.moveTo(r+t.position.x,a+t.position.y),this.context.lineTo(t.position.x,t.position.y),this.context.lineWidth=2,this.context.stroke(),this.context.closePath()),this.line("ID: "+t.id+" Active: "+t.active),this.line("World X: "+t.worldX.toFixed(1)+" World Y: "+t.worldY.toFixed(1)),this.line("Screen X: "+t.x.toFixed(1)+" Screen Y: "+t.y.toFixed(1)+" In: "+t.withinGame),this.line("Movement: X: "+r+" Y: "+a),this.line("Duration: "+t.duration+" ms"),this.line("is Down: "+t.isDown+" is Up: "+t.isUp),this.line("Identifier: "+t.identifier+" Pointer ID: "+t.pointerId),t.isMouse&&this.line("Buttons: "+this._pointerButtonIcon(t.leftButton)+" "+this._pointerButtonIcon(t.middleButton)+" "+this._pointerButtonIcon(t.rightButton)),this.stop()}},_pointerButtonIcon:function(t){return t.isDown?"x":t.isUp?"o":"-"},spriteInputInfo:function(t,e,i,s){this.start(e,i,s),this.line("Sprite Input: ("+t.width+" x "+t.height+")"),this.line("x: "+t.input.pointerX().toFixed(1)+" y: "+t.input.pointerY().toFixed(1)),this.line("over: "+t.input.pointerOver()+" duration: "+t.input.overDuration().toFixed(0)),this.line("down: "+t.input.pointerDown()+" duration: "+t.input.downDuration().toFixed(0)),this.line("just over: "+t.input.justOver()+" just out: "+t.input.justOut()),this.stop()},key:function(t,e,i,s){this.start(e,i,s,150),this.line("Key:",t.keyCode,"isDown:",t.isDown),this.line("justDown:",t.justDown,"justUp:",t.justUp),this.line("Time Down:",t.timeDown.toFixed(0),"duration:",t.duration.toFixed(0)),this.stop()},inputInfo:function(t,i,s,n){var o=this.game.input;if(void 0===n&&(n=!0),this.start(t,i,s),this.line("Input"),this.line("X: "+o.x+" Y: "+o.y),this.line("World X: "+o.worldX+" World Y: "+o.worldY),this.line("Scale X: "+o.scale.x.toFixed(2)+" Scale Y: "+o.scale.x.toFixed(2)),this.line("Screen X: "+o.activePointer.screenX.toFixed(1)+" Screen Y: "+o.activePointer.screenY.toFixed(1)),n){this.line("Sources:"),this.line(" "+this._inputHandler(o.mouse,"mouse")),this.line(" "+this._inputHandler(o.mspointer,"mspointer")),this.line(" "+this._inputHandler(o.touch,"touch"));var r=o.pointers,a=o.mousePointer,h=e.PointerModes,l=0,c=0;this.line("Pointers:"),this.line(" "+(a.isDown?"x":"o")+" "+h[a.pointerMode]+" "+a.identifier);for(var u=0;u0)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 e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=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(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.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(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:o}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:o})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.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(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.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,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},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,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var o=Math.min(t,i,s),r=Math.max(t,i,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=(i-s)/a+(i1&&(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,i,s,n,o,r,a,h){var l={r:t||0,g:i||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 e.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.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,i,s,n,o){return void 0===n&&(n=255),void 0===o&&(o="#"),"#"===o?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){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);i?(i.r=n,i.g=o,i.b=r):i=e.Color.createColor(n,o,r)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,o,r){void 0===o&&(o=255),void 0===r&&(r=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);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=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.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=e.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return e.Color.getColor32(o,l,c,u)},interpolateColorWithRGB:function(t,i,s,n,o,r){var a=e.Color.getRGB(t),h=(i-a.red)*r/o+a.red,l=(s-a.green)*r/o+a.green,c=(n-a.blue)*r/o+a.blue;return e.Color.getColor(h,l,c)},interpolateRGB:function(t,i,s,n,o,r,a,h){var l=(n-t)*h/a+t,c=(o-i)*h/a+i,u=(r-s)*h/a+s;return e.Color.getColor(l,c,u)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],o=t[Math.ceil(s)];return this.linear(n,o,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t));return e.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 i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.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,i){return e.Color.blendOverlay(i,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,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.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()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.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}},e.Physics.prototype.constructor=e.Physics,e.Physics.Arcade=function(t){this.game=t,this.gravity=new e.Point,this.bounds=new e.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=e.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new e.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()},e.Physics.Arcade.prototype.constructor=e.Physics.Arcade,e.Physics.Arcade.SORT_NONE=0,e.Physics.Arcade.LEFT_RIGHT=1,e.Physics.Arcade.RIGHT_LEFT=2,e.Physics.Arcade.TOP_BOTTOM=3,e.Physics.Arcade.BOTTOM_TOP=4,e.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,i){void 0===i&&(i=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof e.Group?this.enable(t[s].children,i):(this.enableBody(t[s]),i&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof e.Group?this.enable(t.children,i):(this.enableBody(t),i&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.Arcade.Body(t),t.parent&&t.parent instanceof e.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+=.001*t.angularVelocity*this.game.time.delta}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+=.001*(this.gravity.x+e.gravity.x)*this.game.time.delta:2===t&&e.allowGravity&&(i+=.001*(this.gravity.y+e.gravity.y)*this.game.time.delta),s?i+=.001*s*this.game.time.delta:n&&e.allowDrag&&(i-(n*=.001*this.game.time.delta)>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,i){null!==t.physicsSortDirection?i=t.physicsSortDirection:void 0===i&&(i=this.sortDirection),i===e.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):i===e.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):i===e.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):i===e.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===e.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(i);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===e.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,i,s,n,o)}}}}},collideGroupVsGroup:function(t,i,s,n,o,r){if(0!==t.length&&0!==i.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)=i.right)&&!(t.position.y>=i.bottom))))},circleBodyIntersects:function(t,i){var s=e.Math.clamp(t.center.x,i.left,i.right),n=e.Math.clamp(t.center.y,i.top,i.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,i,s){this.getOverlapX(t,i),this.getOverlapY(t,i);var n=i.center.x-t.center.x,o=i.center.y-t.center.y,r=Math.atan2(o,n),a=0;if(t.isCircle!==i.isCircle){var h={x:i.isCircle?t.position.x:i.position.x,y:i.isCircle?t.position.y:i.position.y,right:i.isCircle?t.right:i.right,bottom:i.isCircle?t.bottom:i.bottom},l={x:t.isCircle?t.center.x:i.center.x,y:t.isCircle?t.center.y:i.center.y,radius:t.isCircle?t.halfWidth:i.halfWidth};l.yh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+i.halfWidth-e.Math.distance(t.center.x,t.center.y,i.center.x,i.center.y);if(s||0===a||t.immovable&&i.immovable||t.customSeparateX||i.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,i.sprite),i.onOverlap&&i.onOverlap.dispatch(i.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:i.velocity.x*Math.cos(r)+i.velocity.y*Math.sin(r),y:-i.velocity.x*Math.sin(r)+i.velocity.y*Math.cos(r)},d=((t.mass-i.mass)*c.x+2*i.mass*u.x)/(t.mass+i.mass),p=(2*t.mass*c.x+(i.mass-t.mass)*u.x)/(t.mass+i.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),i.immovable||(i.velocity.x=(p*Math.cos(r)-u.y*Math.sin(r))*i.bounce.x,i.velocity.y=(u.y*Math.cos(r)+p*Math.sin(r))*i.bounce.y),Math.abs(r)0&&!t.immovable&&i.velocity.x>t.velocity.x?t.velocity.x*=-1:i.velocity.x<0&&!i.immovable&&t.velocity.x0&&!t.immovable&&i.velocity.y>t.velocity.y?t.velocity.y*=-1:i.velocity.y<0&&!i.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&i.velocity.x0&&!i.immovable&&t.velocity.x>i.velocity.x?i.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&i.velocity.y0&&!i.immovable&&t.velocity.x>i.velocity.y&&(i.velocity.y*=-1)),t.immovable||(t.x+=.001*t.velocity.x*this.game.time.delta-a*Math.cos(r),t.y+=.001*t.velocity.y*this.game.time.delta-a*Math.sin(r)),i.immovable||(i.x+=.001*i.velocity.x*this.game.time.delta+a*Math.cos(r),i.y+=.001*i.velocity.y*this.game.time.delta+a*Math.sin(r)),t.onCollide&&t.onCollide.dispatch(t.sprite,i.sprite),i.onCollide&&i.onCollide.dispatch(i.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,i,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 e.Rectangle(t,i,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(s=this.distanceBetween(t,i)/(n/1e3)),t.body.velocity.setToPolar(o,s),o},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,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i,!0)},velocityFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},accelerationFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},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,s){void 0===i&&(i=!1);var n,o;return s?(n=t.centerX-e.centerX,o=t.centerY-e.centerY):i?(n=t.world.x-e.world.x,o=t.world.y-e.world.y):(n=t.x-e.x,o=t.y-e.y),Math.sqrt(n*n+o*o)},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,s){for(var n=1/0,o=null,r=0,a=e.length;rn&&(o=h,n=l)}return o},angleBetween:function(t,i,s){return void 0===s&&(s=!1),s?e.Point.angle(i.world,t.world):e.Point.angle(i,t)},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)}},e.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=e.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new e.Point,this.position=new e.Point(t.x,t.y),this.prev=new e.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 e.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new e.Point,this.newVelocity=new e.Point,this.deltaMax=new e.Point,this.acceleration=new e.Point,this.allowDrag=!0,this.drag=new e.Point,this.allowGravity=!0,this.gravity=new e.Point,this.bounce=new e.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new e.Point(1e4,1e4),this.friction=new e.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=e.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 e.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 e.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},e.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(.001*this.velocity.x*this.game.time.delta,.001*this.velocity.y*this.game.time.delta),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=this.velocity.atan()),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.delta,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=e.LEFT:this.deltaX()>0&&(this.facing=e.RIGHT),this.deltaY()<0?this.facing=e.UP:this.deltaY()>0&&(this.facing=e.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,i,s){var n=i/(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),i=Math.abs(i),this.moveDuration=0,this.moveDistance=i,null===this.moveTarget&&(this.moveTarget=new e.Line,this.moveEnd=new e.Point),this.moveTarget.fromAngle(this.x,this.y,o,i),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,i){return this.isCircle?e.Circle.contains(this,t,i):e.Rectangle.contains(this,t,i)},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 e.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(e.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),e.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)},e.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)},e.Physics.Arcade.Body.prototype.constructor=e.Physics.Arcade.Body,e.Physics.Arcade.TilemapCollision=function(){},e.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}},e.Utils.mixinPrototype(e.Physics.Arcade.prototype,e.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,e.Physics.P2=function(t,i){this.game=t,void 0===i?i={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(i.hasOwnProperty("gravity")||(i.gravity=[0,0]),i.hasOwnProperty("broadphase")||(i.broadphase=new p2.SAPBroadphase)),this.config=i,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new e.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new e.Signal,this.onBodyRemoved=new e.Signal,this.onSpringAdded=new e.Signal,this.onSpringRemoved=new e.Signal,this.onConstraintAdded=new e.Signal,this.onConstraintRemoved=new e.Signal,this.onContactMaterialAdded=new e.Signal,this.onContactMaterialRemoved=new e.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new e.Signal,this.onEndContact=new e.Signal,i.hasOwnProperty("mpx")&&i.hasOwnProperty("pxm")&&i.hasOwnProperty("mpxi")&&i.hasOwnProperty("pxmi")&&(this.mpx=i.mpx,this.mpxi=i.mpxi,this.pxm=i.pxm,this.pxmi=i.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.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)},e.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,i,s){void 0===i&&(i=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof e.Group?this.enable(t[n].children,i,s):(this.enableBody(t[n],i),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],i,!0));else t instanceof e.Group?this.enable(t.children,i,s):(this.enableBody(t,i),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,i,!0))},enableBody:function(t,i){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=i,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(.001*this.game.time.delta):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.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 e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,i,s,n,o,r){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.DistanceConstraint(this,t,i,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,i,s,n){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.GearConstraint(this,t,i,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,i,s,n,o,r){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new e.Physics.P2.RevoluteConstraint(this,t,i,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,i,s,n,o){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.LockConstraint(this,t,i,s,n,o));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,i,s,n,o,r,a){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.PrismaticConstraint(this,t,i,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,i){t=t||"";var s=new e.Physics.P2.Material(t);return this.materials.push(s),void 0!==i&&i.setMaterial(s),s},createContactMaterial:function(t,i,s){void 0===t&&(t=this.createMaterial()),void 0===i&&(i=this.createMaterial());var n=new e.Physics.P2.ContactMaterial(t,i,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 e.Physics.P2.Body?t.data:t.body&&t.body.type===e.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,i,s,n){void 0===i&&(i=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=i.length;a--;)i[a]instanceof e.Physics.P2.Body&&(!n||i[a].data.type!==p2.Body.STATIC)?r.push(i[a].data):i[a]instanceof p2.Body&&i[a].parent&&(!n||i[a].type!==p2.Body.STATIC)?r.push(i[a]):i[a]instanceof e.Sprite&&i[a].hasOwnProperty("body")&&(!n||i[a].body.data.type!==p2.Body.STATIC)&&r.push(i[a].body.data);return this.world.hitTest(o,r,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var i=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|i),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|i),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|i),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|i),this._collisionGroupID++;var s=new e.Physics.P2.CollisionGroup(i);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,i){if(t instanceof e.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(e.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(e.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(e.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(e.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(e.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(e.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(e.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(e.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(e.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),e.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},e.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}},e.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.PointProxy.prototype.constructor=e.Physics.P2.PointProxy,Object.defineProperty(e.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(e.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(e.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(e.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),e.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.InversePointProxy.prototype.constructor=e.Physics.P2.InversePointProxy,Object.defineProperty(e.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(e.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(e.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),e.Physics.P2.Body=function(t,i,s,n,o){i=i||null,s=s||0,n=n||0,void 0===o&&(o=1),this.game=t,this.world=t.physics.p2,this.sprite=i,this.type=e.Physics.P2JS,this.offset=new e.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:o}),this.data.parent=this,this.velocity=new e.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new e.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new e.Point,this.onBeginContact=new e.Signal,this.onEndContact=new e.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,i&&(this.setRectangleFromSprite(i),i.exists&&this.game.physics.p2.addBody(this))},e.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;n=0?dp;n=p>=0?++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,g,m,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],g=d[0],v=d[1],t.lineStyle(o,h[l%h.length],1),t.moveTo(f,-y),t.lineTo(g,-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],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 o,r,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),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"}}),e.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},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.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},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},e.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),e.Physics.P2.Material.prototype.constructor=e.Physics.P2.Material,e.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},e.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),e.Physics.P2.ContactMaterial.prototype.constructor=e.Physics.P2.ContactMaterial,e.Physics.P2.CollisionGroup=function(t){this.mask=t},e.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)},e.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),e.Physics.P2.DistanceConstraint.prototype.constructor=e.Physics.P2.DistanceConstraint,e.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)},e.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),e.Physics.P2.GearConstraint.prototype.constructor=e.Physics.P2.GearConstraint,e.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)},e.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),e.Physics.P2.LockConstraint.prototype.constructor=e.Physics.P2.LockConstraint,e.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)},e.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),e.Physics.P2.PrismaticConstraint.prototype.constructor=e.Physics.P2.PrismaticConstraint,e.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)},e.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),e.Physics.P2.RevoluteConstraint.prototype.constructor=e.Physics.P2.RevoluteConstraint,e.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},e.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}},e.Tile.prototype.constructor=e.Tile,Object.defineProperty(e.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(e.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(e.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(e.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(e.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(e.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),e.Tilemap=function(t,i,s,n,o,r){this.game=t,this.key=i;var a=e.TilemapParser.parse(this.game,i,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)},e.Tilemap.CSV=0,e.Tilemap.TILED_JSON=1,e.Tilemap.NORTH=0,e.Tilemap.EAST=1,e.Tilemap.SOUTH=2,e.Tilemap.WEST=3,e.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,i,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!==i&&null!==i||(i=t),e.BitmapData&&i instanceof e.BitmapData)h=i.canvas;else{if(!this.game.cache.checkImageKey(i))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+i+'"'),null;h=this.game.cache.getImage(i)}var l=this.getTilesetIndex(t);if(null===l&&this.format===e.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),console.log("Tilesets: ",this.tilesets),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new e.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,g=0,m=0,y=a;y1)for(u=0;uthis.layers.length)return console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"'),void console.log("Layers: ",this.layers);void 0===i||i<=0?i=Math.min(this.game.width,this.layers[o].widthInPixels):i>this.game.width&&(i=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:",i,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",o));var r=n.add(new e.TilemapLayer(this.game,this,o,i,s));return this.enableDebug&&console.groupEnd(),r},createBlankLayer:function(t,i,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:i,height:s,widthInPixels:i*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 e.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,i,s){if(s=this.getLayer(s),t>=0&&t=0&&i=0&&i=0&&s-1?this.layers[n].data[s][i].setCollision(!0,!0,!0,!0):this.layers[n].data[s][i].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][i]}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,n){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var o,r,a=0,h=this.layers[s].height,l=this.layers[s].width,c=this.layers[s].data;if(n)var u=[];if(i)for(d=h-1;d>=0;d--){o=c[d];for(p=l-1;p>=0;p--)if((r=o[p]).index===t)if(a>=e){if(!n)return r;u.push(r)}else a++}else for(var d=0;d=e){if(!n)return r;u.push(r)}else a++}return n?u:null},getTile:function(t,e,i,s){return void 0===s&&(s=!1),i=this.getLayer(i),t>=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}},e.Tilemap.prototype.constructor=e.Tilemap,Object.defineProperty(e.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),e.TilemapLayer=function(t,i,s,n,o){n|=0,o|=0,e.Sprite.call(this,t,0,0),this.map=i,this.index=s,this.layer=i.layers[s],this.canvas=e.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=e.TILEMAPLAYER,this.physicsType=e.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:i.tileWidth,tileHeight:i.tileHeight,cw:i.tileWidth,ch:i.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new e.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=e.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},e.TilemapLayer.prototype=Object.create(e.Sprite.prototype),e.TilemapLayer.prototype.constructor=e.TilemapLayer,e.TilemapLayer.prototype.preUpdateCore=e.Component.Core.preUpdate,e.TilemapLayer.sharedCopyCanvas=null,e.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=e.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},e.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},e.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},e.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)},e.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)},e.TilemapLayer.prototype.destroy=function(){e.CanvasPool.remove(this),e.Component.Destroy.prototype.destroy.call(this)},e.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},e.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},e.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},e.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},e.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)},e.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},e.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)},e.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},e.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},e.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},e.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},e.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;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||(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))}}}},e.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),g=Math.floor((n-1+i)/r);this.renderRegion(i,s,f,c,g,u)}},e.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)},e.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=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(e.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),e.TilemapParser={INSERT_NULL:!1,parse:function(t,i,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===i)return this.getEmptyData();if(null===i)return this.getEmptyData(s,n,o,r);var a=t.cache.getTilemapData(i);if(a){if(a.format===e.Tilemap.CSV)return this.parseCSV(i,a.data,s,n);if(!a.format||a.format===e.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn('No map data found for key "%s"',i)},parseCSV:function(t,i,s,n){for(var o=this.getEmptyData(),r=[],a=(i=i.trim()).split("\n"),h=a.length,l=0,c=0;c1.1&&console.warn('Some features in this Tiled JSON map (version %s) may not work in Phaser CE. Enable the json1 plugin and reexport the map in "Tiled 1.1" format. https://github.com/photonstorm/phaser-ce/issues/623',t.version);for(var i={width:t.width,height:t.height,tileWidth:t.tilewidth,tileHeight:t.tileheight,orientation:t.orientation,format:e.Tilemap.TILED_JSON,version:t.version,properties:t.properties,widthInPixels:t.width*t.tilewidth,heightInPixels:t.height*t.tileheight},s=[],n=0;n>>0;o.data=h,delete o.encoding}else if(o.compression){console.warn('Layer compression is unsupported, skipping layer "%s".',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=[],g=[],m=0,a=o.data.length;m536870912)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 e.Tile(D,k,p,g.length,t.tilewidth,t.tileheight)).rotation=c,B.flipped=u,0!==d&&(B.flippedVal=d),f.push(B)):e.TilemapParser.INSERT_NULL?f.push(null):f.push(new e.Tile(D,-1,p,g.length,t.tilewidth,t.tileheight)),++p===o.width&&(g.push(f),p=0,f=[])}D.data=g,s.push(D)}i.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t0?this.scale.set(this.scaleData[t].x,this.scaleData[t].y):this.autoScale=!1}if(this.autoAlpha){this._a-=.001*this.game.time.delta*this.autoAlphaFps;var e=Math.round(this._a);e>0?this.alpha=this.alphaData[e].v:this.autoAlpha=!1}},e.Particle.prototype.onEmit=function(){},e.Particle.prototype.setAlphaData=function(t,e){this.alphaData=t,this._a=t.length-1,this.alpha=this.alphaData[this._a].v,this.autoAlpha=!0,this.autoAlphaFps=e},e.Particle.prototype.setScaleData=function(t,e){this.scaleData=t,this._s=t.length-1,this.scale.set(this.scaleData[this._s].x,this.scaleData[this._s].y),this.autoScale=!0,this.autoScaleFps=e},e.Particle.prototype.reset=function(t,i,s){return e.Component.Reset.prototype.reset.call(this,t,i,s),this.alpha=1,this.scale.set(1),this.autoScale=!1,this.autoAlpha=!1,this},e.Particles=function(t){this.game=t,this.emitters={},this.ID=0},e.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]}},e.Particles.prototype.constructor=e.Particles,e.Particles.Arcade={},e.Particles.Arcade.Emitter=function(t,i,s,n){this.maxParticles=n||50,e.Group.call(this,t),this._id=this.game.particles.ID++,this.name="emitter"+this.id,this.type=e.EMITTER,this.physicsType=e.GROUP,this.area=new e.Rectangle(i,s,1,1),this.minAngle=null,this.maxAngle=null,this.minSpeed=0,this.maxSpeed=100,this.minParticleSpeed=new e.Point(-100,-100),this.maxParticleSpeed=new e.Point(100,100),this.minParticleScale=1,this.maxParticleScale=1,this.scaleData=null,this.minRotation=-360,this.maxRotation=360,this.minParticleAlpha=1,this.maxParticleAlpha=1,this.alphaData=null,this.particleClass=e.Particle,this.particleDrag=new e.Point,this.angularDrag=0,this.frequency=100,this.lifespan=2e3,this.bounce=new e.Point,this.on=!1,this.particleAnchor=new e.Point(.5,.5),this.blendMode=e.blendModes.NORMAL,this.emitX=i,this.emitY=s,this.autoScale=!1,this.autoScaleFps=this.game.time.desiredFps,this.autoAlpha=!1,this.autoAlphaFps=this.game.time.desiredFps,this.particleBringToTop=!1,this.particleSendToBack=!1,this.counts={emitted:0,failed:0,totalEmitted:0,totalFailed:0},this._gravity=new e.Point(0,100),this._minParticleScale=new e.Point(1,1),this._maxParticleScale=new e.Point(1,1),this._total=0,this._timer=0,this._counter=0,this._flowQuantity=0,this._flowTotal=0,this._explode=!0,this._frames=null},e.Particles.Arcade.Emitter.prototype=Object.create(e.Group.prototype),e.Particles.Arcade.Emitter.prototype.constructor=e.Particles.Arcade.Emitter,e.Particles.Arcade.Emitter.prototype.update=function(){if(this.counts.emitted=0,this.counts.failed=0,this.on&&this.game.time.deltaTotal>=this._timer)if(this._timer=this.game.time.deltaTotal+this.frequency,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()},e.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.deltaTotal+e):this.start(!1,t,e,i),this},e.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},e.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},e.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,this.autoScaleFps):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,this.autoAlphaFps):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()},e.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),e.Group.prototype.destroy.call(this,!0,!1)},e.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},e.Particles.Arcade.Emitter.prototype.setSpeed=function(t,e,i,s){return this.setXSpeed(t,e),this.setYSpeed(i,s),this},e.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},e.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},e.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},e.Particles.Arcade.Emitter.prototype.setAlpha=function(t,i,s,n,o){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=0),void 0===n&&(n=e.Easing.Linear.None),void 0===o&&(o=!1),this.minParticleAlpha=t,this.maxParticleAlpha=i,this.autoAlpha=!1,s>0&&t!==i){var r={v:t},a=this.game.make.tween(r).to({v:i},s,n);a.yoyo(o),this.alphaData=a.generateData(this.game.time.desiredFps),this.autoAlphaFps=this.game.time.desiredFps,this.alphaData.reverse(),this.autoAlpha=!0}return this},e.Particles.Arcade.Emitter.prototype.setScale=function(t,i,s,n,o,r,a){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===o&&(o=0),void 0===r&&(r=e.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(i,n),this.autoScale=!1,o>0&&(t!==i||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:i,y:n},o,r);l.yoyo(a),this.scaleData=l.generateData(this.game.time.desiredFps),this.autoScaleFps=this.game.time.desiredFps,this.scaleData.reverse(),this.autoScale=!0}return this},e.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},e.Particles.Arcade.Emitter.prototype.setGravity=function(t,e){return t=t||0,e=e||0,this._gravity.set(t,e),this},e.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(e.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(e.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),e.Weapon=function(t,i){e.Plugin.call(this,t,i),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new e.Rectangle(0,0,1,1),this.fireAngle=e.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 e.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=e.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=e.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new e.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new e.Signal,this.onKill=new e.Signal,this.onFireLimit=new e.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new e.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new e.Point},e.Weapon.prototype=Object.create(e.Plugin.prototype),e.Weapon.prototype.constructor=e.Weapon,e.Weapon.KILL_NEVER=0,e.Weapon.KILL_LIFESPAN=1,e.Weapon.KILL_DISTANCE=2,e.Weapon.KILL_WEAPON_BOUNDS=3,e.Weapon.KILL_CAMERA_BOUNDS=4,e.Weapon.KILL_WORLD_BOUNDS=5,e.Weapon.KILL_STATIC_BOUNDS=6,e.Weapon.prototype.createBullets=function(t,i,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets&&!this.bullets.game&&(this.bullets=null),this.bullets||(this.bullets=this.game.add.physicsGroup(e.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,i,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=i,this.bulletFrame=s),this},e.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},e.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},e.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},e.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},e.Weapon.prototype.update=function(){this._bulletKillType===e.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()},e.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},e.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},e.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},e.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},e.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},e.Weapon.prototype.fire=function(t,i,s,n,o){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game.time.deltaTotal0&&this.shots===this.fireLimit)return null;var r=this.bulletSpeed;0!==this.bulletSpeedVariance&&(r+=e.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!==i&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,i-a))),0!==this.bulletAngleVariance&&(l+=e.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===e.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+=e.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(g=0),f=this.game.time.deltaTotal+g}else f=this.game.time.deltaTotal+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},e.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},e.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},e.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},e.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},e.Weapon.prototype.setBulletFrames=function(t,i,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=e.ArrayUtils.numberArray(t,i),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},e.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},e.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(e.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(e.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case e.Weapon.KILL_STATIC_BOUNDS:case e.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case e.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case e.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(e.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(e.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(e.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),e.Bullet=function(t,i,s,n,o){e.Sprite.call(this,t,i,s,n,o),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},e.Bullet.prototype=Object.create(e.Sprite.prototype),e.Bullet.prototype.constructor=e.Bullet,e.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},e.Bullet.prototype.update=function(){this.exists&&(this.data.killType>e.Weapon.KILL_LIFESPAN&&(this.data.killType===e.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=this.body.velocity.atan()),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},e.Video=function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game=t,this.key=i,this.width=0,this.height=0,this.type=e.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new e.Signal,this.onChangeSource=new e.Signal,this.onComplete=new e.Signal,this.onAccess=new e.Signal,this.onError=new e.Signal,this.onTimeout=new e.Signal,this.onTouchUnlock=new e.Signal,this.playWhenUnlocked=!0,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,i&&this.game.cache.checkVideoKey(i)){var n=this.game.cache.getVideo(i);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(e.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 e.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==i&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,e.BitmapData&&(this.snapshot=new e.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},e.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,s){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=!0),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;if(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"),this.video.setAttribute("playsinline","playsinline"),null!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout),navigator.mediaDevices&&navigator.mediaDevices.getUserMedia)navigator.mediaDevices.getUserMedia({audio:t,video:s}).then(this.getUserMediaSuccess.bind(this)).catch(this.getUserMediaError.bind(this));else try{navigator.getUserMedia({audio:t,video:s},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:void 0!==this.video.srcObject?this.video.srcObject=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.setAttribute("playsinline","playsinline"),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,i){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"),void 0!==i&&(this.video.crossOrigin=i),this.video.setAttribute("playsinline","playsinline"),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,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.srcObject?(this.video.srcObject.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,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(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 this.onTouchUnlock.dispatch(this),!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.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(e.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(e.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(e.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(e.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(e.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(e.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(e.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop=!0:this.video&&(this.video.loop=!1)}}),Object.defineProperty(e.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),e.Video.prototype.constructor=e.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}).call(this); +(function(){var t=this,e=e||{VERSION:"2.19.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("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),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,i,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=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,o=n*Math.cos(i),r=n*Math.sin(i);return t.x=this.x+o*this.radius,t.y=this.y+r*this.radius,t},getBounds:function(){return new e.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,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,o){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),o||(o=[]);for(var r=0;r0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.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(e.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(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.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},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.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},e.Circle.intersectsLine=function(t,i,s){var n=t.x,o=t.y,r=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-r*i.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,g=new e.Point(u,p),m=new e.Point(d,f),y=i.pointOnSegment(g.x,g.y,.01),v=i.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.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 e.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 e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.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 e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(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&&g<=1&&m>=0&&m<=1?r:null}return r},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.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},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var o=n.edges,r=n.edgeIntersection.set(0),a=i.x,h=i.y,l=i.right,c=i.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 e.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,i){return e.Point.distance(this,t,i)},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,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,o){return e.Point.rotate(this,t,i,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},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.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(e.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(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.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(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.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)},e.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}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,o,r){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,o,r),this.bounds=new e.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 e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.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 e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.FLASH=0,e.Camera.FADE_OUT=1,e.Camera.FADE_IN=2,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var o;switch(i){case e.Camera.FOLLOW_PLATFORMER:var r=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-a)/2-.25*a,r,a);break;case e.Camera.FOLLOW_TOPDOWN:o=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:o=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case e.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,i,s,n,o){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===o&&(o=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=o,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.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,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_OUT)},fadeIn:function(t,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_IN)},fadeEffect:function(t,i,s,n,o){if(void 0===t&&(t=0),void 0===i&&(i=500),void 0===s&&(s=!1),void 0===n&&(n=1),!this.fx||!s&&this._fxDuration>0)return!1;if(this.fx.clear(),this.fx.beginFill(t,n),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),o<1||o>2)throw new Error("Wrong `type` argument");return this.fx.alpha=o===e.Camera.FADE_IN?1:0,this._fxDuration=i,this._fxType=o,!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(){this._fxType===e.Camera.FLASH?(this.fx.alpha-=this.game.time.delta/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):this._fxType===e.Camera.FADE_IN?(this.fx.alpha-=this.game.time.delta/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFadeComplete.dispatch())):(this.fx.alpha+=this.game.time.delta/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.delta,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}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.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(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.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},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.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},e.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,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(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){if(this.clearCurrentState(),this.setCurrentState(this._pendingState),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 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){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.current,i=this.states[t];this.callbackContext=i,this.link(t),this.onInitCallback=i.init||this.dummy,this.onPreloadCallback=i.preload||null,this.onLoadRenderCallback=i.loadRender||null,this.onLoadUpdateCallback=i.loadUpdate||null,this.onCreateCallback=i.create||null,this.onUpdateCallback=i.update||null,this.onPostUpdateCallback=i.postUpdate||null,this.onPreRenderCallback=i.preRender||null,this.onRenderCallback=i.render||null,this.onResizeCallback=i.resize||null,this.onPausedCallback=i.paused||null,this.onResumedCallback=i.resumed||null,this.onPauseUpdateCallback=i.pauseUpdate||null,this.onShutDownCallback=i.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onStateChange.dispatch(this.current,e),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.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.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(){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===e.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.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.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,i,s,n,o){var r,a=this._indexOfListener(t,s);if(-1!==a){if((r=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else r=new e.SignalBinding(this,t,i,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)},e.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)},e.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===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,l=i*n,c=r;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.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},e.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},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.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},e.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},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))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},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var o=e.Utils.getProperty(t,i);return!(void 0===o&&n||o!==s)},e.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)},e.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=this.children.length,a=0;a2){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()}},e.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},e.Group.prototype.iterate=function(t,i,s,n,o,r){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,o=0,r=null,a=0;an&&(!i||i.call(s,h,o))&&(n=o,r=h)}return r},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.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 e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.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}},e.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()}},e.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)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.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(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.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(e.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(e.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(e.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(e.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(e.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}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.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)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.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()},e.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))},e.World.prototype.wrapAll=function(t,e,i,s,n,o){t.forEach(this.wrap,this,e,i,s,n,o)},Object.defineProperty(e.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){tthis.time.deltaMax){if(this.dropFrames)return;e=this.time.deltaMax}if(this.forceSingleUpdate)this.updatesThisFrame=1,this.rendersThisFrame=1,this.updateLogic(.001*e/this.time.slowMotion),this.updateRender();else if(this._spiraling>2)this.updatesThisFrame=0,this.rendersThisFrame=0,this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0;else{var i=0,s=1e3*this.time.desiredFpsMult;for(this._deltaTime+=e,this.updatesThisFrame=Math.floor(this._deltaTime/s),this.rendersThisFrame=this.forceSingleRender?1:Math.min(1,this.updatesThisFrame);this._deltaTime>=s;)this._deltaTime-=s,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult/this.time.slowMotion),this.time.refresh(),i++;i>this._lastCount?this._spiraling++:i0&&this.updateRender()}}}}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.preUpdate(t),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(){this.lockRender||this.renderType===e.HEADLESS||(this.time.preRender(),this.state.preRender(),this.renderer.render(this.stage),this.plugins.render(),this.state.render(),this.plugins.postRender(),this.renderer.postRender())},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.gamePaused(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.gameResumed(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this._focusGained=!0,this.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),e.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=e.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!0===t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},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+i.x=a&&this.game.camera.y+i.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}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.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===i,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 e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.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,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,o="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):o||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},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 i=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),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.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===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.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,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!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.pointerLock.locked&&!i&&(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===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.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,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!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 i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=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&&i.currentPointers--,i.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=e.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){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,o=this._pointerData[t.id],r=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var l=i.scale.x*h.x+n.x+s.x,c=i.scale.y*h.y+n.y+s.y;else var l=h.x+n.x+s.x,c=h.y+n.y+s.y;if(a.fixedToCamera){var u=a.cameraOffset,d=u.x,p=u.y;this.allowHorizontalDrag&&(u.x=l-i.x),this.allowVerticalDrag&&(u.y=c-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(u.x=Math.round((u.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,u.y=Math.round((u.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,r.set(u.x,u.y));var f=u.x-d,g=u.y-p}else{var m=i.x-o.camX,y=i.y-o.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=l+m),this.allowVerticalDrag&&(a.y=c+y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,r.set(a.x,a.y));var f=a.x-d,g=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,l,c,r,e,f,g),!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)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.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 e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this)]},e.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 i=!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}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;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},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.delta,this.lifespan<=0))||(this.kill(),!1)},e.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}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||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===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),o=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.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(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)r=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,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,i)}o&&(this._frame=e.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}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):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))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.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)}}},e.Component.Reset=function(){},e.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},e.Component.ScaleMinMax=function(){},e.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,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,o){var r=this.game.plugins.add(e.Weapon);return o&&(r.bulletClass=o),r.createBullets(t,i,s,n),r},image:function(t,i,s,n,o){return void 0===o&&(o=this.world),o.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,o){return void 0===o&&(o=this.world),o.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,o,r,a){void 0===o&&(o=this.world);var h=new e.Creature(this.game,t,i,s,n,r,a);return o.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,o){return new e.Group(this.game,t,i,s,n,o)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,o,r,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,o,r))},rope:function(t,i,s,n,o,r){return void 0===r&&(r=this.world),r.add(new e.Rope(this.game,t,i,s,n,o))},text:function(t,i,s,n,o){return void 0===o&&(o=this.world),o.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,o,r,a,h,l,c){return void 0===c&&(c=this.world),c.add(new e.Button(this.game,t,i,s,n,o,r,a,h,l))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,o,r,a,h,l){return new e.RetroFont(this.game,t,i,s,n,o,r,a,h,l)},bitmapText:function(t,i,s,n,o,r){return void 0===r&&(r=this.world),r.add(new e.BitmapText(this.game,t,i,s,n,o))},tilemap:function(t,i,s,n,o){return new e.Tilemap(this.game,t,i,s,n,o)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,o),o},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,o){return new e.Group(this.game,t||null,i,s,n,o)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,o,r){return new e.TileSprite(this.game,t,i,s,n,o,r)},rope:function(t,i,s,n,o){return new e.Rope(this.game,t,i,s,n,o)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,o,r,a,h,l){return new e.Button(this.game,t,i,s,n,o,r,a,h,l)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,o,r,a,h,l){return new e.RetroFont(this.game,t,i,s,n,o,r,a,h,l)},bitmapText:function(t,i,s,n,o,r){return new e.BitmapText(this.game,t,i,s,n,o,r)},tilemap:function(t,i,s,n,o){return new e.Tilemap(this.game,t,i,s,n,o)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,o),o},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,o){i=i||0,s=s||0,n=n||null,o=o||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,o)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,o){i=i||0,s=s||0,n=n||null,o=o||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,o)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,o,r,a,h,l,c){i=i||0,s=s||0,n=n||null,o=o||null,r=r||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.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 e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.PointerMode.CONTACT,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)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;return e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.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)},e.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())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",o="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[o]="string"==typeof s?s:""):(this[n]=null,this[o]="")},e.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},e.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)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.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)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.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")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.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())},e.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&&i>=0&&i<=this.height&&(e.Device.LITTLE_ENDIAN?this.pixels[i*this.width+t]=r<<24|o<<16|n<<8|s:this.pixels[i*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,i,s){s||(s=e.Color.createColor());var n=~~(t+i*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,i,s,n,o){return e.Color.unpackPixel(this.getPixel32(t,i),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 i=e.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{e.Color.unpackPixel(this.getPixel32(s,n),i),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===i.a&&!r);return i.x=s,i.y=n,i},getBounds:function(t){return void 0===t&&(t=new e.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,i,s,n,o,r,a,h,l,c,u,d,p,f,g,m,y){if(void 0!==t&&null!==t||(t=this),t instanceof e.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof e.Sprite||t instanceof e.Image||t instanceof e.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 e.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 e.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return this;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==i&&null!==i||(i=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),o&&(this._size.y=o),void 0!==r&&null!==r||(r=i),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)return this;var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,m&&(this.op=m),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+i,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,i,s){if(void 0===i&&(i=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 e.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,i&&(this.op=i),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,i,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,i,s),t.type===e.GROUP&&t.exists)this.drawGroup(t,i,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ni.width&&(n=i.width);var o=this.context;return o.fillStyle=o.createPattern(i,s),this._circle=new e.Circle(t.start.x,t.start.y,i.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,i.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),e.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 e.EarCut.earcutLinked(r,a,s,h,l,f),a},e.EarCut.linkedList=function(t,i,s,n,o){var r,a,h,l=0;for(r=i,a=s-n;r0)for(r=i;r=i;r-=n)h=e.EarCut.insertNode(r,t[r],t[r+1],h);return h},e.EarCut.filterPoints=function(t,i){if(!t)return t;i||(i=t);var s,n=t;do{if(s=!1,n.steiner||!e.EarCut.equals(n,n.next)&&0!==e.EarCut.area(n.prev,n,n.next))n=n.next;else{if(e.EarCut.removeNode(n),(n=i=n.prev)===n.next)return null;s=!0}}while(s||n!==i);return i},e.EarCut.earcutLinked=function(t,i,s,n,o,r,a){if(t){!a&&r&&e.EarCut.indexCurve(t,n,o,r);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,r?e.EarCut.isEarHashed(t,n,o,r):e.EarCut.isEar(t))i.push(h.i/s),i.push(t.i/s),i.push(l.i/s),e.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=e.EarCut.cureLocalIntersections(t,i,s),e.EarCut.earcutLinked(t,i,s,n,o,r,2)):2===a&&e.EarCut.splitEarcut(t,i,s,n,o,r):e.EarCut.earcutLinked(e.EarCut.filterPoints(t),i,s,n,o,r,1);break}}},e.EarCut.isEar=function(t){var i=t.prev,s=t,n=t.next;if(e.EarCut.area(i,s,n)>=0)return!1;for(var o=t.next.next;o!==t.prev;){if(e.EarCut.pointInTriangle(i.x,i.y,s.x,s.y,n.x,n.y,o.x,o.y)&&e.EarCut.area(o.prev,o,o.next)>=0)return!1;o=o.next}return!0},e.EarCut.isEarHashed=function(t,i,s,n){var o=t.prev,r=t,a=t.next;if(e.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=e.EarCut.zOrder(h,l,i,s,n),p=e.EarCut.zOrder(c,u,i,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&e.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&&e.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},e.EarCut.cureLocalIntersections=function(t,i,s){var n=t;do{var o=n.prev,r=n.next.next;e.EarCut.intersects(o,n,n.next,r)&&e.EarCut.locallyInside(o,r)&&e.EarCut.locallyInside(r,o)&&(i.push(o.i/s),i.push(n.i/s),i.push(r.i/s),e.EarCut.removeNode(n),e.EarCut.removeNode(n.next),n=t=r),n=n.next}while(n!==t);return n},e.EarCut.splitEarcut=function(t,i,s,n,o,r){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&e.EarCut.isValidDiagonal(a,h)){var l=e.EarCut.splitPolygon(a,h);return a=e.EarCut.filterPoints(a,a.next),l=e.EarCut.filterPoints(l,l.next),e.EarCut.earcutLinked(a,i,s,n,o,r),void e.EarCut.earcutLinked(l,i,s,n,o,r)}h=h.next}a=a.next}while(a!==t)},e.EarCut.eliminateHoles=function(t,i,s,n){var o,r,a,h,l,c=[];for(o=0,r=i.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&&e.EarCut.pointInTriangle(rs.x)&&e.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},e.EarCut.indexCurve=function(t,i,s,n){var o=t;do{null===o.z&&(o.z=e.EarCut.zOrder(o.x,o.y,i,s,n)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next}while(o!==t);o.prevZ.nextZ=null,o.prevZ=null,e.EarCut.sortLinked(o)},e.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},e.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},e.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},e.EarCut.isValidDiagonal=function(t,i){return e.EarCut.equals(t,i)||t.next.i!==i.i&&t.prev.i!==i.i&&!e.EarCut.intersectsPolygon(t,i)&&e.EarCut.locallyInside(t,i)&&e.EarCut.locallyInside(i,t)&&e.EarCut.middleInside(t,i)},e.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},e.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},e.EarCut.intersects=function(t,i,s,n){return e.EarCut.area(t,i,s)>0!=e.EarCut.area(t,i,n)>0&&e.EarCut.area(s,n,t)>0!=e.EarCut.area(s,n,i)>0},e.EarCut.intersectsPolygon=function(t,i){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==i.i&&s.next.i!==i.i&&e.EarCut.intersects(s,s.next,t,i))return!0;s=s.next}while(s!==t);return!1},e.EarCut.locallyInside=function(t,i){return e.EarCut.area(t.prev,t,t.next)<0?e.EarCut.area(t,i,t.next)>=0&&e.EarCut.area(t,t.prev,i)>=0:e.EarCut.area(t,i,t.prev)<0||e.EarCut.area(t,t.next,i)<0},e.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},e.EarCut.splitPolygon=function(t,i){var s=new e.EarCut.Node(t.i,t.x,t.y),n=new e.EarCut.Node(i.i,i.x,i.y),o=t.next,r=i.prev;return t.next=i,i.prev=t,s.next=o,o.prev=s,n.next=s,s.prev=n,r.next=n,n.prev=r,n},e.EarCut.insertNode=function(t,i,s,n){var o=new e.EarCut.Node(t,i,s);return n?(o.next=n.next,o.prev=n,n.next.prev=o,n.next=o):(o.prev=o,o.next=o),o},e.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)},e.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,i){var s,n=i.gl,o=i.projection,r=i.offset,a=i.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===e.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,r):a.type===e.CIRCLE||a.type===e.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,r):a.type===e.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),R++):(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*(L-2)],d=n[2*(L-2)+1],p=n[2*(L-1)],y=-(d-(f=n[2*(L-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,i.beginPath(),i.moveTo(_,w+C),i.lineTo(_,w+P-C),i.quadraticCurveTo(_,w+P,_+C,w+P),i.lineTo(_+T-C,w+P),i.quadraticCurveTo(_+T,w+P,_+T,w+P-C),i.lineTo(_+T,w+C),i.quadraticCurveTo(_+T,w,_+T-C,w),i.lineTo(_+C,w),i.quadraticCurveTo(_,w,_,w+C),i.closePath(),(o.fillColor||0===o.fillColor)&&(i.globalAlpha=o.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fill()),o.lineWidth&&(i.globalAlpha=o.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,i){var s=t.graphicsData.length;if(0!==s){i.beginPath();for(var n=0;nP?P:T,i.moveTo(x,b+T),i.lineTo(x,b+w-T),i.quadraticCurveTo(x,b+w,x+T,b+w),i.lineTo(x+_-T,b+w),i.quadraticCurveTo(x+_,b+w,x+_,b+w-T),i.lineTo(x+_,b+T),i.quadraticCurveTo(x+_,b,x+_-T,b),i.lineTo(x+T,b),i.quadraticCurveTo(x,b,x,b+T),i.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}},e.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},e.GraphicsData.prototype.constructor=e.GraphicsData,e.GraphicsData.prototype.clone=function(){return new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},e.Graphics=function(t,i,s){void 0===i&&(i=0),void 0===s&&(s=0),this.type=e.GRAPHICS,this.physicsType=e.SPRITE,this.anchor=new e.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 e.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Graphics.prototype.constructor=e.Graphics,e.Component.Core.install.call(e.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.Graphics.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Graphics.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Graphics.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Graphics.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Graphics.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},e.Graphics.prototype.drawTriangles=function(t,i,s){void 0===s&&(s=!1);var n,o=new e.Point,r=new e.Point,a=new e.Point,h=[];if(i)if(t[0]instanceof e.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},e.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),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},e.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},e.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},e.Graphics.prototype.drawRect=function(t,i,s,n){return this.drawShape(new e.Rectangle(t,i,s,n)),this},e.Graphics.prototype.drawRoundedRect=function(t,i,s,n,o){return this.drawShape(new e.RoundedRectangle(t,i,s,n,o)),this},e.Graphics.prototype.drawCircle=function(t,i,s){return this.drawShape(new e.Circle(t,i,s)),this},e.Graphics.prototype.drawEllipse=function(t,i,s,n){return this.drawShape({x:t,y:i,width:s,height:n,type:e.ELLIPSE}),this},e.Graphics.prototype.drawPolygon=function(t){t instanceof e.Polygon&&(t=t.points);var i=t;if(!Array.isArray(i)){i=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},e.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=e.identityMatrix;for(var i=0;ii?a+l:i,s=hn?h+c:n;else if(p===e.CIRCLE)a=o.x,h=o.y,l=o.radius+f/2,c=o.radius+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else if(p===e.ELLIPSE)a=o.x,h=o.y,l=o.width+f/2,c=o.height+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else{r=o.points;for(var g=0;gi?a+f:i,s=h-fn?h+f:n}}else t=0,i=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=i-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},e.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},e.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()},e.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},e.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof e.Polygon&&(t=t.clone()).flatten();var i=new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(i),i.type===e.POLYGON&&(i.shape.closed=this.filling,this.currentPath=i),this.dirty=!0,this._boundsDirty=!0,i},Object.defineProperty(e.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}}),e.RenderTexture=function(t,i,s,n,o,r,a,h){if(void 0===i&&(i=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===o&&(o=e.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=e.RENDERTEXTURE,this._tempMatrix=new e.Matrix,this.width=i,this.height=s,this.resolution=r,this.frame=new e.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===e.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 e.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 e.Matrix,this._updateUvs()},e.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),e.RenderTexture.prototype.constructor=e.RenderTexture,e.RenderTexture.prototype.renderXY=function(t,i,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=i,this._tempMatrix.ty=s,this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.renderRawXY=function(t,i,s,n){this._tempMatrix.identity().translate(i,s),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.render=function(t,i,s){void 0===i||null===i?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(i),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},e.RenderTexture.prototype.resize=function(t,i,s){t===this.width&&i===this.height||(this.valid=t>0&&i>0,this.width=t,this.height=i,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=i*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===e.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},e.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===e.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},e.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,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},e.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)},e.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++}},e.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},e.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},e.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},e.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},e.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},e.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},e.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)/)},e.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},e.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 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[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,"")},e.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},e.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()},e.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.Text.prototype.determineFontProperties=function(t){var i=e.Text.fontPropertiesCache[t];if(i)return i;var s=e.Text.fontPropertiesContext;s.font=t;var n=s.measureText(this.testString);if(n.actualBoundingBoxAscent)i={ascent:r=Math.ceil(n.actualBoundingBoxAscent),descent:a=Math.ceil(n.actualBoundingBoxDescent),fontSize:r+a};else{var o=s.measureText("MX").width,r=Math.ceil(.75*o),a=Math.ceil(.25*o);i={ascent:r,descent:a,fontSize:r+a}}return e.Text.fontPropertiesCache[t]=i,i},e.Text.prototype.getBounds=function(t){return this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype.getBounds.call(this,t)},e.Text.prototype.setCharacterLimit=function(t,e){this.characterLimitSuffix=void 0===e?"":e,this.characterLimitSize=t,this.updateText()},Object.defineProperty(e.Text.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.dirty=!0,this.parent&&this.updateTransform())}}),Object.defineProperty(e.Text.prototype,"cssFont",{get:function(){return this.componentsToFont(this._fontComponents)},set:function(t){t=t||"bold 20pt Arial",this._fontComponents=this.fontToComponents(t),this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"font",{get:function(){return this._fontComponents.fontFamily},set:function(t){t=(t=t||"Arial").trim(),/^(?:inherit|serif|sans-serif|cursive|fantasy|monospace)$/.exec(t)||/['",]/.exec(t)||(t="'"+t+"'"),this._fontComponents.fontFamily=t,this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"fontSize",{get:function(){var t=this._fontComponents.fontSize;return t&&/(?:^0$|px$)/.exec(t)?parseInt(t,10):t},set:function(t){"number"==typeof(t=t||"0")&&(t+="px"),this._fontComponents.fontSize=t,this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"fontWeight",{get:function(){return this._fontComponents.fontWeight||"normal"},set:function(t){t=t||"normal",this._fontComponents.fontWeight=t,this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"fontStyle",{get:function(){return this._fontComponents.fontStyle||"normal"},set:function(t){t=t||"normal",this._fontComponents.fontStyle=t,this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"fontVariant",{get:function(){return this._fontComponents.fontVariant||"normal"},set:function(t){t=t||"normal",this._fontComponents.fontVariant=t,this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"fill",{get:function(){return this.style.fill},set:function(t){t!==this.style.fill&&(this.style.fill=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"align",{get:function(){return this.style.align},set:function(t){(t=t.toLowerCase())!==this.style.align&&(this.style.align=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"resolution",{get:function(){return this._res},set:function(t){t!==this._res&&(this._res=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"tabs",{get:function(){return this.style.tabs},set:function(t){t!==this.style.tabs&&(this.style.tabs=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"boundsAlignH",{get:function(){return this.style.boundsAlignH},set:function(t){(t=t.toLowerCase())!==this.style.boundsAlignH&&(this.style.boundsAlignH=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"boundsAlignV",{get:function(){return this.style.boundsAlignV},set:function(t){(t=t.toLowerCase())!==this.style.boundsAlignV&&(this.style.boundsAlignV=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"stroke",{get:function(){return this.style.stroke},set:function(t){t!==this.style.stroke&&(this.style.stroke=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"strokeThickness",{get:function(){return this.style.strokeThickness},set:function(t){t!==this.style.strokeThickness&&(this.style.strokeThickness=Number(t),this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"wordWrap",{get:function(){return this.style.wordWrap},set:function(t){t!==this.style.wordWrap&&(this.style.wordWrap=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"wordWrapWidth",{get:function(){return this.style.wordWrapWidth},set:function(t){t!==this.style.wordWrapWidth&&(this.style.wordWrapWidth=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"lineSpacing",{get:function(){return this._lineSpacing},set:function(t){t!==this._lineSpacing&&(this._lineSpacing=parseFloat(t),this.dirty=!0,this.parent&&this.updateTransform())}}),Object.defineProperty(e.Text.prototype,"shadowOffsetX",{get:function(){return this.style.shadowOffsetX},set:function(t){t!==this.style.shadowOffsetX&&(this.style.shadowOffsetX=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"shadowOffsetY",{get:function(){return this.style.shadowOffsetY},set:function(t){t!==this.style.shadowOffsetY&&(this.style.shadowOffsetY=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"shadowColor",{get:function(){return this.style.shadowColor},set:function(t){t!==this.style.shadowColor&&(this.style.shadowColor=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"shadowBlur",{get:function(){return this.style.shadowBlur},set:function(t){t!==this.style.shadowBlur&&(this.style.shadowBlur=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"shadowStroke",{get:function(){return this.style.shadowStroke},set:function(t){t!==this.style.shadowStroke&&(this.style.shadowStroke=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"shadowFill",{get:function(){return this.style.shadowFill},set:function(t){t!==this.style.shadowFill&&(this.style.shadowFill=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"width",{get:function(){return this.dirty&&(this.updateText(),this.dirty=!1),this.scale.x*(this.texture.frame.width/this.resolution)},set:function(t){this.scale.x=t/this.texture.frame.width,this._width=t}}),Object.defineProperty(e.Text.prototype,"height",{get:function(){return this.dirty&&(this.updateText(),this.dirty=!1),this.scale.y*(this.texture.frame.height/this.resolution)},set:function(t){this.scale.y=t/this.texture.frame.height,this._height=t}}),Object.defineProperty(e.Text.prototype,"testString",{get:function(){return this._testString},set:function(t){this._testString=t,this.updateText()}}),e.Text.fontPropertiesCache={},e.Text.fontPropertiesCanvas=document.createElement("canvas"),e.Text.fontPropertiesContext=e.Text.fontPropertiesCanvas.getContext("2d"),e.BitmapText=function(t,i,s,n,o,r,a){i=i||0,s=s||0,n=n||"",o=o||"",r=r||32,a=a||"left",PIXI.DisplayObjectContainer.call(this),this.type=e.BITMAPTEXT,this.physicsType=e.SPRITE,this.textWidth=0,this.textHeight=0,this.anchor=new e.Point,this._prevAnchor=new e.Point,this._glyphs=[],this._maxWidth=0,this._text=o.toString()||"",this._data=t.cache.getBitmapFont(n),this._font=n,this._fontSize=r,this._align=a,this._letterSpacing=0,this._tint=16777215,this.updateText(),this.dirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.BitmapText.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.BitmapText.prototype.constructor=e.BitmapText,e.Component.Core.install.call(e.BitmapText.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.BitmapText.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.BitmapText.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.BitmapText.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.BitmapText.prototype.preUpdateCore=e.Component.Core.preUpdate,e.BitmapText.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.BitmapText.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this.body&&this.body.type===e.Physics.ARCADE&&(this.textWidth===this.body.sourceWidth&&this.textHeight===this.body.sourceHeight||this.body.setSize(this.textWidth,this.textHeight))},e.BitmapText.prototype.setText=function(t){this.text=t},e.BitmapText.prototype.scanLine=function(t,e,i){for(var s=0,n=0,o=-1,r=0,a=null,h=this._maxWidth>0?this._maxWidth:null,l=[],c=0;c=h&&o>-1)return{width:r||n,text:i.substr(0,c-(c-o)),end:!1,chars:l};n+=(p.xAdvance+g+this.letterSpacing)*e,l.push(s+(p.xOffset+g+this.letterSpacing)*e),s+=(p.xAdvance+g+this.letterSpacing)*e,a=d}return{width:n,text:i,end:u,chars:l}},e.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(e.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),e.RetroFont=function(t,i,s,n,o,r,a,h,l,c){if(!t.cache.checkImageKey(i))return!1;void 0!==r&&null!==r||(r=t.cache.getImage(i).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(i),this._text="",this.grabData=[],this.frameData=new e.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",e.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",e.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",e.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",e.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",e.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",e.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",e.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",e.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},e.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)},e.RetroFont.prototype.buildRetroFontText=function(){var t=0,i=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===e.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===e.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},e.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},e.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},e.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},e.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(e.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(e.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),e.Rope=function(t,i,s,n,o,r){this.points=r||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,i=i||0,s=s||0,n=n||null,o=o||null,this.type=e.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=e.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=e.Rope.TRIANGLE_STRIP,e.Component.Core.init.call(this,t,i,s,n,o),this.refresh()},e.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Rope.prototype.constructor=e.Rope,e.Component.Core.install.call(e.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Rope.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Rope.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Rope.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Rope.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Rope.TRIANGLE_STRIP=0,e.Rope.TRIANGLES=1,e.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},e.Rope.prototype.reset=function(t,i){return e.Component.Reset.prototype.reset.call(this,t,i),this},e.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;for(var n=t.length,o=0,r=0,a=0;a0){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=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,O=g*c+l*y+m*u-c*y-l*m-g*u,I=g*x*u+v*c*y+l*m*b-l*x*y-v*m*u-g*c*b,E=d*x+v*f+p*b-x*f-v*p-d*b,L=g*p+d*y+m*f-p*y-d*m-g*f,R=g*x*f+v*p*y+d*m*b-d*x*y-v*m*f-g*p*b;t.transform(M/k,E/k,O/k,L/k,I/k,R/k),t.drawImage(r,0,0),t.restore()},e.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nl?y:l,c=v>c?v:c}if(u===-1/0||c===1/0)return e.EmptyRectangle;var x=this._bounds;return x.x=u,x.width=l-u,x.y=d,x.height=c-d,this._currentBounds=x,x},Object.defineProperty(e.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(e.Rope.prototype,"segments",{get:function(){for(var t,i,s,n,o,r,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(e.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(e.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),e.CanvasPool={create:function(t,i,s){var n,o=e.CanvasPool.getFirst();if(-1===o){var r={parent:t,canvas:document.createElement("canvas")};e.CanvasPool.pool.push(r),n=r.canvas}else e.CanvasPool.pool[o].parent=t,n=e.CanvasPool.pool[o].canvas;return void 0!==i&&(n.width=i,n.height=s),n},getFirst:function(){for(var t=e.CanvasPool.pool,i=0;i=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&&i(),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=!!window.WebGLRenderingContext,s.worker=!!window.Worker,s.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,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=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var o=i.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]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.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"))},e.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))))))},e.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)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,o){i=i||256,s=s||256;var r=o?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(r.id=n),r.width=i,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,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),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 i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},setImageRenderingCrisp:function(t){for(var e=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","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=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=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}},e.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)},e.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(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.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)},e.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 e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.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 e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},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}},e.QuadTree.prototype.constructor=e.QuadTree,e.TweenManager=function(t){this.game=t,this._tweens=[],this._add=[],this.easeMap={Power0:e.Easing.Power0,Power1:e.Easing.Power1,Power2:e.Easing.Power2,Power3:e.Easing.Power3,Power4:e.Easing.Power4,Linear:e.Easing.Linear.None,Quad:e.Easing.Quadratic.Out,Cubic:e.Easing.Cubic.Out,Quart:e.Easing.Quartic.Out,Quint:e.Easing.Quintic.Out,Sine:e.Easing.Sinusoidal.Out,Expo:e.Easing.Exponential.Out,Circ:e.Easing.Circular.Out,Elastic:e.Easing.Elastic.Out,Back:e.Easing.Back.Out,Bounce:e.Easing.Bounce.Out,"Quad.easeIn":e.Easing.Quadratic.In,"Cubic.easeIn":e.Easing.Cubic.In,"Quart.easeIn":e.Easing.Quartic.In,"Quint.easeIn":e.Easing.Quintic.In,"Sine.easeIn":e.Easing.Sinusoidal.In,"Expo.easeIn":e.Easing.Exponential.In,"Circ.easeIn":e.Easing.Circular.In,"Elastic.easeIn":e.Easing.Elastic.In,"Back.easeIn":e.Easing.Back.In,"Bounce.easeIn":e.Easing.Bounce.In,"Quad.easeOut":e.Easing.Quadratic.Out,"Cubic.easeOut":e.Easing.Cubic.Out,"Quart.easeOut":e.Easing.Quartic.Out,"Quint.easeOut":e.Easing.Quintic.Out,"Sine.easeOut":e.Easing.Sinusoidal.Out,"Expo.easeOut":e.Easing.Exponential.Out,"Circ.easeOut":e.Easing.Circular.Out,"Elastic.easeOut":e.Easing.Elastic.Out,"Back.easeOut":e.Easing.Back.Out,"Bounce.easeOut":e.Easing.Bounce.Out,"Quad.easeInOut":e.Easing.Quadratic.InOut,"Cubic.easeInOut":e.Easing.Cubic.InOut,"Quart.easeInOut":e.Easing.Quartic.InOut,"Quint.easeInOut":e.Easing.Quintic.InOut,"Sine.easeInOut":e.Easing.Sinusoidal.InOut,"Expo.easeInOut":e.Easing.Exponential.InOut,"Circ.easeInOut":e.Easing.Circular.InOut,"Elastic.easeInOut":e.Easing.Elastic.InOut,"Back.easeInOut":e.Easing.Back.InOut,"Bounce.easeInOut":e.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},e.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,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_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)},destroy:function(){this.game.onPause.remove(this._pauseAll,this),this.game.onResume.remove(this._resumeAll,this),this.game=null,this._add=null,this._tweens=null}},e.TweenManager.prototype.constructor=e.TweenManager,e.Tween=function(t,i,s){this.game=i,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new e.Signal,this.onLoop=new e.Signal,this.onRepeat=new e.Signal,this.onChildComplete=new e.Signal,this.onComplete=new e.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},e.Tween.updateColor=function(t){e.Color.updateColor(t.target)},e.Tween.prototype={to:function(t,i,s,n,o,r,a){return(void 0===i||i<=0)&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).to(t,i,s,o,r,a)),n&&this.start(),this)},from:function(t,i,s,n,o,r,a){return void 0===i&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).from(t,i,s,o,r,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(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.deltaTotal},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.deltaTotal)},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.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])),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 e.TweenData.PENDING;this.isRunning=!0}var i=this.game.time.delta;this.parent.reverse?(this.dt-=i*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=i*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():e.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,e.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return e.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.deltaTotal,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,e.TweenData.LOOPED}},e.TweenData.prototype.constructor=e.TweenData,e.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){return 0===t?0:1===t?1:(.1,-1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4))},Out:function(t){return 0===t?0:1===t?1:(.1,1*Math.pow(2,-10*t)*Math.sin((t-.1)*(2*Math.PI)/.4)+1)},InOut:function(t){return 0===t?0:1===t?1:(.1,(t*=2)<1?1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*-.5:1*Math.pow(2,-10*(t-=1))*Math.sin((t-.1)*(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-e.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*e.Easing.Bounce.In(2*t):.5*e.Easing.Bounce.Out(2*t-1)+.5}}},e.Easing.Default=e.Easing.Linear.None,e.Easing.Power0=e.Easing.Linear.None,e.Easing.Power1=e.Easing.Quadratic.Out,e.Easing.Power2=e.Easing.Cubic.Out,e.Easing.Power3=e.Easing.Quartic.Out,e.Easing.Power4=e.Easing.Quintic.Out,e.Time=function(t){this.game=t,this.time=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.delta=0,this.deltaTotal=0,this.deltaMax=200,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=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 e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._timers=[]},e.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 i=new e.Timer(this.game,t);return this._timers.push(i),i},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){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},preUpdate:function(t){t*=1e3,this.delta=t,this.deltaTotal+=t,this.game.paused||(this.events.update(this.deltaTotal),this.updateTimers()),this.advancedTiming&&this.updates++},preRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted},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(e.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.desiredFpsMult=1/t}}),Object.defineProperty(e.Time.prototype,"desiredMinFps",{get:function(){return 1e3/this.deltaMax},set:function(t){this.deltaMax=1e3/t}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.Signal,this.nextTick=0,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=this.game.time?this.game.time.deltaTotal:0,this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,o,r){var a=(t=Math.round(t))+this._now,h=new e.TimerEvent(this,t,a,s,i,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.deltaTotal+(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._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.deltaTotal,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.deltaTotal,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.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},e.TimerEvent.prototype.constructor=e.TimerEvent,e.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=[]},e.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,i,s,n,o){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===o&&(o=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,o,this._outputFrames),this._anims[t]=new e.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}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},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(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},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)}}),e.Animation=function(t,i,s,n,o,r,a){void 0===a&&(a=!1),this.game=t,this._parent=i,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 e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.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.deltaTotal,this._timeNextFrame=this.game.time.deltaTotal+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.deltaTotal,this._timeNextFrame=this.game.time.deltaTotal+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=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(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||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.updateCurrentFrame(!1),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()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.deltaTotal:this.isPlaying&&(this._timeNextFrame=this.game.time.deltaTotal+this.delay)}}),Object.defineProperty(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.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(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,o){void 0===n&&(n="");var r=[],a="";if(i=s;h--)a=t+(a="number"==typeof o?e.Utils.pad(h.toString(),o,"0",1):h.toString())+n,r.push(a);return r},e.Frame=function(t,i,s,n,o,r){this.index=t,this.x=i,this.y=s,this.width=n,this.height=o,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+r+'" has a width or height of zero'),this.name=r,this.centerX=Math.floor(n/2),this.centerY=Math.floor(o/2),this.distance=e.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},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},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 e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.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 e.FrameData,i=0;if||h<-f)return console.error('Spritesheet "%s": skipFrames=%s is larger than the frame total %s',i,h,f),null;if(o>-1&&(v=(f=o)-1),d<1&&console.warn('Spritesheet "%s": Texture has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)',i,c,s+r+a,s,r,a),p<1&&console.warn('Spritesheet "%s": Texture has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)',i,u,n+r+a,n,r,a),0===g)return console.error('Spritesheet "%s": zero frames were produced',i),null;if(h>0?v=(y=h)+(f=Math.min(f,g-h))-1:h<0&&(y=(v=m+h)-(f=Math.min(f,g+h))+1),y<0)return console.error('Spritesheet "%s": There is no frame at index %s',i,y),null;if(v>m)return console.warn('Spritesheet "%s": There is no frame at index %s. Last frame found is index %s',i,v,m),null;for(var x=new e.FrameData,b=r,_=r,w=0,T=0;Tv);T++)T>=y&&x.addFrame(new e.Frame(w++,b,_,s,n,"")),(b+=s+a)+s>c&&(b=r,_+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,o=i.frames,r=0;r tag")}},e.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:{},data:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._cacheMap[e.Cache.DATA]=this._cache.data,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DATA=16,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var o=s in e.LoaderParser?e.LoaderParser[s](n):n,r={key:t,url:i,data:o,base:new PIXI.BaseTexture(o,null,this.game.resolution),frame:new e.Frame(0,0,0,o.width,o.height,t),frameData:new e.FrameData,fileFormat:s};return r.frameData.addFrame(new e.Frame(0,0,0,o.width,o.height,i)),this._cache.image[t]=r,this._resolveURL(i,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,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.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(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.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,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,o,r,a){var h={url:i,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?e.LoaderParser.jsonBitmapFont(n,h.base,r,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,r,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,o,r,a){var h=this.getFrameByName(i,s);if(h){var l={font:null,base:this.getBaseTexture(i),frame:h};void 0===r&&(r=0),void 0===a&&(a=0);var c;"json"===o?(c=this.getJSON(n),l.font=e.LoaderParser.jsonBitmapFont(c,l.base,r,a,h,this.game.resolution)):(c=this.getXML(n),l.font=e.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,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,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:i,data:s,frameWidth:n,frameHeight:o,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,o,r,a,h,l)};this._cache.image[t]=c,this._resolveURL(i,c)},addTextureAtlas:function(t,i,s,n,o){var r={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};o===e.Loader.TEXTURE_ATLAS_XML_STARLING?r.frameData=e.AnimationParser.XMLData(this.game,n,t):o===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?r.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?r.frameData=e.AnimationParser.JSONData(this.game,n,t):r.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=r,this._resolveURL(i,r)},addData:function(t,e){this._cache.data[t]=e},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 i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.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(e.Cache.CANVAS,t)},checkDataKey:function(t){return this.checkKey(e.Cache.DATA,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.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,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var o=n[i];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+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getData:function(t){return this.getItem(t,e.Cache.DATA,"getData")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},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=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},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]},removeData:function(t){delete this._cache.data[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.",i),t._ready())},e.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)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.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 e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.Signal,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},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.mediaTypes={avif:"image/avif",bmp:"image/bmp",cur:"image/x-icon",gif:"image/gif",ico:"image/x-icon",jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",svg:"image/svg+xml",tif:"image/tiff",tiff:"image/tiff",webp:"image/webp"},e.Loader.getMediaType=function(t){var i=t.match(/\.(\w+)$/);return i?e.Loader.mediaTypes[i[1]]||null:null},e.Loader._getSource=function(t){return"string"==typeof t?{url:t,type:e.Loader.getMediaType(t)}:t},e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.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.game.state&&(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.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 i=t.data[t.key];if(i)for(var s=0;s=400&&o.status<=599?n.call(r,t,o):s.call(r,t,o)}catch(e){r.hasLoaded?console.error(e):r.asyncComplete(t,e.message||"Exception")}},o.onerror=function(){try{return n.call(r,t,o)}catch(e){r.hasLoaded?console.error(e):r.asyncComplete(t,e.message||"Exception")}},t.requestObject=o,t.requestUrl=e,o.send()},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,i){if(this.game.isBooted){var s=!0;switch(t.type){case"packfile":o=JSON.parse(i.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,i.response);break;case"image":case"imageset":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===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.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=i.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=i.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=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var o=JSON.parse(i.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=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.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(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.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;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=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]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),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}},e.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])},e.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]}},e.AudioSprite.prototype.constructor=e.AudioSprite,e.Sound=function(t,i,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=i,this.key=i,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.playOnce=!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._pendingStart=!1,this._removeFromSoundManager=!1,this._sourceId=0,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,o&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(i)&&this.game.cache.isSoundReady(i)?(this._sound=this.game.cache.getSoundData(i),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new e.Signal,this.onPlay=new e.Signal,this.onPause=new e.Signal,this.onResume=new e.Signal,this.onLoop=new e.Signal,this.onStop=new e.Signal,this.onMute=new e.Signal,this.onMarkerComplete=new e.Signal,this.onFadeComplete=new e.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},e.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&&(this._removeOnEndedHandler(),this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),this._markedToDelete&&(this._disconnectSource(),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(){if(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));var t=this.game.time.time;if(this.isPlaying){if(this._pendingStart){var e=this._sound.currentTime;if(!(e>((this.paused?this._tempPause:0)||this.position||0)))return;this._pendingStart=!1,this.startTime=t-1e3*e,this.stopTime=this.startTime+this.durationMS}this.currentTime=t-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=t,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0,!1))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=t),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0,!1)):this.stop())}}else this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n,o){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),void 0===o&&(o=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0),this.isPlaying=!1),""===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._createSourceAndConnect(),this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||this._addOnEndedHandler(),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),this.loop&&""===t?this._startSource(0,0):this._startSource(0,this.position,this.duration),this.isPlaying=!0,this.paused=!1,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,o&&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._sound.loop=this.loop,this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._globalVolume=this.game.sound.volume,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._globalVolume,this._pendingStart=!this.currentMarker,this.isPlaying=!0,this.paused=!1,this._tempPause=0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,o&&this.onPlay.dispatch(this)):this.pendingPlayback=!0,this.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!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.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){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._createSourceAndConnect(),""===this.currentMarker&&(this.loop?this._sound.loop=!0:this._addOnEndedHandler());var e=this.duration-this.pausedPosition/1e3;this.loop&&""===this.currentMarker?this._startSource(0,t):this._startSource(0,t,e)}else this._pendingStart=!this.currentMarker,this._sound.currentTime=this._tempPause,this._tempPause=0,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&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0)),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,i){this.isPlaying&&!this.paused&&i!==this.volume&&(void 0===t&&(t=1e3),void 0!==i?(this.fadeTween=this.game.add.tween(this).to({volume:i},t,e.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())},_createSourceAndConnect:function(){this._sound=this.context.createBufferSource(),this._sound.connect(this.externalNode||this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this._sourceId++},_disconnectSource:function(){this._sound.disconnect(this.externalNode||this.gainNode)},_startSource:function(t,e,i){void 0===i?this._sound.start(t||0,e||0):this._sound.start(t||0,e||0,i)},_stopSourceAndDisconnect:function(){this._removeOnEndedHandler();try{this._sound.stop(0)}catch(t){}this._disconnectSource(),this._sound=null},_addOnEndedHandler:function(){this._sound.onended=this.onEndedHandler.bind(this)},_removeOnEndedHandler:function(){this._sound.onended=null}},e.Sound.prototype.constructor=e.Sound,Object.defineProperty(e.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(e.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(e.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(e.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))}}),Object.defineProperty(e.Sound.prototype,"sourceId",{get:function(){return this._sound?this._sourceId:null}}),e.SoundManager=function(t){this.game=t,this.onSoundDecode=new e.Signal,this.onVolumeChange=new e.Signal,this.onMute=new e.Signal,this.onUnMute=new e.Signal,this.onTouchUnlock=new e.Signal,this.onStateChange=new e.Signal,this.context=null,this.baseLatency=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 e.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null,this._onClick=this._onClick.bind(this),this._onStateChange=this._onStateChange.bind(this)},e.SoundManager.prototype={boot:function(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,this.baseLatency=this.context.baseLatency||256/(this.context.sampleRate||44100),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.context.onstatechange=this._onStateChange,"suspended"===this.context.state&&this.game.canvas.addEventListener("click",this._onClick);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},webAudioIsSuspended:function(){return this.usingWebAudio&&"suspended"===this.context.state},resumeWebAudio:function(){if(this.usingWebAudio)return this.context.resume()},resumeWebAudioIfSuspended:function(){if(this.webAudioIsSuspended())return this.context.resume()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();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);var e=this;this._unlockSource.onended=function(){e.setTouchUnlock(),e.resumeWebAudioIfSuspended()},void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudioIfSuspended()}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 i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),o=n.width!==i||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))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.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(e.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(e.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(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),e.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px monospace",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},e.Utils.Debug.GEOM_AUTO=0,e.Utils.Debug.GEOM_RECTANGLE=1,e.Utils.Debug.GEOM_CIRCLE=2,e.Utils.Debug.GEOM_POINT=3,e.Utils.Debug.GEOM_LINE=4,e.Utils.Debug.GEOM_ELLIPSE=5,e.Utils.Debug.prototype={boot:function(){this.game.renderType===e.CANVAS?this.context=this.game.context:(this.bmd=new e.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=e.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new e.Line,this._rect=new e.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;e ")+r):r===s._pendingState?this.line("+ "+r):this.line(" "+r)}this.stop()},sound:function(t,e,i){var s=this.game.sound;this.start(t,e,i),s.noAudio?this.line("Audio is disabled"):(this.line("Volume: "+s.volume.toFixed(2)+(s.mute?" (Mute)":"")),this.line("Mute on pause: "+s.muteOnPause),this.line("Using: "+(s.usingWebAudio?"Web Audio - "+s.context.state:"Audio Tag")),this.line("Touch locked: "+s.touchLocked),this.line("Sounds: "+s._sounds.length)),this.stop()},soundInfo:function(t,e,i,s){if(this.start(e,i,s),this.line("Sound: "+t.key+" Touch locked: "+t.game.sound.touchLocked),this.line("Is Ready?: "+this.game.cache.isSoundReady(t.key)+" Pending Playback: "+t.pendingPlayback),this.line("Decoded: "+t.isDecoded+" Decoding: "+t.isDecoding),this.line("Playing: "+t.isPlaying+" Loop: "+t.loop),this.line("Time: "+(t.currentTime/1e3).toFixed(3)+"s Total: "+t.totalDuration.toFixed(3)+"s"),this.line("Volume: "+t.volume.toFixed(2)+(t.mute?" (Mute)":"")),this.line("Using: "+(t.usingWebAudio?"Web Audio":"Audio Tag")),t.usingWebAudio&&this.line(" Source: "+(t.sourceId||"none")),t.usingAudioTag&&t._sound){var n=t._sound;this.line(" currentSrc: "+n.currentSrc),this.line(" currentTime: "+n.currentTime),this.line(" duration: "+n.duration),this.line(" ended: "+n.ended),this.line(" loop: "+n.loop),this.line(" muted: "+n.muted),this.line(" paused: "+n.paused)}""!==t.currentMarker&&(this.line("Marker: "+t.currentMarker+" Duration: "+t.duration.toFixed(3)+"s ("+t.durationMS+"ms)"),this.line("Start: "+t.markers[t.currentMarker].start.toFixed(3)+" Stop: "+t.markers[t.currentMarker].stop.toFixed(3)),this.line("Position: "+t.position.toFixed(3))),this.stop()},camera:function(t,e,i){var s=t.deadzone,n=t.target,o=t.view;s&&(this._rect.setTo(o.x+s.x,o.y+s.y,s.width,s.height),this.rectangle(this._rect,e,i)),n&&(this._line.setTo(o.centerX,o.centerY,n.x,n.y),this.geom(this._line,e,i),this.geom(n,e,!1,3))},cameraInfo:function(t,e,i,s){var n=t.bounds,o=t.deadzone,r=t.target,a=t.view;this.start(e,i,s),this.line("Camera ("+t.width+" x "+t.height+")"),this.line("x: "+t.x+" y: "+t.y),this.line("Bounds: "+(n?"x: "+n.x+" y: "+n.y+" w: "+n.width+" h: "+n.height:"none")),this.line("View: x: "+a.x+" y: "+a.y+" w: "+a.width+" h: "+a.height),this.line("Center: x: "+t.centerX+" y: "+t.centerY),this.line("Deadzone: "+(o?"x: "+o.x+" y: "+o.y+" w: "+o.width+" h: "+o.height:o)),this.line("Total in view: "+t.totalInView),this.line("At limit: x: "+t.atLimit.x+" y: "+t.atLimit.y),this.line("Target: "+(r?r.name||r:"none")),this.stop()},timer:function(t,e,i,s){this.start(e,i,s),this.line("Timer (running: "+t.running+" expired: "+t.expired+")"),this.line("Next Tick: "+t.next+" Duration: "+t.duration),this.line("Paused: "+t.paused+" Length: "+t.length),this.stop()},pointer:function(t,e,i,s,n,o){if(null!=t&&(void 0===e&&(e=!1),i=i||"rgba(0,255,0,0.5)",s=s||"rgba(255,255,0,0.5)",o=o||"rgba(255,0,0,0.5)",!0!==e||!0!==t.isUp)){this.start(t.x,t.y-150,n),this.context.beginPath(),this.context.arc(t.x,t.y,t.circle.radius,0,2*Math.PI),t.active?this.context.fillStyle=t.isDown?i:s:this.context.fillStyle=o,this.context.fill(),this.context.closePath(),this.context.beginPath(),this.context.moveTo(t.positionDown.x,t.positionDown.y),this.context.lineTo(t.position.x,t.position.y),this.context.lineWidth=2,this.context.stroke(),this.context.closePath();var r=t.movementX,a=t.movementY;(r||a)&&(this.context.beginPath(),this.context.moveTo(r+t.position.x,a+t.position.y),this.context.lineTo(t.position.x,t.position.y),this.context.lineWidth=2,this.context.stroke(),this.context.closePath()),this.line("ID: "+t.id+" Active: "+t.active),this.line("World X: "+t.worldX.toFixed(1)+" World Y: "+t.worldY.toFixed(1)),this.line("Screen X: "+t.x.toFixed(1)+" Screen Y: "+t.y.toFixed(1)+" In: "+t.withinGame),this.line("Movement: X: "+r+" Y: "+a),this.line("Duration: "+t.duration+" ms"),this.line("is Down: "+t.isDown+" is Up: "+t.isUp),this.line("Identifier: "+t.identifier+" Pointer ID: "+t.pointerId),t.isMouse&&this.line("Buttons: "+this._pointerButtonIcon(t.leftButton)+" "+this._pointerButtonIcon(t.middleButton)+" "+this._pointerButtonIcon(t.rightButton)),this.stop()}},_pointerButtonIcon:function(t){return t.isDown?"x":t.isUp?"o":"-"},spriteInputInfo:function(t,e,i,s){this.start(e,i,s),this.line("Sprite Input: ("+t.width+" x "+t.height+")"),this.line("x: "+t.input.pointerX().toFixed(1)+" y: "+t.input.pointerY().toFixed(1)),this.line("over: "+t.input.pointerOver()+" duration: "+t.input.overDuration().toFixed(0)),this.line("down: "+t.input.pointerDown()+" duration: "+t.input.downDuration().toFixed(0)),this.line("just over: "+t.input.justOver()+" just out: "+t.input.justOut()),this.stop()},key:function(t,e,i,s){this.start(e,i,s,150),this.line("Key:",t.keyCode,"isDown:",t.isDown),this.line("justDown:",t.justDown,"justUp:",t.justUp),this.line("Time Down:",t.timeDown.toFixed(0),"duration:",t.duration.toFixed(0)),this.stop()},inputInfo:function(t,i,s,n){var o=this.game.input;if(void 0===n&&(n=!0),this.start(t,i,s),this.line("Input"),this.line("X: "+o.x+" Y: "+o.y),this.line("World X: "+o.worldX+" World Y: "+o.worldY),this.line("Scale X: "+o.scale.x.toFixed(2)+" Scale Y: "+o.scale.x.toFixed(2)),this.line("Screen X: "+o.activePointer.screenX.toFixed(1)+" Screen Y: "+o.activePointer.screenY.toFixed(1)),n){this.line("Sources:"),this.line(" "+this._inputHandler(o.mouse,"mouse")),this.line(" "+this._inputHandler(o.mspointer,"mspointer")),this.line(" "+this._inputHandler(o.touch,"touch"));var r=o.pointers,a=o.mousePointer,h=e.PointerModes,l=0,c=0;this.line("Pointers:"),this.line(" "+(a.isDown?"x":"o")+" "+h[a.pointerMode]+" "+a.identifier);for(var u=0;u0)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 e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=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(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.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(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:o}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:o})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.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(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.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,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},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,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var o=Math.min(t,i,s),r=Math.max(t,i,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=(i-s)/a+(i1&&(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,i,s,n,o,r,a,h){var l={r:t||0,g:i||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 e.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.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,i,s,n,o){return void 0===n&&(n=255),void 0===o&&(o="#"),"#"===o?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){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);i?(i.r=n,i.g=o,i.b=r):i=e.Color.createColor(n,o,r)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,o,r){void 0===o&&(o=255),void 0===r&&(r=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);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=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.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=e.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return e.Color.getColor32(o,l,c,u)},interpolateColorWithRGB:function(t,i,s,n,o,r){var a=e.Color.getRGB(t),h=(i-a.red)*r/o+a.red,l=(s-a.green)*r/o+a.green,c=(n-a.blue)*r/o+a.blue;return e.Color.getColor(h,l,c)},interpolateRGB:function(t,i,s,n,o,r,a,h){var l=(n-t)*h/a+t,c=(o-i)*h/a+i,u=(r-s)*h/a+s;return e.Color.getColor(l,c,u)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],o=t[Math.ceil(s)];return this.linear(n,o,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t));return e.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 i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.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,i){return e.Color.blendOverlay(i,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,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.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()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.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}},e.Physics.prototype.constructor=e.Physics,e.Physics.Arcade=function(t){this.game=t,this.gravity=new e.Point,this.bounds=new e.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=e.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new e.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()},e.Physics.Arcade.prototype.constructor=e.Physics.Arcade,e.Physics.Arcade.SORT_NONE=0,e.Physics.Arcade.LEFT_RIGHT=1,e.Physics.Arcade.RIGHT_LEFT=2,e.Physics.Arcade.TOP_BOTTOM=3,e.Physics.Arcade.BOTTOM_TOP=4,e.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,i){void 0===i&&(i=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof e.Group?this.enable(t[s].children,i):(this.enableBody(t[s]),i&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof e.Group?this.enable(t.children,i):(this.enableBody(t),i&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.Arcade.Body(t),t.parent&&t.parent instanceof e.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+=.001*t.angularVelocity*this.game.time.delta}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+=.001*(this.gravity.x+e.gravity.x)*this.game.time.delta:2===t&&e.allowGravity&&(i+=.001*(this.gravity.y+e.gravity.y)*this.game.time.delta),s?i+=.001*s*this.game.time.delta:n&&e.allowDrag&&(i-(n*=.001*this.game.time.delta)>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,i){null!==t.physicsSortDirection?i=t.physicsSortDirection:void 0===i&&(i=this.sortDirection),i===e.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):i===e.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):i===e.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):i===e.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===e.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(i);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===e.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,i,s,n,o)}}}}},collideGroupVsGroup:function(t,i,s,n,o,r){if(0!==t.length&&0!==i.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)=i.right)&&!(t.position.y>=i.bottom))))},circleBodyIntersects:function(t,i){var s=e.Math.clamp(t.center.x,i.left,i.right),n=e.Math.clamp(t.center.y,i.top,i.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,i,s){this.getOverlapX(t,i),this.getOverlapY(t,i);var n=i.center.x-t.center.x,o=i.center.y-t.center.y,r=Math.atan2(o,n),a=0;if(t.isCircle!==i.isCircle){var h={x:i.isCircle?t.position.x:i.position.x,y:i.isCircle?t.position.y:i.position.y,right:i.isCircle?t.right:i.right,bottom:i.isCircle?t.bottom:i.bottom},l={x:t.isCircle?t.center.x:i.center.x,y:t.isCircle?t.center.y:i.center.y,radius:t.isCircle?t.halfWidth:i.halfWidth};l.yh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+i.halfWidth-e.Math.distance(t.center.x,t.center.y,i.center.x,i.center.y);if(s||0===a||t.immovable&&i.immovable||t.customSeparateX||i.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,i.sprite),i.onOverlap&&i.onOverlap.dispatch(i.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:i.velocity.x*Math.cos(r)+i.velocity.y*Math.sin(r),y:-i.velocity.x*Math.sin(r)+i.velocity.y*Math.cos(r)},d=((t.mass-i.mass)*c.x+2*i.mass*u.x)/(t.mass+i.mass),p=(2*t.mass*c.x+(i.mass-t.mass)*u.x)/(t.mass+i.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),i.immovable||(i.velocity.x=(p*Math.cos(r)-u.y*Math.sin(r))*i.bounce.x,i.velocity.y=(u.y*Math.cos(r)+p*Math.sin(r))*i.bounce.y),Math.abs(r)0&&!t.immovable&&i.velocity.x>t.velocity.x?t.velocity.x*=-1:i.velocity.x<0&&!i.immovable&&t.velocity.x0&&!t.immovable&&i.velocity.y>t.velocity.y?t.velocity.y*=-1:i.velocity.y<0&&!i.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&i.velocity.x0&&!i.immovable&&t.velocity.x>i.velocity.x?i.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&i.velocity.y0&&!i.immovable&&t.velocity.x>i.velocity.y&&(i.velocity.y*=-1)),t.immovable||(t.x+=.001*t.velocity.x*this.game.time.delta-a*Math.cos(r),t.y+=.001*t.velocity.y*this.game.time.delta-a*Math.sin(r)),i.immovable||(i.x+=.001*i.velocity.x*this.game.time.delta+a*Math.cos(r),i.y+=.001*i.velocity.y*this.game.time.delta+a*Math.sin(r)),t.onCollide&&t.onCollide.dispatch(t.sprite,i.sprite),i.onCollide&&i.onCollide.dispatch(i.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,i,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 e.Rectangle(t,i,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(s=this.distanceBetween(t,i)/(n/1e3)),t.body.velocity.setToPolar(o,s),o},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,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i,!0)},velocityFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},accelerationFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},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,s){void 0===i&&(i=!1);var n,o;return s?(n=t.centerX-e.centerX,o=t.centerY-e.centerY):i?(n=t.world.x-e.world.x,o=t.world.y-e.world.y):(n=t.x-e.x,o=t.y-e.y),Math.sqrt(n*n+o*o)},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,s){for(var n=1/0,o=null,r=0,a=e.length;rn&&(o=h,n=l)}return o},angleBetween:function(t,i,s){return void 0===s&&(s=!1),s?e.Point.angle(i.world,t.world):e.Point.angle(i,t)},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)}},e.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=e.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new e.Point,this.position=new e.Point(t.x,t.y),this.prev=new e.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 e.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new e.Point,this.newVelocity=new e.Point,this.deltaMax=new e.Point,this.acceleration=new e.Point,this.allowDrag=!0,this.drag=new e.Point,this.allowGravity=!0,this.gravity=new e.Point,this.bounce=new e.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new e.Point(1e4,1e4),this.friction=new e.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=e.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 e.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 e.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},e.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(.001*this.velocity.x*this.game.time.delta,.001*this.velocity.y*this.game.time.delta),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=this.velocity.atan()),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.delta,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=e.LEFT:this.deltaX()>0&&(this.facing=e.RIGHT),this.deltaY()<0?this.facing=e.UP:this.deltaY()>0&&(this.facing=e.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,i,s){var n=i/(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),i=Math.abs(i),this.moveDuration=0,this.moveDistance=i,null===this.moveTarget&&(this.moveTarget=new e.Line,this.moveEnd=new e.Point),this.moveTarget.fromAngle(this.x,this.y,o,i),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,i){return this.isCircle?e.Circle.contains(this,t,i):e.Rectangle.contains(this,t,i)},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 e.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(e.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),e.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)},e.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)},e.Physics.Arcade.Body.prototype.constructor=e.Physics.Arcade.Body,e.Physics.Arcade.TilemapCollision=function(){},e.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}},e.Utils.mixinPrototype(e.Physics.Arcade.prototype,e.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,e.Physics.P2=function(t,i){this.game=t,void 0===i?i={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(i.hasOwnProperty("gravity")||(i.gravity=[0,0]),i.hasOwnProperty("broadphase")||(i.broadphase=new p2.SAPBroadphase)),this.config=i,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new e.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new e.Signal,this.onBodyRemoved=new e.Signal,this.onSpringAdded=new e.Signal,this.onSpringRemoved=new e.Signal,this.onConstraintAdded=new e.Signal,this.onConstraintRemoved=new e.Signal,this.onContactMaterialAdded=new e.Signal,this.onContactMaterialRemoved=new e.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new e.Signal,this.onEndContact=new e.Signal,i.hasOwnProperty("mpx")&&i.hasOwnProperty("pxm")&&i.hasOwnProperty("mpxi")&&i.hasOwnProperty("pxmi")&&(this.mpx=i.mpx,this.mpxi=i.mpxi,this.pxm=i.pxm,this.pxmi=i.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.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)},e.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,i,s){void 0===i&&(i=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof e.Group?this.enable(t[n].children,i,s):(this.enableBody(t[n],i),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],i,!0));else t instanceof e.Group?this.enable(t.children,i,s):(this.enableBody(t,i),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,i,!0))},enableBody:function(t,i){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=i,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(.001*this.game.time.delta):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.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 e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,i,s,n,o,r){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.DistanceConstraint(this,t,i,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,i,s,n){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.GearConstraint(this,t,i,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,i,s,n,o,r){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new e.Physics.P2.RevoluteConstraint(this,t,i,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,i,s,n,o){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.LockConstraint(this,t,i,s,n,o));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,i,s,n,o,r,a){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.PrismaticConstraint(this,t,i,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,i){t=t||"";var s=new e.Physics.P2.Material(t);return this.materials.push(s),void 0!==i&&i.setMaterial(s),s},createContactMaterial:function(t,i,s){void 0===t&&(t=this.createMaterial()),void 0===i&&(i=this.createMaterial());var n=new e.Physics.P2.ContactMaterial(t,i,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 e.Physics.P2.Body?t.data:t.body&&t.body.type===e.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,i,s,n){void 0===i&&(i=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=i.length;a--;)i[a]instanceof e.Physics.P2.Body&&(!n||i[a].data.type!==p2.Body.STATIC)?r.push(i[a].data):i[a]instanceof p2.Body&&i[a].parent&&(!n||i[a].type!==p2.Body.STATIC)?r.push(i[a]):i[a]instanceof e.Sprite&&i[a].hasOwnProperty("body")&&(!n||i[a].body.data.type!==p2.Body.STATIC)&&r.push(i[a].body.data);return this.world.hitTest(o,r,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var i=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|i),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|i),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|i),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|i),this._collisionGroupID++;var s=new e.Physics.P2.CollisionGroup(i);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,i){if(t instanceof e.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(e.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(e.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(e.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(e.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(e.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(e.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(e.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(e.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(e.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),e.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},e.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}},e.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.PointProxy.prototype.constructor=e.Physics.P2.PointProxy,Object.defineProperty(e.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(e.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(e.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(e.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),e.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.InversePointProxy.prototype.constructor=e.Physics.P2.InversePointProxy,Object.defineProperty(e.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(e.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(e.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),e.Physics.P2.Body=function(t,i,s,n,o){i=i||null,s=s||0,n=n||0,void 0===o&&(o=1),this.game=t,this.world=t.physics.p2,this.sprite=i,this.type=e.Physics.P2JS,this.offset=new e.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:o}),this.data.parent=this,this.velocity=new e.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new e.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new e.Point,this.onBeginContact=new e.Signal,this.onEndContact=new e.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,i&&(this.setRectangleFromSprite(i),i.exists&&this.game.physics.p2.addBody(this))},e.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;n=0?dp;n=p>=0?++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,g,m,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],g=d[0],v=d[1],t.lineStyle(o,h[l%h.length],1),t.moveTo(f,-y),t.lineTo(g,-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],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 o,r,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),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"}}),e.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},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.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},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},e.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),e.Physics.P2.Material.prototype.constructor=e.Physics.P2.Material,e.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},e.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),e.Physics.P2.ContactMaterial.prototype.constructor=e.Physics.P2.ContactMaterial,e.Physics.P2.CollisionGroup=function(t){this.mask=t},e.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)},e.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),e.Physics.P2.DistanceConstraint.prototype.constructor=e.Physics.P2.DistanceConstraint,e.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)},e.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),e.Physics.P2.GearConstraint.prototype.constructor=e.Physics.P2.GearConstraint,e.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)},e.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),e.Physics.P2.LockConstraint.prototype.constructor=e.Physics.P2.LockConstraint,e.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)},e.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),e.Physics.P2.PrismaticConstraint.prototype.constructor=e.Physics.P2.PrismaticConstraint,e.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)},e.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),e.Physics.P2.RevoluteConstraint.prototype.constructor=e.Physics.P2.RevoluteConstraint,e.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},e.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}},e.Tile.prototype.constructor=e.Tile,Object.defineProperty(e.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(e.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(e.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(e.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(e.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(e.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),e.Tilemap=function(t,i,s,n,o,r){this.game=t,this.key=i;var a=e.TilemapParser.parse(this.game,i,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.objectsMap=a.objectsMap,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)},e.Tilemap.CSV=0,e.Tilemap.TILED_JSON=1,e.Tilemap.NORTH=0,e.Tilemap.EAST=1,e.Tilemap.SOUTH=2,e.Tilemap.WEST=3,e.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,i,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!==i&&null!==i||(i=t),e.BitmapData&&i instanceof e.BitmapData)h=i.canvas;else{if(!this.game.cache.checkImageKey(i))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+i+'"'),null;h=this.game.cache.getImage(i)}var l=this.getTilesetIndex(t);if(null===l&&this.format===e.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),console.log("Tilesets: ",this.tilesets),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new e.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,g=0,m=0,y=a;y1)for(u=0;uthis.layers.length)return console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"'),void console.log("Layers: ",this.layers);void 0===i||i<=0?i=Math.min(this.game.width,this.layers[o].widthInPixels):i>this.game.width&&(i=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:",i,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",o));var r=n.add(new e.TilemapLayer(this.game,this,o,i,s));return this.enableDebug&&console.groupEnd(),r},createBlankLayer:function(t,i,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:i,height:s,widthInPixels:i*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 e.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,i,s){if(s=this.getLayer(s),t>=0&&t=0&&i=0&&i=0&&s-1?this.layers[n].data[s][i].setCollision(!0,!0,!0,!0):this.layers[n].data[s][i].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][i]}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,n){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var o,r,a=0,h=this.layers[s].height,l=this.layers[s].width,c=this.layers[s].data;if(n)var u=[];if(i)for(d=h-1;d>=0;d--){o=c[d];for(p=l-1;p>=0;p--)if((r=o[p]).index===t)if(a>=e){if(!n)return r;u.push(r)}else a++}else for(var d=0;d=e){if(!n)return r;u.push(r)}else a++}return n?u:null},getTile:function(t,e,i,s){return void 0===s&&(s=!1),i=this.getLayer(i),t>=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}},e.Tilemap.prototype.constructor=e.Tilemap,Object.defineProperty(e.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),e.TilemapLayer=function(t,i,s,n,o){n|=0,o|=0,e.Sprite.call(this,t,0,0),this.map=i,this.index=s,this.layer=i.layers[s],this.canvas=e.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=e.TILEMAPLAYER,this.physicsType=e.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:i.tileWidth,tileHeight:i.tileHeight,cw:i.tileWidth,ch:i.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new e.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=e.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},e.TilemapLayer.prototype=Object.create(e.Sprite.prototype),e.TilemapLayer.prototype.constructor=e.TilemapLayer,e.TilemapLayer.prototype.preUpdateCore=e.Component.Core.preUpdate,e.TilemapLayer.sharedCopyCanvas=null,e.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=e.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},e.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},e.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},e.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)},e.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)},e.TilemapLayer.prototype.destroy=function(){e.CanvasPool.remove(this),e.Component.Destroy.prototype.destroy.call(this)},e.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},e.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},e.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},e.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},e.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)},e.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},e.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)},e.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},e.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},e.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},e.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},e.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;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||(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))}}}},e.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),g=Math.floor((n-1+i)/r);this.renderRegion(i,s,f,c,g,u)}},e.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)},e.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=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(e.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),e.TilemapParser={INSERT_NULL:!1,parse:function(t,i,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===i)return this.getEmptyData();if(null===i)return this.getEmptyData(s,n,o,r);var a=t.cache.getTilemapData(i);if(a){if(a.format===e.Tilemap.CSV)return this.parseCSV(i,a.data,s,n);if(!a.format||a.format===e.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn('No map data found for key "%s"',i)},parseCSV:function(t,i,s,n){for(var o=this.getEmptyData(),r=[],a=(i=i.trim()).split("\n"),h=a.length,l=0,c=0;c>>0;o.data=h,delete o.encoding}else if(o.compression){console.warn('Layer compression is unsupported, skipping layer "%s".',o.name);continue}B={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&&(B.properties=o.properties);for(var c,u,d,p=0,f=[],g=[],m=0,a=o.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 e.Tile(B,A,p,g.length,t.tilewidth,t.tileheight)).rotation=c,F.flipped=u,0!==d&&(F.flippedVal=d),f.push(F)):e.TilemapParser.INSERT_NULL?f.push(null):f.push(new e.Tile(B,-1,p,g.length,t.tilewidth,t.tileheight)),++p===o.width&&(g.push(f),p=0,f=[])}B.data=g,s.push(B)}i.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t0?this.scale.set(this.scaleData[t].x,this.scaleData[t].y):this.autoScale=!1}if(this.autoAlpha){this._a-=.001*this.game.time.delta*this.autoAlphaFps;var e=Math.round(this._a);e>0?this.alpha=this.alphaData[e].v:this.autoAlpha=!1}},e.Particle.prototype.onEmit=function(){},e.Particle.prototype.setAlphaData=function(t,e){this.alphaData=t,this._a=t.length-1,this.alpha=this.alphaData[this._a].v,this.autoAlpha=!0,this.autoAlphaFps=e},e.Particle.prototype.setScaleData=function(t,e){this.scaleData=t,this._s=t.length-1,this.scale.set(this.scaleData[this._s].x,this.scaleData[this._s].y),this.autoScale=!0,this.autoScaleFps=e},e.Particle.prototype.reset=function(t,i,s){return e.Component.Reset.prototype.reset.call(this,t,i,s),this.alpha=1,this.scale.set(1),this.autoScale=!1,this.autoAlpha=!1,this},e.Particles=function(t){this.game=t,this.emitters={},this.ID=0},e.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]}},e.Particles.prototype.constructor=e.Particles,e.Particles.Arcade={},e.Particles.Arcade.Emitter=function(t,i,s,n){this.maxParticles=n||50,e.Group.call(this,t),this._id=this.game.particles.ID++,this.name="emitter"+this.id,this.type=e.EMITTER,this.physicsType=e.GROUP,this.area=new e.Rectangle(i,s,1,1),this.minAngle=null,this.maxAngle=null,this.minSpeed=0,this.maxSpeed=100,this.minParticleSpeed=new e.Point(-100,-100),this.maxParticleSpeed=new e.Point(100,100),this.minParticleScale=1,this.maxParticleScale=1,this.scaleData=null,this.minRotation=-360,this.maxRotation=360,this.minParticleAlpha=1,this.maxParticleAlpha=1,this.alphaData=null,this.particleClass=e.Particle,this.particleDrag=new e.Point,this.angularDrag=0,this.frequency=100,this.lifespan=2e3,this.bounce=new e.Point,this.on=!1,this.particleAnchor=new e.Point(.5,.5),this.blendMode=e.blendModes.NORMAL,this.emitX=i,this.emitY=s,this.autoScale=!1,this.autoScaleFps=this.game.time.desiredFps,this.autoAlpha=!1,this.autoAlphaFps=this.game.time.desiredFps,this.particleBringToTop=!1,this.particleSendToBack=!1,this.counts={emitted:0,failed:0,totalEmitted:0,totalFailed:0},this._gravity=new e.Point(0,100),this._minParticleScale=new e.Point(1,1),this._maxParticleScale=new e.Point(1,1),this._total=0,this._timer=0,this._counter=0,this._flowQuantity=0,this._flowTotal=0,this._explode=!0,this._frames=null},e.Particles.Arcade.Emitter.prototype=Object.create(e.Group.prototype),e.Particles.Arcade.Emitter.prototype.constructor=e.Particles.Arcade.Emitter,e.Particles.Arcade.Emitter.prototype.update=function(){if(this.counts.emitted=0,this.counts.failed=0,this.on&&this.game.time.deltaTotal>=this._timer)if(this._timer=this.game.time.deltaTotal+this.frequency,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()},e.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.deltaTotal+e):this.start(!1,t,e,i),this},e.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},e.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},e.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,this.autoScaleFps):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,this.autoAlphaFps):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()},e.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),e.Group.prototype.destroy.call(this,!0,!1)},e.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},e.Particles.Arcade.Emitter.prototype.setSpeed=function(t,e,i,s){return this.setXSpeed(t,e),this.setYSpeed(i,s),this},e.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},e.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},e.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},e.Particles.Arcade.Emitter.prototype.setAlpha=function(t,i,s,n,o){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=0),void 0===n&&(n=e.Easing.Linear.None),void 0===o&&(o=!1),this.minParticleAlpha=t,this.maxParticleAlpha=i,this.autoAlpha=!1,s>0&&t!==i){var r={v:t},a=this.game.make.tween(r).to({v:i},s,n);a.yoyo(o),this.alphaData=a.generateData(this.game.time.desiredFps),this.autoAlphaFps=this.game.time.desiredFps,this.alphaData.reverse(),this.autoAlpha=!0}return this},e.Particles.Arcade.Emitter.prototype.setScale=function(t,i,s,n,o,r,a){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===o&&(o=0),void 0===r&&(r=e.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(i,n),this.autoScale=!1,o>0&&(t!==i||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:i,y:n},o,r);l.yoyo(a),this.scaleData=l.generateData(this.game.time.desiredFps),this.autoScaleFps=this.game.time.desiredFps,this.scaleData.reverse(),this.autoScale=!0}return this},e.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},e.Particles.Arcade.Emitter.prototype.setGravity=function(t,e){return t=t||0,e=e||0,this._gravity.set(t,e),this},e.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(e.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(e.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),e.Weapon=function(t,i){e.Plugin.call(this,t,i),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new e.Rectangle(0,0,1,1),this.fireAngle=e.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 e.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=e.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=e.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new e.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new e.Signal,this.onKill=new e.Signal,this.onFireLimit=new e.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new e.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new e.Point},e.Weapon.prototype=Object.create(e.Plugin.prototype),e.Weapon.prototype.constructor=e.Weapon,e.Weapon.KILL_NEVER=0,e.Weapon.KILL_LIFESPAN=1,e.Weapon.KILL_DISTANCE=2,e.Weapon.KILL_WEAPON_BOUNDS=3,e.Weapon.KILL_CAMERA_BOUNDS=4,e.Weapon.KILL_WORLD_BOUNDS=5,e.Weapon.KILL_STATIC_BOUNDS=6,e.Weapon.prototype.createBullets=function(t,i,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets&&!this.bullets.game&&(this.bullets=null),this.bullets||(this.bullets=this.game.add.physicsGroup(e.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,i,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=i,this.bulletFrame=s),this},e.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},e.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},e.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},e.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},e.Weapon.prototype.update=function(){this._bulletKillType===e.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()},e.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},e.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},e.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},e.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},e.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},e.Weapon.prototype.fire=function(t,i,s,n,o){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game.time.deltaTotal0&&this.shots===this.fireLimit)return null;var r=this.bulletSpeed;0!==this.bulletSpeedVariance&&(r+=e.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!==i&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,i-a))),0!==this.bulletAngleVariance&&(l+=e.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===e.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+=e.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(g=0),f=this.game.time.deltaTotal+g}else f=this.game.time.deltaTotal+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},e.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},e.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},e.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},e.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},e.Weapon.prototype.setBulletFrames=function(t,i,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=e.ArrayUtils.numberArray(t,i),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},e.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},e.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(e.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(e.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case e.Weapon.KILL_STATIC_BOUNDS:case e.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case e.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case e.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(e.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(e.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(e.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),e.Bullet=function(t,i,s,n,o){e.Sprite.call(this,t,i,s,n,o),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},e.Bullet.prototype=Object.create(e.Sprite.prototype),e.Bullet.prototype.constructor=e.Bullet,e.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},e.Bullet.prototype.update=function(){this.exists&&(this.data.killType>e.Weapon.KILL_LIFESPAN&&(this.data.killType===e.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=this.body.velocity.atan()),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},e.Video=function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game=t,this.key=i,this.width=0,this.height=0,this.type=e.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new e.Signal,this.onChangeSource=new e.Signal,this.onComplete=new e.Signal,this.onAccess=new e.Signal,this.onError=new e.Signal,this.onTimeout=new e.Signal,this.onTouchUnlock=new e.Signal,this.playWhenUnlocked=!0,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,i&&this.game.cache.checkVideoKey(i)){var n=this.game.cache.getVideo(i);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(e.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 e.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==i&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,e.BitmapData&&(this.snapshot=new e.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},e.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,s){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=!0),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;if(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"),this.video.setAttribute("playsinline","playsinline"),null!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout),navigator.mediaDevices&&navigator.mediaDevices.getUserMedia)navigator.mediaDevices.getUserMedia({audio:t,video:s}).then(this.getUserMediaSuccess.bind(this)).catch(this.getUserMediaError.bind(this));else try{navigator.getUserMedia({audio:t,video:s},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:void 0!==this.video.srcObject?this.video.srcObject=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.setAttribute("playsinline","playsinline"),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,i){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"),void 0!==i&&(this.video.crossOrigin=i),this.video.setAttribute("playsinline","playsinline"),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,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.srcObject?(this.video.srcObject.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,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(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 this.onTouchUnlock.dispatch(this),!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.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(e.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(e.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(e.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(e.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(e.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(e.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(e.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop=!0:this.video&&(this.video.loop=!1)}}),Object.defineProperty(e.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),e.Video.prototype.constructor=e.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}).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 c8378cc79..62560107d 100644 --- a/build/custom/pixi.js +++ b/build/custom/pixi.js @@ -7,7 +7,7 @@ * * Phaser CE - https://github.com/photonstorm/phaser-ce * -* v2.18.0 "2021-05-07" - Built: Thu May 06 2021 19:53:51 +* v2.19.0 "2021-08-23" - Built: Mon Aug 23 2021 13:20:31 * * By Richard Davey http://www.photonstorm.com @photonstorm and Phaser CE contributors * diff --git a/build/custom/pixi.min.js b/build/custom/pixi.min.js index 71f955cb0..932f470aa 100644 --- a/build/custom/pixi.min.js +++ b/build/custom/pixi.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.18.0 PIXI Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.19.0 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(),this._destroyTintedTexture()},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)},_destroyTintedTexture:function(){this.tintedTexture&&(Phaser.CanvasPool.removeByCanvas(this.tintedTexture),this.tintedTexture=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.bringChildToTop=function(e){if(e.parent===this)return this.setChildIndex(e,this.children.length-1)},i.DisplayObjectContainer.prototype.sendChildToBack=function(e){if(e.parent===this)return this.setChildIndex(e,0)},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,T=x.y,v=x.height+x.y,m=this.worldTransform,E=m.a,_=m.b,S=m.c,y=m.d,b=m.tx,R=m.ty,A=E*g+S*v+b,M=y*v+_*g+R,C=E*p+S*v+b,L=y*v+_*p+R,B=E*p+S*T+b,P=y*T+_*p+R,w=E*g+S*T+b,U=y*T+_*g+R;d=A,c=M,u=M,l=w<(l=B<(l=C<(l=A)?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)?R:x,p=A>(p=b>(p=S>(p=E>p?E:p)?S:p)?b:p)?A:p}var M=this._bounds;return M.x=g,M.width=x-g,M.y=T,M.height=p-T,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=r.baseTexture.resolution,T=r.baseTexture.textureIndex,v=a.a/g,m=a.b/g,E=a.c/g,_=a.d/g,S=a.tx,y=a.ty,b=r.crop.height;if(r.rotated){var R=a.a,A=a.b,M=a.c,C=a.d,L=l,B=h;S=a.c*b+S,y=a.d*b+y,v=6.123233995736766e-17*R-M,m=6.123233995736766e-17*A-C,E=R+6.123233995736766e-17*M,_=A+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++]=v*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++]=T,w[p++]=v*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++]=T,w[p++]=v*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++]=T,w[p++]=v*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++]=T):(w[p++]=v*l+E*d+S,w[p++]=_*d+m*l+y,w[p++]=n.x0,w[p++]=n.y0,P[p++]=F,w[p++]=T,w[p++]=v*h+E*d+S,w[p++]=_*d+m*h+y,w[p++]=n.x1,w[p++]=n.y1,P[p++]=F,w[p++]=T,w[p++]=v*h+E*u+S,w[p++]=_*u+m*h+y,w[p++]=n.x2,w[p++]=n.y2,P[p++]=F,w[p++]=T,w[p++]=v*l+E*u+S,w[p++]=_*u+m*l+y,w[p++]=n.x3,w[p++]=n.y3,P[p++]=F,w[p++]=T),this.sprites[this.currentBatchSize++]=e}},i.WebGLSpriteBatch.prototype.renderTilingSprite=function(e){var t=e.tilingTexture,r=e.texture.baseTexture.textureIndex;if(i._enableMultiTextureToggle){var s=t.baseTexture,o=this.gl;i.WebGLRenderer.textureArray[r]!=s&&(this.flush(),o.activeTexture(o.TEXTURE0+r),o.bindTexture(o.TEXTURE_2D,s._glTextures[o.id]),i.WebGLRenderer.textureArray[r]=s)}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,T=e.width,v=e.height,m=e.anchor.x,E=e.anchor.y,_=T*(1-m),S=T*-m,y=v*(1-E),b=v*-E,R=this.currentBatchSize*this.vertexSize,A=t.baseTexture.resolution,M=e.worldTransform,C=M.a/A,L=M.b/A,B=M.c/A,P=M.d/A,w=M.tx,U=M.ty;p[R++]=C*S+B*b+w,p[R++]=P*b+L*S+U,p[R++]=a.x0,p[R++]=a.y0,g[R++]=x,p[R++]=r,p[R++]=C*_+B*b+w,p[R++]=P*b+L*_+U,p[R++]=a.x1,p[R++]=a.y1,g[R++]=x,p[R++]=r,p[R++]=C*_+B*y+w,p[R++]=P*y+L*_+U,p[R++]=a.x2,p[R++]=a.y2,g[R++]=x,p[R++]=r,p[R++]=C*S+B*y+w,p[R++]=P*y+L*S+U,p[R++]=a.x3,p[R++]=a.y3,g[R++]=x,p[R++]=r,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,T=this.currentBatchSize;g0&&(v=!1);var m=d!==o;if((!i._enableMultiTextureToggle&&m&&!v||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 E=this.renderSession.projection;t.uniform2f(e.projectionVector,E.x,E.y);var _=this.renderSession.offset;t.uniform2f(e.offsetVector,_.x,_.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 2557d8729..2241b4414 100644 --- a/build/phaser.js +++ b/build/phaser.js @@ -7,7 +7,7 @@ * * Phaser CE - https://github.com/photonstorm/phaser-ce * -* v2.18.0 "2021-05-07" - Built: Thu May 06 2021 19:53:29 +* v2.19.0 "2021-08-23" - Built: Mon Aug 23 2021 13:20:09 * * By Richard Davey http://www.photonstorm.com @photonstorm and Phaser CE contributors * @@ -22612,7 +22612,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.18.0', + VERSION: '2.19.0', /** * An array of Phaser game instances. @@ -58481,10 +58481,10 @@ Phaser.RenderTexture.prototype.getCanvas = function () * @param {string} text - The actual text that will be written. * @param {object} [style] - The style properties to be set on the Text. * @param {string} [style.font='bold 20pt Arial'] - The style and size of the font. - * @param {string} [style.fontStyle=(from font)] - The style of the font (eg. 'italic'): overrides the value in `style.font`. - * @param {string} [style.fontVariant=(from font)] - The variant of the font (eg. 'small-caps'): overrides the value in `style.font`. - * @param {string} [style.fontWeight=(from font)] - The weight of the font (eg. 'bold'): overrides the value in `style.font`. - * @param {string|number} [style.fontSize=(from font)] - The size of the font (eg. 32 or '32px'): overrides the value in `style.font`. + * @param {string} [style.fontStyle] - The style of the font (eg. 'italic'): overrides the value in `style.font`. + * @param {string} [style.fontVariant] - The variant of the font (eg. 'small-caps'): overrides the value in `style.font`. + * @param {string} [style.fontWeight] - The weight of the font (eg. 'bold'): overrides the value in `style.font`. + * @param {string|number} [style.fontSize] - The size of the font (eg. 32 or '32px'): overrides the value in `style.font`. * @param {string} [style.backgroundColor=null] - A canvas fillstyle that will be used as the background for the whole Text object. Set to `null` to disable. * @param {string} [style.fill='black'] - A canvas fillstyle that will be used on the text eg 'red', '#00FF00'. * @param {string} [style.align='left'] - Horizontal alignment of each line in multiline text. Can be: 'left', 'center' or 'right'. Does not affect single lines of text (see `textBounds` and `boundsAlignH` for that). @@ -58496,6 +58496,8 @@ Phaser.RenderTexture.prototype.getCanvas = function () * @param {number} [style.wordWrapWidth=100] - The width in pixels at which text will wrap. * @param {number} [style.maxLines=0] - The maximum number of lines to be shown for wrapped text. * @param {number} [style.tabs=0] - The size (in pixels) of the tabs, for when text includes tab characters. 0 disables. Can be an array of varying tab sizes, one per tab stop. + * @param {object} [style.fontProperties=null] - `ascent`, `descent`, and `fontSize` lengths for a given style. You can get these from {@link Phaser.Text#determineFontProperties}. + * @param {string} [style.testString='|MÂÉQfjq_'] - The text to use to measure the font width and height. */ Phaser.Text = function (game, x, y, text, style) { @@ -58617,7 +58619,7 @@ Phaser.Text = function (game, x, y, text, style) * @property {string} _testString * @private */ - this._testString = '|MÉq'; + this._testString = style.testString || '|MÂÉQfjq_'; /** * @property {number} _res - Internal canvas resolution var. @@ -58759,10 +58761,10 @@ Phaser.Text.prototype.setShadow = function (x, y, color, blur, shadowStroke, sha * @method Phaser.Text#setStyle * @param {object} [style] - The style properties to be set on the Text. * @param {string} [style.font='bold 20pt Arial'] - The style and size of the font. - * @param {string} [style.fontStyle=(from font)] - The style of the font (eg. 'italic'): overrides the value in `style.font`. - * @param {string} [style.fontVariant=(from font)] - The variant of the font (eg. 'small-caps'): overrides the value in `style.font`. - * @param {string} [style.fontWeight=(from font)] - The weight of the font (eg. 'bold'): overrides the value in `style.font`. - * @param {string|number} [style.fontSize=(from font)] - The size of the font (eg. 32 or '32px'): overrides the value in `style.font`. + * @param {string} [style.fontStyle] - The style of the font (eg. 'italic'): overrides the value in `style.font`. + * @param {string} [style.fontVariant] - The variant of the font (eg. 'small-caps'): overrides the value in `style.font`. + * @param {string} [style.fontWeight] - The weight of the font (eg. 'bold'): overrides the value in `style.font`. + * @param {string|number} [style.fontSize] - The size of the font (eg. 32 or '32px'): overrides the value in `style.font`. * @param {string} [style.backgroundColor=null] - A canvas fillstyle that will be used as the background for the whole Text object. Set to `null` to disable. * @param {string} [style.fill='black'] - A canvas fillstyle that will be used on the text eg 'red', '#00FF00'. * @param {string} [style.align='left'] - Horizontal alignment of each line in multiline text. Can be: 'left', 'center' or 'right'. Does not affect single lines of text (see `textBounds` and `boundsAlignH` for that). @@ -58774,6 +58776,8 @@ Phaser.Text.prototype.setShadow = function (x, y, color, blur, shadowStroke, sha * @param {number} [style.wordWrapWidth=100] - The width in pixels at which text will wrap. * @param {number} [style.maxLines=0] - The maximum number of lines to be shown for wrapped text. * @param {number|array} [style.tabs=0] - The size (in pixels) of the tabs, for when text includes tab characters. 0 disables. Can be an array of varying tab sizes, one per tab stop. + * @param {object} [style.fontProperties=null] - `ascent`, `descent`, and `fontSize` lengths for a given style. You can get these from {@link Phaser.Text#determineFontProperties}. + * @param {string} [style.testString='|MÂÉQfjq_'] - The text to use to measure the font width and height. * @param {boolean} [update=false] - Immediately update the Text object after setting the new style? Or wait for the next frame. * @return {Phaser.Text} This Text instance. */ @@ -58798,6 +58802,7 @@ Phaser.Text.prototype.setStyle = function (style, update) newStyle.shadowColor = style.shadowColor || 'rgba(0,0,0,0)'; newStyle.shadowBlur = style.shadowBlur || 0; newStyle.tabs = style.tabs || 0; + newStyle.fontProperties = style.fontProperties || null; var components = this.fontToComponents(newStyle.font); @@ -58833,6 +58838,11 @@ Phaser.Text.prototype.setStyle = function (style, update) this.style = newStyle; this.dirty = true; + if (newStyle.testString) + { + this.testString = newStyle.testString; + } + if (update) { this.updateText(); @@ -58872,7 +58882,7 @@ Phaser.Text.prototype.updateText = function () var tabs = this.style.tabs; var lineWidths = []; var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this.style.font); + var fontProperties = this.style.fontProperties || this.determineFontProperties(this.style.font); var drawnLines = lines.length; @@ -60003,113 +60013,44 @@ Phaser.Text.prototype._renderCanvas = function (renderSession) Phaser.Text.prototype.determineFontProperties = function (fontStyle) { var properties = Phaser.Text.fontPropertiesCache[fontStyle]; - var measureText = this.testString || '|MÉq'; - if (!properties) + if (properties) { - properties = {}; - - var canvas = Phaser.Text.fontPropertiesCanvas; - var context = Phaser.Text.fontPropertiesContext; - - context.font = fontStyle; - - var width = Math.ceil(context.measureText(measureText).width); - var baseline = Math.ceil(context.measureText(measureText).width); - var height = 2 * baseline; - - baseline = baseline * 1.4 | 0; - - canvas.width = width; - canvas.height = height; - - context.fillStyle = '#f00'; - context.fillRect(0, 0, width, height); - - context.font = fontStyle; - - context.textBaseline = 'alphabetic'; - context.fillStyle = '#000'; - context.fillText(measureText, 0, baseline); - - if (!context.getImageData(0, 0, width, height)) - { - properties.ascent = baseline; - properties.descent = baseline + 6; - properties.fontSize = properties.ascent + properties.descent; - - Phaser.Text.fontPropertiesCache[fontStyle] = properties; - - return properties; - } - - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; - - var i, j; - - var idx = 0; - var stop = false; - - // ascent. scan from top to bottom until we find a non red pixel - for (i = 0; i < baseline; i++) - { - for (j = 0; j < line; j += 4) - { - if (imagedata[idx + j] !== 255) - { - stop = true; - break; - } - } - - if (!stop) - { - idx += line; - } - else - { - break; - } - } + return properties; + } - properties.ascent = baseline - i; + var context = Phaser.Text.fontPropertiesContext; - idx = pixels - line; - stop = false; + context.font = fontStyle; - // descent. scan from bottom to top until we find a non red pixel - for (i = height; i > baseline; i--) - { - for (j = 0; j < line; j += 4) - { - if (imagedata[idx + j] !== 255) - { - stop = true; - break; - } - } - - if (!stop) - { - idx -= line; - } - else - { - break; - } - } + var testStringMetrics = context.measureText(this.testString); - properties.descent = i - baseline; + if (testStringMetrics.actualBoundingBoxAscent) + { + var asc = Math.ceil(testStringMetrics.actualBoundingBoxAscent); + var desc = Math.ceil(testStringMetrics.actualBoundingBoxDescent); - // TODO might need a tweak. kind of a temp fix! - properties.descent += 6; - properties.fontSize = properties.ascent + properties.descent; + properties = { + ascent: asc, + descent: desc, + fontSize: asc + desc + }; + } + else + { + var mxWidth = context.measureText('MX').width; + var asc = Math.ceil(0.75 * mxWidth); + var desc = Math.ceil(0.25 * mxWidth); - Phaser.Text.fontPropertiesCache[fontStyle] = properties; + properties = { + ascent: asc, + descent: desc, + fontSize: asc + desc + }; } + Phaser.Text.fontPropertiesCache[fontStyle] = properties; + return properties; }; @@ -60793,7 +60734,7 @@ Object.defineProperty(Phaser.Text.prototype, 'height', { /** * The text used to measure the font's width and height * @name Phaser.Text#testString - * @default '|MÉq' + * @default '|MÂÉQfjq_' */ Object.defineProperty(Phaser.Text.prototype, 'testString', { @@ -100781,10 +100722,15 @@ Phaser.Tilemap = function (game, key, tileWidth, tileHeight, width, height) this.tiles = data.tiles; /** - * @property {array} objects - An array of Tiled Object Layers. + * @property {object} objects - Tiled Object Layers, by layer name. */ this.objects = data.objects; + /** + * @property {object} objectsMap - Tiled objects indexed by `id`. + */ + this.objectsMap = data.objectsMap; + /** * @property {array} collideIndexes - An array of tile indexes that collide. */ @@ -101036,30 +100982,37 @@ Phaser.Tilemap.prototype = { }, /** - * Creates a Sprite for every {@link http://doc.mapeditor.org/reference/tmx-map-format/#object object} matching the `gid` argument. You can optionally specify the group that the Sprite will be created in. If none is - * given it will be created in the World. All properties from the map data objectgroup are copied across to the Sprite, so you can use this as an easy way to - * configure Sprite properties from within the map editor. For example giving an object a property of `alpha: 0.5` in the map editor will duplicate that when the - * Sprite is created. You could also give it a value like: `body.velocity.x: 100` to set it moving automatically. + * Creates a Sprite for every {@link http://doc.mapeditor.org/reference/tmx-map-format/#object object} matching the `search` argument. + * + * - When `search` is a number, it matches the object's tile ID (`gid`). + * - When `search` is a string, it matches the object's `name`. + * - When `search` is an array like `['type', 'enemy']` it matches that property name and value on the object. + * - When `search` is `null`, it matches every object. * - * The `gid` argument is matched against: + * You can optionally specify the group that the Sprite will be created in. + * If `undefined` is given it will be created in the World. + * If `null` is given it won't be added to any group. * - * 1. For a tile object, the tile identifier (`gid`); or - * 2. The object's unique ID (`id`); or - * 3. The object's `name` (a string) + * All properties from the object are copied to the Sprite, so you can use this as an easy way to + * configure Sprite properties from within the map editor. + * For example giving an object a property of `alpha: 0.5` in the map editor will duplicate that when the + * Sprite is created. You could also give it a value like: `body.velocity.x: 100` to set it moving automatically. * * @method Phaser.Tilemap#createFromObjects - * @param {string} name - The name of the Object Group to create Sprites from. - * @param {number|string} gid - The object's tile reference (gid), unique ID (id) or name. + * @param {string} layer - The name of the Object Group (Object Layer) to create Sprites from. + * @param {number|string|array|null} search - The search value (see above). * @param {string} key - The Game.cache key of the image that this Sprite will use. * @param {number|string} [frame] - If the Sprite image contains multiple frames you can specify which one to use here. * @param {boolean} [exists=true] - The default exists state of the Sprite. * @param {boolean} [autoCull=false] - The default autoCull state of the Sprite. Sprites that are autoCulled are culled from the camera if out of its range. - * @param {Phaser.Group} [group=Phaser.World] - Group to add the Sprite to. If not specified it will be added to the World group. + * @param {Phaser.Group|null} [group=this.game.world] - Group to add the Sprite to, or `null` for no group. If `undefined` it will be added to the World group. * @param {object} [CustomClass=Phaser.Sprite] - If you wish to create your own class, rather than Phaser.Sprite, pass the class here. Your class must extend Phaser.Sprite and have the same constructor parameters. * @param {boolean} [adjustY=true] - By default the Tiled map editor uses a bottom-left coordinate system. Phaser uses top-left. So most objects will appear too low down. This parameter moves them up by their height. * @param {boolean} [adjustSize=true] - By default the width and height of the objects are transferred to the sprite. This parameter controls that behavior. + * + * @return {Phaser.Sprite[]} - The created Sprites. */ - createFromObjects: function (name, gid, key, frame, exists, autoCull, group, CustomClass, adjustY, adjustSize) + createFromObjects: function (layer, search, key, frame, exists, autoCull, group, CustomClass, adjustY, adjustSize) { if (exists === undefined) { exists = true; } if (autoCull === undefined) { autoCull = false; } @@ -101068,91 +101021,89 @@ Phaser.Tilemap.prototype = { if (adjustY === undefined) { adjustY = true; } if (adjustSize === undefined) { adjustSize = true; } - if (!this.objects[name]) + var objects = this.objects[layer]; + + if (!objects) { - console.warn('Tilemap.createFromObjects: Invalid objectgroup name given: ' + name); - console.log('Objects: ', this.objects); + console.warn('Tilemap.createFromObjects: Invalid object layer name given: ' + layer); + console.log('Object layers: ', this.objects); return; } - for (var i = 0; i < this.objects[name].length; i++) - { - var found = false; - var obj = this.objects[name][i]; - - if (obj.gid !== undefined && typeof gid === 'number' && obj.gid === gid) - { - found = true; - } - else if (obj.id !== undefined && typeof gid === 'number' && obj.id === gid) - { - found = true; - } - else if (obj.name !== undefined && typeof gid === 'string' && obj.name === gid) - { - found = true; - } + var foundObjects = []; + var created = []; + var searchType = typeof search; - if (found) - { - var sprite = new CustomClass(this.game, parseFloat(obj.x), parseFloat(obj.y), key, frame); - - sprite.name = obj.name; - sprite.autoCull = autoCull; - sprite.exists = exists; - sprite.visible = obj.visible; + if (searchType === 'number') + { + this.getObjects(layer, 'gid', search, foundObjects); + } + else if (searchType === 'string') + { + this.getObjects(layer, 'name', search, foundObjects); + } + else if (Array.isArray(search)) + { + this.getObjects(layer, search[0], search[1], foundObjects); + } + else if (search === null) + { + foundObjects = objects; + } - if (adjustSize) - { - if (obj.width) - { - sprite.width = obj.width; - } + for (var i = 0; i < foundObjects.length; i++) + { + var obj = foundObjects[i]; + var sprite = new CustomClass(this.game, parseFloat(obj.x), parseFloat(obj.y), key, frame); - if (obj.height) - { - sprite.height = obj.height; - } - } + sprite.name = obj.name; + sprite.autoCull = autoCull; + sprite.exists = exists; + sprite.visible = obj.visible; - if (obj.rotation) + if (adjustSize) + { + if (obj.width) { - sprite.angle = obj.rotation; + sprite.width = obj.width; } - if (adjustY) + if (obj.height) { - sprite.y -= sprite.height; + sprite.height = obj.height; } + } - group.add(sprite); + if (obj.rotation) + { + sprite.angle = obj.rotation; + } - // Set properties directly on the sprite + // Tile objects have origin (0, 1), all others (0, 0) - var properties = obj.properties; + if (adjustY && obj.gid) + { + sprite.y -= sprite.height; + } - if (Array.isArray(properties)) - { - // New property format + if (group !== null) + { + group.add(sprite); + } - for (var j = 0; j < properties.length; j++) - { - var propData = properties[j]; + // Set properties directly on the sprite - group.set(sprite, propData.name, propData.value, false, false, 0, true); - } - } - else - { - // Old property format + var properties = obj.properties; - for (var propertyName in properties) - { - group.set(sprite, propertyName, properties[propertyName], false, false, 0, true); - } - } + for (var propertyName in properties) + { + Phaser.Utils.setProperty(sprite, propertyName, properties[propertyName]); } + + created.push(sprite); } + + return created; }, /** @@ -101435,6 +101386,51 @@ Phaser.Tilemap.prototype = { return this.getIndex(this.layers, name); }, + /** + * Gets the object with the given `id`, from any Object Layer. + * + * @param {number} id - The `id` of the object. + * + * @return {?TilemapObject} The object, or null if not found. + */ + getObject: function (id) + { + return this.objectsMap[id] || null; + }, + + /** + * Gets objects matching the given property name and value from an Object Layer. + * + * @param {string} layer - The name of the Object Layer. + * @param {string} propName - The name of the object property to match. + * @param {any} propValue - The property value to match. + * @param {array} [output] - An array to append matching objects to. + * + * @return {TilemapObject[]} - The matching objects. + */ + getObjects: function (layer, propName, propValue, output) + { + var objects = this.objects[layer]; + var len = objects.length; + + if (output === undefined) + { + output = []; + } + + for (var i = 0; i < len; i++) + { + var obj = objects[i]; + + if (obj[propName] === propValue) + { + output.push(obj); + } + } + + return output; + }, + /** * Gets the tileset index based on its name. * @@ -102685,6 +102681,31 @@ Object.defineProperty(Phaser.Tilemap.prototype, 'layer', { }); +/** + * @typedef {object} TilemapObject + * + * See {@link https://doc.mapeditor.org/en/latest/reference/json-map-format/#object} + * + * @property {boolean} ellipse - True for an ellipse + * @property {number} height - The height + * @property {number} id - The object identifier + * @property {string} name - The name + * @property {boolean} point - True for a point + * @property {boolean} rectangle - True for a rectangle + * @property {boolean} rotation - Rotation in degrees + * @property {string} type - The type + * @property {boolean} visible - Visible or hidden + * @property {number} width - The width + * @property {number} x - The x coordinate in global space + * @property {number} y - The y coordinate in global space + * @property {?number} gid - The global tile identifier, for a tile object + * @property {?number[][]} polygon - Vertices for a polygon + * @property {?number[][]} polyline - Vertices for a polyline + * @property {?object} properties - Custom properties + * @property {?string} template - The template path, for a template instance + * @property {?object} text - See {@link https://doc.mapeditor.org/en/latest/reference/json-map-format/#text} + */ + /** * @author Richard Davey * @copyright 2016 Photon Storm Ltd. @@ -104217,21 +104238,60 @@ Phaser.TilemapParser = { }; }, - _slice: function (obj, fields) + getEmptyObject: function () { - var sliced = {}; + return { - for (var k in fields) + // Common properties + + id: undefined, + x: undefined, + y: undefined, + width: undefined, + height: undefined, + rotation: undefined, + visible: undefined, + name: undefined, + type: undefined, + + // Uncommon properties + + ellipse: false, + gid: null, + point: false, + polygon: null, + polyline: null, + properties: null, + rectangle: false, + template: null, + text: null + }; + }, + + createObject: function (source) + { + var obj = Object.assign(this.getEmptyObject(), source); + + obj.rectangle = !obj.ellipse && !obj.gid && !obj.point && !obj.polygon && !obj.polyline && !obj.template && !obj.text; + + var props = obj.properties; + + // New property format + if (props && Array.isArray(props)) { - var key = fields[k]; + var propsMap = {}; - if (typeof obj[key] !== 'undefined') + for (var i = 0, len = props.length; i < len; i++) { - sliced[key] = obj[key]; + var prop = props[i]; + + propsMap[prop.name] = prop.value; } + + obj.properties = propsMap; } - return sliced; + return obj; }, /** @@ -104244,11 +104304,10 @@ Phaser.TilemapParser = { * @param {object} [relativePosition={x: 0, y: 0}] - Coordinates the object group's position is relative to. * @return {object} A object literal containing the objectsCollection and collisionCollection */ - parseObjectGroup: function (objectGroup, objectsCollection, collisionCollection, nameKey, relativePosition) + parseObjectGroup: function (objectGroup, objectsCollection, collisionCollection, nameKey, relativePosition, objectsMap) { var nameKey = nameKey || objectGroup.name; var relativePosition = relativePosition || {x: 0, y: 0}; - var slice = this._slice; if (!nameKey) { @@ -104266,47 +104325,20 @@ Phaser.TilemapParser = { for (var v = 0, len = objectGroup.objects.length; v < len; v++) { var o = objectGroup.objects[v]; + var object = this.createObject(o); - // Object Tiles - if (o.gid) - { - var object = { - gid: o.gid, - name: o.name, - type: o.type || '', - x: o.x + relativePosition.x, - y: o.y + relativePosition.y, - width: o.width, - height: o.height, - visible: o.visible, - properties: o.properties - }; + object.x += relativePosition.x; + object.y += relativePosition.y; - if (o.rotation) - { - object.rotation = o.rotation; - } + objectsCollection[nameKey].push(object); - objectsCollection[nameKey].push(object); - } - else if (o.polyline) + if (object.id) { - var object = { - name: o.name, - type: o.type, - x: o.x + relativePosition.x, - y: o.y + relativePosition.y, - width: o.width, - height: o.height, - visible: o.visible, - properties: o.properties - }; - - if (o.rotation) - { - object.rotation = o.rotation; - } + objectsMap[object.id] = object; + } + if (o.polyline) + { object.polyline = []; // Parse the polyline into an array @@ -104316,17 +104348,9 @@ Phaser.TilemapParser = { } collisionCollection[nameKey].push(object); - objectsCollection[nameKey].push(object); } - - // polygon else if (o.polygon) { - var object = slice(o, [ 'name', 'type', 'x', 'y', 'visible', 'rotation', 'properties' ]); - - object.x += relativePosition.x; - object.y += relativePosition.y; - // Parse the polygon into an array object.polygon = []; @@ -104336,30 +104360,10 @@ Phaser.TilemapParser = { } collisionCollection[nameKey].push(object); - objectsCollection[nameKey].push(object); } - - // ellipse - else if (o.ellipse) + else if (o.ellipse || o.rectangle) { - var object = slice(o, [ 'name', 'type', 'ellipse', 'x', 'y', 'width', 'height', 'visible', 'rotation', 'properties' ]); - object.x += relativePosition.x; - object.y += relativePosition.y; - collisionCollection[nameKey].push(object); - objectsCollection[nameKey].push(object); - } - - // otherwise it's a rectangle - else - { - var object = slice(o, [ 'name', 'type', 'x', 'y', 'width', 'height', 'visible', 'rotation', 'properties' ]); - object.x += relativePosition.x; - object.y += relativePosition.y; - - object.rectangle = true; - collisionCollection[nameKey].push(object); - objectsCollection[nameKey].push(object); } } @@ -104384,11 +104388,6 @@ Phaser.TilemapParser = { return null; } - if (json.version > 1.1) - { - console.warn('Some features in this Tiled JSON map (version %s) may not work in Phaser CE. Enable the json1 plugin and reexport the map in "Tiled 1.1" format. https://github.com/photonstorm/phaser-ce/issues/623', json.version); - } - // Map data will consist of: layers, objects, images, tilesets, sizes var map = { width: json.width, @@ -104716,6 +104715,7 @@ Phaser.TilemapParser = { // Objects & Collision Data (polylines, etc) var objects = {}; var collision = {}; + var objectsMap = {}; for (var i = 0; i < json.layers.length; i++) { @@ -104725,11 +104725,12 @@ Phaser.TilemapParser = { } var objectGroup = json.layers[i]; - this.parseObjectGroup(objectGroup, objects, collision); + this.parseObjectGroup(objectGroup, objects, collision, undefined, undefined, objectsMap); } map.objects = objects; map.collision = collision; + map.objectsMap = objectsMap; map.tiles = []; @@ -104830,7 +104831,9 @@ Phaser.TilemapParser = { { x: tile.worldX + objectGroup.x, y: tile.worldY + objectGroup.y - }); + }, + objectsMap + ); } } } diff --git a/build/phaser.map b/build/phaser.map index beda1dcb4..683814b20 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","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","_destroyTintedTexture","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","tintedTexture","CanvasPool","removeByCanvas","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","bringChildToTop","sendChildToBack","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","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","config","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","powerPreference","view","canvas","_contextOptions","antialias","failIfMajorPerformanceCaveat","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","postRender","displayObject","buffer","setBlendMode","begin","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","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","baseTextureChanged","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","unloadFromGPU","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","define","amd","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","AudioBufferSourceNode","noteGrainOn","noteOff","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","parts","_getProperty","setProperties","props","setProperty","_setProperty","val","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","centerX","centerY","normx","normy","fromPoints","fromSprite","startSprite","endSprite","useCenter","fromAngle","rotateAround","line","asSegment","intersectsPoints","midPoint","centerOn","pointOnLine","fuzzyEqual","xMin","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","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","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","isZero","limit","expand","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","pointslength","parse","xProp","yProp","parseFloat","isPoint","sortClockwise","center","_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","FLASH","FADE_OUT","FADE_IN","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","flash","beginFill","drawRect","endFill","fade","fadeEffect","fadeIn","updateFX","updateShake","checkBounds","dispatch","rnd","frac","updateTarget","math","setBoundsToWorld","vx","vw","vy","vh","setSize","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","postUpdate","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","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","previousStateKey","onPostUpdateCallback","_kickstart","getCurrentState","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","paramsArr","bindings","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","PluginManager","plugins","_len","_i","plugin","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","parseConfig","backgroundColor","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","silent","hash","removeFromHash","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","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","getFirst","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","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","wrapAll","between","Game","physicsConfig","multiTexture","isRunning","raf","Device","lockRender","pendingStep","stepCount","onBlur","onFocus","onBoot","_paused","_codePaused","_focusGained","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Debug","noop","isDisabled","showDebugHeader","forceSetTimeOut","RequestAnimationFrame","focusWindow","disableStart","isReady","onReady","PhaserGlobal","hideBanner","webAudio","ie","canvasID","canvasStyle","crisp","setImageRenderingCrisp","webGL","contextRestored","webGLRendererError","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","elapsed","deltaMax","slowMotion","fixedStepSize","enableStep","disableStep","removeFromDOM","cordova","iOS","focus","stopFocus","muteOnPause","setMute","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","mouseWheel","MouseWheel","pointerLock","PointerLock","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","CONTACT","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","Creature","TileSprite","graphicsData","fill","processClickTrampolines","handler","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","capture","stopOnGameOut","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","isAndroidStockBrowser","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","mouseMoveCallback","withinGame","resetButtons","updateButtons","element","wheelEventName","wheelEvent","boundOnWheelHandler","onWheelHandler","eventProxy","WheelEventProxy","bindEvent","deltaY","pointerDownCallback","pointerMoveCallback","pointerUpCallback","pointerOutCallback","pointerOverCallback","pointerCancelCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","_onMSPointerCancel","onPointerCancel","isMousePointerEvent","getPointerFromEvent","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","button","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","toLowerCase","down","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","locked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","doubleTap","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","PointerModes","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","dragPoint","pointerData","pointerLocalCoord","globalToLocal","prevX","prevY","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","onChange","onError","boundOnChangeHandler","onChangeHandler","boundOnErrorHandler","onErrorHandler","pointerLockElement","pointerlockchange","pointerlockerror","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","request","exit","_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","removeCallbacks","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","install","components","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","deltaX","deltaZ","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","prop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","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","animation","useFlatData","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","getBase64","encoderOptions","toDataURL","onLoadCallback","onErrorCallback","onload","onerror","addImage","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","g1","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","newWidth","newHeight","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","polygon","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","getVisualBounds","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_testString","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","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","testString","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","setCharacterLimit","characterLimit","suffix","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_letterSpacing","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","letterSpacing","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","autoScroll","stopScroll","generateTilingTexture","restartBatch","sessionBlendMode","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","nodeWebkit","electron","ejecta","crosswalk","android","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chrome","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","standalone","process","versions","_checkBrowser","AudioContext","webkitAudioContext","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","devicePixelRatio","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","CanvasRenderingContext2D","getItem","File","FileReader","FileList","Blob","requestFileSystem","WebGLRenderingContext","Worker","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","ALLOW_KEYBOARD_INPUT","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","fakeiOSTouchLock","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","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","isFinite","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","_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","deltaTotal","isTweening","checkIsRunning","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","ms","fps","blob","reversed","elapsedMS","_desiredFps","suggestedFps","desiredFps","advancedTiming","updates","renders","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_timers","timer","autoDestroy","previousDateNow","previousNow","updateAdvancedTiming","updateTimers","interval","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","_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","diff","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","row","column","totalAvailable","lastAvailable","firstFrame","lastFrame","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","layers","tileheight","tilewidth","tiles","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","DATA","_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","addData","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkDataKey","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","getData","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","removeData","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onBeforeLoadComplete","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","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","mediaTypes","avif","bmp","gif","ico","jpg","jpeg","png","svg","tif","tiff","webp","getMediaType","_getSource","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageset","sources","defaultSource","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","truecolor","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","tilemapCSV","tilemapTiledJSON","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","loadPictureTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","picElm","sourceElm","setAttribute","currentSrc","controls","autoplay","playsInline","videoLoadEvent","canplay","Audio","playThroughEvent","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","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","char","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","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_pendingStart","_removeFromSoundManager","_sourceId","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","_removeOnEndedHandler","_disconnectSource","isDecoded","loopFull","forceRestart","_stopSourceAndDisconnect","_createSourceAndConnect","_addOnEndedHandler","_startSource","muted","mute","prevMarker","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","createBufferSource","when","onended","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","baseLatency","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","_onStateChange","disableAudio","disableWebAudio","audioContext","onstatechange","setTouchLock","unlock","setTouchUnlock","webAudioIsSuspended","resumeWebAudio","resumeWebAudioIfSuspended","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactor","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","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","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","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","navigationUI","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","GEOM_AUTO","GEOM_RECTANGLE","GEOM_CIRCLE","GEOM_POINT","GEOM_LINE","GEOM_ELLIPSE","gameInfo","soundInfo","sourceId","ended","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","inactiveColor","mx","my","worldX","worldY","_pointerButtonIcon","btn","spriteInputInfo","justDown","justUp","inputInfo","showDetails","_inputHandler","free","inputHandler","_inputHandlerStatusIcon","_inputHandlerCaptureIcon","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","canvasPool","phaser","factor","loader","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","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","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","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","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","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","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","adjustSize","propData","propertyName","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","location","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","layerArg","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","all","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","_slice","fields","sliced","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","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","autoScaleFps","scaleData","_s","autoAlpha","autoAlphaFps","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","setSpeed","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","setGravity","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","onTimeout","playWhenUnlocked","timeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","captureVideo","removeVideoElement","getUserMediaTimeout","mediaDevices","then","getUserMediaSuccess","catch","getUserMediaError","mozSrcObject","srcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":"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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","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","_destroyTintedTexture","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","tintedTexture","CanvasPool","removeByCanvas","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","bringChildToTop","sendChildToBack","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","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","config","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","powerPreference","view","canvas","_contextOptions","antialias","failIfMajorPerformanceCaveat","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","postRender","displayObject","buffer","setBlendMode","begin","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","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","baseTextureChanged","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","unloadFromGPU","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","define","amd","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","AudioBufferSourceNode","noteGrainOn","noteOff","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","parts","_getProperty","setProperties","props","setProperty","_setProperty","val","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","centerX","centerY","normx","normy","fromPoints","fromSprite","startSprite","endSprite","useCenter","fromAngle","rotateAround","line","asSegment","intersectsPoints","midPoint","centerOn","pointOnLine","fuzzyEqual","xMin","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","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","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","isZero","limit","expand","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","pointslength","parse","xProp","yProp","parseFloat","isPoint","sortClockwise","center","_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","FLASH","FADE_OUT","FADE_IN","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","flash","beginFill","drawRect","endFill","fade","fadeEffect","fadeIn","updateFX","updateShake","checkBounds","dispatch","rnd","frac","updateTarget","math","setBoundsToWorld","vx","vw","vy","vh","setSize","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","postUpdate","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","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","previousStateKey","onPostUpdateCallback","_kickstart","getCurrentState","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","paramsArr","bindings","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","PluginManager","plugins","_len","_i","plugin","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","parseConfig","backgroundColor","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","silent","hash","removeFromHash","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","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","getFirst","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","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","wrapAll","between","Game","physicsConfig","multiTexture","isRunning","raf","Device","lockRender","pendingStep","stepCount","onBlur","onFocus","onBoot","_paused","_codePaused","_focusGained","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Debug","noop","isDisabled","showDebugHeader","forceSetTimeOut","RequestAnimationFrame","focusWindow","disableStart","isReady","onReady","PhaserGlobal","hideBanner","webAudio","ie","canvasID","canvasStyle","crisp","setImageRenderingCrisp","webGL","contextRestored","webGLRendererError","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","elapsed","deltaMax","slowMotion","fixedStepSize","enableStep","disableStep","removeFromDOM","cordova","iOS","focus","stopFocus","muteOnPause","setMute","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","mouseWheel","MouseWheel","pointerLock","PointerLock","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","CONTACT","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","Creature","TileSprite","graphicsData","fill","processClickTrampolines","handler","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","capture","stopOnGameOut","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","isAndroidStockBrowser","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","mouseMoveCallback","withinGame","resetButtons","updateButtons","element","wheelEventName","wheelEvent","boundOnWheelHandler","onWheelHandler","eventProxy","WheelEventProxy","bindEvent","deltaY","pointerDownCallback","pointerMoveCallback","pointerUpCallback","pointerOutCallback","pointerOverCallback","pointerCancelCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","_onMSPointerCancel","onPointerCancel","isMousePointerEvent","getPointerFromEvent","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","button","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","toLowerCase","down","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","locked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","doubleTap","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","PointerModes","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","dragPoint","pointerData","pointerLocalCoord","globalToLocal","prevX","prevY","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","onChange","onError","boundOnChangeHandler","onChangeHandler","boundOnErrorHandler","onErrorHandler","pointerLockElement","pointerlockchange","pointerlockerror","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","request","exit","_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","removeCallbacks","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","install","components","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","deltaX","deltaZ","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","prop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","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","animation","useFlatData","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","getBase64","encoderOptions","toDataURL","onLoadCallback","onErrorCallback","onload","onerror","addImage","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","g1","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","newWidth","newHeight","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","polygon","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","getVisualBounds","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_testString","testString","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontProperties","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","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","fontPropertiesContext","testStringMetrics","actualBoundingBoxAscent","asc","descent","desc","actualBoundingBoxDescent","mxWidth","setCharacterLimit","characterLimit","suffix","fontPropertiesCanvas","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_letterSpacing","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","letterSpacing","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","autoScroll","stopScroll","generateTilingTexture","restartBatch","sessionBlendMode","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","nodeWebkit","electron","ejecta","crosswalk","android","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chrome","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","standalone","process","versions","_checkBrowser","AudioContext","webkitAudioContext","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","devicePixelRatio","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","CanvasRenderingContext2D","getItem","File","FileReader","FileList","Blob","requestFileSystem","WebGLRenderingContext","Worker","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","ALLOW_KEYBOARD_INPUT","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","fakeiOSTouchLock","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","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","isFinite","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","_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","deltaTotal","isTweening","checkIsRunning","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","ms","fps","blob","reversed","elapsedMS","_desiredFps","suggestedFps","desiredFps","advancedTiming","updates","renders","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_timers","timer","autoDestroy","previousDateNow","previousNow","updateAdvancedTiming","updateTimers","interval","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","_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","diff","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","row","column","totalAvailable","lastAvailable","firstFrame","lastFrame","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","layers","tileheight","tilewidth","tiles","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","DATA","_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","addData","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkDataKey","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","getData","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","removeData","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onBeforeLoadComplete","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","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","mediaTypes","avif","bmp","gif","ico","jpg","jpeg","png","svg","tif","tiff","webp","getMediaType","_getSource","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageset","sources","defaultSource","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","truecolor","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","tilemapCSV","tilemapTiledJSON","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","loadPictureTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","picElm","sourceElm","setAttribute","currentSrc","controls","autoplay","playsInline","videoLoadEvent","canplay","Audio","playThroughEvent","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","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","char","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","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_pendingStart","_removeFromSoundManager","_sourceId","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","_removeOnEndedHandler","_disconnectSource","isDecoded","loopFull","forceRestart","_stopSourceAndDisconnect","_createSourceAndConnect","_addOnEndedHandler","_startSource","muted","mute","prevMarker","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","createBufferSource","when","onended","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","baseLatency","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","_onStateChange","disableAudio","disableWebAudio","audioContext","onstatechange","setTouchLock","unlock","setTouchUnlock","webAudioIsSuspended","resumeWebAudio","resumeWebAudioIfSuspended","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactor","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","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","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","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","navigationUI","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","GEOM_AUTO","GEOM_RECTANGLE","GEOM_CIRCLE","GEOM_POINT","GEOM_LINE","GEOM_ELLIPSE","gameInfo","soundInfo","sourceId","ended","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","inactiveColor","mx","my","worldX","worldY","_pointerButtonIcon","btn","spriteInputInfo","justDown","justUp","inputInfo","showDetails","_inputHandler","free","inputHandler","_inputHandlerStatusIcon","_inputHandlerCaptureIcon","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","canvasPool","phaser","factor","loader","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","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","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","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","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","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","objectsMap","collideIndexes","currentLayer","debugMap","_tempA","NORTH","EAST","SOUTH","WEST","setTileSize","createBlankLayer","addTilesetImage","tileset","tileMargin","tileSpacing","getTilesetIndex","setImage","newSet","Tileset","countX","countY","columns","rows","createFromObjects","search","CustomClass","adjustY","adjustSize","foundObjects","created","searchType","getObjects","propertyName","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","location","getObject","propName","propValue","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","layerArg","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","all","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","getEmptyObject","template","createObject","propsMap","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","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","autoScaleFps","scaleData","_s","autoAlpha","autoAlphaFps","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","setSpeed","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","setGravity","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","onTimeout","playWhenUnlocked","timeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","captureVideo","removeVideoElement","getUserMediaTimeout","mediaDevices","then","getUserMediaSuccess","catch","getUserMediaError","mozSrcObject","srcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":"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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 ccc7f9d16..86038ad89 100644 --- a/build/phaser.min.js +++ b/build/phaser.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.18.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.19.0 - 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 H;H=k,k=F,F=H,H=D,D=U,U=H,H=G,G=N,N=H,H=X,X=W,W=H,H=j,j=V,V=H}for(var q=F;q=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);H=u.length;for(T=0;T!==H;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++)(q=n[T])._wakeUpAfterNarrowphase&&(q.wakeUp(),q._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 H=u.length;for(T=0;T!==H;T++)u[T].update();if(c.contactEquations.length||c.frictionEquations.length||H)if(this.islandSplit){for(g.equations.length=0,v.appendArray(g.equations,c.contactEquations),v.appendArray(g.equations,c.frictionEquations),T=0;T!==H;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!==H;T++)a.addEquations(u[T].equations);this.solveConstraints&&a.solve(t,this),a.removeAllEquations()}for(T=0;T!==h;T++){var q=n[T];q.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)},_destroyTintedTexture:function(){this.tintedTexture&&(Phaser.CanvasPool.removeByCanvas(this.tintedTexture),this.tintedTexture=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.bringChildToTop=function(t){if(t.parent===this)return this.setChildIndex(t,this.children.length-1)},s.DisplayObjectContainer.prototype.sendChildToBack=function(t){if(t.parent===this)return this.setChildIndex(t,0)},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=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.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=t.texture.baseTexture.textureIndex;if(s._enableMultiTextureToggle){var n=e.baseTexture,r=this.gl;s.WebGLRenderer.textureArray[i]!=n&&(this.flush(),r.activeTexture(r.TEXTURE0+i),r.bindTexture(r.TEXTURE_2D,n._glTextures[r.id]),s.WebGLRenderer.textureArray[i]=n)}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++]=i,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++]=i,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++]=i,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++]=i,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);var x=u!==r;if((!s._enableMultiTextureToggle&&x&&!v||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 b=this.renderSession.projection;e.uniform2f(t.projectionVector,b.x,b.y);var _=this.renderSession.offset;e.uniform2f(t.offsetVector,_.x,_.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(){var t=this,e=e||{VERSION:"2.18.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("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),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,i,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=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(i),o=n*Math.sin(i);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new e.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,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,r){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.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(e.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(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.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},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.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},e.Circle.intersectsLine=function(t,i,s){var n=t.x,r=t.y,o=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-o*i.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 e.Point(u,p),m=new e.Point(d,f),y=i.pointOnSegment(g.x,g.y,.01),v=i.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.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 e.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 e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.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 e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(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},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.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},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=i.x,h=i.y,l=i.right,c=i.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 e.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,i){return e.Point.distance(this,t,i)},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,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,r){return e.Point.rotate(this,t,i,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},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.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(e.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(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.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(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.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)},e.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}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,r,o),this.bounds=new e.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 e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.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 e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.FLASH=0,e.Camera.FADE_OUT=1,e.Camera.FADE_IN=2,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(i){case e.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case e.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.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,i,s,n,r){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.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,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_OUT)},fadeIn:function(t,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_IN)},fadeEffect:function(t,i,s,n,r){if(void 0===t&&(t=0),void 0===i&&(i=500),void 0===s&&(s=!1),void 0===n&&(n=1),!this.fx||!s&&this._fxDuration>0)return!1;if(this.fx.clear(),this.fx.beginFill(t,n),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),r<1||r>2)throw new Error("Wrong `type` argument");return this.fx.alpha=r===e.Camera.FADE_IN?1:0,this._fxDuration=i,this._fxType=r,!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(){this._fxType===e.Camera.FLASH?(this.fx.alpha-=this.game.time.delta/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):this._fxType===e.Camera.FADE_IN?(this.fx.alpha-=this.game.time.delta/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFadeComplete.dispatch())):(this.fx.alpha+=this.game.time.delta/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.delta,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}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.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(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.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},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.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},e.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,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(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){if(this.clearCurrentState(),this.setCurrentState(this._pendingState),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 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){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.current,i=this.states[t];this.callbackContext=i,this.link(t),this.onInitCallback=i.init||this.dummy,this.onPreloadCallback=i.preload||null,this.onLoadRenderCallback=i.loadRender||null,this.onLoadUpdateCallback=i.loadUpdate||null,this.onCreateCallback=i.create||null,this.onUpdateCallback=i.update||null,this.onPostUpdateCallback=i.postUpdate||null,this.onPreRenderCallback=i.preRender||null,this.onRenderCallback=i.render||null,this.onResizeCallback=i.resize||null,this.onPausedCallback=i.paused||null,this.onResumedCallback=i.resumed||null,this.onPauseUpdateCallback=i.pauseUpdate||null,this.onShutDownCallback=i.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onStateChange.dispatch(this.current,e),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.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.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(){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===e.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.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.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,i,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else o=new e.SignalBinding(this,t,i,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)},e.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)},e.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===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,l=i*n,c=o;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.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},e.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},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.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},e.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},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))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},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=e.Utils.getProperty(t,i);return!(void 0===r&&n||r!==s)},e.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)},e.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=this.children.length,a=0;a2){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()}},e.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},e.Group.prototype.iterate=function(t,i,s,n,r,o){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!i||i.call(s,h,r))&&(n=r,o=h)}return o},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.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 e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.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}},e.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()}},e.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)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.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(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.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(e.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(e.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(e.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(e.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(e.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}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.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)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.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()},e.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))},e.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(e.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){tthis.time.deltaMax){if(this.dropFrames)return;e=this.time.deltaMax}if(this.forceSingleUpdate)this.updatesThisFrame=1,this.rendersThisFrame=1,this.updateLogic(.001*e/this.time.slowMotion),this.updateRender();else if(this._spiraling>2)this.updatesThisFrame=0,this.rendersThisFrame=0,this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0;else{var i=0,s=1e3*this.time.desiredFpsMult;for(this._deltaTime+=e,this.updatesThisFrame=Math.floor(this._deltaTime/s),this.rendersThisFrame=this.forceSingleRender?1:Math.min(1,this.updatesThisFrame);this._deltaTime>=s;)this._deltaTime-=s,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult/this.time.slowMotion),this.time.refresh(),i++;i>this._lastCount?this._spiraling++:i0&&this.updateRender()}}}}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.preUpdate(t),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(){this.lockRender||this.renderType===e.HEADLESS||(this.time.preRender(),this.state.preRender(),this.renderer.render(this.stage),this.plugins.render(),this.state.render(),this.plugins.postRender(),this.renderer.postRender())},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.gamePaused(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.gameResumed(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this._focusGained=!0,this.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),e.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=e.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!0===t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},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+i.x=a&&this.game.camera.y+i.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}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.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===i,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 e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.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,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,r="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):r||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},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 i=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),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.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===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.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,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!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.pointerLock.locked&&!i&&(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===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.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,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!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 i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=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&&i.currentPointers--,i.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=e.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){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,r=this._pointerData[t.id],o=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var l=i.scale.x*h.x+n.x+s.x,c=i.scale.y*h.y+n.y+s.y;else var l=h.x+n.x+s.x,c=h.y+n.y+s.y;if(a.fixedToCamera){var u=a.cameraOffset,d=u.x,p=u.y;this.allowHorizontalDrag&&(u.x=l-i.x),this.allowVerticalDrag&&(u.y=c-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(u.x=Math.round((u.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,u.y=Math.round((u.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(u.x,u.y));var f=u.x-d,g=u.y-p}else{var m=i.x-r.camX,y=i.y-r.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=l+m),this.allowVerticalDrag&&(a.y=c+y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(a.x,a.y));var f=a.x-d,g=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,l,c,o,e,f,g),!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)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.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 e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this)]},e.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 i=!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}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;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},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.delta,this.lifespan<=0))||(this.kill(),!1)},e.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}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||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===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.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(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)o=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,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,i)}r&&(this._frame=e.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}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):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))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.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)}}},e.Component.Reset=function(){},e.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},e.Component.ScaleMinMax=function(){},e.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,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,r){var o=this.game.plugins.add(e.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,i,s,n),o},image:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,r,o,a){void 0===r&&(r=this.world);var h=new e.Creature(this.game,t,i,s,n,o,a);return r.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,r){return new e.Group(this.game,t,i,s,n,r)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,r,o))},rope:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.Rope(this.game,t,i,s,n,r))},text:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,r,o,a,h,l,c){return void 0===c&&(c=this.world),c.add(new e.Button(this.game,t,i,s,n,r,o,a,h,l))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.BitmapText(this.game,t,i,s,n,r))},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,r){return new e.Group(this.game,t||null,i,s,n,r)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o){return new e.TileSprite(this.game,t,i,s,n,r,o)},rope:function(t,i,s,n,r){return new e.Rope(this.game,t,i,s,n,r)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,r,o,a,h,l){return new e.Button(this.game,t,i,s,n,r,o,a,h,l)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return new e.BitmapText(this.game,t,i,s,n,r,o)},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,r,o,a,h,l,c){i=i||0,s=s||0,n=n||null,r=r||null,o=o||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.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 e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.PointerMode.CONTACT,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)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;return e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.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)},e.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())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},e.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},e.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)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.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)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.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")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.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())},e.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&&i>=0&&i<=this.height&&(e.Device.LITTLE_ENDIAN?this.pixels[i*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[i*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,i,s){s||(s=e.Color.createColor());var n=~~(t+i*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,i,s,n,r){return e.Color.unpackPixel(this.getPixel32(t,i),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 i=e.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{e.Color.unpackPixel(this.getPixel32(s,n),i),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===i.a&&!o);return i.x=s,i.y=n,i},getBounds:function(t){return void 0===t&&(t=new e.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,i,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 e.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof e.Sprite||t instanceof e.Image||t instanceof e.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 e.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 e.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return this;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==i&&null!==i||(i=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=i),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)return this;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+i,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,i,s){if(void 0===i&&(i=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 e.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,i&&(this.op=i),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,i,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,i,s),t.type===e.GROUP&&t.exists)this.drawGroup(t,i,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ni.width&&(n=i.width);var r=this.context;return r.fillStyle=r.createPattern(i,s),this._circle=new e.Circle(t.start.x,t.start.y,i.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,i.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),e.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 e.EarCut.earcutLinked(o,a,s,h,l,f),a},e.EarCut.linkedList=function(t,i,s,n,r){var o,a,h,l=0;for(o=i,a=s-n;o0)for(o=i;o=i;o-=n)h=e.EarCut.insertNode(o,t[o],t[o+1],h);return h},e.EarCut.filterPoints=function(t,i){if(!t)return t;i||(i=t);var s,n=t;do{if(s=!1,n.steiner||!e.EarCut.equals(n,n.next)&&0!==e.EarCut.area(n.prev,n,n.next))n=n.next;else{if(e.EarCut.removeNode(n),(n=i=n.prev)===n.next)return null;s=!0}}while(s||n!==i);return i},e.EarCut.earcutLinked=function(t,i,s,n,r,o,a){if(t){!a&&o&&e.EarCut.indexCurve(t,n,r,o);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?e.EarCut.isEarHashed(t,n,r,o):e.EarCut.isEar(t))i.push(h.i/s),i.push(t.i/s),i.push(l.i/s),e.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=e.EarCut.cureLocalIntersections(t,i,s),e.EarCut.earcutLinked(t,i,s,n,r,o,2)):2===a&&e.EarCut.splitEarcut(t,i,s,n,r,o):e.EarCut.earcutLinked(e.EarCut.filterPoints(t),i,s,n,r,o,1);break}}},e.EarCut.isEar=function(t){var i=t.prev,s=t,n=t.next;if(e.EarCut.area(i,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(e.EarCut.pointInTriangle(i.x,i.y,s.x,s.y,n.x,n.y,r.x,r.y)&&e.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},e.EarCut.isEarHashed=function(t,i,s,n){var r=t.prev,o=t,a=t.next;if(e.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=e.EarCut.zOrder(h,l,i,s,n),p=e.EarCut.zOrder(c,u,i,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.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&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},e.EarCut.cureLocalIntersections=function(t,i,s){var n=t;do{var r=n.prev,o=n.next.next;e.EarCut.intersects(r,n,n.next,o)&&e.EarCut.locallyInside(r,o)&&e.EarCut.locallyInside(o,r)&&(i.push(r.i/s),i.push(n.i/s),i.push(o.i/s),e.EarCut.removeNode(n),e.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},e.EarCut.splitEarcut=function(t,i,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&e.EarCut.isValidDiagonal(a,h)){var l=e.EarCut.splitPolygon(a,h);return a=e.EarCut.filterPoints(a,a.next),l=e.EarCut.filterPoints(l,l.next),e.EarCut.earcutLinked(a,i,s,n,r,o),void e.EarCut.earcutLinked(l,i,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},e.EarCut.eliminateHoles=function(t,i,s,n){var r,o,a,h,l,c=[];for(r=0,o=i.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&&e.EarCut.pointInTriangle(os.x)&&e.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},e.EarCut.indexCurve=function(t,i,s,n){var r=t;do{null===r.z&&(r.z=e.EarCut.zOrder(r.x,r.y,i,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,e.EarCut.sortLinked(r)},e.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},e.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},e.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},e.EarCut.isValidDiagonal=function(t,i){return e.EarCut.equals(t,i)||t.next.i!==i.i&&t.prev.i!==i.i&&!e.EarCut.intersectsPolygon(t,i)&&e.EarCut.locallyInside(t,i)&&e.EarCut.locallyInside(i,t)&&e.EarCut.middleInside(t,i)},e.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},e.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},e.EarCut.intersects=function(t,i,s,n){return e.EarCut.area(t,i,s)>0!=e.EarCut.area(t,i,n)>0&&e.EarCut.area(s,n,t)>0!=e.EarCut.area(s,n,i)>0},e.EarCut.intersectsPolygon=function(t,i){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==i.i&&s.next.i!==i.i&&e.EarCut.intersects(s,s.next,t,i))return!0;s=s.next}while(s!==t);return!1},e.EarCut.locallyInside=function(t,i){return e.EarCut.area(t.prev,t,t.next)<0?e.EarCut.area(t,i,t.next)>=0&&e.EarCut.area(t,t.prev,i)>=0:e.EarCut.area(t,i,t.prev)<0||e.EarCut.area(t,t.next,i)<0},e.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},e.EarCut.splitPolygon=function(t,i){var s=new e.EarCut.Node(t.i,t.x,t.y),n=new e.EarCut.Node(i.i,i.x,i.y),r=t.next,o=i.prev;return t.next=i,i.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},e.EarCut.insertNode=function(t,i,s,n){var r=new e.EarCut.Node(t,i,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},e.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)},e.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,i){var s,n=i.gl,r=i.projection,o=i.offset,a=i.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===e.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===e.CIRCLE||a.type===e.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===e.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,i.beginPath(),i.moveTo(_,w+C),i.lineTo(_,w+P-C),i.quadraticCurveTo(_,w+P,_+C,w+P),i.lineTo(_+T-C,w+P),i.quadraticCurveTo(_+T,w+P,_+T,w+P-C),i.lineTo(_+T,w+C),i.quadraticCurveTo(_+T,w,_+T-C,w),i.lineTo(_+C,w),i.quadraticCurveTo(_,w,_,w+C),i.closePath(),(r.fillColor||0===r.fillColor)&&(i.globalAlpha=r.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fill()),r.lineWidth&&(i.globalAlpha=r.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,i){var s=t.graphicsData.length;if(0!==s){i.beginPath();for(var n=0;nP?P:T,i.moveTo(x,b+T),i.lineTo(x,b+w-T),i.quadraticCurveTo(x,b+w,x+T,b+w),i.lineTo(x+_-T,b+w),i.quadraticCurveTo(x+_,b+w,x+_,b+w-T),i.lineTo(x+_,b+T),i.quadraticCurveTo(x+_,b,x+_-T,b),i.lineTo(x+T,b),i.quadraticCurveTo(x,b,x,b+T),i.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}},e.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},e.GraphicsData.prototype.constructor=e.GraphicsData,e.GraphicsData.prototype.clone=function(){return new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},e.Graphics=function(t,i,s){void 0===i&&(i=0),void 0===s&&(s=0),this.type=e.GRAPHICS,this.physicsType=e.SPRITE,this.anchor=new e.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 e.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Graphics.prototype.constructor=e.Graphics,e.Component.Core.install.call(e.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.Graphics.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Graphics.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Graphics.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Graphics.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Graphics.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},e.Graphics.prototype.drawTriangles=function(t,i,s){void 0===s&&(s=!1);var n,r=new e.Point,o=new e.Point,a=new e.Point,h=[];if(i)if(t[0]instanceof e.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},e.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},e.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},e.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},e.Graphics.prototype.drawRect=function(t,i,s,n){return this.drawShape(new e.Rectangle(t,i,s,n)),this},e.Graphics.prototype.drawRoundedRect=function(t,i,s,n,r){return this.drawShape(new e.RoundedRectangle(t,i,s,n,r)),this},e.Graphics.prototype.drawCircle=function(t,i,s){return this.drawShape(new e.Circle(t,i,s)),this},e.Graphics.prototype.drawEllipse=function(t,i,s,n){return this.drawShape({x:t,y:i,width:s,height:n,type:e.ELLIPSE}),this},e.Graphics.prototype.drawPolygon=function(t){t instanceof e.Polygon&&(t=t.points);var i=t;if(!Array.isArray(i)){i=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},e.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=e.identityMatrix;for(var i=0;ii?a+l:i,s=hn?h+c:n;else if(p===e.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,c=r.radius+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else if(p===e.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,c=r.height+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else{o=r.points;for(var g=0;gi?a+f:i,s=h-fn?h+f:n}}else t=0,i=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=i-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},e.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},e.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()},e.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},e.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof e.Polygon&&(t=t.clone()).flatten();var i=new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(i),i.type===e.POLYGON&&(i.shape.closed=this.filling,this.currentPath=i),this.dirty=!0,this._boundsDirty=!0,i},Object.defineProperty(e.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}}),e.RenderTexture=function(t,i,s,n,r,o,a,h){if(void 0===i&&(i=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=e.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=e.RENDERTEXTURE,this._tempMatrix=new e.Matrix,this.width=i,this.height=s,this.resolution=o,this.frame=new e.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===e.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 e.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 e.Matrix,this._updateUvs()},e.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),e.RenderTexture.prototype.constructor=e.RenderTexture,e.RenderTexture.prototype.renderXY=function(t,i,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=i,this._tempMatrix.ty=s,this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.renderRawXY=function(t,i,s,n){this._tempMatrix.identity().translate(i,s),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.render=function(t,i,s){void 0===i||null===i?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(i),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},e.RenderTexture.prototype.resize=function(t,i,s){t===this.width&&i===this.height||(this.valid=t>0&&i>0,this.width=t,this.height=i,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=i*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===e.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},e.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===e.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},e.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},e.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)},e.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++}},e.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},e.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},e.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},e.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},e.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},e.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},e.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)/)},e.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},e.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,"")},e.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},e.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()},e.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.Text.prototype.determineFontProperties=function(t){var i=e.Text.fontPropertiesCache[t],s=this.testString||"|MÉq";if(!i){i={};var n=e.Text.fontPropertiesCanvas,r=e.Text.fontPropertiesContext;r.font=t;var o=Math.ceil(r.measureText(s).width),a=Math.ceil(r.measureText(s).width),h=2*a;if(a=1.4*a|0,n.width=o,n.height=h,r.fillStyle="#f00",r.fillRect(0,0,o,h),r.font=t,r.textBaseline="alphabetic",r.fillStyle="#000",r.fillText(s,0,a),!r.getImageData(0,0,o,h))return i.ascent=a,i.descent=a+6,i.fontSize=i.ascent+i.descent,e.Text.fontPropertiesCache[t]=i,i;var l,c,u=r.getImageData(0,0,o,h).data,d=u.length,p=4*o,f=0,g=!1;for(l=0;la;l--){for(c=0;c0?this._maxWidth:null,l=[],c=0;c=h&&r>-1)return{width:o||n,text:i.substr(0,c-(c-r)),end:!1,chars:l};n+=(p.xAdvance+g+this.letterSpacing)*e,l.push(s+(p.xOffset+g+this.letterSpacing)*e),s+=(p.xAdvance+g+this.letterSpacing)*e,a=d}return{width:n,text:i,end:u,chars:l}},e.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(e.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),e.RetroFont=function(t,i,s,n,r,o,a,h,l,c){if(!t.cache.checkImageKey(i))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(i).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(i),this._text="",this.grabData=[],this.frameData=new e.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",e.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",e.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",e.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",e.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",e.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",e.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",e.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",e.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},e.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)},e.RetroFont.prototype.buildRetroFontText=function(){var t=0,i=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===e.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===e.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},e.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},e.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},e.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},e.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(e.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(e.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),e.Rope=function(t,i,s,n,r,o){this.points=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=e.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=e.Rope.TRIANGLE_STRIP,e.Component.Core.init.call(this,t,i,s,n,r),this.refresh()},e.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Rope.prototype.constructor=e.Rope,e.Component.Core.install.call(e.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Rope.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Rope.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Rope.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Rope.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Rope.TRIANGLE_STRIP=0,e.Rope.TRIANGLES=1,e.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},e.Rope.prototype.reset=function(t,i){return e.Component.Reset.prototype.reset.call(this,t,i),this},e.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;for(var n=t.length,r=0,o=0,a=0;a0){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()},e.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nl?y:l,c=v>c?v:c}if(u===-1/0||c===1/0)return e.EmptyRectangle;var x=this._bounds;return x.x=u,x.width=l-u,x.y=d,x.height=c-d,this._currentBounds=x,x},Object.defineProperty(e.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(e.Rope.prototype,"segments",{get:function(){for(var t,i,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(e.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(e.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),e.CanvasPool={create:function(t,i,s){var n,r=e.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};e.CanvasPool.pool.push(o),n=o.canvas}else e.CanvasPool.pool[r].parent=t,n=e.CanvasPool.pool[r].canvas;return void 0!==i&&(n.width=i,n.height=s),n},getFirst:function(){for(var t=e.CanvasPool.pool,i=0;i=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&&i(),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=!!window.WebGLRenderingContext,s.worker=!!window.Worker,s.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,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=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var r=i.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]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.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"))},e.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))))))},e.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)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,r){i=i||256,s=s||256;var o=r?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=i,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,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),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 i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},setImageRenderingCrisp:function(t){for(var e=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","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=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=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}},e.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)},e.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(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.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)},e.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 e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.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 e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},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}},e.QuadTree.prototype.constructor=e.QuadTree,e.TweenManager=function(t){this.game=t,this._tweens=[],this._add=[],this.easeMap={Power0:e.Easing.Power0,Power1:e.Easing.Power1,Power2:e.Easing.Power2,Power3:e.Easing.Power3,Power4:e.Easing.Power4,Linear:e.Easing.Linear.None,Quad:e.Easing.Quadratic.Out,Cubic:e.Easing.Cubic.Out,Quart:e.Easing.Quartic.Out,Quint:e.Easing.Quintic.Out,Sine:e.Easing.Sinusoidal.Out,Expo:e.Easing.Exponential.Out,Circ:e.Easing.Circular.Out,Elastic:e.Easing.Elastic.Out,Back:e.Easing.Back.Out,Bounce:e.Easing.Bounce.Out,"Quad.easeIn":e.Easing.Quadratic.In,"Cubic.easeIn":e.Easing.Cubic.In,"Quart.easeIn":e.Easing.Quartic.In,"Quint.easeIn":e.Easing.Quintic.In,"Sine.easeIn":e.Easing.Sinusoidal.In,"Expo.easeIn":e.Easing.Exponential.In,"Circ.easeIn":e.Easing.Circular.In,"Elastic.easeIn":e.Easing.Elastic.In,"Back.easeIn":e.Easing.Back.In,"Bounce.easeIn":e.Easing.Bounce.In,"Quad.easeOut":e.Easing.Quadratic.Out,"Cubic.easeOut":e.Easing.Cubic.Out,"Quart.easeOut":e.Easing.Quartic.Out,"Quint.easeOut":e.Easing.Quintic.Out,"Sine.easeOut":e.Easing.Sinusoidal.Out,"Expo.easeOut":e.Easing.Exponential.Out,"Circ.easeOut":e.Easing.Circular.Out,"Elastic.easeOut":e.Easing.Elastic.Out,"Back.easeOut":e.Easing.Back.Out,"Bounce.easeOut":e.Easing.Bounce.Out,"Quad.easeInOut":e.Easing.Quadratic.InOut,"Cubic.easeInOut":e.Easing.Cubic.InOut,"Quart.easeInOut":e.Easing.Quartic.InOut,"Quint.easeInOut":e.Easing.Quintic.InOut,"Sine.easeInOut":e.Easing.Sinusoidal.InOut,"Expo.easeInOut":e.Easing.Exponential.InOut,"Circ.easeInOut":e.Easing.Circular.InOut,"Elastic.easeInOut":e.Easing.Elastic.InOut,"Back.easeInOut":e.Easing.Back.InOut,"Bounce.easeInOut":e.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},e.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,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_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)},destroy:function(){this.game.onPause.remove(this._pauseAll,this),this.game.onResume.remove(this._resumeAll,this),this.game=null,this._add=null,this._tweens=null}},e.TweenManager.prototype.constructor=e.TweenManager,e.Tween=function(t,i,s){this.game=i,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new e.Signal,this.onLoop=new e.Signal,this.onRepeat=new e.Signal,this.onChildComplete=new e.Signal,this.onComplete=new e.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},e.Tween.updateColor=function(t){e.Color.updateColor(t.target)},e.Tween.prototype={to:function(t,i,s,n,r,o,a){return(void 0===i||i<=0)&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).to(t,i,s,r,o,a)),n&&this.start(),this)},from:function(t,i,s,n,r,o,a){return void 0===i&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).from(t,i,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(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.deltaTotal},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.deltaTotal)},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.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])),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 e.TweenData.PENDING;this.isRunning=!0}var i=this.game.time.delta;this.parent.reverse?(this.dt-=i*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=i*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():e.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,e.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return e.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.deltaTotal,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,e.TweenData.LOOPED}},e.TweenData.prototype.constructor=e.TweenData,e.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){return 0===t?0:1===t?1:(.1,-1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4))},Out:function(t){return 0===t?0:1===t?1:(.1,1*Math.pow(2,-10*t)*Math.sin((t-.1)*(2*Math.PI)/.4)+1)},InOut:function(t){return 0===t?0:1===t?1:(.1,(t*=2)<1?1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*-.5:1*Math.pow(2,-10*(t-=1))*Math.sin((t-.1)*(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-e.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*e.Easing.Bounce.In(2*t):.5*e.Easing.Bounce.Out(2*t-1)+.5}}},e.Easing.Default=e.Easing.Linear.None,e.Easing.Power0=e.Easing.Linear.None,e.Easing.Power1=e.Easing.Quadratic.Out,e.Easing.Power2=e.Easing.Cubic.Out,e.Easing.Power3=e.Easing.Quartic.Out,e.Easing.Power4=e.Easing.Quintic.Out,e.Time=function(t){this.game=t,this.time=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.delta=0,this.deltaTotal=0,this.deltaMax=200,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=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 e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._timers=[]},e.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 i=new e.Timer(this.game,t);return this._timers.push(i),i},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){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},preUpdate:function(t){t*=1e3,this.delta=t,this.deltaTotal+=t,this.game.paused||(this.events.update(this.deltaTotal),this.updateTimers()),this.advancedTiming&&this.updates++},preRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted},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(e.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.desiredFpsMult=1/t}}),Object.defineProperty(e.Time.prototype,"desiredMinFps",{get:function(){return 1e3/this.deltaMax},set:function(t){this.deltaMax=1e3/t}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.Signal,this.nextTick=0,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=this.game.time?this.game.time.deltaTotal:0,this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,r,o){var a=(t=Math.round(t))+this._now,h=new e.TimerEvent(this,t,a,s,i,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.deltaTotal+(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._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.deltaTotal,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.deltaTotal,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.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},e.TimerEvent.prototype.constructor=e.TimerEvent,e.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=[]},e.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,i,s,n,r){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,r,this._outputFrames),this._anims[t]=new e.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}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},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(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},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)}}),e.Animation=function(t,i,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=i,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 e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.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.deltaTotal,this._timeNextFrame=this.game.time.deltaTotal+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.deltaTotal,this._timeNextFrame=this.game.time.deltaTotal+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=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(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||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.updateCurrentFrame(!1),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()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.deltaTotal:this.isPlaying&&(this._timeNextFrame=this.game.time.deltaTotal+this.delay)}}),Object.defineProperty(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.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(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,r){void 0===n&&(n="");var o=[],a="";if(i=s;h--)a=t+(a="number"==typeof r?e.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},e.Frame=function(t,i,s,n,r,o){this.index=t,this.x=i,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+o+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=e.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},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},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 e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.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 e.FrameData,i=0;if||h<-f)return console.error('Spritesheet "%s": skipFrames=%s is larger than the frame total %s',i,h,f),null;if(r>-1&&(v=(f=r)-1),d<1&&console.warn('Spritesheet "%s": Texture has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)',i,c,s+o+a,s,o,a),p<1&&console.warn('Spritesheet "%s": Texture has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)',i,u,n+o+a,n,o,a),0===g)return console.error('Spritesheet "%s": zero frames were produced',i),null;if(h>0?v=(y=h)+(f=Math.min(f,g-h))-1:h<0&&(y=(v=m+h)-(f=Math.min(f,g+h))+1),y<0)return console.error('Spritesheet "%s": There is no frame at index %s',i,y),null;if(v>m)return console.warn('Spritesheet "%s": There is no frame at index %s. Last frame found is index %s',i,v,m),null;for(var x=new e.FrameData,b=o,_=o,w=0,T=0;Tv);T++)T>=y&&x.addFrame(new e.Frame(w++,b,_,s,n,"")),(b+=s+a)+s>c&&(b=o,_+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,r=i.frames,o=0;o tag")}},e.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:{},data:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._cacheMap[e.Cache.DATA]=this._cache.data,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DATA=16,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in e.LoaderParser?e.LoaderParser[s](n):n,o={key:t,url:i,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new e.Frame(0,0,0,r.width,r.height,t),frameData:new e.FrameData,fileFormat:s};return o.frameData.addFrame(new e.Frame(0,0,0,r.width,r.height,i)),this._cache.image[t]=o,this._resolveURL(i,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,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.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(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.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,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,r,o,a){var h={url:i,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?e.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,r,o,a){var h=this.getFrameByName(i,s);if(h){var l={font:null,base:this.getBaseTexture(i),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var c;"json"===r?(c=this.getJSON(n),l.font=e.LoaderParser.jsonBitmapFont(c,l.base,o,a,h,this.game.resolution)):(c=this.getXML(n),l.font=e.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,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,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:i,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=c,this._resolveURL(i,c)},addTextureAtlas:function(t,i,s,n,r){var o={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===e.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=e.AnimationParser.XMLData(this.game,n,t):r===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=e.AnimationParser.JSONData(this.game,n,t):o.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(i,o)},addData:function(t,e){this._cache.data[t]=e},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 i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.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(e.Cache.CANVAS,t)},checkDataKey:function(t){return this.checkKey(e.Cache.DATA,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.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,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var r=n[i];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+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getData:function(t){return this.getItem(t,e.Cache.DATA,"getData")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},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=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},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]},removeData:function(t){delete this._cache.data[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.",i),t._ready())},e.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)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.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 e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.Signal,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},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.mediaTypes={avif:"image/avif",bmp:"image/bmp",cur:"image/x-icon",gif:"image/gif",ico:"image/x-icon",jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",svg:"image/svg+xml",tif:"image/tiff",tiff:"image/tiff",webp:"image/webp"},e.Loader.getMediaType=function(t){var i=t.match(/\.(\w+)$/);return i?e.Loader.mediaTypes[i[1]]||null:null},e.Loader._getSource=function(t){return"string"==typeof t?{url:t,type:e.Loader.getMediaType(t)}:t},e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.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.game.state&&(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.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 i=t.data[t.key];if(i)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()},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,i){if(this.game.isBooted){var s=!0;switch(t.type){case"packfile":r=JSON.parse(i.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,i.response);break;case"image":case"imageset":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===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.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=i.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=i.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=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(i.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=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.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(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.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;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=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]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),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}},e.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])},e.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]}},e.AudioSprite.prototype.constructor=e.AudioSprite,e.Sound=function(t,i,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=i,this.key=i,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.playOnce=!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._pendingStart=!1,this._removeFromSoundManager=!1,this._sourceId=0,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,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(i)&&this.game.cache.isSoundReady(i)?(this._sound=this.game.cache.getSoundData(i),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new e.Signal,this.onPlay=new e.Signal,this.onPause=new e.Signal,this.onResume=new e.Signal,this.onLoop=new e.Signal,this.onStop=new e.Signal,this.onMute=new e.Signal,this.onMarkerComplete=new e.Signal,this.onFadeComplete=new e.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},e.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&&(this._removeOnEndedHandler(),this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),this._markedToDelete&&(this._disconnectSource(),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(){if(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));var t=this.game.time.time;if(this.isPlaying){if(this._pendingStart){var e=this._sound.currentTime;if(!(e>((this.paused?this._tempPause:0)||this.position||0)))return;this._pendingStart=!1,this.startTime=t-1e3*e,this.stopTime=this.startTime+this.durationMS}this.currentTime=t-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=t,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0,!1))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=t),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0,!1)):this.stop())}}else this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n,r){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),void 0===r&&(r=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0),this.isPlaying=!1),""===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._createSourceAndConnect(),this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||this._addOnEndedHandler(),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),this.loop&&""===t?this._startSource(0,0):this._startSource(0,this.position,this.duration),this.isPlaying=!0,this.paused=!1,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&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._sound.loop=this.loop,this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._globalVolume=this.game.sound.volume,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._globalVolume,this._pendingStart=!this.currentMarker,this.isPlaying=!0,this.paused=!1,this._tempPause=0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&this.onPlay.dispatch(this)):this.pendingPlayback=!0,this.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!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.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){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._createSourceAndConnect(),""===this.currentMarker&&(this.loop?this._sound.loop=!0:this._addOnEndedHandler());var e=this.duration-this.pausedPosition/1e3;this.loop&&""===this.currentMarker?this._startSource(0,t):this._startSource(0,t,e)}else this._pendingStart=!this.currentMarker,this._sound.currentTime=this._tempPause,this._tempPause=0,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&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0)),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,i){this.isPlaying&&!this.paused&&i!==this.volume&&(void 0===t&&(t=1e3),void 0!==i?(this.fadeTween=this.game.add.tween(this).to({volume:i},t,e.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())},_createSourceAndConnect:function(){this._sound=this.context.createBufferSource(),this._sound.connect(this.externalNode||this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this._sourceId++},_disconnectSource:function(){this._sound.disconnect(this.externalNode||this.gainNode)},_startSource:function(t,e,i){void 0===i?this._sound.start(t||0,e||0):this._sound.start(t||0,e||0,i)},_stopSourceAndDisconnect:function(){this._removeOnEndedHandler();try{this._sound.stop(0)}catch(t){}this._disconnectSource(),this._sound=null},_addOnEndedHandler:function(){this._sound.onended=this.onEndedHandler.bind(this)},_removeOnEndedHandler:function(){this._sound.onended=null}},e.Sound.prototype.constructor=e.Sound,Object.defineProperty(e.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(e.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(e.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(e.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))}}),Object.defineProperty(e.Sound.prototype,"sourceId",{get:function(){return this._sound?this._sourceId:null}}),e.SoundManager=function(t){this.game=t,this.onSoundDecode=new e.Signal,this.onVolumeChange=new e.Signal,this.onMute=new e.Signal,this.onUnMute=new e.Signal,this.onTouchUnlock=new e.Signal,this.onStateChange=new e.Signal,this.context=null,this.baseLatency=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 e.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null,this._onClick=this._onClick.bind(this),this._onStateChange=this._onStateChange.bind(this)},e.SoundManager.prototype={boot:function(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,this.baseLatency=this.context.baseLatency||256/(this.context.sampleRate||44100),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.context.onstatechange=this._onStateChange,"suspended"===this.context.state&&this.game.canvas.addEventListener("click",this._onClick);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},webAudioIsSuspended:function(){return this.usingWebAudio&&"suspended"===this.context.state},resumeWebAudio:function(){if(this.usingWebAudio)return this.context.resume()},resumeWebAudioIfSuspended:function(){if(this.webAudioIsSuspended())return this.context.resume()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();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);var e=this;this._unlockSource.onended=function(){e.setTouchUnlock(),e.resumeWebAudioIfSuspended()},void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudioIfSuspended()}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 i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==i||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))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.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(e.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(e.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(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),e.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px monospace",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},e.Utils.Debug.GEOM_AUTO=0,e.Utils.Debug.GEOM_RECTANGLE=1,e.Utils.Debug.GEOM_CIRCLE=2,e.Utils.Debug.GEOM_POINT=3,e.Utils.Debug.GEOM_LINE=4,e.Utils.Debug.GEOM_ELLIPSE=5,e.Utils.Debug.prototype={boot:function(){this.game.renderType===e.CANVAS?this.context=this.game.context:(this.bmd=new e.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=e.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new e.Line,this._rect=new e.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;e ")+o):o===s._pendingState?this.line("+ "+o):this.line(" "+o)}this.stop()},sound:function(t,e,i){var s=this.game.sound;this.start(t,e,i),s.noAudio?this.line("Audio is disabled"):(this.line("Volume: "+s.volume.toFixed(2)+(s.mute?" (Mute)":"")),this.line("Mute on pause: "+s.muteOnPause),this.line("Using: "+(s.usingWebAudio?"Web Audio - "+s.context.state:"Audio Tag")),this.line("Touch locked: "+s.touchLocked),this.line("Sounds: "+s._sounds.length)),this.stop()},soundInfo:function(t,e,i,s){if(this.start(e,i,s),this.line("Sound: "+t.key+" Touch locked: "+t.game.sound.touchLocked),this.line("Is Ready?: "+this.game.cache.isSoundReady(t.key)+" Pending Playback: "+t.pendingPlayback),this.line("Decoded: "+t.isDecoded+" Decoding: "+t.isDecoding),this.line("Playing: "+t.isPlaying+" Loop: "+t.loop),this.line("Time: "+(t.currentTime/1e3).toFixed(3)+"s Total: "+t.totalDuration.toFixed(3)+"s"),this.line("Volume: "+t.volume.toFixed(2)+(t.mute?" (Mute)":"")),this.line("Using: "+(t.usingWebAudio?"Web Audio":"Audio Tag")),t.usingWebAudio&&this.line(" Source: "+(t.sourceId||"none")),t.usingAudioTag&&t._sound){var n=t._sound;this.line(" currentSrc: "+n.currentSrc),this.line(" currentTime: "+n.currentTime),this.line(" duration: "+n.duration),this.line(" ended: "+n.ended),this.line(" loop: "+n.loop),this.line(" muted: "+n.muted),this.line(" paused: "+n.paused)}""!==t.currentMarker&&(this.line("Marker: "+t.currentMarker+" Duration: "+t.duration.toFixed(3)+"s ("+t.durationMS+"ms)"),this.line("Start: "+t.markers[t.currentMarker].start.toFixed(3)+" Stop: "+t.markers[t.currentMarker].stop.toFixed(3)),this.line("Position: "+t.position.toFixed(3))),this.stop()},camera:function(t,e,i){var s=t.deadzone,n=t.target,r=t.view;s&&(this._rect.setTo(r.x+s.x,r.y+s.y,s.width,s.height),this.rectangle(this._rect,e,i)),n&&(this._line.setTo(r.centerX,r.centerY,n.x,n.y),this.geom(this._line,e,i),this.geom(n,e,!1,3))},cameraInfo:function(t,e,i,s){var n=t.bounds,r=t.deadzone,o=t.target,a=t.view;this.start(e,i,s),this.line("Camera ("+t.width+" x "+t.height+")"),this.line("x: "+t.x+" y: "+t.y),this.line("Bounds: "+(n?"x: "+n.x+" y: "+n.y+" w: "+n.width+" h: "+n.height:"none")),this.line("View: x: "+a.x+" y: "+a.y+" w: "+a.width+" h: "+a.height),this.line("Center: x: "+t.centerX+" y: "+t.centerY),this.line("Deadzone: "+(r?"x: "+r.x+" y: "+r.y+" w: "+r.width+" h: "+r.height:r)),this.line("Total in view: "+t.totalInView),this.line("At limit: x: "+t.atLimit.x+" y: "+t.atLimit.y),this.line("Target: "+(o?o.name||o:"none")),this.stop()},timer:function(t,e,i,s){this.start(e,i,s),this.line("Timer (running: "+t.running+" expired: "+t.expired+")"),this.line("Next Tick: "+t.next+" Duration: "+t.duration),this.line("Paused: "+t.paused+" Length: "+t.length),this.stop()},pointer:function(t,e,i,s,n,r){if(null!=t&&(void 0===e&&(e=!1),i=i||"rgba(0,255,0,0.5)",s=s||"rgba(255,255,0,0.5)",r=r||"rgba(255,0,0,0.5)",!0!==e||!0!==t.isUp)){this.start(t.x,t.y-150,n),this.context.beginPath(),this.context.arc(t.x,t.y,t.circle.radius,0,2*Math.PI),t.active?this.context.fillStyle=t.isDown?i:s:this.context.fillStyle=r,this.context.fill(),this.context.closePath(),this.context.beginPath(),this.context.moveTo(t.positionDown.x,t.positionDown.y),this.context.lineTo(t.position.x,t.position.y),this.context.lineWidth=2,this.context.stroke(),this.context.closePath();var o=t.movementX,a=t.movementY;(o||a)&&(this.context.beginPath(),this.context.moveTo(o+t.position.x,a+t.position.y),this.context.lineTo(t.position.x,t.position.y),this.context.lineWidth=2,this.context.stroke(),this.context.closePath()),this.line("ID: "+t.id+" Active: "+t.active),this.line("World X: "+t.worldX.toFixed(1)+" World Y: "+t.worldY.toFixed(1)),this.line("Screen X: "+t.x.toFixed(1)+" Screen Y: "+t.y.toFixed(1)+" In: "+t.withinGame),this.line("Movement: X: "+o+" Y: "+a),this.line("Duration: "+t.duration+" ms"),this.line("is Down: "+t.isDown+" is Up: "+t.isUp),this.line("Identifier: "+t.identifier+" Pointer ID: "+t.pointerId),t.isMouse&&this.line("Buttons: "+this._pointerButtonIcon(t.leftButton)+" "+this._pointerButtonIcon(t.middleButton)+" "+this._pointerButtonIcon(t.rightButton)),this.stop()}},_pointerButtonIcon:function(t){return t.isDown?"x":t.isUp?"o":"-"},spriteInputInfo:function(t,e,i,s){this.start(e,i,s),this.line("Sprite Input: ("+t.width+" x "+t.height+")"),this.line("x: "+t.input.pointerX().toFixed(1)+" y: "+t.input.pointerY().toFixed(1)),this.line("over: "+t.input.pointerOver()+" duration: "+t.input.overDuration().toFixed(0)),this.line("down: "+t.input.pointerDown()+" duration: "+t.input.downDuration().toFixed(0)),this.line("just over: "+t.input.justOver()+" just out: "+t.input.justOut()),this.stop()},key:function(t,e,i,s){this.start(e,i,s,150),this.line("Key:",t.keyCode,"isDown:",t.isDown),this.line("justDown:",t.justDown,"justUp:",t.justUp),this.line("Time Down:",t.timeDown.toFixed(0),"duration:",t.duration.toFixed(0)),this.stop()},inputInfo:function(t,i,s,n){var r=this.game.input;if(void 0===n&&(n=!0),this.start(t,i,s),this.line("Input"),this.line("X: "+r.x+" Y: "+r.y),this.line("World X: "+r.worldX+" World Y: "+r.worldY),this.line("Scale X: "+r.scale.x.toFixed(2)+" Scale Y: "+r.scale.x.toFixed(2)),this.line("Screen X: "+r.activePointer.screenX.toFixed(1)+" Screen Y: "+r.activePointer.screenY.toFixed(1)),n){this.line("Sources:"),this.line(" "+this._inputHandler(r.mouse,"mouse")),this.line(" "+this._inputHandler(r.mspointer,"mspointer")),this.line(" "+this._inputHandler(r.touch,"touch"));var o=r.pointers,a=r.mousePointer,h=e.PointerModes,l=0,c=0;this.line("Pointers:"),this.line(" "+(a.isDown?"x":"o")+" "+h[a.pointerMode]+" "+a.identifier);for(var u=0;u0)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 e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=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(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.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(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:r}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.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(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.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,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},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,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var r=Math.min(t,i,s),o=Math.max(t,i,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=(i-s)/a+(i1&&(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,i,s,n,r,o,a,h){var l={r:t||0,g:i||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 e.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.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,i,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){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);i?(i.r=n,i.g=r,i.b=o):i=e.Color.createColor(n,r,o)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);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=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.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=e.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return e.Color.getColor32(r,l,c,u)},interpolateColorWithRGB:function(t,i,s,n,r,o){var a=e.Color.getRGB(t),h=(i-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,c=(n-a.blue)*o/r+a.blue;return e.Color.getColor(h,l,c)},interpolateRGB:function(t,i,s,n,r,o,a,h){var l=(n-t)*h/a+t,c=(r-i)*h/a+i,u=(o-s)*h/a+s;return e.Color.getColor(l,c,u)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t));return e.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 i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.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,i){return e.Color.blendOverlay(i,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,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.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()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.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}},e.Physics.prototype.constructor=e.Physics,e.Physics.Arcade=function(t){this.game=t,this.gravity=new e.Point,this.bounds=new e.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=e.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new e.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()},e.Physics.Arcade.prototype.constructor=e.Physics.Arcade,e.Physics.Arcade.SORT_NONE=0,e.Physics.Arcade.LEFT_RIGHT=1,e.Physics.Arcade.RIGHT_LEFT=2,e.Physics.Arcade.TOP_BOTTOM=3,e.Physics.Arcade.BOTTOM_TOP=4,e.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,i){void 0===i&&(i=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof e.Group?this.enable(t[s].children,i):(this.enableBody(t[s]),i&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof e.Group?this.enable(t.children,i):(this.enableBody(t),i&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.Arcade.Body(t),t.parent&&t.parent instanceof e.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+=.001*t.angularVelocity*this.game.time.delta}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+=.001*(this.gravity.x+e.gravity.x)*this.game.time.delta:2===t&&e.allowGravity&&(i+=.001*(this.gravity.y+e.gravity.y)*this.game.time.delta),s?i+=.001*s*this.game.time.delta:n&&e.allowDrag&&(i-(n*=.001*this.game.time.delta)>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,i){null!==t.physicsSortDirection?i=t.physicsSortDirection:void 0===i&&(i=this.sortDirection),i===e.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):i===e.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):i===e.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):i===e.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===e.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(i);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===e.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,i,s,n,r)}}}}},collideGroupVsGroup:function(t,i,s,n,r,o){if(0!==t.length&&0!==i.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)=i.right)&&!(t.position.y>=i.bottom))))},circleBodyIntersects:function(t,i){var s=e.Math.clamp(t.center.x,i.left,i.right),n=e.Math.clamp(t.center.y,i.top,i.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,i,s){this.getOverlapX(t,i),this.getOverlapY(t,i);var n=i.center.x-t.center.x,r=i.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==i.isCircle){var h={x:i.isCircle?t.position.x:i.position.x,y:i.isCircle?t.position.y:i.position.y,right:i.isCircle?t.right:i.right,bottom:i.isCircle?t.bottom:i.bottom},l={x:t.isCircle?t.center.x:i.center.x,y:t.isCircle?t.center.y:i.center.y,radius:t.isCircle?t.halfWidth:i.halfWidth};l.yh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+i.halfWidth-e.Math.distance(t.center.x,t.center.y,i.center.x,i.center.y);if(s||0===a||t.immovable&&i.immovable||t.customSeparateX||i.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,i.sprite),i.onOverlap&&i.onOverlap.dispatch(i.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:i.velocity.x*Math.cos(o)+i.velocity.y*Math.sin(o),y:-i.velocity.x*Math.sin(o)+i.velocity.y*Math.cos(o)},d=((t.mass-i.mass)*c.x+2*i.mass*u.x)/(t.mass+i.mass),p=(2*t.mass*c.x+(i.mass-t.mass)*u.x)/(t.mass+i.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),i.immovable||(i.velocity.x=(p*Math.cos(o)-u.y*Math.sin(o))*i.bounce.x,i.velocity.y=(u.y*Math.cos(o)+p*Math.sin(o))*i.bounce.y),Math.abs(o)0&&!t.immovable&&i.velocity.x>t.velocity.x?t.velocity.x*=-1:i.velocity.x<0&&!i.immovable&&t.velocity.x0&&!t.immovable&&i.velocity.y>t.velocity.y?t.velocity.y*=-1:i.velocity.y<0&&!i.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&i.velocity.x0&&!i.immovable&&t.velocity.x>i.velocity.x?i.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&i.velocity.y0&&!i.immovable&&t.velocity.x>i.velocity.y&&(i.velocity.y*=-1)),t.immovable||(t.x+=.001*t.velocity.x*this.game.time.delta-a*Math.cos(o),t.y+=.001*t.velocity.y*this.game.time.delta-a*Math.sin(o)),i.immovable||(i.x+=.001*i.velocity.x*this.game.time.delta+a*Math.cos(o),i.y+=.001*i.velocity.y*this.game.time.delta+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,i.sprite),i.onCollide&&i.onCollide.dispatch(i.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,i,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 e.Rectangle(t,i,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(s=this.distanceBetween(t,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},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,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i,!0)},velocityFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},accelerationFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},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,s){void 0===i&&(i=!1);var n,r;return s?(n=t.centerX-e.centerX,r=t.centerY-e.centerY):i?(n=t.world.x-e.world.x,r=t.world.y-e.world.y):(n=t.x-e.x,r=t.y-e.y),Math.sqrt(n*n+r*r)},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,s){for(var n=1/0,r=null,o=0,a=e.length;on&&(r=h,n=l)}return r},angleBetween:function(t,i,s){return void 0===s&&(s=!1),s?e.Point.angle(i.world,t.world):e.Point.angle(i,t)},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)}},e.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=e.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new e.Point,this.position=new e.Point(t.x,t.y),this.prev=new e.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 e.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new e.Point,this.newVelocity=new e.Point,this.deltaMax=new e.Point,this.acceleration=new e.Point,this.allowDrag=!0,this.drag=new e.Point,this.allowGravity=!0,this.gravity=new e.Point,this.bounce=new e.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new e.Point(1e4,1e4),this.friction=new e.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=e.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 e.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 e.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},e.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(.001*this.velocity.x*this.game.time.delta,.001*this.velocity.y*this.game.time.delta),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=this.velocity.atan()),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.delta,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=e.LEFT:this.deltaX()>0&&(this.facing=e.RIGHT),this.deltaY()<0?this.facing=e.UP:this.deltaY()>0&&(this.facing=e.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,i,s){var n=i/(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),i=Math.abs(i),this.moveDuration=0,this.moveDistance=i,null===this.moveTarget&&(this.moveTarget=new e.Line,this.moveEnd=new e.Point),this.moveTarget.fromAngle(this.x,this.y,r,i),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,i){return this.isCircle?e.Circle.contains(this,t,i):e.Rectangle.contains(this,t,i)},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 e.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(e.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),e.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)},e.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)},e.Physics.Arcade.Body.prototype.constructor=e.Physics.Arcade.Body,e.Physics.Arcade.TilemapCollision=function(){},e.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}},e.Utils.mixinPrototype(e.Physics.Arcade.prototype,e.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,e.Physics.P2=function(t,i){this.game=t,void 0===i?i={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(i.hasOwnProperty("gravity")||(i.gravity=[0,0]),i.hasOwnProperty("broadphase")||(i.broadphase=new p2.SAPBroadphase)),this.config=i,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new e.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new e.Signal,this.onBodyRemoved=new e.Signal,this.onSpringAdded=new e.Signal,this.onSpringRemoved=new e.Signal,this.onConstraintAdded=new e.Signal,this.onConstraintRemoved=new e.Signal,this.onContactMaterialAdded=new e.Signal,this.onContactMaterialRemoved=new e.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new e.Signal,this.onEndContact=new e.Signal,i.hasOwnProperty("mpx")&&i.hasOwnProperty("pxm")&&i.hasOwnProperty("mpxi")&&i.hasOwnProperty("pxmi")&&(this.mpx=i.mpx,this.mpxi=i.mpxi,this.pxm=i.pxm,this.pxmi=i.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.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)},e.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,i,s){void 0===i&&(i=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof e.Group?this.enable(t[n].children,i,s):(this.enableBody(t[n],i),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],i,!0));else t instanceof e.Group?this.enable(t.children,i,s):(this.enableBody(t,i),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,i,!0))},enableBody:function(t,i){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=i,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(.001*this.game.time.delta):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.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 e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,i,s,n,r,o){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.DistanceConstraint(this,t,i,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,i,s,n){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.GearConstraint(this,t,i,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,i,s,n,r,o){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new e.Physics.P2.RevoluteConstraint(this,t,i,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,i,s,n,r){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.LockConstraint(this,t,i,s,n,r));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,i,s,n,r,o,a){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.PrismaticConstraint(this,t,i,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,i){t=t||"";var s=new e.Physics.P2.Material(t);return this.materials.push(s),void 0!==i&&i.setMaterial(s),s},createContactMaterial:function(t,i,s){void 0===t&&(t=this.createMaterial()),void 0===i&&(i=this.createMaterial());var n=new e.Physics.P2.ContactMaterial(t,i,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 e.Physics.P2.Body?t.data:t.body&&t.body.type===e.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,i,s,n){void 0===i&&(i=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=i.length;a--;)i[a]instanceof e.Physics.P2.Body&&(!n||i[a].data.type!==p2.Body.STATIC)?o.push(i[a].data):i[a]instanceof p2.Body&&i[a].parent&&(!n||i[a].type!==p2.Body.STATIC)?o.push(i[a]):i[a]instanceof e.Sprite&&i[a].hasOwnProperty("body")&&(!n||i[a].body.data.type!==p2.Body.STATIC)&&o.push(i[a].body.data);return this.world.hitTest(r,o,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var i=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|i),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|i),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|i),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|i),this._collisionGroupID++;var s=new e.Physics.P2.CollisionGroup(i);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,i){if(t instanceof e.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(e.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(e.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(e.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(e.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(e.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(e.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(e.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(e.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(e.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),e.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},e.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}},e.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.PointProxy.prototype.constructor=e.Physics.P2.PointProxy,Object.defineProperty(e.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(e.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(e.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(e.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),e.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.InversePointProxy.prototype.constructor=e.Physics.P2.InversePointProxy,Object.defineProperty(e.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(e.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(e.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),e.Physics.P2.Body=function(t,i,s,n,r){i=i||null,s=s||0,n=n||0,void 0===r&&(r=1),this.game=t,this.world=t.physics.p2,this.sprite=i,this.type=e.Physics.P2JS,this.offset=new e.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:r}),this.data.parent=this,this.velocity=new e.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new e.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new e.Point,this.onBeginContact=new e.Signal,this.onEndContact=new e.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,i&&(this.setRectangleFromSprite(i),i.exists&&this.game.physics.p2.addBody(this))},e.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;n=0?dp;n=p>=0?++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"}}),e.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},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.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},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},e.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),e.Physics.P2.Material.prototype.constructor=e.Physics.P2.Material,e.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},e.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),e.Physics.P2.ContactMaterial.prototype.constructor=e.Physics.P2.ContactMaterial,e.Physics.P2.CollisionGroup=function(t){this.mask=t},e.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)},e.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),e.Physics.P2.DistanceConstraint.prototype.constructor=e.Physics.P2.DistanceConstraint,e.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)},e.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),e.Physics.P2.GearConstraint.prototype.constructor=e.Physics.P2.GearConstraint,e.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)},e.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),e.Physics.P2.LockConstraint.prototype.constructor=e.Physics.P2.LockConstraint,e.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)},e.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),e.Physics.P2.PrismaticConstraint.prototype.constructor=e.Physics.P2.PrismaticConstraint,e.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)},e.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),e.Physics.P2.RevoluteConstraint.prototype.constructor=e.Physics.P2.RevoluteConstraint,e.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},e.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}},e.Tile.prototype.constructor=e.Tile,Object.defineProperty(e.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(e.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(e.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(e.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(e.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(e.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),e.Tilemap=function(t,i,s,n,r,o){this.game=t,this.key=i;var a=e.TilemapParser.parse(this.game,i,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)},e.Tilemap.CSV=0,e.Tilemap.TILED_JSON=1,e.Tilemap.NORTH=0,e.Tilemap.EAST=1,e.Tilemap.SOUTH=2,e.Tilemap.WEST=3,e.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,i,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!==i&&null!==i||(i=t),e.BitmapData&&i instanceof e.BitmapData)h=i.canvas;else{if(!this.game.cache.checkImageKey(i))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+i+'"'),null;h=this.game.cache.getImage(i)}var l=this.getTilesetIndex(t);if(null===l&&this.format===e.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),console.log("Tilesets: ",this.tilesets),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new e.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)return console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"'),void console.log("Layers: ",this.layers);void 0===i||i<=0?i=Math.min(this.game.width,this.layers[r].widthInPixels):i>this.game.width&&(i=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:",i,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new e.TilemapLayer(this.game,this,r,i,s));return this.enableDebug&&console.groupEnd(),o},createBlankLayer:function(t,i,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:i,height:s,widthInPixels:i*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 e.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,i,s){if(s=this.getLayer(s),t>=0&&t=0&&i=0&&i=0&&s-1?this.layers[n].data[s][i].setCollision(!0,!0,!0,!0):this.layers[n].data[s][i].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][i]}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,n){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var r,o,a=0,h=this.layers[s].height,l=this.layers[s].width,c=this.layers[s].data;if(n)var u=[];if(i)for(d=h-1;d>=0;d--){r=c[d];for(p=l-1;p>=0;p--)if((o=r[p]).index===t)if(a>=e){if(!n)return o;u.push(o)}else a++}else for(var d=0;d=e){if(!n)return o;u.push(o)}else a++}return n?u:null},getTile:function(t,e,i,s){return void 0===s&&(s=!1),i=this.getLayer(i),t>=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}},e.Tilemap.prototype.constructor=e.Tilemap,Object.defineProperty(e.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),e.TilemapLayer=function(t,i,s,n,r){n|=0,r|=0,e.Sprite.call(this,t,0,0),this.map=i,this.index=s,this.layer=i.layers[s],this.canvas=e.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=e.TILEMAPLAYER,this.physicsType=e.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:i.tileWidth,tileHeight:i.tileHeight,cw:i.tileWidth,ch:i.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new e.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=e.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},e.TilemapLayer.prototype=Object.create(e.Sprite.prototype),e.TilemapLayer.prototype.constructor=e.TilemapLayer,e.TilemapLayer.prototype.preUpdateCore=e.Component.Core.preUpdate,e.TilemapLayer.sharedCopyCanvas=null,e.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=e.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},e.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},e.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},e.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)},e.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)},e.TilemapLayer.prototype.destroy=function(){e.CanvasPool.remove(this),e.Component.Destroy.prototype.destroy.call(this)},e.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},e.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},e.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},e.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},e.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)},e.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},e.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)},e.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},e.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},e.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},e.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},e.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))}}}},e.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)}},e.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)},e.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(e.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),e.TilemapParser={INSERT_NULL:!1,parse:function(t,i,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===i)return this.getEmptyData();if(null===i)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(i);if(a){if(a.format===e.Tilemap.CSV)return this.parseCSV(i,a.data,s,n);if(!a.format||a.format===e.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn('No map data found for key "%s"',i)},parseCSV:function(t,i,s,n){for(var r=this.getEmptyData(),o=[],a=(i=i.trim()).split("\n"),h=a.length,l=0,c=0;c1.1&&console.warn('Some features in this Tiled JSON map (version %s) may not work in Phaser CE. Enable the json1 plugin and reexport the map in "Tiled 1.1" format. https://github.com/photonstorm/phaser-ce/issues/623',t.version);for(var i={width:t.width,height:t.height,tileWidth:t.tilewidth,tileHeight:t.tileheight,orientation:t.orientation,format:e.Tilemap.TILED_JSON,version:t.version,properties:t.properties,widthInPixels:t.width*t.tilewidth,heightInPixels:t.height*t.tileheight},s=[],n=0;n>>0;r.data=h,delete r.encoding}else if(r.compression){console.warn('Layer compression is unsupported, skipping layer "%s".',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 e.Tile(k,A,p,g.length,t.tilewidth,t.tileheight)).rotation=c,F.flipped=u,0!==d&&(F.flippedVal=d),f.push(F)):e.TilemapParser.INSERT_NULL?f.push(null):f.push(new e.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)}i.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t0?this.scale.set(this.scaleData[t].x,this.scaleData[t].y):this.autoScale=!1}if(this.autoAlpha){this._a-=.001*this.game.time.delta*this.autoAlphaFps;var e=Math.round(this._a);e>0?this.alpha=this.alphaData[e].v:this.autoAlpha=!1}},e.Particle.prototype.onEmit=function(){},e.Particle.prototype.setAlphaData=function(t,e){this.alphaData=t,this._a=t.length-1,this.alpha=this.alphaData[this._a].v,this.autoAlpha=!0,this.autoAlphaFps=e},e.Particle.prototype.setScaleData=function(t,e){this.scaleData=t,this._s=t.length-1,this.scale.set(this.scaleData[this._s].x,this.scaleData[this._s].y),this.autoScale=!0,this.autoScaleFps=e},e.Particle.prototype.reset=function(t,i,s){return e.Component.Reset.prototype.reset.call(this,t,i,s),this.alpha=1,this.scale.set(1),this.autoScale=!1,this.autoAlpha=!1,this},e.Particles=function(t){this.game=t,this.emitters={},this.ID=0},e.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]}},e.Particles.prototype.constructor=e.Particles,e.Particles.Arcade={},e.Particles.Arcade.Emitter=function(t,i,s,n){this.maxParticles=n||50,e.Group.call(this,t),this._id=this.game.particles.ID++,this.name="emitter"+this.id,this.type=e.EMITTER,this.physicsType=e.GROUP,this.area=new e.Rectangle(i,s,1,1),this.minAngle=null,this.maxAngle=null,this.minSpeed=0,this.maxSpeed=100,this.minParticleSpeed=new e.Point(-100,-100),this.maxParticleSpeed=new e.Point(100,100),this.minParticleScale=1,this.maxParticleScale=1,this.scaleData=null,this.minRotation=-360,this.maxRotation=360,this.minParticleAlpha=1,this.maxParticleAlpha=1,this.alphaData=null,this.particleClass=e.Particle,this.particleDrag=new e.Point,this.angularDrag=0,this.frequency=100,this.lifespan=2e3,this.bounce=new e.Point,this.on=!1,this.particleAnchor=new e.Point(.5,.5),this.blendMode=e.blendModes.NORMAL,this.emitX=i,this.emitY=s,this.autoScale=!1,this.autoScaleFps=this.game.time.desiredFps,this.autoAlpha=!1,this.autoAlphaFps=this.game.time.desiredFps,this.particleBringToTop=!1,this.particleSendToBack=!1,this.counts={emitted:0,failed:0,totalEmitted:0,totalFailed:0},this._gravity=new e.Point(0,100),this._minParticleScale=new e.Point(1,1),this._maxParticleScale=new e.Point(1,1),this._total=0,this._timer=0,this._counter=0,this._flowQuantity=0,this._flowTotal=0,this._explode=!0,this._frames=null},e.Particles.Arcade.Emitter.prototype=Object.create(e.Group.prototype),e.Particles.Arcade.Emitter.prototype.constructor=e.Particles.Arcade.Emitter,e.Particles.Arcade.Emitter.prototype.update=function(){if(this.counts.emitted=0,this.counts.failed=0,this.on&&this.game.time.deltaTotal>=this._timer)if(this._timer=this.game.time.deltaTotal+this.frequency,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()},e.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.deltaTotal+e):this.start(!1,t,e,i),this},e.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},e.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},e.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,this.autoScaleFps):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,this.autoAlphaFps):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()},e.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),e.Group.prototype.destroy.call(this,!0,!1)},e.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},e.Particles.Arcade.Emitter.prototype.setSpeed=function(t,e,i,s){return this.setXSpeed(t,e),this.setYSpeed(i,s),this},e.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},e.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},e.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},e.Particles.Arcade.Emitter.prototype.setAlpha=function(t,i,s,n,r){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=0),void 0===n&&(n=e.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=i,this.autoAlpha=!1,s>0&&t!==i){var o={v:t},a=this.game.make.tween(o).to({v:i},s,n);a.yoyo(r),this.alphaData=a.generateData(this.game.time.desiredFps),this.autoAlphaFps=this.game.time.desiredFps,this.alphaData.reverse(),this.autoAlpha=!0}return this},e.Particles.Arcade.Emitter.prototype.setScale=function(t,i,s,n,r,o,a){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=e.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(i,n),this.autoScale=!1,r>0&&(t!==i||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:i,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(this.game.time.desiredFps),this.autoScaleFps=this.game.time.desiredFps,this.scaleData.reverse(),this.autoScale=!0}return this},e.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},e.Particles.Arcade.Emitter.prototype.setGravity=function(t,e){return t=t||0,e=e||0,this._gravity.set(t,e),this},e.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(e.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(e.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),e.Weapon=function(t,i){e.Plugin.call(this,t,i),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new e.Rectangle(0,0,1,1),this.fireAngle=e.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 e.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=e.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=e.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new e.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new e.Signal,this.onKill=new e.Signal,this.onFireLimit=new e.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new e.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new e.Point},e.Weapon.prototype=Object.create(e.Plugin.prototype),e.Weapon.prototype.constructor=e.Weapon,e.Weapon.KILL_NEVER=0,e.Weapon.KILL_LIFESPAN=1,e.Weapon.KILL_DISTANCE=2,e.Weapon.KILL_WEAPON_BOUNDS=3,e.Weapon.KILL_CAMERA_BOUNDS=4,e.Weapon.KILL_WORLD_BOUNDS=5,e.Weapon.KILL_STATIC_BOUNDS=6,e.Weapon.prototype.createBullets=function(t,i,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets&&!this.bullets.game&&(this.bullets=null),this.bullets||(this.bullets=this.game.add.physicsGroup(e.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,i,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=i,this.bulletFrame=s),this},e.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},e.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},e.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},e.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},e.Weapon.prototype.update=function(){this._bulletKillType===e.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()},e.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},e.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},e.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},e.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},e.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},e.Weapon.prototype.fire=function(t,i,s,n,r){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game.time.deltaTotal0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=e.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!==i&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,i-a))),0!==this.bulletAngleVariance&&(l+=e.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===e.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+=e.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(g=0),f=this.game.time.deltaTotal+g}else f=this.game.time.deltaTotal+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},e.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},e.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},e.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},e.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},e.Weapon.prototype.setBulletFrames=function(t,i,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=e.ArrayUtils.numberArray(t,i),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},e.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},e.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(e.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(e.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case e.Weapon.KILL_STATIC_BOUNDS:case e.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case e.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case e.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(e.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(e.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(e.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),e.Bullet=function(t,i,s,n,r){e.Sprite.call(this,t,i,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},e.Bullet.prototype=Object.create(e.Sprite.prototype),e.Bullet.prototype.constructor=e.Bullet,e.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},e.Bullet.prototype.update=function(){this.exists&&(this.data.killType>e.Weapon.KILL_LIFESPAN&&(this.data.killType===e.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=this.body.velocity.atan()),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},e.Video=function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game=t,this.key=i,this.width=0,this.height=0,this.type=e.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new e.Signal,this.onChangeSource=new e.Signal,this.onComplete=new e.Signal,this.onAccess=new e.Signal,this.onError=new e.Signal,this.onTimeout=new e.Signal,this.onTouchUnlock=new e.Signal,this.playWhenUnlocked=!0,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,i&&this.game.cache.checkVideoKey(i)){var n=this.game.cache.getVideo(i);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(e.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 e.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==i&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,e.BitmapData&&(this.snapshot=new e.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},e.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,s){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=!0),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;if(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"),this.video.setAttribute("playsinline","playsinline"),null!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout),navigator.mediaDevices&&navigator.mediaDevices.getUserMedia)navigator.mediaDevices.getUserMedia({audio:t,video:s}).then(this.getUserMediaSuccess.bind(this)).catch(this.getUserMediaError.bind(this));else try{navigator.getUserMedia({audio:t,video:s},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:void 0!==this.video.srcObject?this.video.srcObject=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.setAttribute("playsinline","playsinline"),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,i){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"),void 0!==i&&(this.video.crossOrigin=i),this.video.setAttribute("playsinline","playsinline"),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,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.srcObject?(this.video.srcObject.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,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(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 this.onTouchUnlock.dispatch(this),!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.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(e.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(e.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(e.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(e.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(e.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(e.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(e.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop=!0:this.video&&(this.video.loop=!1)}}),Object.defineProperty(e.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),e.Video.prototype.constructor=e.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}.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 H;H=k,k=F,F=H,H=D,D=U,U=H,H=G,G=N,N=H,H=X,X=W,W=H,H=j,j=V,V=H}for(var q=F;q=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);H=u.length;for(T=0;T!==H;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++)(q=n[T])._wakeUpAfterNarrowphase&&(q.wakeUp(),q._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 H=u.length;for(T=0;T!==H;T++)u[T].update();if(c.contactEquations.length||c.frictionEquations.length||H)if(this.islandSplit){for(g.equations.length=0,v.appendArray(g.equations,c.contactEquations),v.appendArray(g.equations,c.frictionEquations),T=0;T!==H;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!==H;T++)a.addEquations(u[T].equations);this.solveConstraints&&a.solve(t,this),a.removeAllEquations()}for(T=0;T!==h;T++){var q=n[T];q.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)},_destroyTintedTexture:function(){this.tintedTexture&&(Phaser.CanvasPool.removeByCanvas(this.tintedTexture),this.tintedTexture=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.bringChildToTop=function(t){if(t.parent===this)return this.setChildIndex(t,this.children.length-1)},s.DisplayObjectContainer.prototype.sendChildToBack=function(t){if(t.parent===this)return this.setChildIndex(t,0)},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=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.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=t.texture.baseTexture.textureIndex;if(s._enableMultiTextureToggle){var n=e.baseTexture,r=this.gl;s.WebGLRenderer.textureArray[i]!=n&&(this.flush(),r.activeTexture(r.TEXTURE0+i),r.bindTexture(r.TEXTURE_2D,n._glTextures[r.id]),s.WebGLRenderer.textureArray[i]=n)}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++]=i,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++]=i,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++]=i,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++]=i,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);var x=u!==r;if((!s._enableMultiTextureToggle&&x&&!v||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 b=this.renderSession.projection;e.uniform2f(t.projectionVector,b.x,b.y);var _=this.renderSession.offset;e.uniform2f(t.offsetVector,_.x,_.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(){var t=this,e=e||{VERSION:"2.19.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("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),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,i,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=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(i),o=n*Math.sin(i);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new e.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,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,r){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.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(e.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(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.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},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.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},e.Circle.intersectsLine=function(t,i,s){var n=t.x,r=t.y,o=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-o*i.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 e.Point(u,p),m=new e.Point(d,f),y=i.pointOnSegment(g.x,g.y,.01),v=i.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.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 e.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 e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.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 e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(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},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.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},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=i.x,h=i.y,l=i.right,c=i.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 e.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,i){return e.Point.distance(this,t,i)},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,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,r){return e.Point.rotate(this,t,i,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},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.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(e.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(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.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(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.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)},e.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}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,r,o),this.bounds=new e.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 e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.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 e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.FLASH=0,e.Camera.FADE_OUT=1,e.Camera.FADE_IN=2,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(i){case e.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case e.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.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,i,s,n,r){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.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,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_OUT)},fadeIn:function(t,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_IN)},fadeEffect:function(t,i,s,n,r){if(void 0===t&&(t=0),void 0===i&&(i=500),void 0===s&&(s=!1),void 0===n&&(n=1),!this.fx||!s&&this._fxDuration>0)return!1;if(this.fx.clear(),this.fx.beginFill(t,n),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),r<1||r>2)throw new Error("Wrong `type` argument");return this.fx.alpha=r===e.Camera.FADE_IN?1:0,this._fxDuration=i,this._fxType=r,!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(){this._fxType===e.Camera.FLASH?(this.fx.alpha-=this.game.time.delta/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):this._fxType===e.Camera.FADE_IN?(this.fx.alpha-=this.game.time.delta/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFadeComplete.dispatch())):(this.fx.alpha+=this.game.time.delta/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.delta,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}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.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(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.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},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.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},e.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,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(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){if(this.clearCurrentState(),this.setCurrentState(this._pendingState),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 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){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.current,i=this.states[t];this.callbackContext=i,this.link(t),this.onInitCallback=i.init||this.dummy,this.onPreloadCallback=i.preload||null,this.onLoadRenderCallback=i.loadRender||null,this.onLoadUpdateCallback=i.loadUpdate||null,this.onCreateCallback=i.create||null,this.onUpdateCallback=i.update||null,this.onPostUpdateCallback=i.postUpdate||null,this.onPreRenderCallback=i.preRender||null,this.onRenderCallback=i.render||null,this.onResizeCallback=i.resize||null,this.onPausedCallback=i.paused||null,this.onResumedCallback=i.resumed||null,this.onPauseUpdateCallback=i.pauseUpdate||null,this.onShutDownCallback=i.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onStateChange.dispatch(this.current,e),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.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.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(){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===e.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.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.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,i,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else o=new e.SignalBinding(this,t,i,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)},e.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)},e.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===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,l=i*n,c=o;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.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},e.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},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.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},e.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},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))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},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=e.Utils.getProperty(t,i);return!(void 0===r&&n||r!==s)},e.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)},e.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=this.children.length,a=0;a2){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()}},e.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},e.Group.prototype.iterate=function(t,i,s,n,r,o){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!i||i.call(s,h,r))&&(n=r,o=h)}return o},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.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 e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.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}},e.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()}},e.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)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.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(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.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(e.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(e.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(e.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(e.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(e.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}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.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)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.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()},e.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))},e.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(e.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){tthis.time.deltaMax){if(this.dropFrames)return;e=this.time.deltaMax}if(this.forceSingleUpdate)this.updatesThisFrame=1,this.rendersThisFrame=1,this.updateLogic(.001*e/this.time.slowMotion),this.updateRender();else if(this._spiraling>2)this.updatesThisFrame=0,this.rendersThisFrame=0,this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0;else{var i=0,s=1e3*this.time.desiredFpsMult;for(this._deltaTime+=e,this.updatesThisFrame=Math.floor(this._deltaTime/s),this.rendersThisFrame=this.forceSingleRender?1:Math.min(1,this.updatesThisFrame);this._deltaTime>=s;)this._deltaTime-=s,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult/this.time.slowMotion),this.time.refresh(),i++;i>this._lastCount?this._spiraling++:i0&&this.updateRender()}}}}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.preUpdate(t),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(){this.lockRender||this.renderType===e.HEADLESS||(this.time.preRender(),this.state.preRender(),this.renderer.render(this.stage),this.plugins.render(),this.state.render(),this.plugins.postRender(),this.renderer.postRender())},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.gamePaused(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.gameResumed(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this._focusGained=!0,this.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),e.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=e.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!0===t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},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+i.x=a&&this.game.camera.y+i.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}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.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===i,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 e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.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,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,r="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):r||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},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 i=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),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.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===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.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,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!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.pointerLock.locked&&!i&&(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===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.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,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!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 i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=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&&i.currentPointers--,i.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=e.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){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,r=this._pointerData[t.id],o=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var l=i.scale.x*h.x+n.x+s.x,c=i.scale.y*h.y+n.y+s.y;else var l=h.x+n.x+s.x,c=h.y+n.y+s.y;if(a.fixedToCamera){var u=a.cameraOffset,d=u.x,p=u.y;this.allowHorizontalDrag&&(u.x=l-i.x),this.allowVerticalDrag&&(u.y=c-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(u.x=Math.round((u.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,u.y=Math.round((u.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(u.x,u.y));var f=u.x-d,g=u.y-p}else{var m=i.x-r.camX,y=i.y-r.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=l+m),this.allowVerticalDrag&&(a.y=c+y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(a.x,a.y));var f=a.x-d,g=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,l,c,o,e,f,g),!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)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.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 e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this)]},e.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 i=!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}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;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},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.delta,this.lifespan<=0))||(this.kill(),!1)},e.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}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||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===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.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(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)o=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,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,i)}r&&(this._frame=e.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}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):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))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.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)}}},e.Component.Reset=function(){},e.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},e.Component.ScaleMinMax=function(){},e.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,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,r){var o=this.game.plugins.add(e.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,i,s,n),o},image:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,r,o,a){void 0===r&&(r=this.world);var h=new e.Creature(this.game,t,i,s,n,o,a);return r.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,r){return new e.Group(this.game,t,i,s,n,r)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,r,o))},rope:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.Rope(this.game,t,i,s,n,r))},text:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,r,o,a,h,l,c){return void 0===c&&(c=this.world),c.add(new e.Button(this.game,t,i,s,n,r,o,a,h,l))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.BitmapText(this.game,t,i,s,n,r))},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,r){return new e.Group(this.game,t||null,i,s,n,r)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o){return new e.TileSprite(this.game,t,i,s,n,r,o)},rope:function(t,i,s,n,r){return new e.Rope(this.game,t,i,s,n,r)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,r,o,a,h,l){return new e.Button(this.game,t,i,s,n,r,o,a,h,l)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return new e.BitmapText(this.game,t,i,s,n,r,o)},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,r,o,a,h,l,c){i=i||0,s=s||0,n=n||null,r=r||null,o=o||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.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 e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.PointerMode.CONTACT,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)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;return e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.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)},e.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())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},e.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},e.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)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.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)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.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")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.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())},e.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&&i>=0&&i<=this.height&&(e.Device.LITTLE_ENDIAN?this.pixels[i*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[i*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,i,s){s||(s=e.Color.createColor());var n=~~(t+i*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,i,s,n,r){return e.Color.unpackPixel(this.getPixel32(t,i),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 i=e.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{e.Color.unpackPixel(this.getPixel32(s,n),i),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===i.a&&!o);return i.x=s,i.y=n,i},getBounds:function(t){return void 0===t&&(t=new e.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,i,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 e.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof e.Sprite||t instanceof e.Image||t instanceof e.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 e.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 e.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return this;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==i&&null!==i||(i=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=i),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)return this;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+i,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,i,s){if(void 0===i&&(i=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 e.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,i&&(this.op=i),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,i,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,i,s),t.type===e.GROUP&&t.exists)this.drawGroup(t,i,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ni.width&&(n=i.width);var r=this.context;return r.fillStyle=r.createPattern(i,s),this._circle=new e.Circle(t.start.x,t.start.y,i.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,i.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),e.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 e.EarCut.earcutLinked(o,a,s,h,l,f),a},e.EarCut.linkedList=function(t,i,s,n,r){var o,a,h,l=0;for(o=i,a=s-n;o0)for(o=i;o=i;o-=n)h=e.EarCut.insertNode(o,t[o],t[o+1],h);return h},e.EarCut.filterPoints=function(t,i){if(!t)return t;i||(i=t);var s,n=t;do{if(s=!1,n.steiner||!e.EarCut.equals(n,n.next)&&0!==e.EarCut.area(n.prev,n,n.next))n=n.next;else{if(e.EarCut.removeNode(n),(n=i=n.prev)===n.next)return null;s=!0}}while(s||n!==i);return i},e.EarCut.earcutLinked=function(t,i,s,n,r,o,a){if(t){!a&&o&&e.EarCut.indexCurve(t,n,r,o);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?e.EarCut.isEarHashed(t,n,r,o):e.EarCut.isEar(t))i.push(h.i/s),i.push(t.i/s),i.push(l.i/s),e.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=e.EarCut.cureLocalIntersections(t,i,s),e.EarCut.earcutLinked(t,i,s,n,r,o,2)):2===a&&e.EarCut.splitEarcut(t,i,s,n,r,o):e.EarCut.earcutLinked(e.EarCut.filterPoints(t),i,s,n,r,o,1);break}}},e.EarCut.isEar=function(t){var i=t.prev,s=t,n=t.next;if(e.EarCut.area(i,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(e.EarCut.pointInTriangle(i.x,i.y,s.x,s.y,n.x,n.y,r.x,r.y)&&e.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},e.EarCut.isEarHashed=function(t,i,s,n){var r=t.prev,o=t,a=t.next;if(e.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=e.EarCut.zOrder(h,l,i,s,n),p=e.EarCut.zOrder(c,u,i,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.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&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},e.EarCut.cureLocalIntersections=function(t,i,s){var n=t;do{var r=n.prev,o=n.next.next;e.EarCut.intersects(r,n,n.next,o)&&e.EarCut.locallyInside(r,o)&&e.EarCut.locallyInside(o,r)&&(i.push(r.i/s),i.push(n.i/s),i.push(o.i/s),e.EarCut.removeNode(n),e.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},e.EarCut.splitEarcut=function(t,i,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&e.EarCut.isValidDiagonal(a,h)){var l=e.EarCut.splitPolygon(a,h);return a=e.EarCut.filterPoints(a,a.next),l=e.EarCut.filterPoints(l,l.next),e.EarCut.earcutLinked(a,i,s,n,r,o),void e.EarCut.earcutLinked(l,i,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},e.EarCut.eliminateHoles=function(t,i,s,n){var r,o,a,h,l,c=[];for(r=0,o=i.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&&e.EarCut.pointInTriangle(os.x)&&e.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},e.EarCut.indexCurve=function(t,i,s,n){var r=t;do{null===r.z&&(r.z=e.EarCut.zOrder(r.x,r.y,i,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,e.EarCut.sortLinked(r)},e.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},e.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},e.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},e.EarCut.isValidDiagonal=function(t,i){return e.EarCut.equals(t,i)||t.next.i!==i.i&&t.prev.i!==i.i&&!e.EarCut.intersectsPolygon(t,i)&&e.EarCut.locallyInside(t,i)&&e.EarCut.locallyInside(i,t)&&e.EarCut.middleInside(t,i)},e.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},e.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},e.EarCut.intersects=function(t,i,s,n){return e.EarCut.area(t,i,s)>0!=e.EarCut.area(t,i,n)>0&&e.EarCut.area(s,n,t)>0!=e.EarCut.area(s,n,i)>0},e.EarCut.intersectsPolygon=function(t,i){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==i.i&&s.next.i!==i.i&&e.EarCut.intersects(s,s.next,t,i))return!0;s=s.next}while(s!==t);return!1},e.EarCut.locallyInside=function(t,i){return e.EarCut.area(t.prev,t,t.next)<0?e.EarCut.area(t,i,t.next)>=0&&e.EarCut.area(t,t.prev,i)>=0:e.EarCut.area(t,i,t.prev)<0||e.EarCut.area(t,t.next,i)<0},e.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},e.EarCut.splitPolygon=function(t,i){var s=new e.EarCut.Node(t.i,t.x,t.y),n=new e.EarCut.Node(i.i,i.x,i.y),r=t.next,o=i.prev;return t.next=i,i.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},e.EarCut.insertNode=function(t,i,s,n){var r=new e.EarCut.Node(t,i,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},e.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)},e.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,i){var s,n=i.gl,r=i.projection,o=i.offset,a=i.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===e.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===e.CIRCLE||a.type===e.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===e.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,i.beginPath(),i.moveTo(_,w+C),i.lineTo(_,w+P-C),i.quadraticCurveTo(_,w+P,_+C,w+P),i.lineTo(_+T-C,w+P),i.quadraticCurveTo(_+T,w+P,_+T,w+P-C),i.lineTo(_+T,w+C),i.quadraticCurveTo(_+T,w,_+T-C,w),i.lineTo(_+C,w),i.quadraticCurveTo(_,w,_,w+C),i.closePath(),(r.fillColor||0===r.fillColor)&&(i.globalAlpha=r.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fill()),r.lineWidth&&(i.globalAlpha=r.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,i){var s=t.graphicsData.length;if(0!==s){i.beginPath();for(var n=0;nP?P:T,i.moveTo(x,b+T),i.lineTo(x,b+w-T),i.quadraticCurveTo(x,b+w,x+T,b+w),i.lineTo(x+_-T,b+w),i.quadraticCurveTo(x+_,b+w,x+_,b+w-T),i.lineTo(x+_,b+T),i.quadraticCurveTo(x+_,b,x+_-T,b),i.lineTo(x+T,b),i.quadraticCurveTo(x,b,x,b+T),i.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}},e.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},e.GraphicsData.prototype.constructor=e.GraphicsData,e.GraphicsData.prototype.clone=function(){return new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},e.Graphics=function(t,i,s){void 0===i&&(i=0),void 0===s&&(s=0),this.type=e.GRAPHICS,this.physicsType=e.SPRITE,this.anchor=new e.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 e.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Graphics.prototype.constructor=e.Graphics,e.Component.Core.install.call(e.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.Graphics.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Graphics.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Graphics.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Graphics.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Graphics.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},e.Graphics.prototype.drawTriangles=function(t,i,s){void 0===s&&(s=!1);var n,r=new e.Point,o=new e.Point,a=new e.Point,h=[];if(i)if(t[0]instanceof e.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},e.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},e.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},e.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},e.Graphics.prototype.drawRect=function(t,i,s,n){return this.drawShape(new e.Rectangle(t,i,s,n)),this},e.Graphics.prototype.drawRoundedRect=function(t,i,s,n,r){return this.drawShape(new e.RoundedRectangle(t,i,s,n,r)),this},e.Graphics.prototype.drawCircle=function(t,i,s){return this.drawShape(new e.Circle(t,i,s)),this},e.Graphics.prototype.drawEllipse=function(t,i,s,n){return this.drawShape({x:t,y:i,width:s,height:n,type:e.ELLIPSE}),this},e.Graphics.prototype.drawPolygon=function(t){t instanceof e.Polygon&&(t=t.points);var i=t;if(!Array.isArray(i)){i=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},e.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=e.identityMatrix;for(var i=0;ii?a+l:i,s=hn?h+c:n;else if(p===e.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,c=r.radius+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else if(p===e.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,c=r.height+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else{o=r.points;for(var g=0;gi?a+f:i,s=h-fn?h+f:n}}else t=0,i=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=i-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},e.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},e.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()},e.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},e.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof e.Polygon&&(t=t.clone()).flatten();var i=new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(i),i.type===e.POLYGON&&(i.shape.closed=this.filling,this.currentPath=i),this.dirty=!0,this._boundsDirty=!0,i},Object.defineProperty(e.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}}),e.RenderTexture=function(t,i,s,n,r,o,a,h){if(void 0===i&&(i=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=e.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=e.RENDERTEXTURE,this._tempMatrix=new e.Matrix,this.width=i,this.height=s,this.resolution=o,this.frame=new e.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===e.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 e.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 e.Matrix,this._updateUvs()},e.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),e.RenderTexture.prototype.constructor=e.RenderTexture,e.RenderTexture.prototype.renderXY=function(t,i,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=i,this._tempMatrix.ty=s,this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.renderRawXY=function(t,i,s,n){this._tempMatrix.identity().translate(i,s),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.render=function(t,i,s){void 0===i||null===i?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(i),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},e.RenderTexture.prototype.resize=function(t,i,s){t===this.width&&i===this.height||(this.valid=t>0&&i>0,this.width=t,this.height=i,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=i*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===e.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},e.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===e.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},e.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},e.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)},e.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++}},e.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},e.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},e.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},e.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},e.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},e.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},e.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)/)},e.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},e.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,"")},e.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},e.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()},e.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.Text.prototype.determineFontProperties=function(t){var i=e.Text.fontPropertiesCache[t];if(i)return i;var s=e.Text.fontPropertiesContext;s.font=t;var n=s.measureText(this.testString);if(n.actualBoundingBoxAscent)i={ascent:o=Math.ceil(n.actualBoundingBoxAscent),descent:a=Math.ceil(n.actualBoundingBoxDescent),fontSize:o+a};else{var r=s.measureText("MX").width,o=Math.ceil(.75*r),a=Math.ceil(.25*r);i={ascent:o,descent:a,fontSize:o+a}}return e.Text.fontPropertiesCache[t]=i,i},e.Text.prototype.getBounds=function(t){return this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype.getBounds.call(this,t)},e.Text.prototype.setCharacterLimit=function(t,e){this.characterLimitSuffix=void 0===e?"":e,this.characterLimitSize=t,this.updateText()},Object.defineProperty(e.Text.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.dirty=!0,this.parent&&this.updateTransform())}}),Object.defineProperty(e.Text.prototype,"cssFont",{get:function(){return this.componentsToFont(this._fontComponents)},set:function(t){t=t||"bold 20pt Arial",this._fontComponents=this.fontToComponents(t),this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"font",{get:function(){return this._fontComponents.fontFamily},set:function(t){t=(t=t||"Arial").trim(),/^(?:inherit|serif|sans-serif|cursive|fantasy|monospace)$/.exec(t)||/['",]/.exec(t)||(t="'"+t+"'"),this._fontComponents.fontFamily=t,this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"fontSize",{get:function(){var t=this._fontComponents.fontSize;return t&&/(?:^0$|px$)/.exec(t)?parseInt(t,10):t},set:function(t){"number"==typeof(t=t||"0")&&(t+="px"),this._fontComponents.fontSize=t,this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"fontWeight",{get:function(){return this._fontComponents.fontWeight||"normal"},set:function(t){t=t||"normal",this._fontComponents.fontWeight=t,this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"fontStyle",{get:function(){return this._fontComponents.fontStyle||"normal"},set:function(t){t=t||"normal",this._fontComponents.fontStyle=t,this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"fontVariant",{get:function(){return this._fontComponents.fontVariant||"normal"},set:function(t){t=t||"normal",this._fontComponents.fontVariant=t,this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"fill",{get:function(){return this.style.fill},set:function(t){t!==this.style.fill&&(this.style.fill=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"align",{get:function(){return this.style.align},set:function(t){(t=t.toLowerCase())!==this.style.align&&(this.style.align=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"resolution",{get:function(){return this._res},set:function(t){t!==this._res&&(this._res=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"tabs",{get:function(){return this.style.tabs},set:function(t){t!==this.style.tabs&&(this.style.tabs=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"boundsAlignH",{get:function(){return this.style.boundsAlignH},set:function(t){(t=t.toLowerCase())!==this.style.boundsAlignH&&(this.style.boundsAlignH=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"boundsAlignV",{get:function(){return this.style.boundsAlignV},set:function(t){(t=t.toLowerCase())!==this.style.boundsAlignV&&(this.style.boundsAlignV=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"stroke",{get:function(){return this.style.stroke},set:function(t){t!==this.style.stroke&&(this.style.stroke=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"strokeThickness",{get:function(){return this.style.strokeThickness},set:function(t){t!==this.style.strokeThickness&&(this.style.strokeThickness=Number(t),this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"wordWrap",{get:function(){return this.style.wordWrap},set:function(t){t!==this.style.wordWrap&&(this.style.wordWrap=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"wordWrapWidth",{get:function(){return this.style.wordWrapWidth},set:function(t){t!==this.style.wordWrapWidth&&(this.style.wordWrapWidth=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"lineSpacing",{get:function(){return this._lineSpacing},set:function(t){t!==this._lineSpacing&&(this._lineSpacing=parseFloat(t),this.dirty=!0,this.parent&&this.updateTransform())}}),Object.defineProperty(e.Text.prototype,"shadowOffsetX",{get:function(){return this.style.shadowOffsetX},set:function(t){t!==this.style.shadowOffsetX&&(this.style.shadowOffsetX=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"shadowOffsetY",{get:function(){return this.style.shadowOffsetY},set:function(t){t!==this.style.shadowOffsetY&&(this.style.shadowOffsetY=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"shadowColor",{get:function(){return this.style.shadowColor},set:function(t){t!==this.style.shadowColor&&(this.style.shadowColor=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"shadowBlur",{get:function(){return this.style.shadowBlur},set:function(t){t!==this.style.shadowBlur&&(this.style.shadowBlur=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"shadowStroke",{get:function(){return this.style.shadowStroke},set:function(t){t!==this.style.shadowStroke&&(this.style.shadowStroke=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"shadowFill",{get:function(){return this.style.shadowFill},set:function(t){t!==this.style.shadowFill&&(this.style.shadowFill=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"width",{get:function(){return this.dirty&&(this.updateText(),this.dirty=!1),this.scale.x*(this.texture.frame.width/this.resolution)},set:function(t){this.scale.x=t/this.texture.frame.width,this._width=t}}),Object.defineProperty(e.Text.prototype,"height",{get:function(){return this.dirty&&(this.updateText(),this.dirty=!1),this.scale.y*(this.texture.frame.height/this.resolution)},set:function(t){this.scale.y=t/this.texture.frame.height,this._height=t}}),Object.defineProperty(e.Text.prototype,"testString",{get:function(){return this._testString},set:function(t){this._testString=t,this.updateText()}}),e.Text.fontPropertiesCache={},e.Text.fontPropertiesCanvas=document.createElement("canvas"),e.Text.fontPropertiesContext=e.Text.fontPropertiesCanvas.getContext("2d"),e.BitmapText=function(t,i,s,n,r,o,a){i=i||0,s=s||0,n=n||"",r=r||"",o=o||32,a=a||"left",PIXI.DisplayObjectContainer.call(this),this.type=e.BITMAPTEXT,this.physicsType=e.SPRITE,this.textWidth=0,this.textHeight=0,this.anchor=new e.Point,this._prevAnchor=new e.Point,this._glyphs=[],this._maxWidth=0,this._text=r.toString()||"",this._data=t.cache.getBitmapFont(n),this._font=n,this._fontSize=o,this._align=a,this._letterSpacing=0,this._tint=16777215,this.updateText(),this.dirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.BitmapText.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.BitmapText.prototype.constructor=e.BitmapText,e.Component.Core.install.call(e.BitmapText.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.BitmapText.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.BitmapText.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.BitmapText.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.BitmapText.prototype.preUpdateCore=e.Component.Core.preUpdate,e.BitmapText.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.BitmapText.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this.body&&this.body.type===e.Physics.ARCADE&&(this.textWidth===this.body.sourceWidth&&this.textHeight===this.body.sourceHeight||this.body.setSize(this.textWidth,this.textHeight))},e.BitmapText.prototype.setText=function(t){this.text=t},e.BitmapText.prototype.scanLine=function(t,e,i){for(var s=0,n=0,r=-1,o=0,a=null,h=this._maxWidth>0?this._maxWidth:null,l=[],c=0;c=h&&r>-1)return{width:o||n,text:i.substr(0,c-(c-r)),end:!1,chars:l};n+=(p.xAdvance+g+this.letterSpacing)*e,l.push(s+(p.xOffset+g+this.letterSpacing)*e),s+=(p.xAdvance+g+this.letterSpacing)*e,a=d}return{width:n,text:i,end:u,chars:l}},e.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(e.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),e.RetroFont=function(t,i,s,n,r,o,a,h,l,c){if(!t.cache.checkImageKey(i))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(i).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(i),this._text="",this.grabData=[],this.frameData=new e.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",e.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",e.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",e.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",e.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",e.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",e.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",e.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",e.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},e.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)},e.RetroFont.prototype.buildRetroFontText=function(){var t=0,i=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===e.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===e.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},e.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},e.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},e.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},e.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(e.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(e.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),e.Rope=function(t,i,s,n,r,o){this.points=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=e.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=e.Rope.TRIANGLE_STRIP,e.Component.Core.init.call(this,t,i,s,n,r),this.refresh()},e.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Rope.prototype.constructor=e.Rope,e.Component.Core.install.call(e.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Rope.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Rope.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Rope.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Rope.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Rope.TRIANGLE_STRIP=0,e.Rope.TRIANGLES=1,e.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},e.Rope.prototype.reset=function(t,i){return e.Component.Reset.prototype.reset.call(this,t,i),this},e.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;for(var n=t.length,r=0,o=0,a=0;a0){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()},e.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nl?y:l,c=v>c?v:c}if(u===-1/0||c===1/0)return e.EmptyRectangle;var x=this._bounds;return x.x=u,x.width=l-u,x.y=d,x.height=c-d,this._currentBounds=x,x},Object.defineProperty(e.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(e.Rope.prototype,"segments",{get:function(){for(var t,i,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(e.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(e.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),e.CanvasPool={create:function(t,i,s){var n,r=e.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};e.CanvasPool.pool.push(o),n=o.canvas}else e.CanvasPool.pool[r].parent=t,n=e.CanvasPool.pool[r].canvas;return void 0!==i&&(n.width=i,n.height=s),n},getFirst:function(){for(var t=e.CanvasPool.pool,i=0;i=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&&i(),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=!!window.WebGLRenderingContext,s.worker=!!window.Worker,s.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,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=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var r=i.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]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.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"))},e.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))))))},e.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)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,r){i=i||256,s=s||256;var o=r?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=i,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,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),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 i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},setImageRenderingCrisp:function(t){for(var e=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","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=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=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}},e.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)},e.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(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.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)},e.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 e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.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 e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},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}},e.QuadTree.prototype.constructor=e.QuadTree,e.TweenManager=function(t){this.game=t,this._tweens=[],this._add=[],this.easeMap={Power0:e.Easing.Power0,Power1:e.Easing.Power1,Power2:e.Easing.Power2,Power3:e.Easing.Power3,Power4:e.Easing.Power4,Linear:e.Easing.Linear.None,Quad:e.Easing.Quadratic.Out,Cubic:e.Easing.Cubic.Out,Quart:e.Easing.Quartic.Out,Quint:e.Easing.Quintic.Out,Sine:e.Easing.Sinusoidal.Out,Expo:e.Easing.Exponential.Out,Circ:e.Easing.Circular.Out,Elastic:e.Easing.Elastic.Out,Back:e.Easing.Back.Out,Bounce:e.Easing.Bounce.Out,"Quad.easeIn":e.Easing.Quadratic.In,"Cubic.easeIn":e.Easing.Cubic.In,"Quart.easeIn":e.Easing.Quartic.In,"Quint.easeIn":e.Easing.Quintic.In,"Sine.easeIn":e.Easing.Sinusoidal.In,"Expo.easeIn":e.Easing.Exponential.In,"Circ.easeIn":e.Easing.Circular.In,"Elastic.easeIn":e.Easing.Elastic.In,"Back.easeIn":e.Easing.Back.In,"Bounce.easeIn":e.Easing.Bounce.In,"Quad.easeOut":e.Easing.Quadratic.Out,"Cubic.easeOut":e.Easing.Cubic.Out,"Quart.easeOut":e.Easing.Quartic.Out,"Quint.easeOut":e.Easing.Quintic.Out,"Sine.easeOut":e.Easing.Sinusoidal.Out,"Expo.easeOut":e.Easing.Exponential.Out,"Circ.easeOut":e.Easing.Circular.Out,"Elastic.easeOut":e.Easing.Elastic.Out,"Back.easeOut":e.Easing.Back.Out,"Bounce.easeOut":e.Easing.Bounce.Out,"Quad.easeInOut":e.Easing.Quadratic.InOut,"Cubic.easeInOut":e.Easing.Cubic.InOut,"Quart.easeInOut":e.Easing.Quartic.InOut,"Quint.easeInOut":e.Easing.Quintic.InOut,"Sine.easeInOut":e.Easing.Sinusoidal.InOut,"Expo.easeInOut":e.Easing.Exponential.InOut,"Circ.easeInOut":e.Easing.Circular.InOut,"Elastic.easeInOut":e.Easing.Elastic.InOut,"Back.easeInOut":e.Easing.Back.InOut,"Bounce.easeInOut":e.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},e.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,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_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)},destroy:function(){this.game.onPause.remove(this._pauseAll,this),this.game.onResume.remove(this._resumeAll,this),this.game=null,this._add=null,this._tweens=null}},e.TweenManager.prototype.constructor=e.TweenManager,e.Tween=function(t,i,s){this.game=i,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new e.Signal,this.onLoop=new e.Signal,this.onRepeat=new e.Signal,this.onChildComplete=new e.Signal,this.onComplete=new e.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},e.Tween.updateColor=function(t){e.Color.updateColor(t.target)},e.Tween.prototype={to:function(t,i,s,n,r,o,a){return(void 0===i||i<=0)&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).to(t,i,s,r,o,a)),n&&this.start(),this)},from:function(t,i,s,n,r,o,a){return void 0===i&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).from(t,i,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(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.deltaTotal},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.deltaTotal)},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.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])),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 e.TweenData.PENDING;this.isRunning=!0}var i=this.game.time.delta;this.parent.reverse?(this.dt-=i*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=i*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():e.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,e.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return e.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.deltaTotal,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,e.TweenData.LOOPED}},e.TweenData.prototype.constructor=e.TweenData,e.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){return 0===t?0:1===t?1:(.1,-1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4))},Out:function(t){return 0===t?0:1===t?1:(.1,1*Math.pow(2,-10*t)*Math.sin((t-.1)*(2*Math.PI)/.4)+1)},InOut:function(t){return 0===t?0:1===t?1:(.1,(t*=2)<1?1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*-.5:1*Math.pow(2,-10*(t-=1))*Math.sin((t-.1)*(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-e.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*e.Easing.Bounce.In(2*t):.5*e.Easing.Bounce.Out(2*t-1)+.5}}},e.Easing.Default=e.Easing.Linear.None,e.Easing.Power0=e.Easing.Linear.None,e.Easing.Power1=e.Easing.Quadratic.Out,e.Easing.Power2=e.Easing.Cubic.Out,e.Easing.Power3=e.Easing.Quartic.Out,e.Easing.Power4=e.Easing.Quintic.Out,e.Time=function(t){this.game=t,this.time=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.delta=0,this.deltaTotal=0,this.deltaMax=200,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=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 e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._timers=[]},e.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 i=new e.Timer(this.game,t);return this._timers.push(i),i},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){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},preUpdate:function(t){t*=1e3,this.delta=t,this.deltaTotal+=t,this.game.paused||(this.events.update(this.deltaTotal),this.updateTimers()),this.advancedTiming&&this.updates++},preRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted},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(e.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.desiredFpsMult=1/t}}),Object.defineProperty(e.Time.prototype,"desiredMinFps",{get:function(){return 1e3/this.deltaMax},set:function(t){this.deltaMax=1e3/t}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.Signal,this.nextTick=0,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=this.game.time?this.game.time.deltaTotal:0,this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,r,o){var a=(t=Math.round(t))+this._now,h=new e.TimerEvent(this,t,a,s,i,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.deltaTotal+(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._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.deltaTotal,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.deltaTotal,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.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},e.TimerEvent.prototype.constructor=e.TimerEvent,e.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=[]},e.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,i,s,n,r){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,r,this._outputFrames),this._anims[t]=new e.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}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},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(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},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)}}),e.Animation=function(t,i,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=i,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 e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.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.deltaTotal,this._timeNextFrame=this.game.time.deltaTotal+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.deltaTotal,this._timeNextFrame=this.game.time.deltaTotal+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=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(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||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.updateCurrentFrame(!1),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()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.deltaTotal:this.isPlaying&&(this._timeNextFrame=this.game.time.deltaTotal+this.delay)}}),Object.defineProperty(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.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(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,r){void 0===n&&(n="");var o=[],a="";if(i=s;h--)a=t+(a="number"==typeof r?e.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},e.Frame=function(t,i,s,n,r,o){this.index=t,this.x=i,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+o+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=e.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},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},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 e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.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 e.FrameData,i=0;if||h<-f)return console.error('Spritesheet "%s": skipFrames=%s is larger than the frame total %s',i,h,f),null;if(r>-1&&(v=(f=r)-1),d<1&&console.warn('Spritesheet "%s": Texture has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)',i,c,s+o+a,s,o,a),p<1&&console.warn('Spritesheet "%s": Texture has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)',i,u,n+o+a,n,o,a),0===g)return console.error('Spritesheet "%s": zero frames were produced',i),null;if(h>0?v=(y=h)+(f=Math.min(f,g-h))-1:h<0&&(y=(v=m+h)-(f=Math.min(f,g+h))+1),y<0)return console.error('Spritesheet "%s": There is no frame at index %s',i,y),null;if(v>m)return console.warn('Spritesheet "%s": There is no frame at index %s. Last frame found is index %s',i,v,m),null;for(var x=new e.FrameData,b=o,_=o,w=0,T=0;Tv);T++)T>=y&&x.addFrame(new e.Frame(w++,b,_,s,n,"")),(b+=s+a)+s>c&&(b=o,_+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,r=i.frames,o=0;o tag")}},e.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:{},data:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._cacheMap[e.Cache.DATA]=this._cache.data,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DATA=16,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in e.LoaderParser?e.LoaderParser[s](n):n,o={key:t,url:i,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new e.Frame(0,0,0,r.width,r.height,t),frameData:new e.FrameData,fileFormat:s};return o.frameData.addFrame(new e.Frame(0,0,0,r.width,r.height,i)),this._cache.image[t]=o,this._resolveURL(i,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,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.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(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.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,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,r,o,a){var h={url:i,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?e.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,r,o,a){var h=this.getFrameByName(i,s);if(h){var l={font:null,base:this.getBaseTexture(i),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var c;"json"===r?(c=this.getJSON(n),l.font=e.LoaderParser.jsonBitmapFont(c,l.base,o,a,h,this.game.resolution)):(c=this.getXML(n),l.font=e.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,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,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:i,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=c,this._resolveURL(i,c)},addTextureAtlas:function(t,i,s,n,r){var o={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===e.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=e.AnimationParser.XMLData(this.game,n,t):r===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=e.AnimationParser.JSONData(this.game,n,t):o.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(i,o)},addData:function(t,e){this._cache.data[t]=e},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 i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.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(e.Cache.CANVAS,t)},checkDataKey:function(t){return this.checkKey(e.Cache.DATA,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.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,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var r=n[i];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+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getData:function(t){return this.getItem(t,e.Cache.DATA,"getData")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},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=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},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]},removeData:function(t){delete this._cache.data[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.",i),t._ready())},e.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)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.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 e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.Signal,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},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.mediaTypes={avif:"image/avif",bmp:"image/bmp",cur:"image/x-icon",gif:"image/gif",ico:"image/x-icon",jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",svg:"image/svg+xml",tif:"image/tiff",tiff:"image/tiff",webp:"image/webp"},e.Loader.getMediaType=function(t){var i=t.match(/\.(\w+)$/);return i?e.Loader.mediaTypes[i[1]]||null:null},e.Loader._getSource=function(t){return"string"==typeof t?{url:t,type:e.Loader.getMediaType(t)}:t},e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.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.game.state&&(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.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 i=t.data[t.key];if(i)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()},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,i){if(this.game.isBooted){var s=!0;switch(t.type){case"packfile":r=JSON.parse(i.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,i.response);break;case"image":case"imageset":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===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.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=i.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=i.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=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(i.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=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.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(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.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;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=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]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),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}},e.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])},e.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]}},e.AudioSprite.prototype.constructor=e.AudioSprite,e.Sound=function(t,i,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=i,this.key=i,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.playOnce=!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._pendingStart=!1,this._removeFromSoundManager=!1,this._sourceId=0,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,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(i)&&this.game.cache.isSoundReady(i)?(this._sound=this.game.cache.getSoundData(i),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new e.Signal,this.onPlay=new e.Signal,this.onPause=new e.Signal,this.onResume=new e.Signal,this.onLoop=new e.Signal,this.onStop=new e.Signal,this.onMute=new e.Signal,this.onMarkerComplete=new e.Signal,this.onFadeComplete=new e.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},e.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&&(this._removeOnEndedHandler(),this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),this._markedToDelete&&(this._disconnectSource(),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(){if(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));var t=this.game.time.time;if(this.isPlaying){if(this._pendingStart){var e=this._sound.currentTime;if(!(e>((this.paused?this._tempPause:0)||this.position||0)))return;this._pendingStart=!1,this.startTime=t-1e3*e,this.stopTime=this.startTime+this.durationMS}this.currentTime=t-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=t,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0,!1))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=t),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0,!1)):this.stop())}}else this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n,r){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),void 0===r&&(r=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0),this.isPlaying=!1),""===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._createSourceAndConnect(),this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||this._addOnEndedHandler(),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),this.loop&&""===t?this._startSource(0,0):this._startSource(0,this.position,this.duration),this.isPlaying=!0,this.paused=!1,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&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._sound.loop=this.loop,this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._globalVolume=this.game.sound.volume,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._globalVolume,this._pendingStart=!this.currentMarker,this.isPlaying=!0,this.paused=!1,this._tempPause=0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&this.onPlay.dispatch(this)):this.pendingPlayback=!0,this.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!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.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){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._createSourceAndConnect(),""===this.currentMarker&&(this.loop?this._sound.loop=!0:this._addOnEndedHandler());var e=this.duration-this.pausedPosition/1e3;this.loop&&""===this.currentMarker?this._startSource(0,t):this._startSource(0,t,e)}else this._pendingStart=!this.currentMarker,this._sound.currentTime=this._tempPause,this._tempPause=0,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&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0)),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,i){this.isPlaying&&!this.paused&&i!==this.volume&&(void 0===t&&(t=1e3),void 0!==i?(this.fadeTween=this.game.add.tween(this).to({volume:i},t,e.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())},_createSourceAndConnect:function(){this._sound=this.context.createBufferSource(),this._sound.connect(this.externalNode||this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this._sourceId++},_disconnectSource:function(){this._sound.disconnect(this.externalNode||this.gainNode)},_startSource:function(t,e,i){void 0===i?this._sound.start(t||0,e||0):this._sound.start(t||0,e||0,i)},_stopSourceAndDisconnect:function(){this._removeOnEndedHandler();try{this._sound.stop(0)}catch(t){}this._disconnectSource(),this._sound=null},_addOnEndedHandler:function(){this._sound.onended=this.onEndedHandler.bind(this)},_removeOnEndedHandler:function(){this._sound.onended=null}},e.Sound.prototype.constructor=e.Sound,Object.defineProperty(e.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(e.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(e.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(e.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))}}),Object.defineProperty(e.Sound.prototype,"sourceId",{get:function(){return this._sound?this._sourceId:null}}),e.SoundManager=function(t){this.game=t,this.onSoundDecode=new e.Signal,this.onVolumeChange=new e.Signal,this.onMute=new e.Signal,this.onUnMute=new e.Signal,this.onTouchUnlock=new e.Signal,this.onStateChange=new e.Signal,this.context=null,this.baseLatency=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 e.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null,this._onClick=this._onClick.bind(this),this._onStateChange=this._onStateChange.bind(this)},e.SoundManager.prototype={boot:function(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,this.baseLatency=this.context.baseLatency||256/(this.context.sampleRate||44100),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.context.onstatechange=this._onStateChange,"suspended"===this.context.state&&this.game.canvas.addEventListener("click",this._onClick);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},webAudioIsSuspended:function(){return this.usingWebAudio&&"suspended"===this.context.state},resumeWebAudio:function(){if(this.usingWebAudio)return this.context.resume()},resumeWebAudioIfSuspended:function(){if(this.webAudioIsSuspended())return this.context.resume()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();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);var e=this;this._unlockSource.onended=function(){e.setTouchUnlock(),e.resumeWebAudioIfSuspended()},void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudioIfSuspended()}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 i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==i||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))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.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(e.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(e.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(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),e.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px monospace",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},e.Utils.Debug.GEOM_AUTO=0,e.Utils.Debug.GEOM_RECTANGLE=1,e.Utils.Debug.GEOM_CIRCLE=2,e.Utils.Debug.GEOM_POINT=3,e.Utils.Debug.GEOM_LINE=4,e.Utils.Debug.GEOM_ELLIPSE=5,e.Utils.Debug.prototype={boot:function(){this.game.renderType===e.CANVAS?this.context=this.game.context:(this.bmd=new e.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=e.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new e.Line,this._rect=new e.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;e ")+o):o===s._pendingState?this.line("+ "+o):this.line(" "+o)}this.stop()},sound:function(t,e,i){var s=this.game.sound;this.start(t,e,i),s.noAudio?this.line("Audio is disabled"):(this.line("Volume: "+s.volume.toFixed(2)+(s.mute?" (Mute)":"")),this.line("Mute on pause: "+s.muteOnPause),this.line("Using: "+(s.usingWebAudio?"Web Audio - "+s.context.state:"Audio Tag")),this.line("Touch locked: "+s.touchLocked),this.line("Sounds: "+s._sounds.length)),this.stop()},soundInfo:function(t,e,i,s){if(this.start(e,i,s),this.line("Sound: "+t.key+" Touch locked: "+t.game.sound.touchLocked),this.line("Is Ready?: "+this.game.cache.isSoundReady(t.key)+" Pending Playback: "+t.pendingPlayback),this.line("Decoded: "+t.isDecoded+" Decoding: "+t.isDecoding),this.line("Playing: "+t.isPlaying+" Loop: "+t.loop),this.line("Time: "+(t.currentTime/1e3).toFixed(3)+"s Total: "+t.totalDuration.toFixed(3)+"s"),this.line("Volume: "+t.volume.toFixed(2)+(t.mute?" (Mute)":"")),this.line("Using: "+(t.usingWebAudio?"Web Audio":"Audio Tag")),t.usingWebAudio&&this.line(" Source: "+(t.sourceId||"none")),t.usingAudioTag&&t._sound){var n=t._sound;this.line(" currentSrc: "+n.currentSrc),this.line(" currentTime: "+n.currentTime),this.line(" duration: "+n.duration),this.line(" ended: "+n.ended),this.line(" loop: "+n.loop),this.line(" muted: "+n.muted),this.line(" paused: "+n.paused)}""!==t.currentMarker&&(this.line("Marker: "+t.currentMarker+" Duration: "+t.duration.toFixed(3)+"s ("+t.durationMS+"ms)"),this.line("Start: "+t.markers[t.currentMarker].start.toFixed(3)+" Stop: "+t.markers[t.currentMarker].stop.toFixed(3)),this.line("Position: "+t.position.toFixed(3))),this.stop()},camera:function(t,e,i){var s=t.deadzone,n=t.target,r=t.view;s&&(this._rect.setTo(r.x+s.x,r.y+s.y,s.width,s.height),this.rectangle(this._rect,e,i)),n&&(this._line.setTo(r.centerX,r.centerY,n.x,n.y),this.geom(this._line,e,i),this.geom(n,e,!1,3))},cameraInfo:function(t,e,i,s){var n=t.bounds,r=t.deadzone,o=t.target,a=t.view;this.start(e,i,s),this.line("Camera ("+t.width+" x "+t.height+")"),this.line("x: "+t.x+" y: "+t.y),this.line("Bounds: "+(n?"x: "+n.x+" y: "+n.y+" w: "+n.width+" h: "+n.height:"none")),this.line("View: x: "+a.x+" y: "+a.y+" w: "+a.width+" h: "+a.height),this.line("Center: x: "+t.centerX+" y: "+t.centerY),this.line("Deadzone: "+(r?"x: "+r.x+" y: "+r.y+" w: "+r.width+" h: "+r.height:r)),this.line("Total in view: "+t.totalInView),this.line("At limit: x: "+t.atLimit.x+" y: "+t.atLimit.y),this.line("Target: "+(o?o.name||o:"none")),this.stop()},timer:function(t,e,i,s){this.start(e,i,s),this.line("Timer (running: "+t.running+" expired: "+t.expired+")"),this.line("Next Tick: "+t.next+" Duration: "+t.duration),this.line("Paused: "+t.paused+" Length: "+t.length),this.stop()},pointer:function(t,e,i,s,n,r){if(null!=t&&(void 0===e&&(e=!1),i=i||"rgba(0,255,0,0.5)",s=s||"rgba(255,255,0,0.5)",r=r||"rgba(255,0,0,0.5)",!0!==e||!0!==t.isUp)){this.start(t.x,t.y-150,n),this.context.beginPath(),this.context.arc(t.x,t.y,t.circle.radius,0,2*Math.PI),t.active?this.context.fillStyle=t.isDown?i:s:this.context.fillStyle=r,this.context.fill(),this.context.closePath(),this.context.beginPath(),this.context.moveTo(t.positionDown.x,t.positionDown.y),this.context.lineTo(t.position.x,t.position.y),this.context.lineWidth=2,this.context.stroke(),this.context.closePath();var o=t.movementX,a=t.movementY;(o||a)&&(this.context.beginPath(),this.context.moveTo(o+t.position.x,a+t.position.y),this.context.lineTo(t.position.x,t.position.y),this.context.lineWidth=2,this.context.stroke(),this.context.closePath()),this.line("ID: "+t.id+" Active: "+t.active),this.line("World X: "+t.worldX.toFixed(1)+" World Y: "+t.worldY.toFixed(1)),this.line("Screen X: "+t.x.toFixed(1)+" Screen Y: "+t.y.toFixed(1)+" In: "+t.withinGame),this.line("Movement: X: "+o+" Y: "+a),this.line("Duration: "+t.duration+" ms"),this.line("is Down: "+t.isDown+" is Up: "+t.isUp),this.line("Identifier: "+t.identifier+" Pointer ID: "+t.pointerId),t.isMouse&&this.line("Buttons: "+this._pointerButtonIcon(t.leftButton)+" "+this._pointerButtonIcon(t.middleButton)+" "+this._pointerButtonIcon(t.rightButton)),this.stop()}},_pointerButtonIcon:function(t){return t.isDown?"x":t.isUp?"o":"-"},spriteInputInfo:function(t,e,i,s){this.start(e,i,s),this.line("Sprite Input: ("+t.width+" x "+t.height+")"),this.line("x: "+t.input.pointerX().toFixed(1)+" y: "+t.input.pointerY().toFixed(1)),this.line("over: "+t.input.pointerOver()+" duration: "+t.input.overDuration().toFixed(0)),this.line("down: "+t.input.pointerDown()+" duration: "+t.input.downDuration().toFixed(0)),this.line("just over: "+t.input.justOver()+" just out: "+t.input.justOut()),this.stop()},key:function(t,e,i,s){this.start(e,i,s,150),this.line("Key:",t.keyCode,"isDown:",t.isDown),this.line("justDown:",t.justDown,"justUp:",t.justUp),this.line("Time Down:",t.timeDown.toFixed(0),"duration:",t.duration.toFixed(0)),this.stop()},inputInfo:function(t,i,s,n){var r=this.game.input;if(void 0===n&&(n=!0),this.start(t,i,s),this.line("Input"),this.line("X: "+r.x+" Y: "+r.y),this.line("World X: "+r.worldX+" World Y: "+r.worldY),this.line("Scale X: "+r.scale.x.toFixed(2)+" Scale Y: "+r.scale.x.toFixed(2)),this.line("Screen X: "+r.activePointer.screenX.toFixed(1)+" Screen Y: "+r.activePointer.screenY.toFixed(1)),n){this.line("Sources:"),this.line(" "+this._inputHandler(r.mouse,"mouse")),this.line(" "+this._inputHandler(r.mspointer,"mspointer")),this.line(" "+this._inputHandler(r.touch,"touch"));var o=r.pointers,a=r.mousePointer,h=e.PointerModes,l=0,c=0;this.line("Pointers:"),this.line(" "+(a.isDown?"x":"o")+" "+h[a.pointerMode]+" "+a.identifier);for(var u=0;u0)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 e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=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(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.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(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:r}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.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(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.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,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},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,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var r=Math.min(t,i,s),o=Math.max(t,i,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=(i-s)/a+(i1&&(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,i,s,n,r,o,a,h){var l={r:t||0,g:i||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 e.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.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,i,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){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);i?(i.r=n,i.g=r,i.b=o):i=e.Color.createColor(n,r,o)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);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=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.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=e.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return e.Color.getColor32(r,l,c,u)},interpolateColorWithRGB:function(t,i,s,n,r,o){var a=e.Color.getRGB(t),h=(i-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,c=(n-a.blue)*o/r+a.blue;return e.Color.getColor(h,l,c)},interpolateRGB:function(t,i,s,n,r,o,a,h){var l=(n-t)*h/a+t,c=(r-i)*h/a+i,u=(o-s)*h/a+s;return e.Color.getColor(l,c,u)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t));return e.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 i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.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,i){return e.Color.blendOverlay(i,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,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.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()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.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}},e.Physics.prototype.constructor=e.Physics,e.Physics.Arcade=function(t){this.game=t,this.gravity=new e.Point,this.bounds=new e.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=e.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new e.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()},e.Physics.Arcade.prototype.constructor=e.Physics.Arcade,e.Physics.Arcade.SORT_NONE=0,e.Physics.Arcade.LEFT_RIGHT=1,e.Physics.Arcade.RIGHT_LEFT=2,e.Physics.Arcade.TOP_BOTTOM=3,e.Physics.Arcade.BOTTOM_TOP=4,e.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,i){void 0===i&&(i=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof e.Group?this.enable(t[s].children,i):(this.enableBody(t[s]),i&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof e.Group?this.enable(t.children,i):(this.enableBody(t),i&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.Arcade.Body(t),t.parent&&t.parent instanceof e.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+=.001*t.angularVelocity*this.game.time.delta}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+=.001*(this.gravity.x+e.gravity.x)*this.game.time.delta:2===t&&e.allowGravity&&(i+=.001*(this.gravity.y+e.gravity.y)*this.game.time.delta),s?i+=.001*s*this.game.time.delta:n&&e.allowDrag&&(i-(n*=.001*this.game.time.delta)>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,i){null!==t.physicsSortDirection?i=t.physicsSortDirection:void 0===i&&(i=this.sortDirection),i===e.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):i===e.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):i===e.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):i===e.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===e.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(i);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===e.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,i,s,n,r)}}}}},collideGroupVsGroup:function(t,i,s,n,r,o){if(0!==t.length&&0!==i.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)=i.right)&&!(t.position.y>=i.bottom))))},circleBodyIntersects:function(t,i){var s=e.Math.clamp(t.center.x,i.left,i.right),n=e.Math.clamp(t.center.y,i.top,i.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,i,s){this.getOverlapX(t,i),this.getOverlapY(t,i);var n=i.center.x-t.center.x,r=i.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==i.isCircle){var h={x:i.isCircle?t.position.x:i.position.x,y:i.isCircle?t.position.y:i.position.y,right:i.isCircle?t.right:i.right,bottom:i.isCircle?t.bottom:i.bottom},l={x:t.isCircle?t.center.x:i.center.x,y:t.isCircle?t.center.y:i.center.y,radius:t.isCircle?t.halfWidth:i.halfWidth};l.yh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+i.halfWidth-e.Math.distance(t.center.x,t.center.y,i.center.x,i.center.y);if(s||0===a||t.immovable&&i.immovable||t.customSeparateX||i.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,i.sprite),i.onOverlap&&i.onOverlap.dispatch(i.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:i.velocity.x*Math.cos(o)+i.velocity.y*Math.sin(o),y:-i.velocity.x*Math.sin(o)+i.velocity.y*Math.cos(o)},d=((t.mass-i.mass)*c.x+2*i.mass*u.x)/(t.mass+i.mass),p=(2*t.mass*c.x+(i.mass-t.mass)*u.x)/(t.mass+i.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),i.immovable||(i.velocity.x=(p*Math.cos(o)-u.y*Math.sin(o))*i.bounce.x,i.velocity.y=(u.y*Math.cos(o)+p*Math.sin(o))*i.bounce.y),Math.abs(o)0&&!t.immovable&&i.velocity.x>t.velocity.x?t.velocity.x*=-1:i.velocity.x<0&&!i.immovable&&t.velocity.x0&&!t.immovable&&i.velocity.y>t.velocity.y?t.velocity.y*=-1:i.velocity.y<0&&!i.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&i.velocity.x0&&!i.immovable&&t.velocity.x>i.velocity.x?i.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&i.velocity.y0&&!i.immovable&&t.velocity.x>i.velocity.y&&(i.velocity.y*=-1)),t.immovable||(t.x+=.001*t.velocity.x*this.game.time.delta-a*Math.cos(o),t.y+=.001*t.velocity.y*this.game.time.delta-a*Math.sin(o)),i.immovable||(i.x+=.001*i.velocity.x*this.game.time.delta+a*Math.cos(o),i.y+=.001*i.velocity.y*this.game.time.delta+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,i.sprite),i.onCollide&&i.onCollide.dispatch(i.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,i,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 e.Rectangle(t,i,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(s=this.distanceBetween(t,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},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,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i,!0)},velocityFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},accelerationFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},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,s){void 0===i&&(i=!1);var n,r;return s?(n=t.centerX-e.centerX,r=t.centerY-e.centerY):i?(n=t.world.x-e.world.x,r=t.world.y-e.world.y):(n=t.x-e.x,r=t.y-e.y),Math.sqrt(n*n+r*r)},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,s){for(var n=1/0,r=null,o=0,a=e.length;on&&(r=h,n=l)}return r},angleBetween:function(t,i,s){return void 0===s&&(s=!1),s?e.Point.angle(i.world,t.world):e.Point.angle(i,t)},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)}},e.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=e.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new e.Point,this.position=new e.Point(t.x,t.y),this.prev=new e.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 e.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new e.Point,this.newVelocity=new e.Point,this.deltaMax=new e.Point,this.acceleration=new e.Point,this.allowDrag=!0,this.drag=new e.Point,this.allowGravity=!0,this.gravity=new e.Point,this.bounce=new e.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new e.Point(1e4,1e4),this.friction=new e.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=e.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 e.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 e.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},e.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(.001*this.velocity.x*this.game.time.delta,.001*this.velocity.y*this.game.time.delta),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=this.velocity.atan()),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.delta,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=e.LEFT:this.deltaX()>0&&(this.facing=e.RIGHT),this.deltaY()<0?this.facing=e.UP:this.deltaY()>0&&(this.facing=e.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,i,s){var n=i/(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),i=Math.abs(i),this.moveDuration=0,this.moveDistance=i,null===this.moveTarget&&(this.moveTarget=new e.Line,this.moveEnd=new e.Point),this.moveTarget.fromAngle(this.x,this.y,r,i),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,i){return this.isCircle?e.Circle.contains(this,t,i):e.Rectangle.contains(this,t,i)},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 e.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(e.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),e.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)},e.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)},e.Physics.Arcade.Body.prototype.constructor=e.Physics.Arcade.Body,e.Physics.Arcade.TilemapCollision=function(){},e.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}},e.Utils.mixinPrototype(e.Physics.Arcade.prototype,e.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,e.Physics.P2=function(t,i){this.game=t,void 0===i?i={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(i.hasOwnProperty("gravity")||(i.gravity=[0,0]),i.hasOwnProperty("broadphase")||(i.broadphase=new p2.SAPBroadphase)),this.config=i,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new e.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new e.Signal,this.onBodyRemoved=new e.Signal,this.onSpringAdded=new e.Signal,this.onSpringRemoved=new e.Signal,this.onConstraintAdded=new e.Signal,this.onConstraintRemoved=new e.Signal,this.onContactMaterialAdded=new e.Signal,this.onContactMaterialRemoved=new e.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new e.Signal,this.onEndContact=new e.Signal,i.hasOwnProperty("mpx")&&i.hasOwnProperty("pxm")&&i.hasOwnProperty("mpxi")&&i.hasOwnProperty("pxmi")&&(this.mpx=i.mpx,this.mpxi=i.mpxi,this.pxm=i.pxm,this.pxmi=i.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.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)},e.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,i,s){void 0===i&&(i=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof e.Group?this.enable(t[n].children,i,s):(this.enableBody(t[n],i),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],i,!0));else t instanceof e.Group?this.enable(t.children,i,s):(this.enableBody(t,i),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,i,!0))},enableBody:function(t,i){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=i,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(.001*this.game.time.delta):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.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 e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,i,s,n,r,o){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.DistanceConstraint(this,t,i,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,i,s,n){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.GearConstraint(this,t,i,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,i,s,n,r,o){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new e.Physics.P2.RevoluteConstraint(this,t,i,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,i,s,n,r){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.LockConstraint(this,t,i,s,n,r));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,i,s,n,r,o,a){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.PrismaticConstraint(this,t,i,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,i){t=t||"";var s=new e.Physics.P2.Material(t);return this.materials.push(s),void 0!==i&&i.setMaterial(s),s},createContactMaterial:function(t,i,s){void 0===t&&(t=this.createMaterial()),void 0===i&&(i=this.createMaterial());var n=new e.Physics.P2.ContactMaterial(t,i,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 e.Physics.P2.Body?t.data:t.body&&t.body.type===e.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,i,s,n){void 0===i&&(i=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=i.length;a--;)i[a]instanceof e.Physics.P2.Body&&(!n||i[a].data.type!==p2.Body.STATIC)?o.push(i[a].data):i[a]instanceof p2.Body&&i[a].parent&&(!n||i[a].type!==p2.Body.STATIC)?o.push(i[a]):i[a]instanceof e.Sprite&&i[a].hasOwnProperty("body")&&(!n||i[a].body.data.type!==p2.Body.STATIC)&&o.push(i[a].body.data);return this.world.hitTest(r,o,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var i=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|i),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|i),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|i),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|i),this._collisionGroupID++;var s=new e.Physics.P2.CollisionGroup(i);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,i){if(t instanceof e.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(e.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(e.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(e.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(e.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(e.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(e.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(e.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(e.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(e.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),e.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},e.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}},e.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.PointProxy.prototype.constructor=e.Physics.P2.PointProxy,Object.defineProperty(e.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(e.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(e.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(e.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),e.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.InversePointProxy.prototype.constructor=e.Physics.P2.InversePointProxy,Object.defineProperty(e.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(e.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(e.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),e.Physics.P2.Body=function(t,i,s,n,r){i=i||null,s=s||0,n=n||0,void 0===r&&(r=1),this.game=t,this.world=t.physics.p2,this.sprite=i,this.type=e.Physics.P2JS,this.offset=new e.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:r}),this.data.parent=this,this.velocity=new e.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new e.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new e.Point,this.onBeginContact=new e.Signal,this.onEndContact=new e.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,i&&(this.setRectangleFromSprite(i),i.exists&&this.game.physics.p2.addBody(this))},e.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;n=0?dp;n=p>=0?++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"}}),e.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},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.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},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},e.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),e.Physics.P2.Material.prototype.constructor=e.Physics.P2.Material,e.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},e.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),e.Physics.P2.ContactMaterial.prototype.constructor=e.Physics.P2.ContactMaterial,e.Physics.P2.CollisionGroup=function(t){this.mask=t},e.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)},e.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),e.Physics.P2.DistanceConstraint.prototype.constructor=e.Physics.P2.DistanceConstraint,e.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)},e.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),e.Physics.P2.GearConstraint.prototype.constructor=e.Physics.P2.GearConstraint,e.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)},e.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),e.Physics.P2.LockConstraint.prototype.constructor=e.Physics.P2.LockConstraint,e.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)},e.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),e.Physics.P2.PrismaticConstraint.prototype.constructor=e.Physics.P2.PrismaticConstraint,e.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)},e.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),e.Physics.P2.RevoluteConstraint.prototype.constructor=e.Physics.P2.RevoluteConstraint,e.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},e.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}},e.Tile.prototype.constructor=e.Tile,Object.defineProperty(e.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(e.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(e.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(e.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(e.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(e.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),e.Tilemap=function(t,i,s,n,r,o){this.game=t,this.key=i;var a=e.TilemapParser.parse(this.game,i,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.objectsMap=a.objectsMap,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)},e.Tilemap.CSV=0,e.Tilemap.TILED_JSON=1,e.Tilemap.NORTH=0,e.Tilemap.EAST=1,e.Tilemap.SOUTH=2,e.Tilemap.WEST=3,e.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,i,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!==i&&null!==i||(i=t),e.BitmapData&&i instanceof e.BitmapData)h=i.canvas;else{if(!this.game.cache.checkImageKey(i))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+i+'"'),null;h=this.game.cache.getImage(i)}var l=this.getTilesetIndex(t);if(null===l&&this.format===e.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),console.log("Tilesets: ",this.tilesets),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new e.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)return console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"'),void console.log("Layers: ",this.layers);void 0===i||i<=0?i=Math.min(this.game.width,this.layers[r].widthInPixels):i>this.game.width&&(i=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:",i,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new e.TilemapLayer(this.game,this,r,i,s));return this.enableDebug&&console.groupEnd(),o},createBlankLayer:function(t,i,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:i,height:s,widthInPixels:i*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 e.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,i,s){if(s=this.getLayer(s),t>=0&&t=0&&i=0&&i=0&&s-1?this.layers[n].data[s][i].setCollision(!0,!0,!0,!0):this.layers[n].data[s][i].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][i]}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,n){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var r,o,a=0,h=this.layers[s].height,l=this.layers[s].width,c=this.layers[s].data;if(n)var u=[];if(i)for(d=h-1;d>=0;d--){r=c[d];for(p=l-1;p>=0;p--)if((o=r[p]).index===t)if(a>=e){if(!n)return o;u.push(o)}else a++}else for(var d=0;d=e){if(!n)return o;u.push(o)}else a++}return n?u:null},getTile:function(t,e,i,s){return void 0===s&&(s=!1),i=this.getLayer(i),t>=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}},e.Tilemap.prototype.constructor=e.Tilemap,Object.defineProperty(e.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),e.TilemapLayer=function(t,i,s,n,r){n|=0,r|=0,e.Sprite.call(this,t,0,0),this.map=i,this.index=s,this.layer=i.layers[s],this.canvas=e.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=e.TILEMAPLAYER,this.physicsType=e.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:i.tileWidth,tileHeight:i.tileHeight,cw:i.tileWidth,ch:i.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new e.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=e.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},e.TilemapLayer.prototype=Object.create(e.Sprite.prototype),e.TilemapLayer.prototype.constructor=e.TilemapLayer,e.TilemapLayer.prototype.preUpdateCore=e.Component.Core.preUpdate,e.TilemapLayer.sharedCopyCanvas=null,e.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=e.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},e.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},e.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},e.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)},e.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)},e.TilemapLayer.prototype.destroy=function(){e.CanvasPool.remove(this),e.Component.Destroy.prototype.destroy.call(this)},e.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},e.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},e.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},e.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},e.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)},e.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},e.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)},e.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},e.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},e.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},e.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},e.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))}}}},e.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)}},e.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)},e.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(e.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),e.TilemapParser={INSERT_NULL:!1,parse:function(t,i,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===i)return this.getEmptyData();if(null===i)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(i);if(a){if(a.format===e.Tilemap.CSV)return this.parseCSV(i,a.data,s,n);if(!a.format||a.format===e.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn('No map data found for key "%s"',i)},parseCSV:function(t,i,s,n){for(var r=this.getEmptyData(),o=[],a=(i=i.trim()).split("\n"),h=a.length,l=0,c=0;c>>0;r.data=h,delete r.encoding}else if(r.compression){console.warn('Layer compression is unsupported, skipping layer "%s".',r.name);continue}F={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&&(F.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?((D=new e.Tile(F,A,p,g.length,t.tilewidth,t.tileheight)).rotation=c,D.flipped=u,0!==d&&(D.flippedVal=d),f.push(D)):e.TilemapParser.INSERT_NULL?f.push(null):f.push(new e.Tile(F,-1,p,g.length,t.tilewidth,t.tileheight)),++p===r.width&&(g.push(f),p=0,f=[])}F.data=g,s.push(F)}i.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t0?this.scale.set(this.scaleData[t].x,this.scaleData[t].y):this.autoScale=!1}if(this.autoAlpha){this._a-=.001*this.game.time.delta*this.autoAlphaFps;var e=Math.round(this._a);e>0?this.alpha=this.alphaData[e].v:this.autoAlpha=!1}},e.Particle.prototype.onEmit=function(){},e.Particle.prototype.setAlphaData=function(t,e){this.alphaData=t,this._a=t.length-1,this.alpha=this.alphaData[this._a].v,this.autoAlpha=!0,this.autoAlphaFps=e},e.Particle.prototype.setScaleData=function(t,e){this.scaleData=t,this._s=t.length-1,this.scale.set(this.scaleData[this._s].x,this.scaleData[this._s].y),this.autoScale=!0,this.autoScaleFps=e},e.Particle.prototype.reset=function(t,i,s){return e.Component.Reset.prototype.reset.call(this,t,i,s),this.alpha=1,this.scale.set(1),this.autoScale=!1,this.autoAlpha=!1,this},e.Particles=function(t){this.game=t,this.emitters={},this.ID=0},e.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]}},e.Particles.prototype.constructor=e.Particles,e.Particles.Arcade={},e.Particles.Arcade.Emitter=function(t,i,s,n){this.maxParticles=n||50,e.Group.call(this,t),this._id=this.game.particles.ID++,this.name="emitter"+this.id,this.type=e.EMITTER,this.physicsType=e.GROUP,this.area=new e.Rectangle(i,s,1,1),this.minAngle=null,this.maxAngle=null,this.minSpeed=0,this.maxSpeed=100,this.minParticleSpeed=new e.Point(-100,-100),this.maxParticleSpeed=new e.Point(100,100),this.minParticleScale=1,this.maxParticleScale=1,this.scaleData=null,this.minRotation=-360,this.maxRotation=360,this.minParticleAlpha=1,this.maxParticleAlpha=1,this.alphaData=null,this.particleClass=e.Particle,this.particleDrag=new e.Point,this.angularDrag=0,this.frequency=100,this.lifespan=2e3,this.bounce=new e.Point,this.on=!1,this.particleAnchor=new e.Point(.5,.5),this.blendMode=e.blendModes.NORMAL,this.emitX=i,this.emitY=s,this.autoScale=!1,this.autoScaleFps=this.game.time.desiredFps,this.autoAlpha=!1,this.autoAlphaFps=this.game.time.desiredFps,this.particleBringToTop=!1,this.particleSendToBack=!1,this.counts={emitted:0,failed:0,totalEmitted:0,totalFailed:0},this._gravity=new e.Point(0,100),this._minParticleScale=new e.Point(1,1),this._maxParticleScale=new e.Point(1,1),this._total=0,this._timer=0,this._counter=0,this._flowQuantity=0,this._flowTotal=0,this._explode=!0,this._frames=null},e.Particles.Arcade.Emitter.prototype=Object.create(e.Group.prototype),e.Particles.Arcade.Emitter.prototype.constructor=e.Particles.Arcade.Emitter,e.Particles.Arcade.Emitter.prototype.update=function(){if(this.counts.emitted=0,this.counts.failed=0,this.on&&this.game.time.deltaTotal>=this._timer)if(this._timer=this.game.time.deltaTotal+this.frequency,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()},e.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.deltaTotal+e):this.start(!1,t,e,i),this},e.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},e.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},e.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,this.autoScaleFps):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,this.autoAlphaFps):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()},e.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),e.Group.prototype.destroy.call(this,!0,!1)},e.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},e.Particles.Arcade.Emitter.prototype.setSpeed=function(t,e,i,s){return this.setXSpeed(t,e),this.setYSpeed(i,s),this},e.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},e.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},e.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},e.Particles.Arcade.Emitter.prototype.setAlpha=function(t,i,s,n,r){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=0),void 0===n&&(n=e.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=i,this.autoAlpha=!1,s>0&&t!==i){var o={v:t},a=this.game.make.tween(o).to({v:i},s,n);a.yoyo(r),this.alphaData=a.generateData(this.game.time.desiredFps),this.autoAlphaFps=this.game.time.desiredFps,this.alphaData.reverse(),this.autoAlpha=!0}return this},e.Particles.Arcade.Emitter.prototype.setScale=function(t,i,s,n,r,o,a){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=e.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(i,n),this.autoScale=!1,r>0&&(t!==i||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:i,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(this.game.time.desiredFps),this.autoScaleFps=this.game.time.desiredFps,this.scaleData.reverse(),this.autoScale=!0}return this},e.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},e.Particles.Arcade.Emitter.prototype.setGravity=function(t,e){return t=t||0,e=e||0,this._gravity.set(t,e),this},e.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(e.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(e.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),e.Weapon=function(t,i){e.Plugin.call(this,t,i),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new e.Rectangle(0,0,1,1),this.fireAngle=e.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 e.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=e.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=e.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new e.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new e.Signal,this.onKill=new e.Signal,this.onFireLimit=new e.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new e.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new e.Point},e.Weapon.prototype=Object.create(e.Plugin.prototype),e.Weapon.prototype.constructor=e.Weapon,e.Weapon.KILL_NEVER=0,e.Weapon.KILL_LIFESPAN=1,e.Weapon.KILL_DISTANCE=2,e.Weapon.KILL_WEAPON_BOUNDS=3,e.Weapon.KILL_CAMERA_BOUNDS=4,e.Weapon.KILL_WORLD_BOUNDS=5,e.Weapon.KILL_STATIC_BOUNDS=6,e.Weapon.prototype.createBullets=function(t,i,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets&&!this.bullets.game&&(this.bullets=null),this.bullets||(this.bullets=this.game.add.physicsGroup(e.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,i,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=i,this.bulletFrame=s),this},e.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},e.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},e.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},e.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},e.Weapon.prototype.update=function(){this._bulletKillType===e.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()},e.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},e.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},e.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},e.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},e.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},e.Weapon.prototype.fire=function(t,i,s,n,r){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game.time.deltaTotal0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=e.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!==i&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,i-a))),0!==this.bulletAngleVariance&&(l+=e.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===e.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+=e.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(g=0),f=this.game.time.deltaTotal+g}else f=this.game.time.deltaTotal+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},e.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},e.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},e.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},e.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},e.Weapon.prototype.setBulletFrames=function(t,i,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=e.ArrayUtils.numberArray(t,i),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},e.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},e.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(e.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(e.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case e.Weapon.KILL_STATIC_BOUNDS:case e.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case e.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case e.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(e.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(e.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(e.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),e.Bullet=function(t,i,s,n,r){e.Sprite.call(this,t,i,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},e.Bullet.prototype=Object.create(e.Sprite.prototype),e.Bullet.prototype.constructor=e.Bullet,e.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},e.Bullet.prototype.update=function(){this.exists&&(this.data.killType>e.Weapon.KILL_LIFESPAN&&(this.data.killType===e.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=this.body.velocity.atan()),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},e.Video=function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game=t,this.key=i,this.width=0,this.height=0,this.type=e.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new e.Signal,this.onChangeSource=new e.Signal,this.onComplete=new e.Signal,this.onAccess=new e.Signal,this.onError=new e.Signal,this.onTimeout=new e.Signal,this.onTouchUnlock=new e.Signal,this.playWhenUnlocked=!0,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,i&&this.game.cache.checkVideoKey(i)){var n=this.game.cache.getVideo(i);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(e.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 e.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==i&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,e.BitmapData&&(this.snapshot=new e.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},e.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,s){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=!0),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;if(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"),this.video.setAttribute("playsinline","playsinline"),null!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout),navigator.mediaDevices&&navigator.mediaDevices.getUserMedia)navigator.mediaDevices.getUserMedia({audio:t,video:s}).then(this.getUserMediaSuccess.bind(this)).catch(this.getUserMediaError.bind(this));else try{navigator.getUserMedia({audio:t,video:s},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:void 0!==this.video.srcObject?this.video.srcObject=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.setAttribute("playsinline","playsinline"),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,i){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"),void 0!==i&&(this.video.crossOrigin=i),this.video.setAttribute("playsinline","playsinline"),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,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.srcObject?(this.video.srcObject.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,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(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 this.onTouchUnlock.dispatch(this),!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.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(e.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(e.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(e.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(e.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(e.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(e.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(e.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop=!0:this.video&&(this.video.loop=!1)}}),Object.defineProperty(e.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),e.Video.prototype.constructor=e.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}.call(this); //# sourceMappingURL=phaser.map \ No newline at end of file diff --git a/docs/CreatureShader.html b/docs/CreatureShader.html index 9390f9275..6826e16f9 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 15 + src/gameobjects/Creature.js line 15 @@ -329,7 +329,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 42 + src/gameobjects/Creature.js line 42 @@ -402,7 +402,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 28 + src/gameobjects/Creature.js line 28 @@ -479,7 +479,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 35 + src/gameobjects/Creature.js line 35 @@ -556,7 +556,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 64 + src/gameobjects/Creature.js line 64 @@ -589,9 +589,9 @@
Type:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -637,7 +637,7 @@
Type:
- + diff --git a/docs/EarCut.html b/docs/EarCut.html index 00d627a36..c3b7a4192 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 20 + src/utils/EarCut.js line 20 @@ -231,9 +231,9 @@

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

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

- + diff --git a/docs/Event.html b/docs/Event.html index 932298316..b2dd65249 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 222 + src/plugins/path/EventTarget.js line 222 @@ -392,7 +392,7 @@
Type:
Source:
- src/plugins/path/EventTarget.js line 274 + src/plugins/path/EventTarget.js line 274 @@ -469,7 +469,7 @@
Type:
Source:
- src/plugins/path/EventTarget.js line 256 + src/plugins/path/EventTarget.js line 256 @@ -546,7 +546,7 @@
Type:
Source:
- src/plugins/path/EventTarget.js line 286 + src/plugins/path/EventTarget.js line 286 @@ -623,7 +623,7 @@
Type:
Source:
- src/plugins/path/EventTarget.js line 265 + src/plugins/path/EventTarget.js line 265 @@ -656,9 +656,9 @@
Type:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -704,7 +704,7 @@
Type:
- + diff --git a/docs/EventTarget.html b/docs/EventTarget.html index 97cd2fcab..c8304283d 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.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

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

- + diff --git a/docs/PIXI.BaseTexture.html b/docs/PIXI.BaseTexture.html index 4028de5ff..cfc8f99dd 100644 --- a/docs/PIXI.BaseTexture.html +++ b/docs/PIXI.BaseTexture.html @@ -6,7 +6,7 @@ Phaser CE Class: BaseTexture - + @@ -312,7 +312,7 @@

Parameters:
Source:
- src/pixi/textures/BaseTexture.js line 14 + src/pixi/textures/BaseTexture.js line 14 @@ -417,7 +417,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 58 + src/pixi/textures/BaseTexture.js line 58 @@ -494,7 +494,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 40 + src/pixi/textures/BaseTexture.js line 40 @@ -572,7 +572,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 93 + src/pixi/textures/BaseTexture.js line 93 @@ -656,7 +656,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 75 + src/pixi/textures/BaseTexture.js line 75 @@ -733,7 +733,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 22 + src/pixi/textures/BaseTexture.js line 22 @@ -817,7 +817,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 49 + src/pixi/textures/BaseTexture.js line 49 @@ -896,7 +896,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 131 + src/pixi/textures/BaseTexture.js line 131 @@ -979,7 +979,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 66 + src/pixi/textures/BaseTexture.js line 66 @@ -1056,7 +1056,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 100 + src/pixi/textures/BaseTexture.js line 100 @@ -1133,7 +1133,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 31 + src/pixi/textures/BaseTexture.js line 31 @@ -1211,7 +1211,7 @@

Source:
- src/pixi/textures/BaseTexture.js line 160 + src/pixi/textures/BaseTexture.js line 160 @@ -1295,7 +1295,7 @@

Source:
- src/pixi/textures/BaseTexture.js line 177 + src/pixi/textures/BaseTexture.js line 177 @@ -1455,7 +1455,7 @@
Parameters:
Source:
- src/pixi/textures/BaseTexture.js line 143 + src/pixi/textures/BaseTexture.js line 143 @@ -1665,7 +1665,7 @@
Parameters:
Source:
- src/pixi/textures/BaseTexture.js line 217 + src/pixi/textures/BaseTexture.js line 217 @@ -1770,7 +1770,7 @@

Source:
- src/pixi/textures/BaseTexture.js line 190 + src/pixi/textures/BaseTexture.js line 190 @@ -1813,9 +1813,9 @@

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -1832,7 +1832,7 @@

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -1861,7 +1861,7 @@

- + diff --git a/docs/PIXI.CanvasBuffer.html b/docs/PIXI.CanvasBuffer.html index 9fa80f1e0..b2f0c582f 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.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -917,7 +917,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasGraphics.html b/docs/PIXI.CanvasGraphics.html index 34234494e..f9d41f479 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 11 + src/pixi/renderers/canvas/CanvasGraphics.js line 11 @@ -356,7 +356,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/CanvasGraphics.js line 15 + src/pixi/renderers/canvas/CanvasGraphics.js line 15 @@ -399,9 +399,9 @@
Parameters:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -447,7 +447,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasMaskManager.html b/docs/PIXI.CanvasMaskManager.html index fc9030915..6aa82c056 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.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -581,7 +581,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasRenderer.html b/docs/PIXI.CanvasRenderer.html index 1e0bc4b40..2234e0842 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 121 + src/pixi/renderers/canvas/CanvasRenderer.js line 121 @@ -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 128 + src/pixi/renderers/canvas/CanvasRenderer.js line 128 @@ -932,7 +932,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 113 + src/pixi/renderers/canvas/CanvasRenderer.js line 113 @@ -1009,7 +1009,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 135 + src/pixi/renderers/canvas/CanvasRenderer.js line 135 @@ -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 212 + src/pixi/renderers/canvas/CanvasRenderer.js line 212 @@ -1686,7 +1686,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 156 + src/pixi/renderers/canvas/CanvasRenderer.js line 156 @@ -1844,7 +1844,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 233 + src/pixi/renderers/canvas/CanvasRenderer.js line 233 @@ -1887,9 +1887,9 @@
Parameters:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -1935,7 +1935,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasTinter.html b/docs/PIXI.CanvasTinter.html index f4353dc6c..2856a1f73 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 72 + src/pixi/renderers/canvas/utils/CanvasTinter.js line 72 @@ -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.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -835,7 +835,7 @@
Parameters:
- + diff --git a/docs/PIXI.ComplexPrimitiveShader.html b/docs/PIXI.ComplexPrimitiveShader.html index 1126849ba..6857eb5af 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 112 + src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 112 @@ -720,7 +720,7 @@

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

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

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

- + diff --git a/docs/PIXI.DisplayObject.html b/docs/PIXI.DisplayObject.html index 6d92a0a37..803eaf619 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 791 + src/pixi/display/DisplayObject.js line 791 @@ -459,7 +459,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -541,7 +541,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -628,7 +628,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -708,7 +708,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -788,7 +788,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -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 108 + src/pixi/display/DisplayObject.js line 108 @@ -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 @@ -1273,7 +1273,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -1356,7 +1356,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -1438,7 +1438,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -1520,7 +1520,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -1602,7 +1602,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -1684,7 +1684,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -1761,7 +1761,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -1839,7 +1839,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 626 + src/pixi/display/DisplayObject.js line 626 @@ -1917,7 +1917,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -1997,7 +1997,7 @@

Source:
- src/pixi/display/DisplayObject.js line 254 + src/pixi/display/DisplayObject.js line 254 @@ -2233,7 +2233,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -2343,7 +2343,7 @@

Source:
- src/pixi/display/DisplayObject.js line 433 + src/pixi/display/DisplayObject.js line 433 @@ -2477,7 +2477,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -2681,7 +2681,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -2791,7 +2791,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -2971,7 +2971,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -3040,9 +3040,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -3059,7 +3059,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -3088,7 +3088,7 @@
Returns:
- + diff --git a/docs/PIXI.DisplayObjectContainer.html b/docs/PIXI.DisplayObjectContainer.html index 817ef421d..02b24e0e1 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 791 + src/pixi/display/DisplayObject.js line 791 @@ -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 205 + src/pixi/display/DisplayObject.js line 205 @@ -663,7 +663,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -740,7 +740,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 606 + src/pixi/display/DisplayObjectContainer.js line 606 @@ -836,7 +836,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -915,7 +915,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -1004,7 +1004,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -1093,7 +1093,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -1180,7 +1180,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -1268,7 +1268,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -1355,7 +1355,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -1444,7 +1444,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -1533,7 +1533,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -1632,7 +1632,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -1709,7 +1709,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 576 + src/pixi/display/DisplayObjectContainer.js line 576 @@ -1801,7 +1801,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -1892,7 +1892,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -1983,7 +1983,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -2074,7 +2074,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -2165,7 +2165,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -2251,7 +2251,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -2338,7 +2338,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 626 + src/pixi/display/DisplayObject.js line 626 @@ -2425,7 +2425,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -2553,7 +2553,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -2735,7 +2735,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -2893,7 +2893,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -3008,7 +3008,7 @@

Source:
- src/pixi/display/DisplayObject.js line 254 + src/pixi/display/DisplayObject.js line 254 @@ -3253,7 +3253,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -3428,7 +3428,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 289 + src/pixi/display/DisplayObjectContainer.js line 289 @@ -3586,7 +3586,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -3744,7 +3744,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -3852,7 +3852,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 445 + src/pixi/display/DisplayObjectContainer.js line 445 @@ -3969,7 +3969,7 @@

Source:
- src/pixi/display/DisplayObject.js line 433 + src/pixi/display/DisplayObject.js line 433 @@ -4103,7 +4103,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -4261,7 +4261,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -4443,7 +4443,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -4601,7 +4601,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -4759,7 +4759,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -4902,7 +4902,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -5115,7 +5115,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -5234,7 +5234,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -5428,7 +5428,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -5497,9 +5497,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -5516,7 +5516,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -5545,7 +5545,7 @@
Returns:
- + diff --git a/docs/PIXI.FilterTexture.html b/docs/PIXI.FilterTexture.html index 4398a6a04..ef9903ade 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 66 + src/pixi/renderers/webgl/utils/FilterTexture.js line 66 @@ -399,7 +399,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 82 + src/pixi/renderers/webgl/utils/FilterTexture.js line 82 @@ -472,7 +472,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 74 + src/pixi/renderers/webgl/utils/FilterTexture.js line 74 @@ -545,7 +545,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 88 + src/pixi/renderers/webgl/utils/FilterTexture.js line 88 @@ -623,7 +623,7 @@

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

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

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -956,7 +956,7 @@
Parameters:
- + diff --git a/docs/PIXI.PixiFastShader.html b/docs/PIXI.PixiFastShader.html index 9aff0bb31..6676fd7fb 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 49 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 49 @@ -404,7 +404,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 23 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 23 @@ -481,7 +481,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 30 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 30 @@ -558,7 +558,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 136 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 136 @@ -635,7 +635,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 96 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 96 @@ -713,7 +713,7 @@

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

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

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

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

- + diff --git a/docs/PIXI.PixiShader.html b/docs/PIXI.PixiShader.html index b07c05172..5f91d08b2 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 495 + src/pixi/renderers/webgl/shaders/PixiShader.js line 495 @@ -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 475 + src/pixi/renderers/webgl/shaders/PixiShader.js line 475 @@ -874,7 +874,7 @@

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

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

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

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

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

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

- + diff --git a/docs/PIXI.PrimitiveShader.html b/docs/PIXI.PrimitiveShader.html index 13513442f..69abba43d 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.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

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

- + diff --git a/docs/PIXI.Sprite.html b/docs/PIXI.Sprite.html index 93843a0fe..d5ecf6685 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 127 + src/pixi/display/Sprite.js line 127 @@ -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 791 + src/pixi/display/DisplayObject.js line 791 @@ -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 205 + src/pixi/display/DisplayObject.js line 205 @@ -1098,7 +1098,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -1184,7 +1184,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 606 + src/pixi/display/DisplayObjectContainer.js line 606 @@ -1280,7 +1280,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -1368,7 +1368,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -1457,7 +1457,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -1546,7 +1546,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -1633,7 +1633,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -1721,7 +1721,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -1813,7 +1813,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -1902,7 +1902,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -1991,7 +1991,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -2076,7 +2076,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -2153,7 +2153,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -2237,7 +2237,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -2321,7 +2321,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -2420,7 +2420,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -2506,7 +2506,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 576 + src/pixi/display/DisplayObjectContainer.js line 576 @@ -2598,7 +2598,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -2689,7 +2689,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -2780,7 +2780,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -2871,7 +2871,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -2967,7 +2967,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -3053,7 +3053,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -3140,7 +3140,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 626 + src/pixi/display/DisplayObject.js line 626 @@ -3227,7 +3227,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -3364,7 +3364,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -3555,7 +3555,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -3722,7 +3722,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -3837,7 +3837,7 @@

Source:
- src/pixi/display/DisplayObject.js line 254 + src/pixi/display/DisplayObject.js line 254 @@ -4082,7 +4082,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -4253,7 +4253,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 211 + src/pixi/display/Sprite.js line 211 @@ -4420,7 +4420,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -4587,7 +4587,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -4700,7 +4700,7 @@

Source:
- src/pixi/display/Sprite.js line 328 + src/pixi/display/Sprite.js line 328 @@ -4817,7 +4817,7 @@

Source:
- src/pixi/display/DisplayObject.js line 433 + src/pixi/display/DisplayObject.js line 433 @@ -4960,7 +4960,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -5127,7 +5127,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -5318,7 +5318,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -5485,7 +5485,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -5676,7 +5676,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 175 + src/pixi/display/Sprite.js line 175 @@ -5843,7 +5843,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -5986,7 +5986,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -6199,7 +6199,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -6318,7 +6318,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -6507,7 +6507,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -6576,9 +6576,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -6595,7 +6595,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -6624,7 +6624,7 @@
Returns:
- + diff --git a/docs/PIXI.StripShader.html b/docs/PIXI.StripShader.html index 34e6769d5..f0581481b 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 49 + src/pixi/renderers/webgl/shaders/StripShader.js line 49 @@ -408,7 +408,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 85 + src/pixi/renderers/webgl/shaders/StripShader.js line 85 @@ -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 105 + src/pixi/renderers/webgl/shaders/StripShader.js line 105 @@ -713,7 +713,7 @@

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

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

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

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

- + diff --git a/docs/PIXI.Texture.html b/docs/PIXI.Texture.html index a3544506f..855dcf140 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 173 + src/pixi/textures/Texture.js line 173 @@ -1582,7 +1582,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 283 + src/pixi/textures/Texture.js line 283 @@ -1736,7 +1736,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 186 + src/pixi/textures/Texture.js line 186 @@ -1779,9 +1779,9 @@
Parameters:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -1827,7 +1827,7 @@
Parameters:
- + diff --git a/docs/PIXI.WebGLBlendModeManager.html b/docs/PIXI.WebGLBlendModeManager.html index 2c0670ab5..87aaf2598 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.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -764,7 +764,7 @@
Parameters:
- + diff --git a/docs/PIXI.WebGLFastSpriteBatch.html b/docs/PIXI.WebGLFastSpriteBatch.html index ee7966dd1..3b34f4710 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 99 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 99 @@ -350,7 +350,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 93 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 93 @@ -423,7 +423,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 105 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 105 @@ -496,7 +496,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 87 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 87 @@ -569,7 +569,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 65 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 65 @@ -646,7 +646,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 53 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 53 @@ -719,7 +719,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 71 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 71 @@ -792,7 +792,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 123 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 123 @@ -865,7 +865,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 27 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 27 @@ -938,7 +938,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 111 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 111 @@ -1011,7 +1011,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 117 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 117 @@ -1084,7 +1084,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 33 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 33 @@ -1157,7 +1157,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 59 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 59 @@ -1234,7 +1234,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 46 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 46 @@ -1307,7 +1307,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 21 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 21 @@ -1455,7 +1455,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 154 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 154 @@ -1535,7 +1535,7 @@

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

Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 375 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 375 @@ -1745,7 +1745,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 177 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 177 @@ -1875,7 +1875,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 215 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 215 @@ -2009,7 +2009,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 130 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 130 @@ -2089,7 +2089,7 @@

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

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

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

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

- + diff --git a/docs/PIXI.WebGLFilterManager.html b/docs/PIXI.WebGLFilterManager.html index 367529d0f..bce8df0e5 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 352 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 352 @@ -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 462 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 462 @@ -945,7 +945,7 @@

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

Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 149 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 149 @@ -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.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -1388,7 +1388,7 @@
Parameters:
- + diff --git a/docs/PIXI.WebGLRenderer.html b/docs/PIXI.WebGLRenderer.html index 4826492a3..fe235ede7 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 187 + src/pixi/renderers/webgl/WebGLRenderer.js line 187 @@ -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 199 + src/pixi/renderers/webgl/WebGLRenderer.js line 199 @@ -645,7 +645,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 173 + src/pixi/renderers/webgl/WebGLRenderer.js line 173 @@ -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 108 + src/pixi/renderers/webgl/WebGLRenderer.js line 108 @@ -876,7 +876,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 166 + src/pixi/renderers/webgl/WebGLRenderer.js line 166 @@ -949,7 +949,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 143 + src/pixi/renderers/webgl/WebGLRenderer.js line 143 @@ -1026,7 +1026,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 92 + src/pixi/renderers/webgl/WebGLRenderer.js line 92 @@ -1103,7 +1103,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 70 + src/pixi/renderers/webgl/WebGLRenderer.js line 70 @@ -1176,7 +1176,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 137 + src/pixi/renderers/webgl/WebGLRenderer.js line 137 @@ -1249,7 +1249,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 193 + src/pixi/renderers/webgl/WebGLRenderer.js line 193 @@ -1333,7 +1333,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 46 + src/pixi/renderers/webgl/WebGLRenderer.js line 46 @@ -1410,7 +1410,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 152 + src/pixi/renderers/webgl/WebGLRenderer.js line 152 @@ -1487,7 +1487,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 159 + src/pixi/renderers/webgl/WebGLRenderer.js line 159 @@ -1564,7 +1564,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 180 + src/pixi/renderers/webgl/WebGLRenderer.js line 180 @@ -1641,7 +1641,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 54 + src/pixi/renderers/webgl/WebGLRenderer.js line 54 @@ -1714,7 +1714,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 37 + src/pixi/renderers/webgl/WebGLRenderer.js line 37 @@ -1791,7 +1791,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 116 + src/pixi/renderers/webgl/WebGLRenderer.js line 116 @@ -1868,7 +1868,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 100 + src/pixi/renderers/webgl/WebGLRenderer.js line 100 @@ -1946,7 +1946,7 @@

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

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

Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 636 + src/pixi/renderers/webgl/WebGLRenderer.js line 636 @@ -2244,7 +2244,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 378 + src/pixi/renderers/webgl/WebGLRenderer.js line 378 @@ -2426,7 +2426,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 419 + src/pixi/renderers/webgl/WebGLRenderer.js line 419 @@ -2584,7 +2584,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 456 + src/pixi/renderers/webgl/WebGLRenderer.js line 456 @@ -2729,7 +2729,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 280 + src/pixi/renderers/webgl/WebGLRenderer.js line 280 @@ -2887,7 +2887,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 483 + src/pixi/renderers/webgl/WebGLRenderer.js line 483 @@ -3045,7 +3045,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 543 + src/pixi/renderers/webgl/WebGLRenderer.js line 543 @@ -3112,9 +3112,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -3131,7 +3131,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -3160,7 +3160,7 @@
Returns:
- + diff --git a/docs/PIXI.html b/docs/PIXI.html index 7b4b2842d..e0d042142 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 @@ -314,7 +314,7 @@

Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 5 + src/pixi/renderers/webgl/WebGLRenderer.js line 5 @@ -393,7 +393,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 12 + src/pixi/textures/Texture.js line 12 @@ -541,7 +541,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 26 + src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 26 @@ -739,7 +739,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 69 + src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 69 @@ -913,7 +913,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 14 + src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 14 @@ -976,9 +976,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -995,7 +995,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -1024,7 +1024,7 @@
Returns:
- + diff --git a/docs/Phaser.Animation.html b/docs/Phaser.Animation.html index d123b57fb..6125321c6 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 782 + src/animation/Animation.js line 782 @@ -810,7 +810,7 @@
Type:
Source:
- src/animation/Animation.js line 725 + src/animation/Animation.js line 725 @@ -887,7 +887,7 @@
Type:
Source:
- src/animation/Animation.js line 711 + src/animation/Animation.js line 711 @@ -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 661 + src/animation/Animation.js line 661 @@ -2049,7 +2049,7 @@
Type:
Source:
- src/animation/Animation.js line 693 + src/animation/Animation.js line 693 @@ -2126,7 +2126,7 @@
Type:
Source:
- src/animation/Animation.js line 761 + src/animation/Animation.js line 761 @@ -2424,7 +2424,7 @@
Parameters:
Source:
- src/animation/Animation.js line 808 + src/animation/Animation.js line 808 @@ -2533,7 +2533,7 @@

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

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

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

Source:
- src/animation/Animation.js line 375 + src/animation/Animation.js line 375 @@ -3175,7 +3175,7 @@
Parameters:
Source:
- src/animation/Animation.js line 166 + src/animation/Animation.js line 166 @@ -3355,7 +3355,7 @@
Parameters:
Source:
- src/animation/Animation.js line 555 + src/animation/Animation.js line 555 @@ -3439,7 +3439,7 @@

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

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

Source:
- src/animation/Animation.js line 259 + src/animation/Animation.js line 259 @@ -3852,7 +3852,7 @@
Parameters:
Source:
- src/animation/Animation.js line 274 + src/animation/Animation.js line 274 @@ -4047,7 +4047,7 @@
Parameters:
Source:
- src/animation/Animation.js line 332 + src/animation/Animation.js line 332 @@ -4131,7 +4131,7 @@

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

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -4356,7 +4356,7 @@
Parameters:
- + diff --git a/docs/Phaser.AnimationManager.html b/docs/Phaser.AnimationManager.html index 1a74814f2..c6f44a8e2 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 485 + src/animation/AnimationManager.js line 485 @@ -568,7 +568,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 426 + src/animation/AnimationManager.js line 426 @@ -645,7 +645,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 509 + src/animation/AnimationManager.js line 509 @@ -722,7 +722,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 440 + src/animation/AnimationManager.js line 440 @@ -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 472 + src/animation/AnimationManager.js line 472 @@ -1030,7 +1030,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 454 + src/animation/AnimationManager.js line 454 @@ -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 165 + src/animation/AnimationManager.js line 165 @@ -1605,7 +1605,7 @@

Source:
- src/animation/AnimationManager.js line 395 + src/animation/AnimationManager.js line 395 @@ -1739,7 +1739,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 360 + src/animation/AnimationManager.js line 360 @@ -1917,7 +1917,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 330 + src/animation/AnimationManager.js line 330 @@ -2191,7 +2191,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 244 + src/animation/AnimationManager.js line 244 @@ -2369,7 +2369,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 345 + src/animation/AnimationManager.js line 345 @@ -2453,7 +2453,7 @@

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

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

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -3061,7 +3061,7 @@
Returns:
- + diff --git a/docs/Phaser.AnimationParser.html b/docs/Phaser.AnimationParser.html index 5eb333cf3..931a0e318 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 181 + src/animation/AnimationParser.js line 181 @@ -538,7 +538,7 @@
Parameters:
Source:
- src/animation/AnimationParser.js line 296 + src/animation/AnimationParser.js line 296 @@ -720,7 +720,7 @@
Parameters:
Source:
- src/animation/AnimationParser.js line 239 + src/animation/AnimationParser.js line 239 @@ -1165,7 +1165,7 @@
Parameters:
Source:
- src/animation/AnimationParser.js line 15 + src/animation/AnimationParser.js line 15 @@ -1354,7 +1354,7 @@
Parameters:
Source:
- src/animation/AnimationParser.js line 357 + src/animation/AnimationParser.js line 357 @@ -1421,9 +1421,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -1440,7 +1440,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -1469,7 +1469,7 @@
Returns:
- + diff --git a/docs/Phaser.ArraySet.html b/docs/Phaser.ArraySet.html index 9000f88d8..bf7a4800f 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 222 + src/utils/ArraySet.js line 222 @@ -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 246 + src/utils/ArraySet.js line 246 @@ -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 207 + src/utils/ArraySet.js line 207 @@ -795,7 +795,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 37 + src/utils/ArraySet.js line 37 @@ -999,7 +999,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 151 + src/utils/ArraySet.js line 151 @@ -1133,7 +1133,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 91 + src/utils/ArraySet.js line 91 @@ -1316,7 +1316,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 67 + src/utils/ArraySet.js line 67 @@ -1474,7 +1474,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 55 + src/utils/ArraySet.js line 55 @@ -1632,7 +1632,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 113 + src/utils/ArraySet.js line 113 @@ -1810,7 +1810,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 176 + src/utils/ArraySet.js line 176 @@ -1894,7 +1894,7 @@

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

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -2143,7 +2143,7 @@
Parameters:
- + diff --git a/docs/Phaser.ArrayUtils.html b/docs/Phaser.ArrayUtils.html index f60439226..600b43608 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 193 + src/utils/ArrayUtils.js line 193 @@ -565,7 +565,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 15 + src/utils/ArrayUtils.js line 15 @@ -774,7 +774,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 267 + src/utils/ArrayUtils.js line 267 @@ -1030,7 +1030,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 304 + src/utils/ArrayUtils.js line 304 @@ -1304,7 +1304,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 72 + src/utils/ArrayUtils.js line 72 @@ -1521,7 +1521,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 38 + src/utils/ArrayUtils.js line 38 @@ -1683,7 +1683,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 246 + src/utils/ArrayUtils.js line 246 @@ -1869,7 +1869,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 153 + src/utils/ArrayUtils.js line 153 @@ -2031,7 +2031,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 225 + src/utils/ArrayUtils.js line 225 @@ -2189,7 +2189,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 106 + src/utils/ArrayUtils.js line 106 @@ -2347,7 +2347,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 126 + src/utils/ArrayUtils.js line 126 @@ -2414,9 +2414,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -2433,7 +2433,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -2462,7 +2462,7 @@
Returns:
- + diff --git a/docs/Phaser.AudioSprite.html b/docs/Phaser.AudioSprite.html index 050a95010..42838bcc6 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 112 + src/sound/AudioSprite.js line 112 @@ -1089,7 +1089,7 @@
Parameters:
Source:
- src/sound/AudioSprite.js line 76 + src/sound/AudioSprite.js line 76 @@ -1267,7 +1267,7 @@
Parameters:
Source:
- src/sound/AudioSprite.js line 91 + src/sound/AudioSprite.js line 91 @@ -1310,9 +1310,9 @@
Parameters:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -1358,7 +1358,7 @@
Parameters:
- + diff --git a/docs/Phaser.BitmapData.html b/docs/Phaser.BitmapData.html index c30490c1d..486e9c192 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 122 + src/gameobjects/BitmapData.js line 122 @@ -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 157 + src/gameobjects/BitmapData.js line 157 @@ -975,7 +975,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 152 + src/gameobjects/BitmapData.js line 152 @@ -1052,7 +1052,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 133 + src/gameobjects/BitmapData.js line 133 @@ -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 2478 + src/gameobjects/BitmapData.js line 2478 @@ -1516,7 +1516,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 94 + src/gameobjects/BitmapData.js line 94 @@ -1593,7 +1593,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 2460 + src/gameobjects/BitmapData.js line 2460 @@ -1670,7 +1670,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 70 + src/gameobjects/BitmapData.js line 70 @@ -1747,7 +1747,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 128 + src/gameobjects/BitmapData.js line 128 @@ -1824,7 +1824,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 139 + src/gameobjects/BitmapData.js line 139 @@ -1901,7 +1901,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 147 + src/gameobjects/BitmapData.js line 147 @@ -1978,7 +1978,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 43 + src/gameobjects/BitmapData.js line 43 @@ -2226,7 +2226,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 2496 + src/gameobjects/BitmapData.js line 2496 @@ -2394,7 +2394,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 387 + src/gameobjects/BitmapData.js line 387 @@ -2772,7 +2772,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1232 + src/gameobjects/BitmapData.js line 1232 @@ -3078,7 +3078,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1780 + src/gameobjects/BitmapData.js line 1780 @@ -3186,7 +3186,7 @@

Source:
- src/gameobjects/BitmapData.js line 2240 + src/gameobjects/BitmapData.js line 2240 @@ -3294,7 +3294,7 @@

Source:
- src/gameobjects/BitmapData.js line 2408 + src/gameobjects/BitmapData.js line 2408 @@ -3402,7 +3402,7 @@

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

Source:
- src/gameobjects/BitmapData.js line 2312 + src/gameobjects/BitmapData.js line 2312 @@ -3618,7 +3618,7 @@

Source:
- src/gameobjects/BitmapData.js line 2288 + src/gameobjects/BitmapData.js line 2288 @@ -3726,7 +3726,7 @@

Source:
- src/gameobjects/BitmapData.js line 2216 + src/gameobjects/BitmapData.js line 2216 @@ -3834,7 +3834,7 @@

Source:
- src/gameobjects/BitmapData.js line 2192 + src/gameobjects/BitmapData.js line 2192 @@ -3942,7 +3942,7 @@

Source:
- src/gameobjects/BitmapData.js line 2204 + src/gameobjects/BitmapData.js line 2204 @@ -4050,7 +4050,7 @@

Source:
- src/gameobjects/BitmapData.js line 2180 + src/gameobjects/BitmapData.js line 2180 @@ -4158,7 +4158,7 @@

Source:
- src/gameobjects/BitmapData.js line 2360 + src/gameobjects/BitmapData.js line 2360 @@ -4266,7 +4266,7 @@

Source:
- src/gameobjects/BitmapData.js line 2372 + src/gameobjects/BitmapData.js line 2372 @@ -4374,7 +4374,7 @@

Source:
- src/gameobjects/BitmapData.js line 2336 + src/gameobjects/BitmapData.js line 2336 @@ -4482,7 +4482,7 @@

Source:
- src/gameobjects/BitmapData.js line 2384 + src/gameobjects/BitmapData.js line 2384 @@ -4590,7 +4590,7 @@

Source:
- src/gameobjects/BitmapData.js line 2300 + src/gameobjects/BitmapData.js line 2300 @@ -4698,7 +4698,7 @@

Source:
- src/gameobjects/BitmapData.js line 2420 + src/gameobjects/BitmapData.js line 2420 @@ -4806,7 +4806,7 @@

Source:
- src/gameobjects/BitmapData.js line 2252 + src/gameobjects/BitmapData.js line 2252 @@ -4914,7 +4914,7 @@

Source:
- src/gameobjects/BitmapData.js line 2276 + src/gameobjects/BitmapData.js line 2276 @@ -5022,7 +5022,7 @@

Source:
- src/gameobjects/BitmapData.js line 2120 + src/gameobjects/BitmapData.js line 2120 @@ -5130,7 +5130,7 @@

Source:
- src/gameobjects/BitmapData.js line 2396 + src/gameobjects/BitmapData.js line 2396 @@ -5238,7 +5238,7 @@

Source:
- src/gameobjects/BitmapData.js line 2264 + src/gameobjects/BitmapData.js line 2264 @@ -5346,7 +5346,7 @@

Source:
- src/gameobjects/BitmapData.js line 2348 + src/gameobjects/BitmapData.js line 2348 @@ -5454,7 +5454,7 @@

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

Source:
- src/gameobjects/BitmapData.js line 2144 + src/gameobjects/BitmapData.js line 2144 @@ -5670,7 +5670,7 @@

Source:
- src/gameobjects/BitmapData.js line 2156 + src/gameobjects/BitmapData.js line 2156 @@ -5778,7 +5778,7 @@

Source:
- src/gameobjects/BitmapData.js line 2132 + src/gameobjects/BitmapData.js line 2132 @@ -5886,7 +5886,7 @@

Source:
- src/gameobjects/BitmapData.js line 2228 + src/gameobjects/BitmapData.js line 2228 @@ -6152,7 +6152,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1929 + src/gameobjects/BitmapData.js line 1929 @@ -6450,7 +6450,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 455 + src/gameobjects/BitmapData.js line 455 @@ -6558,7 +6558,7 @@

Source:
- src/gameobjects/BitmapData.js line 449 + src/gameobjects/BitmapData.js line 449 @@ -7366,7 +7366,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1257 + src/gameobjects/BitmapData.js line 1257 @@ -7607,7 +7607,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 2432 + src/gameobjects/BitmapData.js line 2432 @@ -8027,7 +8027,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1584 + src/gameobjects/BitmapData.js line 1584 @@ -8298,7 +8298,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1477 + src/gameobjects/BitmapData.js line 1477 @@ -8406,7 +8406,7 @@

Source:
- src/gameobjects/BitmapData.js line 2106 + src/gameobjects/BitmapData.js line 2106 @@ -8807,7 +8807,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1602 + src/gameobjects/BitmapData.js line 1602 @@ -9085,7 +9085,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1692 + src/gameobjects/BitmapData.js line 1692 @@ -9346,7 +9346,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1629 + src/gameobjects/BitmapData.js line 1629 @@ -9829,7 +9829,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1813 + src/gameobjects/BitmapData.js line 1813 @@ -10115,7 +10115,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 485 + src/gameobjects/BitmapData.js line 485 @@ -10371,7 +10371,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 548 + src/gameobjects/BitmapData.js line 548 @@ -10578,7 +10578,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 506 + src/gameobjects/BitmapData.js line 506 @@ -10758,7 +10758,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1205 + src/gameobjects/BitmapData.js line 1205 @@ -10942,7 +10942,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1123 + src/gameobjects/BitmapData.js line 1123 @@ -11216,7 +11216,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 521 + src/gameobjects/BitmapData.js line 521 @@ -11461,7 +11461,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1044 + src/gameobjects/BitmapData.js line 1044 @@ -11646,7 +11646,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1074 + src/gameobjects/BitmapData.js line 1074 @@ -11976,7 +11976,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1093 + src/gameobjects/BitmapData.js line 1093 @@ -12134,7 +12134,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1111 + src/gameobjects/BitmapData.js line 1111 @@ -12496,7 +12496,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1957 + src/gameobjects/BitmapData.js line 1957 @@ -12675,7 +12675,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 415 + src/gameobjects/BitmapData.js line 415 @@ -12926,7 +12926,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 237 + src/gameobjects/BitmapData.js line 237 @@ -13141,7 +13141,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 263 + src/gameobjects/BitmapData.js line 263 @@ -13356,7 +13356,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 325 + src/gameobjects/BitmapData.js line 325 @@ -13660,7 +13660,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1990 + src/gameobjects/BitmapData.js line 1990 @@ -14030,7 +14030,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 765 + src/gameobjects/BitmapData.js line 765 @@ -14403,7 +14403,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 708 + src/gameobjects/BitmapData.js line 708 @@ -14701,7 +14701,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1865 + src/gameobjects/BitmapData.js line 1865 @@ -14811,7 +14811,7 @@

Source:
- src/gameobjects/BitmapData.js line 2087 + src/gameobjects/BitmapData.js line 2087 @@ -15238,7 +15238,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 818 + src/gameobjects/BitmapData.js line 818 @@ -15420,7 +15420,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 622 + src/gameobjects/BitmapData.js line 622 @@ -15716,7 +15716,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 867 + src/gameobjects/BitmapData.js line 867 @@ -16074,7 +16074,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1027 + src/gameobjects/BitmapData.js line 1027 @@ -16468,7 +16468,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 989 + src/gameobjects/BitmapData.js line 989 @@ -16764,7 +16764,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1749 + src/gameobjects/BitmapData.js line 1749 @@ -17062,7 +17062,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 927 + src/gameobjects/BitmapData.js line 927 @@ -17430,7 +17430,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1888 + src/gameobjects/BitmapData.js line 1888 @@ -17683,7 +17683,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 2038 + src/gameobjects/BitmapData.js line 2038 @@ -17984,7 +17984,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 665 + src/gameobjects/BitmapData.js line 665 @@ -18051,9 +18051,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -18070,7 +18070,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -18099,7 +18099,7 @@
Returns:
- + diff --git a/docs/Phaser.BitmapText.html b/docs/Phaser.BitmapText.html index 164db2aea..e9a3b9c1c 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 558 + src/gameobjects/BitmapText.js line 558 @@ -724,7 +724,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 55 + src/gameobjects/components/LifeSpan.js line 55 @@ -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 186 + src/gameobjects/components/Core.js line 186 @@ -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 97 + src/gameobjects/components/PhysicsBody.js line 97 @@ -1362,7 +1362,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 156 + src/gameobjects/components/Bounds.js line 156 @@ -1455,7 +1455,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 791 + src/pixi/display/DisplayObject.js line 791 @@ -1542,7 +1542,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 82 + src/gameobjects/components/FixedToCamera.js line 82 @@ -1629,7 +1629,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 56 + src/gameobjects/components/Bounds.js line 56 @@ -1716,7 +1716,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 76 + src/gameobjects/components/Bounds.js line 76 @@ -1808,7 +1808,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 103 + src/gameobjects/components/InWorld.js line 103 @@ -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 160 + src/gameobjects/components/Core.js line 160 @@ -2076,7 +2076,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 153 + src/gameobjects/components/Core.js line 153 @@ -2162,7 +2162,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 211 + src/gameobjects/components/Core.js line 211 @@ -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 159 + src/gameobjects/BitmapText.js line 159 @@ -2413,7 +2413,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 178 + src/gameobjects/components/Core.js line 178 @@ -2511,7 +2511,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 277 + src/gameobjects/components/Core.js line 277 @@ -2597,7 +2597,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -2688,7 +2688,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -2781,7 +2781,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 54 + src/gameobjects/components/FixedToCamera.js line 54 @@ -2858,7 +2858,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 602 + src/gameobjects/BitmapText.js line 602 @@ -2935,7 +2935,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 625 + src/gameobjects/BitmapText.js line 625 @@ -3022,7 +3022,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 241 + src/gameobjects/components/Core.js line 241 @@ -3108,7 +3108,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 135 + src/gameobjects/components/Core.js line 135 @@ -3194,7 +3194,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 606 + src/pixi/display/DisplayObjectContainer.js line 606 @@ -3290,7 +3290,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -3378,7 +3378,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3465,7 +3465,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3556,7 +3556,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3649,7 +3649,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3735,7 +3735,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 134 + src/gameobjects/components/InWorld.js line 134 @@ -3837,7 +3837,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 196 + src/gameobjects/components/Core.js line 196 @@ -3924,7 +3924,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 96 + src/gameobjects/components/Bounds.js line 96 @@ -4001,7 +4001,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 536 + src/gameobjects/BitmapText.js line 536 @@ -4091,7 +4091,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 70 + src/gameobjects/components/LifeSpan.js line 70 @@ -4180,7 +4180,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -4261,7 +4261,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 671 + src/gameobjects/BitmapText.js line 671 @@ -4348,7 +4348,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 143 + src/gameobjects/components/Core.js line 143 @@ -4436,7 +4436,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4524,7 +4524,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 41 + src/gameobjects/components/Bounds.js line 41 @@ -4610,7 +4610,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 111 + src/gameobjects/components/InWorld.js line 111 @@ -4697,7 +4697,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 120 + src/gameobjects/components/InWorld.js line 120 @@ -4786,7 +4786,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -4875,7 +4875,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 252 + src/gameobjects/components/Core.js line 252 @@ -4952,7 +4952,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 75 + src/gameobjects/BitmapText.js line 75 @@ -5039,7 +5039,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -5127,7 +5127,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5213,7 +5213,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 218 + src/gameobjects/components/Core.js line 218 @@ -5299,7 +5299,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -5386,7 +5386,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -5473,7 +5473,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -5560,7 +5560,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 116 + src/gameobjects/components/Bounds.js line 116 @@ -5649,7 +5649,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5738,7 +5738,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -5817,7 +5817,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 702 + src/gameobjects/BitmapText.js line 702 @@ -5894,7 +5894,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 649 + src/gameobjects/BitmapText.js line 649 @@ -5971,7 +5971,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 87 + src/gameobjects/BitmapText.js line 87 @@ -6048,7 +6048,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 81 + src/gameobjects/BitmapText.js line 81 @@ -6125,7 +6125,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 580 + src/gameobjects/BitmapText.js line 580 @@ -6212,7 +6212,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 136 + src/gameobjects/components/Bounds.js line 136 @@ -6289,7 +6289,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 69 + src/gameobjects/BitmapText.js line 69 @@ -6388,7 +6388,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -6474,7 +6474,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 576 + src/pixi/display/DisplayObjectContainer.js line 576 @@ -6562,7 +6562,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 204 + src/gameobjects/components/Core.js line 204 @@ -6654,7 +6654,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -6745,7 +6745,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -6836,7 +6836,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -6927,7 +6927,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -7018,7 +7018,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -7104,7 +7104,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -7196,7 +7196,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 626 + src/pixi/display/DisplayObject.js line 626 @@ -7288,7 +7288,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -7377,7 +7377,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 170 + src/gameobjects/components/Core.js line 170 @@ -7514,7 +7514,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -7705,7 +7705,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -8048,7 +8048,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 209 + src/gameobjects/components/Bounds.js line 209 @@ -8392,7 +8392,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 306 + src/gameobjects/components/Bounds.js line 306 @@ -8608,7 +8608,7 @@
Parameters:
Source:
- src/gameobjects/BitmapText.js line 315 + src/gameobjects/BitmapText.js line 315 @@ -8775,7 +8775,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -8895,7 +8895,7 @@

Source:
- src/pixi/display/DisplayObject.js line 254 + src/pixi/display/DisplayObject.js line 254 @@ -9140,7 +9140,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -9324,7 +9324,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 289 + src/pixi/display/DisplayObjectContainer.js line 289 @@ -9491,7 +9491,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -9658,7 +9658,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -9775,7 +9775,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 445 + src/pixi/display/DisplayObjectContainer.js line 445 @@ -9896,7 +9896,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 117 + src/gameobjects/components/LifeSpan.js line 117 @@ -10009,7 +10009,7 @@

Source:
- src/gameobjects/BitmapText.js line 202 + src/gameobjects/BitmapText.js line 202 @@ -10098,7 +10098,7 @@

Source:
- src/gameobjects/BitmapText.js line 192 + src/gameobjects/BitmapText.js line 192 @@ -10215,7 +10215,7 @@

Source:
- src/gameobjects/components/Core.js line 318 + src/gameobjects/components/Core.js line 318 @@ -10304,7 +10304,7 @@

Source:
- src/gameobjects/BitmapText.js line 480 + src/gameobjects/BitmapText.js line 480 @@ -10471,7 +10471,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -10638,7 +10638,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -10829,7 +10829,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -11068,7 +11068,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -11257,7 +11257,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 83 + src/gameobjects/components/LifeSpan.js line 83 @@ -11448,7 +11448,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -11583,7 +11583,7 @@
Parameters:
Source:
- src/gameobjects/BitmapText.js line 220 + src/gameobjects/BitmapText.js line 220 @@ -11750,7 +11750,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -11893,7 +11893,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -12106,7 +12106,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -12227,7 +12227,7 @@

Source:
- src/gameobjects/components/Core.js line 343 + src/gameobjects/components/Core.js line 343 @@ -12320,7 +12320,7 @@

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

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -12408,7 +12408,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -12437,7 +12437,7 @@
Returns:
- + diff --git a/docs/Phaser.Bullet.html b/docs/Phaser.Bullet.html index c757f3ff9..938339b82 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 55 + src/gameobjects/components/LifeSpan.js line 55 @@ -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 186 + src/gameobjects/components/Core.js line 186 @@ -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 97 + src/gameobjects/components/PhysicsBody.js line 97 @@ -1225,7 +1225,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 156 + src/gameobjects/components/Bounds.js line 156 @@ -1318,7 +1318,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 791 + src/pixi/display/DisplayObject.js line 791 @@ -1405,7 +1405,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 82 + src/gameobjects/components/FixedToCamera.js line 82 @@ -1492,7 +1492,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 56 + src/gameobjects/components/Bounds.js line 56 @@ -1579,7 +1579,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 76 + src/gameobjects/components/Bounds.js line 76 @@ -1671,7 +1671,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 103 + src/gameobjects/components/InWorld.js line 103 @@ -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 160 + src/gameobjects/components/Core.js line 160 @@ -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 153 + src/gameobjects/components/Core.js line 153 @@ -2118,7 +2118,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 211 + src/gameobjects/components/Core.js line 211 @@ -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 41 + src/gameobjects/components/Delta.js line 41 @@ -2378,7 +2378,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 56 + src/gameobjects/components/Delta.js line 56 @@ -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 178 + src/gameobjects/components/Core.js line 178 @@ -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 205 + src/pixi/display/DisplayObject.js line 205 @@ -2834,7 +2834,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -2927,7 +2927,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 54 + src/gameobjects/components/FixedToCamera.js line 54 @@ -3018,7 +3018,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 257 + src/gameobjects/components/LoadTexture.js line 257 @@ -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 241 + src/gameobjects/components/Core.js line 241 @@ -3282,7 +3282,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 135 + src/gameobjects/components/Core.js line 135 @@ -3376,7 +3376,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -3462,7 +3462,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 606 + src/pixi/display/DisplayObjectContainer.js line 606 @@ -3558,7 +3558,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -3646,7 +3646,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3733,7 +3733,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3824,7 +3824,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3917,7 +3917,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -4003,7 +4003,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 134 + src/gameobjects/components/InWorld.js line 134 @@ -4105,7 +4105,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 196 + src/gameobjects/components/Core.js line 196 @@ -4192,7 +4192,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 96 + src/gameobjects/components/Bounds.js line 96 @@ -4282,7 +4282,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 70 + src/gameobjects/components/LifeSpan.js line 70 @@ -4371,7 +4371,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -4465,7 +4465,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -4552,7 +4552,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 143 + src/gameobjects/components/Core.js line 143 @@ -4640,7 +4640,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4728,7 +4728,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 41 + src/gameobjects/components/Bounds.js line 41 @@ -4814,7 +4814,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 111 + src/gameobjects/components/InWorld.js line 111 @@ -4901,7 +4901,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 120 + src/gameobjects/components/InWorld.js line 120 @@ -4990,7 +4990,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -5079,7 +5079,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 252 + src/gameobjects/components/Core.js line 252 @@ -5165,7 +5165,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 61 + src/gameobjects/Sprite.js line 61 @@ -5252,7 +5252,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -5340,7 +5340,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5426,7 +5426,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 218 + src/gameobjects/components/Core.js line 218 @@ -5512,7 +5512,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -5599,7 +5599,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -5686,7 +5686,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -5773,7 +5773,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 116 + src/gameobjects/components/Bounds.js line 116 @@ -5867,7 +5867,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5956,7 +5956,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -6044,7 +6044,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -6132,7 +6132,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -6226,7 +6226,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -6314,7 +6314,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -6400,7 +6400,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -6493,7 +6493,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -6586,7 +6586,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -6673,7 +6673,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 136 + src/gameobjects/components/Bounds.js line 136 @@ -6759,7 +6759,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -6845,7 +6845,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -6931,7 +6931,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 55 + src/gameobjects/Sprite.js line 55 @@ -7035,7 +7035,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -7121,7 +7121,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 576 + src/pixi/display/DisplayObjectContainer.js line 576 @@ -7209,7 +7209,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 204 + src/gameobjects/components/Core.js line 204 @@ -7301,7 +7301,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -7392,7 +7392,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -7483,7 +7483,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -7574,7 +7574,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -7665,7 +7665,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -7751,7 +7751,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -7838,7 +7838,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 626 + src/pixi/display/DisplayObject.js line 626 @@ -7925,7 +7925,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -8014,7 +8014,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 170 + src/gameobjects/components/Core.js line 170 @@ -8151,7 +8151,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -8342,7 +8342,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -8685,7 +8685,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 209 + src/gameobjects/components/Bounds.js line 209 @@ -9029,7 +9029,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 306 + src/gameobjects/components/Bounds.js line 306 @@ -9149,7 +9149,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -9316,7 +9316,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -9542,7 +9542,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -9686,7 +9686,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -9805,7 +9805,7 @@

Source:
- src/pixi/display/DisplayObject.js line 254 + src/pixi/display/DisplayObject.js line 254 @@ -10050,7 +10050,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -10225,7 +10225,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 211 + src/pixi/display/Sprite.js line 211 @@ -10392,7 +10392,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -10559,7 +10559,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -10676,7 +10676,7 @@

Source:
- src/pixi/display/Sprite.js line 328 + src/pixi/display/Sprite.js line 328 @@ -10843,7 +10843,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 88 + src/gameobjects/components/Health.js line 88 @@ -10957,7 +10957,7 @@

Source:
- src/plugins/weapon/Bullet.js line 42 + src/plugins/weapon/Bullet.js line 42 @@ -11218,7 +11218,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -11314,7 +11314,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 84 + src/gameobjects/components/BringToTop.js line 84 @@ -11434,7 +11434,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 64 + src/gameobjects/components/BringToTop.js line 64 @@ -11617,7 +11617,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -11923,7 +11923,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -12040,7 +12040,7 @@

Source:
- src/gameobjects/components/Core.js line 354 + src/gameobjects/components/Core.js line 354 @@ -12133,7 +12133,7 @@

Source:
- src/gameobjects/Sprite.js line 106 + src/gameobjects/Sprite.js line 106 @@ -12250,7 +12250,7 @@

Source:
- src/gameobjects/components/Core.js line 318 + src/gameobjects/components/Core.js line 318 @@ -12393,7 +12393,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -12560,7 +12560,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -12751,7 +12751,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -12990,7 +12990,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -13107,7 +13107,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 236 + src/gameobjects/components/LoadTexture.js line 236 @@ -13300,7 +13300,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -13465,7 +13465,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 83 + src/gameobjects/components/LifeSpan.js line 83 @@ -13585,7 +13585,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 44 + src/gameobjects/components/BringToTop.js line 44 @@ -13776,7 +13776,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -13920,7 +13920,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 156 + src/gameobjects/components/LoadTexture.js line 156 @@ -14064,7 +14064,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 69 + src/gameobjects/components/Health.js line 69 @@ -14325,7 +14325,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 109 + src/gameobjects/components/ScaleMinMax.js line 109 @@ -14525,7 +14525,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 175 + src/pixi/display/Sprite.js line 175 @@ -14692,7 +14692,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -14835,7 +14835,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -15048,7 +15048,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -15163,7 +15163,7 @@

Source:
- src/plugins/weapon/Bullet.js line 62 + src/plugins/weapon/Bullet.js line 62 @@ -15256,7 +15256,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -15376,7 +15376,7 @@

Source:
- src/gameobjects/components/Crop.js line 85 + src/gameobjects/components/Crop.js line 85 @@ -15539,7 +15539,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -15608,9 +15608,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -15627,7 +15627,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -15656,7 +15656,7 @@
Returns:
- + diff --git a/docs/Phaser.Button.html b/docs/Phaser.Button.html index d19efe06c..b0b062781 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 55 + src/gameobjects/components/LifeSpan.js line 55 @@ -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 186 + src/gameobjects/components/Core.js line 186 @@ -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 156 + src/gameobjects/components/Bounds.js line 156 @@ -1484,7 +1484,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 791 + src/pixi/display/DisplayObject.js line 791 @@ -1571,7 +1571,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 82 + src/gameobjects/components/FixedToCamera.js line 82 @@ -1658,7 +1658,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 56 + src/gameobjects/components/Bounds.js line 56 @@ -1745,7 +1745,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 76 + src/gameobjects/components/Bounds.js line 76 @@ -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 160 + src/gameobjects/components/Core.js line 160 @@ -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 153 + src/gameobjects/components/Core.js line 153 @@ -2187,7 +2187,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 211 + src/gameobjects/components/Core.js line 211 @@ -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 178 + src/gameobjects/components/Core.js line 178 @@ -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 205 + src/pixi/display/DisplayObject.js line 205 @@ -2638,7 +2638,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -2731,7 +2731,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 54 + src/gameobjects/components/FixedToCamera.js line 54 @@ -2812,7 +2812,7 @@
Type:
Source:
- src/gameobjects/Button.js line 203 + src/gameobjects/Button.js line 203 @@ -2908,7 +2908,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 257 + src/gameobjects/components/LoadTexture.js line 257 @@ -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 193 + src/gameobjects/Button.js line 193 @@ -3168,7 +3168,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 241 + src/gameobjects/components/Core.js line 241 @@ -3254,7 +3254,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 135 + src/gameobjects/components/Core.js line 135 @@ -3340,7 +3340,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 606 + src/pixi/display/DisplayObjectContainer.js line 606 @@ -3436,7 +3436,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -3524,7 +3524,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3611,7 +3611,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3702,7 +3702,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3800,7 +3800,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3878,7 +3878,7 @@
Type:
Source:
- src/gameobjects/Button.js line 186 + src/gameobjects/Button.js line 186 @@ -3980,7 +3980,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 196 + src/gameobjects/components/Core.js line 196 @@ -4067,7 +4067,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 96 + src/gameobjects/components/Bounds.js line 96 @@ -4157,7 +4157,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 70 + src/gameobjects/components/LifeSpan.js line 70 @@ -4246,7 +4246,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -4333,7 +4333,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 143 + src/gameobjects/components/Core.js line 143 @@ -4421,7 +4421,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4509,7 +4509,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 41 + src/gameobjects/components/Bounds.js line 41 @@ -4592,7 +4592,7 @@
Type:
Source:
- src/gameobjects/Button.js line 105 + src/gameobjects/Button.js line 105 @@ -4669,7 +4669,7 @@
Type:
Source:
- src/gameobjects/Button.js line 133 + src/gameobjects/Button.js line 133 @@ -4746,7 +4746,7 @@
Type:
Source:
- src/gameobjects/Button.js line 161 + src/gameobjects/Button.js line 161 @@ -4830,7 +4830,7 @@
Type:
Source:
- src/gameobjects/Button.js line 154 + src/gameobjects/Button.js line 154 @@ -4914,7 +4914,7 @@
Type:
Source:
- src/gameobjects/Button.js line 147 + src/gameobjects/Button.js line 147 @@ -4998,7 +4998,7 @@
Type:
Source:
- src/gameobjects/Button.js line 168 + src/gameobjects/Button.js line 168 @@ -5088,7 +5088,7 @@
Type:
Source:
- src/gameobjects/Button.js line 98 + src/gameobjects/Button.js line 98 @@ -5165,7 +5165,7 @@
Type:
Source:
- src/gameobjects/Button.js line 126 + src/gameobjects/Button.js line 126 @@ -5250,7 +5250,7 @@
Type:
Source:
- src/gameobjects/Button.js line 177 + src/gameobjects/Button.js line 177 @@ -5333,7 +5333,7 @@
Type:
Source:
- src/gameobjects/Button.js line 91 + src/gameobjects/Button.js line 91 @@ -5410,7 +5410,7 @@
Type:
Source:
- src/gameobjects/Button.js line 119 + src/gameobjects/Button.js line 119 @@ -5493,7 +5493,7 @@
Type:
Source:
- src/gameobjects/Button.js line 112 + src/gameobjects/Button.js line 112 @@ -5570,7 +5570,7 @@
Type:
Source:
- src/gameobjects/Button.js line 140 + src/gameobjects/Button.js line 140 @@ -5659,7 +5659,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -5748,7 +5748,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 252 + src/gameobjects/components/Core.js line 252 @@ -5825,7 +5825,7 @@
Type:
Source:
- src/gameobjects/Button.js line 56 + src/gameobjects/Button.js line 56 @@ -5912,7 +5912,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -6000,7 +6000,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -6086,7 +6086,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 218 + src/gameobjects/components/Core.js line 218 @@ -6172,7 +6172,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -6259,7 +6259,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -6346,7 +6346,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -6433,7 +6433,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 116 + src/gameobjects/components/Bounds.js line 116 @@ -6522,7 +6522,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -6611,7 +6611,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -6699,7 +6699,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -6787,7 +6787,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -6881,7 +6881,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -6969,7 +6969,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -7055,7 +7055,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -7148,7 +7148,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -7241,7 +7241,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -7328,7 +7328,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 136 + src/gameobjects/components/Bounds.js line 136 @@ -7414,7 +7414,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -7500,7 +7500,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -7582,7 +7582,7 @@
Type:
Source:
- src/gameobjects/Button.js line 50 + src/gameobjects/Button.js line 50 @@ -7681,7 +7681,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -7767,7 +7767,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 576 + src/pixi/display/DisplayObjectContainer.js line 576 @@ -7855,7 +7855,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 204 + src/gameobjects/components/Core.js line 204 @@ -7947,7 +7947,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -8038,7 +8038,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -8129,7 +8129,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -8220,7 +8220,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -8311,7 +8311,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -8397,7 +8397,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -8484,7 +8484,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 626 + src/pixi/display/DisplayObject.js line 626 @@ -8571,7 +8571,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -8660,7 +8660,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 170 + src/gameobjects/components/Core.js line 170 @@ -8797,7 +8797,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -8988,7 +8988,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -9331,7 +9331,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 209 + src/gameobjects/components/Bounds.js line 209 @@ -9675,7 +9675,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 306 + src/gameobjects/components/Bounds.js line 306 @@ -9795,7 +9795,7 @@

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

Source:
- src/gameobjects/Button.js line 234 + src/gameobjects/Button.js line 234 @@ -10046,7 +10046,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -10272,7 +10272,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -10367,7 +10367,7 @@

Source:
- src/pixi/display/DisplayObject.js line 254 + src/pixi/display/DisplayObject.js line 254 @@ -10612,7 +10612,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -10787,7 +10787,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 211 + src/pixi/display/Sprite.js line 211 @@ -10954,7 +10954,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -11121,7 +11121,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -11238,7 +11238,7 @@

Source:
- src/pixi/display/Sprite.js line 328 + src/pixi/display/Sprite.js line 328 @@ -11359,7 +11359,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 117 + src/gameobjects/components/LifeSpan.js line 117 @@ -11644,7 +11644,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -11740,7 +11740,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 84 + src/gameobjects/components/BringToTop.js line 84 @@ -11860,7 +11860,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 64 + src/gameobjects/components/BringToTop.js line 64 @@ -12042,7 +12042,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 508 + src/gameobjects/Button.js line 508 @@ -12200,7 +12200,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 488 + src/gameobjects/Button.js line 488 @@ -12358,7 +12358,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 456 + src/gameobjects/Button.js line 456 @@ -12540,7 +12540,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 528 + src/gameobjects/Button.js line 528 @@ -12699,7 +12699,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -13005,7 +13005,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -13122,7 +13122,7 @@

Source:
- src/gameobjects/components/Core.js line 354 + src/gameobjects/components/Core.js line 354 @@ -13215,7 +13215,7 @@

Source:
- src/gameobjects/Image.js line 80 + src/gameobjects/Image.js line 80 @@ -13308,7 +13308,7 @@

Source:
- src/gameobjects/components/Core.js line 318 + src/gameobjects/components/Core.js line 318 @@ -13451,7 +13451,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -13618,7 +13618,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -13809,7 +13809,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -14048,7 +14048,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -14165,7 +14165,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 236 + src/gameobjects/components/LoadTexture.js line 236 @@ -14358,7 +14358,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -14523,7 +14523,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 83 + src/gameobjects/components/LifeSpan.js line 83 @@ -14643,7 +14643,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 44 + src/gameobjects/components/BringToTop.js line 44 @@ -14834,7 +14834,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -15015,7 +15015,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 430 + src/gameobjects/Button.js line 430 @@ -15159,7 +15159,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 156 + src/gameobjects/components/LoadTexture.js line 156 @@ -15420,7 +15420,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 306 + src/gameobjects/Button.js line 306 @@ -15601,7 +15601,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 417 + src/gameobjects/Button.js line 417 @@ -15782,7 +15782,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 404 + src/gameobjects/Button.js line 404 @@ -16019,7 +16019,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 109 + src/gameobjects/components/ScaleMinMax.js line 109 @@ -16417,7 +16417,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 379 + src/gameobjects/Button.js line 379 @@ -16617,7 +16617,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 175 + src/pixi/display/Sprite.js line 175 @@ -16798,7 +16798,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 443 + src/gameobjects/Button.js line 443 @@ -16965,7 +16965,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -17108,7 +17108,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -17321,7 +17321,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -17442,7 +17442,7 @@

Source:
- src/gameobjects/components/Core.js line 343 + src/gameobjects/components/Core.js line 343 @@ -17535,7 +17535,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -17655,7 +17655,7 @@

Source:
- src/gameobjects/components/Crop.js line 85 + src/gameobjects/components/Crop.js line 85 @@ -17818,7 +17818,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -17887,9 +17887,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -17906,7 +17906,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -17935,7 +17935,7 @@
Returns:
- + diff --git a/docs/Phaser.Cache.html b/docs/Phaser.Cache.html index 91c9a6be7..64ce4aec0 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 180 + src/loader/Cache.js line 180 @@ -419,7 +419,7 @@
Type:
Source:
- src/loader/Cache.js line 186 + src/loader/Cache.js line 186 @@ -492,7 +492,7 @@
Type:
Source:
- src/loader/Cache.js line 192 + src/loader/Cache.js line 192 @@ -565,7 +565,7 @@
Type:
Source:
- src/loader/Cache.js line 138 + src/loader/Cache.js line 138 @@ -638,7 +638,7 @@
Type:
Source:
- src/loader/Cache.js line 228 + src/loader/Cache.js line 228 @@ -715,7 +715,7 @@
Type:
Source:
- src/loader/Cache.js line 235 + src/loader/Cache.js line 235 @@ -792,7 +792,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 249 + src/loader/Cache.js line 249 @@ -942,7 +942,7 @@
Type:
Source:
- src/loader/Cache.js line 144 + src/loader/Cache.js line 144 @@ -1015,7 +1015,7 @@
Type:
Source:
- src/loader/Cache.js line 198 + src/loader/Cache.js line 198 @@ -1092,7 +1092,7 @@
Type:
Source:
- src/loader/Cache.js line 256 + src/loader/Cache.js line 256 @@ -1169,7 +1169,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 270 + src/loader/Cache.js line 270 @@ -1319,7 +1319,7 @@
Type:
Source:
- src/loader/Cache.js line 168 + src/loader/Cache.js line 168 @@ -1403,7 +1403,7 @@
Type:
Source:
- src/loader/Cache.js line 278 + src/loader/Cache.js line 278 @@ -1476,7 +1476,7 @@
Type:
Source:
- src/loader/Cache.js line 222 + src/loader/Cache.js line 222 @@ -1549,7 +1549,7 @@
Type:
Source:
- src/loader/Cache.js line 216 + src/loader/Cache.js line 216 @@ -1622,7 +1622,7 @@
Type:
Source:
- src/loader/Cache.js line 156 + src/loader/Cache.js line 156 @@ -1695,7 +1695,7 @@
Type:
Source:
- src/loader/Cache.js line 162 + src/loader/Cache.js line 162 @@ -1768,7 +1768,7 @@
Type:
Source:
- src/loader/Cache.js line 150 + src/loader/Cache.js line 150 @@ -1841,7 +1841,7 @@
Type:
Source:
- src/loader/Cache.js line 174 + src/loader/Cache.js line 174 @@ -1914,7 +1914,7 @@
Type:
Source:
- src/loader/Cache.js line 210 + src/loader/Cache.js line 210 @@ -1987,7 +1987,7 @@
Type:
Source:
- src/loader/Cache.js line 204 + src/loader/Cache.js line 204 @@ -2064,7 +2064,7 @@
Type:
Source:
- src/loader/Cache.js line 45 + src/loader/Cache.js line 45 @@ -2141,7 +2141,7 @@
Type:
Source:
- src/loader/Cache.js line 39 + src/loader/Cache.js line 39 @@ -2218,7 +2218,7 @@
Type:
Source:
- src/loader/Cache.js line 129 + src/loader/Cache.js line 129 @@ -2295,7 +2295,7 @@
Type:
Source:
- src/loader/Cache.js line 93 + src/loader/Cache.js line 93 @@ -2447,7 +2447,7 @@
Parameters:
Source:
- src/loader/Cache.js line 534 + src/loader/Cache.js line 534 @@ -2676,7 +2676,7 @@
Parameters:
Source:
- src/loader/Cache.js line 546 + src/loader/Cache.js line 546 @@ -3078,7 +3078,7 @@
Parameters:
Source:
- src/loader/Cache.js line 570 + src/loader/Cache.js line 570 @@ -3461,7 +3461,7 @@
Parameters:
Source:
- src/loader/Cache.js line 608 + src/loader/Cache.js line 608 @@ -3671,7 +3671,7 @@
Parameters:
Source:
- src/loader/Cache.js line 327 + src/loader/Cache.js line 327 @@ -3829,7 +3829,7 @@
Parameters:
Source:
- src/loader/Cache.js line 817 + src/loader/Cache.js line 817 @@ -3916,7 +3916,7 @@

Source:
- src/loader/Cache.js line 413 + src/loader/Cache.js line 413 @@ -4100,7 +4100,7 @@
Parameters:
Source:
- src/loader/Cache.js line 342 + src/loader/Cache.js line 342 @@ -4306,7 +4306,7 @@
Parameters:
Source:
- src/loader/Cache.js line 662 + src/loader/Cache.js line 662 @@ -4393,7 +4393,7 @@

Source:
- src/loader/Cache.js line 434 + src/loader/Cache.js line 434 @@ -4599,7 +4599,7 @@
Parameters:
Source:
- src/loader/Cache.js line 502 + src/loader/Cache.js line 502 @@ -4757,7 +4757,7 @@
Parameters:
Source:
- src/loader/Cache.js line 723 + src/loader/Cache.js line 723 @@ -4939,7 +4939,7 @@
Parameters:
Source:
- src/loader/Cache.js line 708 + src/loader/Cache.js line 708 @@ -5169,7 +5169,7 @@
Parameters:
Source:
- src/loader/Cache.js line 452 + src/loader/Cache.js line 452 @@ -5623,7 +5623,7 @@
Parameters:
Source:
- src/loader/Cache.js line 735 + src/loader/Cache.js line 735 @@ -5805,7 +5805,7 @@
Parameters:
Source:
- src/loader/Cache.js line 487 + src/loader/Cache.js line 487 @@ -6035,7 +6035,7 @@
Parameters:
Source:
- src/loader/Cache.js line 772 + src/loader/Cache.js line 772 @@ -6241,7 +6241,7 @@
Parameters:
Source:
- src/loader/Cache.js line 518 + src/loader/Cache.js line 518 @@ -6447,7 +6447,7 @@
Parameters:
Source:
- src/loader/Cache.js line 692 + src/loader/Cache.js line 692 @@ -6629,7 +6629,7 @@
Parameters:
Source:
- src/loader/Cache.js line 677 + src/loader/Cache.js line 677 @@ -6763,7 +6763,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1084 + src/loader/Cache.js line 1084 @@ -6921,7 +6921,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1096 + src/loader/Cache.js line 1096 @@ -7079,7 +7079,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1108 + src/loader/Cache.js line 1108 @@ -7237,7 +7237,7 @@
Parameters:
Source:
- src/loader/Cache.js line 988 + src/loader/Cache.js line 988 @@ -7395,7 +7395,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1000 + src/loader/Cache.js line 1000 @@ -7553,7 +7553,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1012 + src/loader/Cache.js line 1012 @@ -7711,7 +7711,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1120 + src/loader/Cache.js line 1120 @@ -7893,7 +7893,7 @@
Parameters:
Source:
- src/loader/Cache.js line 950 + src/loader/Cache.js line 950 @@ -8051,7 +8051,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1060 + src/loader/Cache.js line 1060 @@ -8209,7 +8209,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1168 + src/loader/Cache.js line 1168 @@ -8367,7 +8367,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1156 + src/loader/Cache.js line 1156 @@ -8525,7 +8525,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1036 + src/loader/Cache.js line 1036 @@ -8683,7 +8683,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1048 + src/loader/Cache.js line 1048 @@ -8841,7 +8841,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1024 + src/loader/Cache.js line 1024 @@ -8999,7 +8999,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1072 + src/loader/Cache.js line 1072 @@ -9160,7 +9160,7 @@
Parameters:
Source:
- src/loader/Cache.js line 968 + src/loader/Cache.js line 968 @@ -9318,7 +9318,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1144 + src/loader/Cache.js line 1144 @@ -9476,7 +9476,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1132 + src/loader/Cache.js line 1132 @@ -9585,7 +9585,7 @@

Source:
- src/loader/Cache.js line 2034 + src/loader/Cache.js line 2034 @@ -9743,7 +9743,7 @@
Parameters:
Source:
- src/loader/Cache.js line 893 + src/loader/Cache.js line 893 @@ -9830,7 +9830,7 @@

Source:
- src/loader/Cache.js line 2082 + src/loader/Cache.js line 2082 @@ -9960,7 +9960,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2112 + src/loader/Cache.js line 2112 @@ -10150,7 +10150,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1582 + src/loader/Cache.js line 1582 @@ -10310,7 +10310,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1416 + src/loader/Cache.js line 1416 @@ -10470,7 +10470,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1432 + src/loader/Cache.js line 1432 @@ -10630,7 +10630,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1448 + src/loader/Cache.js line 1448 @@ -10790,7 +10790,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1221 + src/loader/Cache.js line 1221 @@ -10948,7 +10948,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1564 + src/loader/Cache.js line 1564 @@ -11162,7 +11162,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1597 + src/loader/Cache.js line 1597 @@ -11412,7 +11412,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1686 + src/loader/Cache.js line 1686 @@ -11662,7 +11662,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1709 + src/loader/Cache.js line 1709 @@ -11876,7 +11876,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1612 + src/loader/Cache.js line 1612 @@ -12092,7 +12092,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1634 + src/loader/Cache.js line 1634 @@ -12312,7 +12312,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1237 + src/loader/Cache.js line 1237 @@ -12582,7 +12582,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1186 + src/loader/Cache.js line 1186 @@ -12800,7 +12800,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1464 + src/loader/Cache.js line 1464 @@ -12978,7 +12978,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1756 + src/loader/Cache.js line 1756 @@ -13231,7 +13231,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1341 + src/loader/Cache.js line 1341 @@ -13391,7 +13391,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1548 + src/loader/Cache.js line 1548 @@ -13551,7 +13551,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1532 + src/loader/Cache.js line 1532 @@ -13711,7 +13711,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1293 + src/loader/Cache.js line 1293 @@ -13871,7 +13871,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1309 + src/loader/Cache.js line 1309 @@ -14031,7 +14031,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1325 + src/loader/Cache.js line 1325 @@ -14190,7 +14190,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1279 + src/loader/Cache.js line 1279 @@ -14350,7 +14350,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1400 + src/loader/Cache.js line 1400 @@ -14510,7 +14510,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1732 + src/loader/Cache.js line 1732 @@ -14670,7 +14670,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1516 + src/loader/Cache.js line 1516 @@ -14830,7 +14830,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1500 + src/loader/Cache.js line 1500 @@ -15044,7 +15044,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1653 + src/loader/Cache.js line 1653 @@ -15202,7 +15202,7 @@
Parameters:
Source:
- src/loader/Cache.js line 909 + src/loader/Cache.js line 909 @@ -15361,7 +15361,7 @@
Parameters:
Source:
- src/loader/Cache.js line 926 + src/loader/Cache.js line 926 @@ -15519,7 +15519,7 @@
Parameters:
Source:
- src/loader/Cache.js line 835 + src/loader/Cache.js line 835 @@ -15653,7 +15653,7 @@
Parameters:
Source:
- src/loader/Cache.js line 860 + src/loader/Cache.js line 860 @@ -15789,7 +15789,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1889 + src/loader/Cache.js line 1889 @@ -15925,7 +15925,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1903 + src/loader/Cache.js line 1903 @@ -16061,7 +16061,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1917 + src/loader/Cache.js line 1917 @@ -16197,7 +16197,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1789 + src/loader/Cache.js line 1789 @@ -16390,7 +16390,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1803 + src/loader/Cache.js line 1803 @@ -16526,7 +16526,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1931 + src/loader/Cache.js line 1931 @@ -16662,7 +16662,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1861 + src/loader/Cache.js line 1861 @@ -16798,7 +16798,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1987 + src/loader/Cache.js line 1987 @@ -16934,7 +16934,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1973 + src/loader/Cache.js line 1973 @@ -17073,7 +17073,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1829 + src/loader/Cache.js line 1829 @@ -17209,7 +17209,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2001 + src/loader/Cache.js line 2001 @@ -17345,7 +17345,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1847 + src/loader/Cache.js line 1847 @@ -17481,7 +17481,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2015 + src/loader/Cache.js line 2015 @@ -17617,7 +17617,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1875 + src/loader/Cache.js line 1875 @@ -17753,7 +17753,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1959 + src/loader/Cache.js line 1959 @@ -17889,7 +17889,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1945 + src/loader/Cache.js line 1945 @@ -18115,7 +18115,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1668 + src/loader/Cache.js line 1668 @@ -18249,7 +18249,7 @@
Parameters:
Source:
- src/loader/Cache.js line 877 + src/loader/Cache.js line 877 @@ -18292,9 +18292,9 @@
Parameters:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -18311,7 +18311,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -18340,7 +18340,7 @@
Parameters:
- + diff --git a/docs/Phaser.Camera.html b/docs/Phaser.Camera.html index f3c927b6b..5f4c04755 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 @@ -525,7 +525,7 @@
Type:
Source:
- src/core/Camera.js line 263 + src/core/Camera.js line 263 @@ -598,7 +598,7 @@
Type:
Source:
- src/core/Camera.js line 257 + src/core/Camera.js line 257 @@ -671,7 +671,7 @@
Type:
Source:
- src/core/Camera.js line 251 + src/core/Camera.js line 251 @@ -748,7 +748,7 @@
Type:
Source:
- src/core/Camera.js line 197 + src/core/Camera.js line 197 @@ -825,7 +825,7 @@
Type:
Source:
- src/core/Camera.js line 205 + src/core/Camera.js line 205 @@ -902,7 +902,7 @@
Type:
Source:
- src/core/Camera.js line 213 + src/core/Camera.js line 213 @@ -979,7 +979,7 @@
Type:
Source:
- src/core/Camera.js line 221 + src/core/Camera.js line 221 @@ -1052,7 +1052,7 @@
Type:
Source:
- src/core/Camera.js line 227 + src/core/Camera.js line 227 @@ -1125,7 +1125,7 @@
Type:
Source:
- src/core/Camera.js line 233 + src/core/Camera.js line 233 @@ -1198,7 +1198,7 @@
Type:
Source:
- src/core/Camera.js line 239 + src/core/Camera.js line 239 @@ -1275,7 +1275,7 @@
Type:
Source:
- src/core/Camera.js line 76 + src/core/Camera.js line 76 @@ -1354,7 +1354,7 @@
Type:
Source:
- src/core/Camera.js line 54 + src/core/Camera.js line 54 @@ -1431,7 +1431,7 @@
Type:
Source:
- src/core/Camera.js line 1016 + src/core/Camera.js line 1016 @@ -1508,7 +1508,7 @@
Type:
Source:
- src/core/Camera.js line 1031 + src/core/Camera.js line 1031 @@ -1585,7 +1585,7 @@
Type:
Source:
- src/core/Camera.js line 59 + src/core/Camera.js line 59 @@ -1662,7 +1662,7 @@
Type:
Source:
- src/core/Camera.js line 87 + src/core/Camera.js line 87 @@ -1739,7 +1739,7 @@
Type:
Source:
- src/core/Camera.js line 999 + src/core/Camera.js line 999 @@ -1816,7 +1816,7 @@
Type:
Source:
- src/core/Camera.js line 136 + src/core/Camera.js line 136 @@ -1893,7 +1893,7 @@
Type:
Source:
- src/core/Camera.js line 25 + src/core/Camera.js line 25 @@ -1970,7 +1970,7 @@
Type:
Source:
- src/core/Camera.js line 961 + src/core/Camera.js line 961 @@ -2047,7 +2047,7 @@
Type:
Source:
- src/core/Camera.js line 36 + src/core/Camera.js line 36 @@ -2128,7 +2128,7 @@
Type:
Source:
- src/core/Camera.js line 109 + src/core/Camera.js line 109 @@ -2209,7 +2209,7 @@
Type:
Source:
- src/core/Camera.js line 129 + src/core/Camera.js line 129 @@ -2286,7 +2286,7 @@
Type:
Source:
- src/core/Camera.js line 119 + src/core/Camera.js line 119 @@ -2363,7 +2363,7 @@
Type:
Source:
- src/core/Camera.js line 114 + src/core/Camera.js line 114 @@ -2440,7 +2440,7 @@
Type:
Source:
- src/core/Camera.js line 915 + src/core/Camera.js line 915 @@ -2524,7 +2524,7 @@
Type:
Source:
- src/core/Camera.js line 71 + src/core/Camera.js line 71 @@ -2601,7 +2601,7 @@
Type:
Source:
- src/core/Camera.js line 92 + src/core/Camera.js line 92 @@ -2678,7 +2678,7 @@
Type:
Source:
- src/core/Camera.js line 980 + src/core/Camera.js line 980 @@ -2755,7 +2755,7 @@
Type:
Source:
- src/core/Camera.js line 82 + src/core/Camera.js line 82 @@ -2832,7 +2832,7 @@
Type:
Source:
- src/core/Camera.js line 98 + src/core/Camera.js line 98 @@ -2912,7 +2912,7 @@
Type:
Source:
- src/core/Camera.js line 45 + src/core/Camera.js line 45 @@ -2996,7 +2996,7 @@
Type:
Source:
- src/core/Camera.js line 65 + src/core/Camera.js line 65 @@ -3073,7 +3073,7 @@
Type:
Source:
- src/core/Camera.js line 942 + src/core/Camera.js line 942 @@ -3150,7 +3150,7 @@
Type:
Source:
- src/core/Camera.js line 30 + src/core/Camera.js line 30 @@ -3227,7 +3227,7 @@
Type:
Source:
- src/core/Camera.js line 867 + src/core/Camera.js line 867 @@ -3304,7 +3304,7 @@
Type:
Source:
- src/core/Camera.js line 891 + src/core/Camera.js line 891 @@ -3383,7 +3383,7 @@

Source:
- src/core/Camera.js line 728 + src/core/Camera.js line 728 @@ -3664,7 +3664,7 @@
Parameters:
Source:
- src/core/Camera.js line 467 + src/core/Camera.js line 467 @@ -3964,7 +3964,7 @@
Parameters:
Source:
- src/core/Camera.js line 492 + src/core/Camera.js line 492 @@ -4265,7 +4265,7 @@
Parameters:
Source:
- src/core/Camera.js line 426 + src/core/Camera.js line 426 @@ -4423,7 +4423,7 @@
Parameters:
Source:
- src/core/Camera.js line 363 + src/core/Camera.js line 363 @@ -4581,7 +4581,7 @@
Parameters:
Source:
- src/core/Camera.js line 373 + src/core/Camera.js line 373 @@ -4859,7 +4859,7 @@
Parameters:
Source:
- src/core/Camera.js line 299 + src/core/Camera.js line 299 @@ -4943,7 +4943,7 @@

Source:
- src/core/Camera.js line 289 + src/core/Camera.js line 289 @@ -5029,7 +5029,7 @@

Source:
- src/core/Camera.js line 825 + src/core/Camera.js line 825 @@ -5114,7 +5114,7 @@

Source:
- src/core/Camera.js line 846 + src/core/Camera.js line 846 @@ -5198,7 +5198,7 @@

Source:
- src/core/Camera.js line 715 + src/core/Camera.js line 715 @@ -5357,7 +5357,7 @@
Parameters:
Source:
- src/core/Camera.js line 793 + src/core/Camera.js line 793 @@ -5515,7 +5515,7 @@
Parameters:
Source:
- src/core/Camera.js line 812 + src/core/Camera.js line 812 @@ -5832,7 +5832,7 @@
Parameters:
Source:
- src/core/Camera.js line 384 + src/core/Camera.js line 384 @@ -5940,7 +5940,7 @@

Source:
- src/core/Camera.js line 353 + src/core/Camera.js line 353 @@ -6024,7 +6024,7 @@

Source:
- src/core/Camera.js line 550 + src/core/Camera.js line 550 @@ -6067,9 +6067,9 @@

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -6086,7 +6086,7 @@

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -6115,7 +6115,7 @@

- + diff --git a/docs/Phaser.Canvas.html b/docs/Phaser.Canvas.html index 484d4bffc..acdcf4a84 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 105 + src/utils/Canvas.js line 105 @@ -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 233 + src/utils/Canvas.js line 233 @@ -1079,7 +1079,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 209 + src/utils/Canvas.js line 209 @@ -1240,7 +1240,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 151 + src/utils/Canvas.js line 151 @@ -1430,7 +1430,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 46 + src/utils/Canvas.js line 46 @@ -1589,7 +1589,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 276 + src/utils/Canvas.js line 276 @@ -1750,7 +1750,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 250 + src/utils/Canvas.js line 250 @@ -1945,7 +1945,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 185 + src/utils/Canvas.js line 185 @@ -2147,7 +2147,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 63 + src/utils/Canvas.js line 63 @@ -2449,7 +2449,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 165 + src/utils/Canvas.js line 165 @@ -2651,7 +2651,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 82 + src/utils/Canvas.js line 82 @@ -2718,9 +2718,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -2737,7 +2737,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -2766,7 +2766,7 @@
Returns:
- + diff --git a/docs/Phaser.CanvasPool.html b/docs/Phaser.CanvasPool.html index b276b9516..9690bdef0 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 196 + src/utils/CanvasPool.js line 196 @@ -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 57 + src/utils/CanvasPool.js line 57 @@ -673,7 +673,7 @@

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

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

Source:
- src/utils/CanvasPool.js line 171 + src/utils/CanvasPool.js line 171 @@ -1024,7 +1024,7 @@
Parameters:
Source:
- src/utils/CanvasPool.js line 79 + src/utils/CanvasPool.js line 79 @@ -1159,7 +1159,7 @@
Parameters:
Source:
- src/utils/CanvasPool.js line 102 + src/utils/CanvasPool.js line 102 @@ -1202,9 +1202,9 @@
Parameters:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -1250,7 +1250,7 @@
Parameters:
- + diff --git a/docs/Phaser.Circle.html b/docs/Phaser.Circle.html index 7fd6549d2..26dfd17d7 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 440 + src/geom/Circle.js line 440 @@ -513,7 +513,7 @@
Type:
Source:
- src/geom/Circle.js line 413 + src/geom/Circle.js line 413 @@ -590,7 +590,7 @@
Type:
Source:
- src/geom/Circle.js line 285 + src/geom/Circle.js line 285 @@ -668,7 +668,7 @@
Type:
Source:
- src/geom/Circle.js line 462 + src/geom/Circle.js line 462 @@ -734,7 +734,7 @@

Source:
- src/geom/Circle.js line 332 + src/geom/Circle.js line 332 @@ -811,7 +811,7 @@
Type:
Source:
- src/geom/Circle.js line 309 + src/geom/Circle.js line 309 @@ -888,7 +888,7 @@
Type:
Source:
- src/geom/Circle.js line 359 + src/geom/Circle.js line 359 @@ -965,7 +965,7 @@
Type:
Source:
- src/geom/Circle.js line 386 + src/geom/Circle.js line 386 @@ -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 534 + src/geom/Circle.js line 534 @@ -1660,7 +1660,7 @@
Parameters:
Source:
- src/geom/Circle.js line 485 + src/geom/Circle.js line 485 @@ -1842,7 +1842,7 @@
Parameters:
Source:
- src/geom/Circle.js line 509 + src/geom/Circle.js line 509 @@ -2025,7 +2025,7 @@
Parameters:
Source:
- src/geom/Circle.js line 521 + src/geom/Circle.js line 521 @@ -2259,7 +2259,7 @@
Parameters:
Source:
- src/geom/Circle.js line 598 + src/geom/Circle.js line 598 @@ -2441,7 +2441,7 @@
Parameters:
Source:
- src/geom/Circle.js line 559 + src/geom/Circle.js line 559 @@ -2549,7 +2549,7 @@

Source:
- src/geom/Circle.js line 59 + src/geom/Circle.js line 59 @@ -2801,7 +2801,7 @@
Parameters:
Source:
- src/geom/Circle.js line 195 + src/geom/Circle.js line 195 @@ -2971,7 +2971,7 @@
Parameters:
Source:
- src/geom/Circle.js line 163 + src/geom/Circle.js line 163 @@ -3153,7 +3153,7 @@
Parameters:
Source:
- src/geom/Circle.js line 183 + src/geom/Circle.js line 183 @@ -3311,7 +3311,7 @@
Parameters:
Source:
- src/geom/Circle.js line 123 + src/geom/Circle.js line 123 @@ -3469,7 +3469,7 @@
Parameters:
Source:
- src/geom/Circle.js line 134 + src/geom/Circle.js line 134 @@ -3684,7 +3684,7 @@
Parameters:
Source:
- src/geom/Circle.js line 149 + src/geom/Circle.js line 149 @@ -3792,7 +3792,7 @@

Source:
- src/geom/Circle.js line 94 + src/geom/Circle.js line 94 @@ -3974,7 +3974,7 @@
Parameters:
Source:
- src/geom/Circle.js line 245 + src/geom/Circle.js line 245 @@ -4132,7 +4132,7 @@
Parameters:
Source:
- src/geom/Circle.js line 260 + src/geom/Circle.js line 260 @@ -4306,7 +4306,7 @@
Parameters:
Source:
- src/geom/Circle.js line 70 + src/geom/Circle.js line 70 @@ -4644,7 +4644,7 @@
Parameters:
Source:
- src/geom/Circle.js line 222 + src/geom/Circle.js line 222 @@ -4852,7 +4852,7 @@
Parameters:
Source:
- src/geom/Circle.js line 105 + src/geom/Circle.js line 105 @@ -4960,7 +4960,7 @@

Source:
- src/geom/Circle.js line 271 + src/geom/Circle.js line 271 @@ -5027,9 +5027,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -5046,7 +5046,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -5075,7 +5075,7 @@
Returns:
- + diff --git a/docs/Phaser.Color.html b/docs/Phaser.Color.html index 8ee1ea92d..51cd5cb97 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 @@ -292,7 +292,7 @@
Type:
Source:
- src/utils/Color.js line 57 + src/utils/Color.js line 57 @@ -369,7 +369,7 @@
Type:
Source:
- src/utils/Color.js line 93 + src/utils/Color.js line 93 @@ -453,7 +453,7 @@
Type:
Source:
- src/utils/Color.js line 66 + src/utils/Color.js line 66 @@ -537,7 +537,7 @@
Type:
Source:
- src/utils/Color.js line 102 + src/utils/Color.js line 102 @@ -621,7 +621,7 @@
Type:
Source:
- src/utils/Color.js line 48 + src/utils/Color.js line 48 @@ -705,7 +705,7 @@
Type:
Source:
- src/utils/Color.js line 30 + src/utils/Color.js line 30 @@ -789,7 +789,7 @@
Type:
Source:
- src/utils/Color.js line 21 + src/utils/Color.js line 21 @@ -873,7 +873,7 @@
Type:
Source:
- src/utils/Color.js line 75 + src/utils/Color.js line 75 @@ -957,7 +957,7 @@
Type:
Source:
- src/utils/Color.js line 84 + src/utils/Color.js line 84 @@ -1041,7 +1041,7 @@
Type:
Source:
- src/utils/Color.js line 39 + src/utils/Color.js line 39 @@ -1193,7 +1193,7 @@
Parameters:
Source:
- src/utils/Color.js line 1248 + src/utils/Color.js line 1248 @@ -1375,7 +1375,7 @@
Parameters:
Source:
- src/utils/Color.js line 1234 + src/utils/Color.js line 1234 @@ -1558,7 +1558,7 @@
Parameters:
Source:
- src/utils/Color.js line 1417 + src/utils/Color.js line 1417 @@ -1741,7 +1741,7 @@
Parameters:
Source:
- src/utils/Color.js line 1402 + src/utils/Color.js line 1402 @@ -1923,7 +1923,7 @@
Parameters:
Source:
- src/utils/Color.js line 1203 + src/utils/Color.js line 1203 @@ -2106,7 +2106,7 @@
Parameters:
Source:
- src/utils/Color.js line 1276 + src/utils/Color.js line 1276 @@ -2289,7 +2289,7 @@
Parameters:
Source:
- src/utils/Color.js line 1322 + src/utils/Color.js line 1322 @@ -2471,7 +2471,7 @@
Parameters:
Source:
- src/utils/Color.js line 1539 + src/utils/Color.js line 1539 @@ -2660,7 +2660,7 @@
Parameters:
Source:
- src/utils/Color.js line 1377 + src/utils/Color.js line 1377 @@ -2845,7 +2845,7 @@
Parameters:
Source:
- src/utils/Color.js line 1508 + src/utils/Color.js line 1508 @@ -3027,7 +3027,7 @@
Parameters:
Source:
- src/utils/Color.js line 1189 + src/utils/Color.js line 1189 @@ -3209,7 +3209,7 @@
Parameters:
Source:
- src/utils/Color.js line 1446 + src/utils/Color.js line 1446 @@ -3391,7 +3391,7 @@
Parameters:
Source:
- src/utils/Color.js line 1432 + src/utils/Color.js line 1432 @@ -3575,7 +3575,7 @@
Parameters:
Source:
- src/utils/Color.js line 1460 + src/utils/Color.js line 1460 @@ -3760,7 +3760,7 @@
Parameters:
Source:
- src/utils/Color.js line 1217 + src/utils/Color.js line 1217 @@ -3942,7 +3942,7 @@
Parameters:
Source:
- src/utils/Color.js line 1292 + src/utils/Color.js line 1292 @@ -4124,7 +4124,7 @@
Parameters:
Source:
- src/utils/Color.js line 1175 + src/utils/Color.js line 1175 @@ -4308,7 +4308,7 @@
Parameters:
Source:
- src/utils/Color.js line 1337 + src/utils/Color.js line 1337 @@ -4490,7 +4490,7 @@
Parameters:
Source:
- src/utils/Color.js line 1553 + src/utils/Color.js line 1553 @@ -4673,7 +4673,7 @@
Parameters:
Source:
- src/utils/Color.js line 1493 + src/utils/Color.js line 1493 @@ -4855,7 +4855,7 @@
Parameters:
Source:
- src/utils/Color.js line 1525 + src/utils/Color.js line 1525 @@ -5039,7 +5039,7 @@
Parameters:
Source:
- src/utils/Color.js line 1306 + src/utils/Color.js line 1306 @@ -5228,7 +5228,7 @@
Parameters:
Source:
- src/utils/Color.js line 1353 + src/utils/Color.js line 1353 @@ -5410,7 +5410,7 @@
Parameters:
Source:
- src/utils/Color.js line 1262 + src/utils/Color.js line 1262 @@ -5595,7 +5595,7 @@
Parameters:
Source:
- src/utils/Color.js line 1476 + src/utils/Color.js line 1476 @@ -5753,7 +5753,7 @@
Parameters:
Source:
- src/utils/Color.js line 802 + src/utils/Color.js line 802 @@ -6220,7 +6220,7 @@
Parameters:
Source:
- src/utils/Color.js line 550 + src/utils/Color.js line 550 @@ -6430,7 +6430,7 @@
Parameters:
Source:
- src/utils/Color.js line 185 + src/utils/Color.js line 185 @@ -6588,7 +6588,7 @@
Parameters:
Source:
- src/utils/Color.js line 1110 + src/utils/Color.js line 1110 @@ -6746,7 +6746,7 @@
Parameters:
Source:
- src/utils/Color.js line 1123 + src/utils/Color.js line 1123 @@ -6904,7 +6904,7 @@
Parameters:
Source:
- src/utils/Color.js line 1162 + src/utils/Color.js line 1162 @@ -7110,7 +7110,7 @@
Parameters:
Source:
- src/utils/Color.js line 609 + src/utils/Color.js line 609 @@ -7340,7 +7340,7 @@
Parameters:
Source:
- src/utils/Color.js line 593 + src/utils/Color.js line 593 @@ -7498,7 +7498,7 @@
Parameters:
Source:
- src/utils/Color.js line 1149 + src/utils/Color.js line 1149 @@ -7758,7 +7758,7 @@
Parameters:
Source:
- src/utils/Color.js line 1017 + src/utils/Color.js line 1017 @@ -7916,7 +7916,7 @@
Parameters:
Source:
- src/utils/Color.js line 1136 + src/utils/Color.js line 1136 @@ -8075,7 +8075,7 @@
Parameters:
Source:
- src/utils/Color.js line 1048 + src/utils/Color.js line 1048 @@ -8236,7 +8236,7 @@
Parameters:
Source:
- src/utils/Color.js line 1089 + src/utils/Color.js line 1089 @@ -8440,7 +8440,7 @@
Parameters:
Source:
- src/utils/Color.js line 670 + src/utils/Color.js line 670 @@ -8598,7 +8598,7 @@
Parameters:
Source:
- src/utils/Color.js line 652 + src/utils/Color.js line 652 @@ -8756,7 +8756,7 @@
Parameters:
Source:
- src/utils/Color.js line 246 + src/utils/Color.js line 246 @@ -8974,7 +8974,7 @@
Parameters:
Source:
- src/utils/Color.js line 841 + src/utils/Color.js line 841 @@ -9243,7 +9243,7 @@
Parameters:
Source:
- src/utils/Color.js line 334 + src/utils/Color.js line 334 @@ -9461,7 +9461,7 @@
Parameters:
Source:
- src/utils/Color.js line 817 + src/utils/Color.js line 817 @@ -9730,7 +9730,7 @@
Parameters:
Source:
- src/utils/Color.js line 441 + src/utils/Color.js line 441 @@ -9937,7 +9937,7 @@
Parameters:
Source:
- src/utils/Color.js line 509 + src/utils/Color.js line 509 @@ -10297,7 +10297,7 @@
Parameters:
Source:
- src/utils/Color.js line 865 + src/utils/Color.js line 865 @@ -10575,7 +10575,7 @@
Parameters:
Source:
- src/utils/Color.js line 932 + src/utils/Color.js line 932 @@ -10901,7 +10901,7 @@
Parameters:
Source:
- src/utils/Color.js line 955 + src/utils/Color.js line 955 @@ -11109,7 +11109,7 @@
Parameters:
Source:
- src/utils/Color.js line 978 + src/utils/Color.js line 978 @@ -11293,7 +11293,7 @@
Parameters:
Source:
- src/utils/Color.js line 996 + src/utils/Color.js line 996 @@ -11531,7 +11531,7 @@
Parameters:
Source:
- src/utils/Color.js line 104 + src/utils/Color.js line 104 @@ -11689,7 +11689,7 @@
Parameters:
Source:
- src/utils/Color.js line 263 + src/utils/Color.js line 263 @@ -11958,7 +11958,7 @@
Parameters:
Source:
- src/utils/Color.js line 276 + src/utils/Color.js line 276 @@ -12227,7 +12227,7 @@
Parameters:
Source:
- src/utils/Color.js line 386 + src/utils/Color.js line 386 @@ -12554,7 +12554,7 @@
Parameters:
Source:
- src/utils/Color.js line 624 + src/utils/Color.js line 624 @@ -12784,7 +12784,7 @@
Parameters:
Source:
- src/utils/Color.js line 230 + src/utils/Color.js line 230 @@ -13021,7 +13021,7 @@
Parameters:
Source:
- src/utils/Color.js line 213 + src/utils/Color.js line 213 @@ -13326,7 +13326,7 @@
Parameters:
Source:
- src/utils/Color.js line 129 + src/utils/Color.js line 129 @@ -13484,7 +13484,7 @@
Parameters:
Source:
- src/utils/Color.js line 576 + src/utils/Color.js line 576 @@ -13691,7 +13691,7 @@
Parameters:
Source:
- src/utils/Color.js line 746 + src/utils/Color.js line 746 @@ -13894,7 +13894,7 @@
Parameters:
Source:
- src/utils/Color.js line 714 + src/utils/Color.js line 714 @@ -13961,9 +13961,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -13980,7 +13980,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -14009,7 +14009,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.Angle.html b/docs/Phaser.Component.Angle.html index e0462b355..58773a77e 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.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -371,7 +371,7 @@
Type:
- + diff --git a/docs/Phaser.Component.Animation.html b/docs/Phaser.Component.Animation.html index 6d0199fa8..2516f161d 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.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -586,7 +586,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.AutoCull.html b/docs/Phaser.Component.AutoCull.html index 19c4bb26b..6d81b6b4e 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.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -449,7 +449,7 @@
Type:
- + diff --git a/docs/Phaser.Component.Bounds.html b/docs/Phaser.Component.Bounds.html index ba09209a9..30598c221 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 156 + src/gameobjects/components/Bounds.js line 156 @@ -364,7 +364,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 56 + src/gameobjects/components/Bounds.js line 56 @@ -442,7 +442,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 76 + src/gameobjects/components/Bounds.js line 76 @@ -520,7 +520,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 96 + src/gameobjects/components/Bounds.js line 96 @@ -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 41 + src/gameobjects/components/Bounds.js line 41 @@ -756,7 +756,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 116 + src/gameobjects/components/Bounds.js line 116 @@ -834,7 +834,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 136 + src/gameobjects/components/Bounds.js line 136 @@ -1138,7 +1138,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 209 + src/gameobjects/components/Bounds.js line 209 @@ -1473,7 +1473,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 306 + src/gameobjects/components/Bounds.js line 306 @@ -1540,9 +1540,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -1588,7 +1588,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.BringToTop.html b/docs/Phaser.Component.BringToTop.html index 06e718c0a..cb1bde5b6 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 84 + src/gameobjects/components/BringToTop.js line 84 @@ -507,7 +507,7 @@

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

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

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -733,7 +733,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.Core.html b/docs/Phaser.Component.Core.html index 46632629f..996c7a1cf 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 @@ -286,7 +286,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 186 + src/gameobjects/components/Core.js line 186 @@ -370,7 +370,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 160 + src/gameobjects/components/Core.js line 160 @@ -457,7 +457,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 153 + src/gameobjects/components/Core.js line 153 @@ -534,7 +534,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 211 + src/gameobjects/components/Core.js line 211 @@ -612,7 +612,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 178 + src/gameobjects/components/Core.js line 178 @@ -701,7 +701,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 277 + src/gameobjects/components/Core.js line 277 @@ -779,7 +779,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 241 + src/gameobjects/components/Core.js line 241 @@ -856,7 +856,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 135 + src/gameobjects/components/Core.js line 135 @@ -949,7 +949,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 196 + src/gameobjects/components/Core.js line 196 @@ -1027,7 +1027,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 143 + src/gameobjects/components/Core.js line 143 @@ -1107,7 +1107,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 252 + src/gameobjects/components/Core.js line 252 @@ -1184,7 +1184,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 218 + src/gameobjects/components/Core.js line 218 @@ -1261,7 +1261,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -1339,7 +1339,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -1418,7 +1418,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 204 + src/gameobjects/components/Core.js line 204 @@ -1498,7 +1498,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 170 + src/gameobjects/components/Core.js line 170 @@ -1577,7 +1577,7 @@

Source:
- src/gameobjects/components/Core.js line 53 + src/gameobjects/components/Core.js line 53 @@ -1662,7 +1662,7 @@

Source:
- src/gameobjects/components/Core.js line 22 + src/gameobjects/components/Core.js line 22 @@ -1746,7 +1746,7 @@

Source:
- src/gameobjects/components/Core.js line 354 + src/gameobjects/components/Core.js line 354 @@ -1830,7 +1830,7 @@

Source:
- src/gameobjects/components/Core.js line 318 + src/gameobjects/components/Core.js line 318 @@ -1916,7 +1916,7 @@

Source:
- src/gameobjects/components/Core.js line 343 + src/gameobjects/components/Core.js line 343 @@ -1959,9 +1959,9 @@

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -1978,7 +1978,7 @@

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -2007,7 +2007,7 @@

- + diff --git a/docs/Phaser.Component.Crop.html b/docs/Phaser.Component.Crop.html index 8f050f17c..a285b06fa 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 85 + src/gameobjects/components/Crop.js line 85 @@ -607,9 +607,9 @@

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

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

- + diff --git a/docs/Phaser.Component.Delta.html b/docs/Phaser.Component.Delta.html index 177ffa0da..04ad0e3a9 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 41 + src/gameobjects/components/Delta.js line 41 @@ -441,7 +441,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 56 + src/gameobjects/components/Delta.js line 56 @@ -474,9 +474,9 @@
Type:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -522,7 +522,7 @@
Type:
- + diff --git a/docs/Phaser.Component.Destroy.html b/docs/Phaser.Component.Destroy.html index 553e2f0b0..0fe3568d6 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.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -569,7 +569,7 @@
Parameters:
- + diff --git a/docs/Phaser.Component.FixedToCamera.html b/docs/Phaser.Component.FixedToCamera.html index 906adacf3..25ced4986 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 82 + src/gameobjects/components/FixedToCamera.js line 82 @@ -371,7 +371,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 54 + src/gameobjects/components/FixedToCamera.js line 54 @@ -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.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

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

- + diff --git a/docs/Phaser.Component.Health.html b/docs/Phaser.Component.Health.html index 0d66c728e..185204b95 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 88 + src/gameobjects/components/Health.js line 88 @@ -826,7 +826,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 69 + src/gameobjects/components/Health.js line 69 @@ -893,9 +893,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -941,7 +941,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.InCamera.html b/docs/Phaser.Component.InCamera.html index e8267fd39..1abd2199a 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.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -368,7 +368,7 @@
Type:
- + diff --git a/docs/Phaser.Component.InWorld.html b/docs/Phaser.Component.InWorld.html index 854ab6965..4f3babd23 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 103 + src/gameobjects/components/InWorld.js line 103 @@ -370,7 +370,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 134 + src/gameobjects/components/InWorld.js line 134 @@ -447,7 +447,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 111 + src/gameobjects/components/InWorld.js line 111 @@ -525,7 +525,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 120 + src/gameobjects/components/InWorld.js line 120 @@ -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.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

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

- + diff --git a/docs/Phaser.Component.InputEnabled.html b/docs/Phaser.Component.InputEnabled.html index 2d3f50ecc..7d0ae3972 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.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -455,7 +455,7 @@
Type:
- + diff --git a/docs/Phaser.Component.LifeSpan.html b/docs/Phaser.Component.LifeSpan.html index cc11ece79..2b14ed210 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 55 + src/gameobjects/components/LifeSpan.js line 55 @@ -377,7 +377,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 70 + src/gameobjects/components/LifeSpan.js line 70 @@ -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 117 + src/gameobjects/components/LifeSpan.js line 117 @@ -724,7 +724,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 83 + src/gameobjects/components/LifeSpan.js line 83 @@ -791,9 +791,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -839,7 +839,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.LoadTexture.html b/docs/Phaser.Component.LoadTexture.html index 2831a223e..f973dbe7b 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 257 + src/gameobjects/components/LoadTexture.js line 257 @@ -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 236 + src/gameobjects/components/LoadTexture.js line 236 @@ -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 156 + src/gameobjects/components/LoadTexture.js line 156 @@ -1064,9 +1064,9 @@
Parameters:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -1112,7 +1112,7 @@
Parameters:
- + diff --git a/docs/Phaser.Component.Overlap.html b/docs/Phaser.Component.Overlap.html index d68d6872c..758af6698 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.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -463,7 +463,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.PhysicsBody.html b/docs/Phaser.Component.PhysicsBody.html index d8c4acec0..b896ead10 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 97 + src/gameobjects/components/PhysicsBody.js line 97 @@ -380,7 +380,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 104 + src/gameobjects/components/PhysicsBody.js line 104 @@ -457,7 +457,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 128 + src/gameobjects/components/PhysicsBody.js line 128 @@ -536,7 +536,7 @@

Source:
- src/gameobjects/components/PhysicsBody.js line 68 + src/gameobjects/components/PhysicsBody.js line 68 @@ -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.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

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

- + diff --git a/docs/Phaser.Component.Reset.html b/docs/Phaser.Component.Reset.html index ba84bfc61..de96106df 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.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -543,7 +543,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.ScaleMinMax.html b/docs/Phaser.Component.ScaleMinMax.html index 6a3039261..247d0cb82 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 109 + src/gameobjects/components/ScaleMinMax.js line 109 @@ -785,9 +785,9 @@
Parameters:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -833,7 +833,7 @@
Parameters:
- + diff --git a/docs/Phaser.Component.Smoothed.html b/docs/Phaser.Component.Smoothed.html index 0c1bb3ace..96ddd54d5 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.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -368,7 +368,7 @@
Type:
- + diff --git a/docs/Phaser.Create.html b/docs/Phaser.Create.html index 88ef7b9fb..d7379cf7c 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 57 + src/core/Create.js line 57 @@ -415,7 +415,7 @@
Type:
Source:
- src/core/Create.js line 78 + src/core/Create.js line 78 @@ -492,7 +492,7 @@
Type:
Source:
- src/core/Create.js line 71 + src/core/Create.js line 71 @@ -569,7 +569,7 @@
Type:
Source:
- src/core/Create.js line 85 + src/core/Create.js line 85 @@ -646,7 +646,7 @@
Type:
Source:
- src/core/Create.js line 64 + src/core/Create.js line 64 @@ -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 228 + src/core/Create.js line 228 @@ -1924,7 +1924,7 @@
Parameters:
Source:
- src/core/Create.js line 168 + src/core/Create.js line 168 @@ -2382,7 +2382,7 @@
Parameters:
Source:
- src/core/Create.js line 89 + src/core/Create.js line 89 @@ -2452,9 +2452,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -2471,7 +2471,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -2500,7 +2500,7 @@
Returns:
- + diff --git a/docs/Phaser.Creature.html b/docs/Phaser.Creature.html index 42b101d2e..fa5338b28 100644 --- a/docs/Phaser.Creature.html +++ b/docs/Phaser.Creature.html @@ -6,7 +6,7 @@ Phaser CE Class: Creature - + @@ -480,7 +480,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 180 + src/gameobjects/Creature.js line 180 @@ -634,7 +634,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 55 + src/gameobjects/components/LifeSpan.js line 55 @@ -716,7 +716,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 842 + src/gameobjects/Creature.js line 842 @@ -793,7 +793,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 724 + src/gameobjects/Creature.js line 724 @@ -870,7 +870,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 774 + src/gameobjects/Creature.js line 774 @@ -961,7 +961,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/Creature.js line 213 + src/gameobjects/Creature.js line 213 @@ -1125,7 +1125,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 186 + src/gameobjects/components/Core.js line 186 @@ -1222,7 +1222,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1315,7 +1315,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 791 + src/pixi/display/DisplayObject.js line 791 @@ -1402,7 +1402,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 82 + src/gameobjects/components/FixedToCamera.js line 82 @@ -1488,7 +1488,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1565,7 +1565,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 286 + src/gameobjects/Creature.js line 286 @@ -1651,7 +1651,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 160 + src/gameobjects/components/Core.js line 160 @@ -1728,7 +1728,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 255 + src/gameobjects/Creature.js line 255 @@ -1805,7 +1805,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 249 + src/gameobjects/Creature.js line 249 @@ -1901,7 +1901,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 153 + src/gameobjects/components/Core.js line 153 @@ -1987,7 +1987,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 211 + src/gameobjects/components/Core.js line 211 @@ -2074,7 +2074,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2161,7 +2161,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 178 + src/gameobjects/components/Core.js line 178 @@ -2259,7 +2259,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 277 + src/gameobjects/components/Core.js line 277 @@ -2345,7 +2345,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -2436,7 +2436,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -2529,7 +2529,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 54 + src/gameobjects/components/FixedToCamera.js line 54 @@ -2616,7 +2616,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 241 + src/gameobjects/components/Core.js line 241 @@ -2698,7 +2698,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 185 + src/gameobjects/Creature.js line 185 @@ -2780,7 +2780,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 676 + src/gameobjects/Creature.js line 676 @@ -2876,7 +2876,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -2964,7 +2964,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3051,7 +3051,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3124,7 +3124,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 275 + src/gameobjects/Creature.js line 275 @@ -3215,7 +3215,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3308,7 +3308,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3385,7 +3385,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 640 + src/gameobjects/Creature.js line 640 @@ -3487,7 +3487,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 196 + src/gameobjects/components/Core.js line 196 @@ -3577,7 +3577,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 70 + src/gameobjects/components/LifeSpan.js line 70 @@ -3654,7 +3654,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 658 + src/gameobjects/Creature.js line 658 @@ -3731,7 +3731,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 218 + src/gameobjects/Creature.js line 218 @@ -3820,7 +3820,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -3907,7 +3907,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 143 + src/gameobjects/components/Core.js line 143 @@ -3996,7 +3996,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -4085,7 +4085,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 252 + src/gameobjects/components/Core.js line 252 @@ -4172,7 +4172,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4260,7 +4260,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4346,7 +4346,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 218 + src/gameobjects/components/Core.js line 218 @@ -4432,7 +4432,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -4519,7 +4519,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -4606,7 +4606,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -4695,7 +4695,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -4784,7 +4784,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -4861,7 +4861,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 238 + src/gameobjects/Creature.js line 238 @@ -4945,7 +4945,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 224 + src/gameobjects/Creature.js line 224 @@ -5022,7 +5022,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 824 + src/gameobjects/Creature.js line 824 @@ -5099,7 +5099,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 194 + src/gameobjects/Creature.js line 194 @@ -5176,7 +5176,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 269 + src/gameobjects/Creature.js line 269 @@ -5253,7 +5253,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 263 + src/gameobjects/Creature.js line 263 @@ -5352,7 +5352,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -5434,7 +5434,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 700 + src/gameobjects/Creature.js line 700 @@ -5522,7 +5522,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 204 + src/gameobjects/components/Core.js line 204 @@ -5614,7 +5614,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -5705,7 +5705,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -5796,7 +5796,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -5887,7 +5887,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -5978,7 +5978,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -6064,7 +6064,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -6151,7 +6151,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 626 + src/pixi/display/DisplayObject.js line 626 @@ -6238,7 +6238,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -6327,7 +6327,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 170 + src/gameobjects/components/Core.js line 170 @@ -6464,7 +6464,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -6655,7 +6655,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -6775,7 +6775,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -6942,7 +6942,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -7042,7 +7042,7 @@

Source:
- src/gameobjects/Creature.js line 872 + src/gameobjects/Creature.js line 872 @@ -7142,7 +7142,7 @@

Source:
- src/pixi/display/DisplayObject.js line 254 + src/pixi/display/DisplayObject.js line 254 @@ -7222,7 +7222,7 @@

Source:
- src/gameobjects/Creature.js line 930 + src/gameobjects/Creature.js line 930 @@ -7302,7 +7302,7 @@

Source:
- src/gameobjects/Creature.js line 907 + src/gameobjects/Creature.js line 907 @@ -7547,7 +7547,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -7731,7 +7731,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 289 + src/pixi/display/DisplayObjectContainer.js line 289 @@ -7898,7 +7898,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -8065,7 +8065,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -8182,7 +8182,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 445 + src/pixi/display/DisplayObjectContainer.js line 445 @@ -8303,7 +8303,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 117 + src/gameobjects/components/LifeSpan.js line 117 @@ -8423,7 +8423,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 84 + src/gameobjects/components/BringToTop.js line 84 @@ -8543,7 +8543,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 64 + src/gameobjects/components/BringToTop.js line 64 @@ -8721,7 +8721,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 612 + src/gameobjects/Creature.js line 612 @@ -8814,7 +8814,7 @@

Source:
- src/gameobjects/components/Core.js line 354 + src/gameobjects/components/Core.js line 354 @@ -8903,7 +8903,7 @@

Source:
- src/gameobjects/Creature.js line 329 + src/gameobjects/Creature.js line 329 @@ -8996,7 +8996,7 @@

Source:
- src/gameobjects/components/Core.js line 318 + src/gameobjects/components/Core.js line 318 @@ -9076,7 +9076,7 @@

Source:
- src/gameobjects/Creature.js line 964 + src/gameobjects/Creature.js line 964 @@ -9219,7 +9219,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -9386,7 +9386,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -9577,7 +9577,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -9816,7 +9816,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -10005,7 +10005,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 83 + src/gameobjects/components/LifeSpan.js line 83 @@ -10125,7 +10125,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 44 + src/gameobjects/components/BringToTop.js line 44 @@ -10229,7 +10229,7 @@

Source:
- src/gameobjects/Creature.js line 953 + src/gameobjects/Creature.js line 953 @@ -10313,7 +10313,7 @@

Source:
- src/gameobjects/Creature.js line 860 + src/gameobjects/Creature.js line 860 @@ -10447,7 +10447,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 582 + src/gameobjects/Creature.js line 582 @@ -10581,7 +10581,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 597 + src/gameobjects/Creature.js line 597 @@ -10748,7 +10748,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -10828,7 +10828,7 @@

Source:
- src/gameobjects/Creature.js line 889 + src/gameobjects/Creature.js line 889 @@ -10912,7 +10912,7 @@

Source:
- src/gameobjects/Creature.js line 629 + src/gameobjects/Creature.js line 629 @@ -11079,7 +11079,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -11222,7 +11222,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -11435,7 +11435,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -11556,7 +11556,7 @@

Source:
- src/gameobjects/components/Core.js line 343 + src/gameobjects/components/Core.js line 343 @@ -11649,7 +11649,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -11838,7 +11838,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -11907,9 +11907,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -11926,7 +11926,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -11955,7 +11955,7 @@
Returns:
- + diff --git a/docs/Phaser.DOM.html b/docs/Phaser.DOM.html index 5f4daeca4..84d0f5250 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 268 + src/utils/DOM.js line 268 @@ -529,7 +529,7 @@
Properties:
Source:
- src/utils/DOM.js line 254 + src/utils/DOM.js line 254 @@ -606,7 +606,7 @@
Type:
Source:
- src/utils/DOM.js line 283 + src/utils/DOM.js line 283 @@ -683,7 +683,7 @@
Type:
Source:
- src/utils/DOM.js line 293 + src/utils/DOM.js line 293 @@ -890,7 +890,7 @@
Properties:
Source:
- src/utils/DOM.js line 233 + src/utils/DOM.js line 233 @@ -1041,7 +1041,7 @@
Parameters:
Source:
- src/utils/DOM.js line 97 + src/utils/DOM.js line 97 @@ -1250,7 +1250,7 @@
Parameters:
Source:
- src/utils/DOM.js line 47 + src/utils/DOM.js line 47 @@ -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 144 + src/utils/DOM.js line 144 @@ -1839,7 +1839,7 @@
Parameters:
Source:
- src/utils/DOM.js line 124 + src/utils/DOM.js line 124 @@ -1906,9 +1906,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -1954,7 +1954,7 @@
Returns:
- + diff --git a/docs/Phaser.Device.html b/docs/Phaser.Device.html index e1790370b..706e004f0 100644 --- a/docs/Phaser.Device.html +++ b/docs/Phaser.Device.html @@ -6,7 +6,7 @@ Phaser CE Class: Device - + @@ -200,7 +200,7 @@

Source:
- src/utils/Device.js line 42 + src/utils/Device.js line 42 @@ -309,7 +309,7 @@
Type:
Source:
- src/utils/Device.js line 576 + src/utils/Device.js line 576 @@ -386,7 +386,7 @@
Type:
Source:
- src/utils/Device.js line 130 + src/utils/Device.js line 130 @@ -463,7 +463,7 @@
Type:
Source:
- src/utils/Device.js line 287 + src/utils/Device.js line 287 @@ -540,7 +540,7 @@
Type:
Source:
- src/utils/Device.js line 397 + src/utils/Device.js line 397 @@ -617,7 +617,7 @@
Type:
Source:
- src/utils/Device.js line 549 + src/utils/Device.js line 549 @@ -694,7 +694,7 @@
Type:
Source:
- src/utils/Device.js line 181 + src/utils/Device.js line 181 @@ -772,7 +772,7 @@
Type:
Source:
- src/utils/Device.js line 191 + src/utils/Device.js line 191 @@ -849,7 +849,7 @@
Type:
Source:
- src/utils/Device.js line 168 + src/utils/Device.js line 168 @@ -926,7 +926,7 @@
Type:
Source:
- src/utils/Device.js line 174 + src/utils/Device.js line 174 @@ -1003,7 +1003,7 @@
Type:
Source:
- src/utils/Device.js line 293 + src/utils/Device.js line 293 @@ -1080,7 +1080,7 @@
Type:
Source:
- src/utils/Device.js line 136 + src/utils/Device.js line 136 @@ -1157,7 +1157,7 @@
Type:
Source:
- src/utils/Device.js line 299 + src/utils/Device.js line 299 @@ -1234,7 +1234,7 @@
Type:
Source:
- src/utils/Device.js line 82 + src/utils/Device.js line 82 @@ -1311,7 +1311,7 @@
Type:
Source:
- src/utils/Device.js line 88 + src/utils/Device.js line 88 @@ -1388,7 +1388,7 @@
Type:
Source:
- src/utils/Device.js line 94 + src/utils/Device.js line 94 @@ -1465,7 +1465,7 @@
Type:
Source:
- src/utils/Device.js line 124 + src/utils/Device.js line 124 @@ -1542,7 +1542,7 @@
Type:
Source:
- src/utils/Device.js line 228 + src/utils/Device.js line 228 @@ -1619,7 +1619,7 @@
Type:
Source:
- src/utils/Device.js line 64 + src/utils/Device.js line 64 @@ -1696,7 +1696,7 @@
Type:
Source:
- src/utils/Device.js line 49 + src/utils/Device.js line 49 @@ -1773,7 +1773,7 @@
Type:
Source:
- src/utils/Device.js line 447 + src/utils/Device.js line 447 @@ -1850,7 +1850,7 @@
Type:
Source:
- src/utils/Device.js line 347 + src/utils/Device.js line 347 @@ -1927,7 +1927,7 @@
Type:
Source:
- src/utils/Device.js line 118 + src/utils/Device.js line 118 @@ -2004,7 +2004,7 @@
Type:
Source:
- src/utils/Device.js line 112 + src/utils/Device.js line 112 @@ -2081,7 +2081,7 @@
Type:
Source:
- src/utils/Device.js line 305 + src/utils/Device.js line 305 @@ -2158,7 +2158,7 @@
Type:
Source:
- src/utils/Device.js line 204 + src/utils/Device.js line 204 @@ -2235,7 +2235,7 @@
Type:
Source:
- src/utils/Device.js line 210 + src/utils/Device.js line 210 @@ -2312,7 +2312,7 @@
Type:
Source:
- src/utils/Device.js line 311 + src/utils/Device.js line 311 @@ -2389,7 +2389,7 @@
Type:
Source:
- src/utils/Device.js line 317 + src/utils/Device.js line 317 @@ -2466,7 +2466,7 @@
Type:
Source:
- src/utils/Device.js line 537 + src/utils/Device.js line 537 @@ -2543,7 +2543,7 @@
Type:
Source:
- src/utils/Device.js line 555 + src/utils/Device.js line 555 @@ -2627,7 +2627,7 @@
Type:
Source:
- src/utils/Device.js line 252 + src/utils/Device.js line 252 @@ -2704,7 +2704,7 @@
Type:
Source:
- src/utils/Device.js line 461 + src/utils/Device.js line 461 @@ -2781,7 +2781,7 @@
Type:
Source:
- src/utils/Device.js line 485 + src/utils/Device.js line 485 @@ -2858,7 +2858,7 @@
Type:
Source:
- src/utils/Device.js line 323 + src/utils/Device.js line 323 @@ -2935,7 +2935,7 @@
Type:
Source:
- src/utils/Device.js line 329 + src/utils/Device.js line 329 @@ -3012,7 +3012,7 @@
Type:
Source:
- src/utils/Device.js line 56 + src/utils/Device.js line 56 @@ -3089,7 +3089,7 @@
Type:
Source:
- src/utils/Device.js line 70 + src/utils/Device.js line 70 @@ -3166,7 +3166,7 @@
Type:
Source:
- src/utils/Device.js line 76 + src/utils/Device.js line 76 @@ -3243,7 +3243,7 @@
Type:
Source:
- src/utils/Device.js line 505 + src/utils/Device.js line 505 @@ -3320,7 +3320,7 @@
Type:
Source:
- src/utils/Device.js line 493 + src/utils/Device.js line 493 @@ -3397,7 +3397,7 @@
Type:
Source:
- src/utils/Device.js line 499 + src/utils/Device.js line 499 @@ -3474,7 +3474,7 @@
Type:
Source:
- src/utils/Device.js line 142 + src/utils/Device.js line 142 @@ -3551,7 +3551,7 @@
Type:
Source:
- src/utils/Device.js line 525 + src/utils/Device.js line 525 @@ -3628,7 +3628,7 @@
Type:
Source:
- src/utils/Device.js line 519 + src/utils/Device.js line 519 @@ -3705,7 +3705,7 @@
Type:
Source:
- src/utils/Device.js line 216 + src/utils/Device.js line 216 @@ -3782,7 +3782,7 @@
Type:
Source:
- src/utils/Device.js line 435 + src/utils/Device.js line 435 @@ -3859,7 +3859,7 @@
Type:
Source:
- src/utils/Device.js line 148 + src/utils/Device.js line 148 @@ -3936,7 +3936,7 @@
Type:
Source:
- src/utils/Device.js line 359 + src/utils/Device.js line 359 @@ -4013,7 +4013,7 @@
Type:
Source:
- src/utils/Device.js line 353 + src/utils/Device.js line 353 @@ -4090,7 +4090,7 @@
Type:
Source:
- src/utils/Device.js line 422 + src/utils/Device.js line 422 @@ -4167,7 +4167,7 @@
Type:
Source:
- src/utils/Device.js line 467 + src/utils/Device.js line 467 @@ -4244,7 +4244,7 @@
Type:
Source:
- src/utils/Device.js line 272 + src/utils/Device.js line 272 @@ -4321,7 +4321,7 @@
Type:
Source:
- src/utils/Device.js line 100 + src/utils/Device.js line 100 @@ -4398,7 +4398,7 @@
Type:
Source:
- src/utils/Device.js line 106 + src/utils/Device.js line 106 @@ -4475,7 +4475,7 @@
Type:
Source:
- src/utils/Device.js line 410 + src/utils/Device.js line 410 @@ -4552,7 +4552,7 @@
Type:
Source:
- src/utils/Device.js line 455 + src/utils/Device.js line 455 @@ -4629,7 +4629,7 @@
Type:
Source:
- src/utils/Device.js line 365 + src/utils/Device.js line 365 @@ -4706,7 +4706,7 @@
Type:
Source:
- src/utils/Device.js line 416 + src/utils/Device.js line 416 @@ -4783,7 +4783,7 @@
Type:
Source:
- src/utils/Device.js line 513 + src/utils/Device.js line 513 @@ -4860,7 +4860,7 @@
Type:
Source:
- src/utils/Device.js line 234 + src/utils/Device.js line 234 @@ -4937,7 +4937,7 @@
Type:
Source:
- src/utils/Device.js line 258 + src/utils/Device.js line 258 @@ -5014,7 +5014,7 @@
Type:
Source:
- src/utils/Device.js line 543 + src/utils/Device.js line 543 @@ -5091,7 +5091,7 @@
Type:
Source:
- src/utils/Device.js line 371 + src/utils/Device.js line 371 @@ -5168,7 +5168,7 @@
Type:
Source:
- src/utils/Device.js line 377 + src/utils/Device.js line 377 @@ -5245,7 +5245,7 @@
Type:
Source:
- src/utils/Device.js line 389 + src/utils/Device.js line 389 @@ -5322,7 +5322,7 @@
Type:
Source:
- src/utils/Device.js line 531 + src/utils/Device.js line 531 @@ -5399,7 +5399,7 @@
Type:
Source:
- src/utils/Device.js line 266 + src/utils/Device.js line 266 @@ -5476,7 +5476,7 @@
Type:
Source:
- src/utils/Device.js line 335 + src/utils/Device.js line 335 @@ -5553,7 +5553,7 @@
Type:
Source:
- src/utils/Device.js line 341 + src/utils/Device.js line 341 @@ -5630,7 +5630,7 @@
Type:
Source:
- src/utils/Device.js line 240 + src/utils/Device.js line 240 @@ -5707,7 +5707,7 @@
Type:
Source:
- src/utils/Device.js line 246 + src/utils/Device.js line 246 @@ -5784,7 +5784,7 @@
Type:
Source:
- src/utils/Device.js line 479 + src/utils/Device.js line 479 @@ -5861,7 +5861,7 @@
Type:
Source:
- src/utils/Device.js line 428 + src/utils/Device.js line 428 @@ -5938,7 +5938,7 @@
Type:
Source:
- src/utils/Device.js line 383 + src/utils/Device.js line 383 @@ -6015,7 +6015,7 @@
Type:
Source:
- src/utils/Device.js line 404 + src/utils/Device.js line 404 @@ -6099,7 +6099,7 @@
Type:
Source:
- src/utils/Device.js line 198 + src/utils/Device.js line 198 @@ -6183,7 +6183,7 @@
Type:
Source:
- src/utils/Device.js line 441 + src/utils/Device.js line 441 @@ -6260,7 +6260,7 @@
Type:
Source:
- src/utils/Device.js line 473 + src/utils/Device.js line 473 @@ -6385,7 +6385,7 @@
Properties:
Source:
- src/utils/Device.js line 279 + src/utils/Device.js line 279 @@ -6462,7 +6462,7 @@
Type:
Source:
- src/utils/Device.js line 154 + src/utils/Device.js line 154 @@ -6539,7 +6539,7 @@
Type:
Source:
- src/utils/Device.js line 160 + src/utils/Device.js line 160 @@ -6616,7 +6616,7 @@
Type:
Source:
- src/utils/Device.js line 222 + src/utils/Device.js line 222 @@ -6842,7 +6842,7 @@
Parameters:
Source:
- src/utils/Device.js line 592 + src/utils/Device.js line 592 @@ -6976,7 +6976,7 @@
Parameters:
Source:
- src/utils/Device.js line 1340 + src/utils/Device.js line 1340 @@ -7134,7 +7134,7 @@
Parameters:
Source:
- src/utils/Device.js line 1382 + src/utils/Device.js line 1382 @@ -7244,7 +7244,7 @@

Source:
- src/utils/Device.js line 1424 + src/utils/Device.js line 1424 @@ -7334,7 +7334,7 @@

Source:
- src/utils/Device.js line 1412 + src/utils/Device.js line 1412 @@ -7397,9 +7397,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -7416,7 +7416,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -7445,7 +7445,7 @@
Returns:
- + diff --git a/docs/Phaser.DeviceButton.html b/docs/Phaser.DeviceButton.html index 51f7b06eb..b37085c1f 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 317 + src/input/DeviceButton.js line 317 @@ -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 297 + src/input/DeviceButton.js line 297 @@ -1861,7 +1861,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 249 + src/input/DeviceButton.js line 249 @@ -2040,7 +2040,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 264 + src/input/DeviceButton.js line 264 @@ -2198,7 +2198,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 232 + src/input/DeviceButton.js line 232 @@ -2282,7 +2282,7 @@

Source:
- src/input/DeviceButton.js line 279 + src/input/DeviceButton.js line 279 @@ -2463,7 +2463,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 143 + src/input/DeviceButton.js line 143 @@ -2678,7 +2678,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 210 + src/input/DeviceButton.js line 210 @@ -2859,7 +2859,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 177 + src/input/DeviceButton.js line 177 @@ -2902,9 +2902,9 @@
Parameters:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -2950,7 +2950,7 @@
Parameters:
- + diff --git a/docs/Phaser.Easing.Back.html b/docs/Phaser.Easing.Back.html index bdb5470e7..717e11ef7 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 433 + src/tween/Easing.js line 433 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 435 + src/tween/Easing.js line 435 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 461 + src/tween/Easing.js line 461 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 448 + src/tween/Easing.js line 448 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Bounce.html b/docs/Phaser.Easing.Bounce.html index 717cfa382..cb3c4e416 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 482 + src/tween/Easing.js line 482 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 484 + src/tween/Easing.js line 484 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 523 + src/tween/Easing.js line 523 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 496 + src/tween/Easing.js line 496 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Circular.html b/docs/Phaser.Easing.Circular.html index df87c0ba0..0f330e399 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 323 + src/tween/Easing.js line 323 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 325 + src/tween/Easing.js line 325 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 349 + src/tween/Easing.js line 349 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 337 + src/tween/Easing.js line 337 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Cubic.html b/docs/Phaser.Easing.Cubic.html index 479ebf360..4fd97e6f2 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 86 + src/tween/Easing.js line 86 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 88 + src/tween/Easing.js line 88 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 112 + src/tween/Easing.js line 112 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 100 + src/tween/Easing.js line 100 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Elastic.html b/docs/Phaser.Easing.Elastic.html index 86dd985bc..ed04feeda 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 369 + src/tween/Easing.js line 369 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 371 + src/tween/Easing.js line 371 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 407 + src/tween/Easing.js line 407 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 389 + src/tween/Easing.js line 389 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Exponential.html b/docs/Phaser.Easing.Exponential.html index f6e688049..052a8ac66 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 275 + src/tween/Easing.js line 275 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 277 + src/tween/Easing.js line 277 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 301 + src/tween/Easing.js line 301 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 289 + src/tween/Easing.js line 289 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Linear.html b/docs/Phaser.Easing.Linear.html index 5f451537a..136541590 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 19 + src/tween/Easing.js line 19 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 21 + src/tween/Easing.js line 21 @@ -399,9 +399,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -447,7 +447,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Quadratic.html b/docs/Phaser.Easing.Quadratic.html index b0eba0590..875ffa0b2 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 40 + src/tween/Easing.js line 40 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 42 + src/tween/Easing.js line 42 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 66 + src/tween/Easing.js line 66 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 54 + src/tween/Easing.js line 54 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Quartic.html b/docs/Phaser.Easing.Quartic.html index a6f97b783..a2ccf3713 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 132 + src/tween/Easing.js line 132 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 134 + src/tween/Easing.js line 134 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 158 + src/tween/Easing.js line 158 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 146 + src/tween/Easing.js line 146 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Quintic.html b/docs/Phaser.Easing.Quintic.html index 739c84523..cced79962 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 178 + src/tween/Easing.js line 178 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 180 + src/tween/Easing.js line 180 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 204 + src/tween/Easing.js line 204 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 192 + src/tween/Easing.js line 192 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Sinusoidal.html b/docs/Phaser.Easing.Sinusoidal.html index a12246c04..fa6a16b3b 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 224 + src/tween/Easing.js line 224 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 226 + src/tween/Easing.js line 226 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 254 + src/tween/Easing.js line 254 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 240 + src/tween/Easing.js line 240 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.html b/docs/Phaser.Easing.html index 7058d0ccc..0e2d30b3b 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 12 + src/tween/Easing.js line 12 @@ -274,9 +274,9 @@

Classes

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Classes

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

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

Classes

- + diff --git a/docs/Phaser.Ellipse.html b/docs/Phaser.Ellipse.html index 7295a6133..fe21a1261 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 244 + src/geom/Ellipse.js line 244 @@ -552,7 +552,7 @@
Type:
Source:
- src/geom/Ellipse.js line 270 + src/geom/Ellipse.js line 270 @@ -629,7 +629,7 @@
Type:
Source:
- src/geom/Ellipse.js line 285 + src/geom/Ellipse.js line 285 @@ -707,7 +707,7 @@
Type:
Source:
- src/geom/Ellipse.js line 300 + src/geom/Ellipse.js line 300 @@ -784,7 +784,7 @@
Type:
Source:
- src/geom/Ellipse.js line 43 + src/geom/Ellipse.js line 43 @@ -850,7 +850,7 @@

Source:
- src/geom/Ellipse.js line 180 + src/geom/Ellipse.js line 180 @@ -927,7 +927,7 @@
Type:
Source:
- src/geom/Ellipse.js line 199 + src/geom/Ellipse.js line 199 @@ -1004,7 +1004,7 @@
Type:
Source:
- src/geom/Ellipse.js line 225 + src/geom/Ellipse.js line 225 @@ -1081,7 +1081,7 @@
Type:
Source:
- src/geom/Ellipse.js line 49 + src/geom/Ellipse.js line 49 @@ -1158,7 +1158,7 @@
Type:
Source:
- src/geom/Ellipse.js line 38 + src/geom/Ellipse.js line 38 @@ -1235,7 +1235,7 @@
Type:
Source:
- src/geom/Ellipse.js line 28 + src/geom/Ellipse.js line 28 @@ -1312,7 +1312,7 @@
Type:
Source:
- src/geom/Ellipse.js line 33 + src/geom/Ellipse.js line 33 @@ -1488,7 +1488,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 323 + src/geom/Ellipse.js line 323 @@ -1722,7 +1722,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 349 + src/geom/Ellipse.js line 349 @@ -1892,7 +1892,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 112 + src/geom/Ellipse.js line 112 @@ -2074,7 +2074,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 132 + src/geom/Ellipse.js line 132 @@ -2232,7 +2232,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 84 + src/geom/Ellipse.js line 84 @@ -2390,7 +2390,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 96 + src/geom/Ellipse.js line 96 @@ -2498,7 +2498,7 @@

Source:
- src/geom/Ellipse.js line 73 + src/geom/Ellipse.js line 73 @@ -2672,7 +2672,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 145 + src/geom/Ellipse.js line 145 @@ -2902,7 +2902,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 54 + src/geom/Ellipse.js line 54 @@ -3010,7 +3010,7 @@

Source:
- src/geom/Ellipse.js line 166 + src/geom/Ellipse.js line 166 @@ -3077,9 +3077,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -3096,7 +3096,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -3125,7 +3125,7 @@
Returns:
- + diff --git a/docs/Phaser.Events.html b/docs/Phaser.Events.html index f258bbbb6..0550f8ad4 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 83 + src/gameobjects/components/Events.js line 83 @@ -434,7 +434,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 271 + src/gameobjects/components/Events.js line 271 @@ -518,7 +518,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 284 + src/gameobjects/components/Events.js line 284 @@ -602,7 +602,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 258 + src/gameobjects/components/Events.js line 258 @@ -684,7 +684,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 105 + src/gameobjects/components/Events.js line 105 @@ -770,7 +770,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 216 + src/gameobjects/components/Events.js line 216 @@ -853,7 +853,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 245 + src/gameobjects/components/Events.js line 245 @@ -941,7 +941,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 233 + src/gameobjects/components/Events.js line 233 @@ -1023,7 +1023,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 150 + src/gameobjects/components/Events.js line 150 @@ -1107,7 +1107,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 187 + src/gameobjects/components/Events.js line 187 @@ -1190,7 +1190,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 174 + src/gameobjects/components/Events.js line 174 @@ -1273,7 +1273,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 162 + src/gameobjects/components/Events.js line 162 @@ -1358,7 +1358,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 201 + src/gameobjects/components/Events.js line 201 @@ -1441,7 +1441,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 117 + src/gameobjects/components/Events.js line 117 @@ -1523,7 +1523,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 139 + src/gameobjects/components/Events.js line 139 @@ -1605,7 +1605,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 94 + src/gameobjects/components/Events.js line 94 @@ -1687,7 +1687,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 128 + src/gameobjects/components/Events.js line 128 @@ -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 42 + src/gameobjects/components/Events.js line 42 @@ -1885,9 +1885,9 @@

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

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

- + diff --git a/docs/Phaser.Filter.html b/docs/Phaser.Filter.html index daac8a342..e6b585956 100644 --- a/docs/Phaser.Filter.html +++ b/docs/Phaser.Filter.html @@ -6,7 +6,7 @@ Phaser CE Class: Filter - + @@ -325,7 +325,7 @@

Parameters:
Source:
- src/core/Filter.js line 35 + src/core/Filter.js line 35 @@ -437,7 +437,7 @@
Type:
Source:
- src/core/Filter.js line 66 + src/core/Filter.js line 66 @@ -517,7 +517,7 @@
Type:
Source:
- src/core/Filter.js line 120 + src/core/Filter.js line 120 @@ -594,7 +594,7 @@
Type:
Source:
- src/core/Filter.js line 40 + src/core/Filter.js line 40 @@ -671,7 +671,7 @@
Type:
Source:
- src/core/Filter.js line 278 + src/core/Filter.js line 278 @@ -748,7 +748,7 @@
Type:
Source:
- src/core/Filter.js line 72 + src/core/Filter.js line 72 @@ -825,7 +825,7 @@
Type:
Source:
- src/core/Filter.js line 77 + src/core/Filter.js line 77 @@ -902,7 +902,7 @@
Type:
Source:
- src/core/Filter.js line 46 + src/core/Filter.js line 46 @@ -979,7 +979,7 @@
Type:
Source:
- src/core/Filter.js line 88 + src/core/Filter.js line 88 @@ -1056,7 +1056,7 @@
Type:
Source:
- src/core/Filter.js line 260 + src/core/Filter.js line 260 @@ -1404,7 +1404,7 @@
Parameters:
Source:
- src/core/Filter.js line 174 + src/core/Filter.js line 174 @@ -1512,7 +1512,7 @@

Source:
- src/core/Filter.js line 240 + src/core/Filter.js line 240 @@ -1596,7 +1596,7 @@

Source:
- src/core/Filter.js line 125 + src/core/Filter.js line 125 @@ -1754,7 +1754,7 @@
Parameters:
Source:
- src/core/Filter.js line 137 + src/core/Filter.js line 137 @@ -1838,7 +1838,7 @@

Source:
- src/core/Filter.js line 227 + src/core/Filter.js line 227 @@ -1984,7 +1984,7 @@
Parameters:
Source:
- src/core/Filter.js line 150 + src/core/Filter.js line 150 @@ -2027,9 +2027,9 @@
Parameters:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -2046,7 +2046,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -2075,7 +2075,7 @@
Parameters:
- + diff --git a/docs/Phaser.FlexGrid.html b/docs/Phaser.FlexGrid.html index 58df71359..eb76523bf 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 @@ -581,7 +581,7 @@
Properties:
Source:
- src/core/FlexGrid.js line 46 + src/core/FlexGrid.js line 46 @@ -696,7 +696,7 @@
Properties:
Source:
- src/core/FlexGrid.js line 55 + src/core/FlexGrid.js line 55 @@ -900,7 +900,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 102 + src/core/FlexGrid.js line 102 @@ -1070,7 +1070,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 189 + src/core/FlexGrid.js line 189 @@ -1240,7 +1240,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 138 + src/core/FlexGrid.js line 138 @@ -1410,7 +1410,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 166 + src/core/FlexGrid.js line 166 @@ -1518,7 +1518,7 @@

Source:
- src/core/FlexGrid.js line 289 + src/core/FlexGrid.js line 289 @@ -1652,7 +1652,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 275 + src/core/FlexGrid.js line 275 @@ -1810,7 +1810,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 233 + src/core/FlexGrid.js line 233 @@ -1894,7 +1894,7 @@

Source:
- src/core/FlexGrid.js line 248 + src/core/FlexGrid.js line 248 @@ -1978,7 +1978,7 @@

Source:
- src/core/FlexGrid.js line 212 + src/core/FlexGrid.js line 212 @@ -2136,7 +2136,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 76 + src/core/FlexGrid.js line 76 @@ -2179,9 +2179,9 @@
Parameters:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -2198,7 +2198,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -2227,7 +2227,7 @@
Parameters:
- + diff --git a/docs/Phaser.FlexLayer.html b/docs/Phaser.FlexLayer.html index 6b27dea1d..789707bb8 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 91 + src/core/Group.js line 91 @@ -523,7 +523,7 @@
Type:
Source:
- src/core/Group.js line 3155 + src/core/Group.js line 3155 @@ -612,7 +612,7 @@
Type:
Source:
- src/core/Group.js line 2825 + src/core/Group.js line 2825 @@ -700,7 +700,7 @@
Type:
Source:
- src/core/Group.js line 2980 + src/core/Group.js line 2980 @@ -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 791 + src/pixi/display/DisplayObject.js line 791 @@ -1172,7 +1172,7 @@
Type:
Source:
- src/core/Group.js line 277 + src/core/Group.js line 277 @@ -1260,7 +1260,7 @@
Type:
Source:
- src/core/Group.js line 2850 + src/core/Group.js line 2850 @@ -1348,7 +1348,7 @@
Type:
Source:
- src/core/Group.js line 2876 + src/core/Group.js line 2876 @@ -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 127 + src/core/Group.js line 127 @@ -1615,7 +1615,7 @@
Type:
Source:
- src/core/Group.js line 135 + src/core/Group.js line 135 @@ -1701,7 +1701,7 @@
Type:
Source:
- src/core/Group.js line 260 + src/core/Group.js line 260 @@ -1789,7 +1789,7 @@
Type:
Source:
- src/core/Group.js line 213 + src/core/Group.js line 213 @@ -1876,7 +1876,7 @@
Type:
Source:
- src/core/Group.js line 222 + src/core/Group.js line 222 @@ -1969,7 +1969,7 @@
Type:
Source:
- src/core/Group.js line 98 + src/core/Group.js line 98 @@ -2055,7 +2055,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -2146,7 +2146,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -2234,7 +2234,7 @@
Type:
Source:
- src/core/Group.js line 270 + src/core/Group.js line 270 @@ -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 290 + src/core/Group.js line 290 @@ -2573,7 +2573,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 606 + src/pixi/display/DisplayObjectContainer.js line 606 @@ -2669,7 +2669,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -2757,7 +2757,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -2843,7 +2843,7 @@
Type:
Source:
- src/core/Group.js line 105 + src/core/Group.js line 105 @@ -2931,7 +2931,7 @@
Type:
Source:
- src/core/Group.js line 146 + src/core/Group.js line 146 @@ -3019,7 +3019,7 @@
Type:
Source:
- src/core/Group.js line 2902 + src/core/Group.js line 2902 @@ -3105,7 +3105,7 @@
Type:
Source:
- src/core/Group.js line 2809 + src/core/Group.js line 2809 @@ -3220,7 +3220,7 @@
Properties:
Source:
- src/core/FlexLayer.js line 29 + src/core/FlexLayer.js line 29 @@ -3309,7 +3309,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -3395,7 +3395,7 @@
Type:
Source:
- src/core/Group.js line 49 + src/core/Group.js line 49 @@ -3485,7 +3485,7 @@
Type:
Source:
- src/core/Group.js line 166 + src/core/Group.js line 166 @@ -3575,7 +3575,7 @@
Type:
Source:
- src/core/Group.js line 203 + src/core/Group.js line 203 @@ -3665,7 +3665,7 @@
Type:
Source:
- src/core/Group.js line 191 + src/core/Group.js line 191 @@ -3756,7 +3756,7 @@
Type:
Source:
- src/core/Group.js line 179 + src/core/Group.js line 179 @@ -3842,7 +3842,7 @@
Type:
Source:
- src/core/Group.js line 254 + src/core/Group.js line 254 @@ -3931,7 +3931,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -4021,7 +4021,7 @@
Type:
Source:
- src/core/Group.js line 117 + src/core/Group.js line 117 @@ -4098,7 +4098,7 @@
Type:
Source:
- src/core/FlexLayer.js line 41 + src/core/FlexLayer.js line 41 @@ -4185,7 +4185,7 @@
Type:
Source:
- src/core/Group.js line 230 + src/core/Group.js line 230 @@ -4278,7 +4278,7 @@
Type:
Source:
- src/core/Group.js line 248 + src/core/Group.js line 248 @@ -4364,7 +4364,7 @@
Type:
Source:
- src/core/Group.js line 84 + src/core/Group.js line 84 @@ -4451,7 +4451,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4529,7 +4529,7 @@
Type:
Source:
- src/core/FlexLayer.js line 46 + src/core/FlexLayer.js line 46 @@ -4616,7 +4616,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -4704,7 +4704,7 @@
Type:
Source:
- src/core/Group.js line 2928 + src/core/Group.js line 2928 @@ -4792,7 +4792,7 @@
Type:
Source:
- src/core/Group.js line 3139 + src/core/Group.js line 3139 @@ -4870,7 +4870,7 @@
Type:
Source:
- src/core/FlexLayer.js line 56 + src/core/FlexLayer.js line 56 @@ -4958,7 +4958,7 @@
Type:
Source:
- src/core/Group.js line 2954 + src/core/Group.js line 2954 @@ -5031,7 +5031,7 @@
Type:
Source:
- src/core/FlexLayer.js line 61 + src/core/FlexLayer.js line 61 @@ -5104,7 +5104,7 @@
Type:
Source:
- src/core/FlexLayer.js line 66 + src/core/FlexLayer.js line 66 @@ -5177,7 +5177,7 @@
Type:
Source:
- src/core/FlexLayer.js line 71 + src/core/FlexLayer.js line 71 @@ -5263,7 +5263,7 @@
Type:
Source:
- src/core/Group.js line 2793 + src/core/Group.js line 2793 @@ -5349,7 +5349,7 @@
Type:
Source:
- src/core/Group.js line 78 + src/core/Group.js line 78 @@ -5435,7 +5435,7 @@
Type:
Source:
- src/core/Group.js line 154 + src/core/Group.js line 154 @@ -5521,7 +5521,7 @@
Type:
Source:
- src/core/Group.js line 3148 + src/core/Group.js line 3148 @@ -5607,7 +5607,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 576 + src/pixi/display/DisplayObjectContainer.js line 576 @@ -5699,7 +5699,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -5790,7 +5790,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -5881,7 +5881,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -5972,7 +5972,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -6063,7 +6063,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -6149,7 +6149,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -6237,7 +6237,7 @@
Type:
Source:
- src/core/Group.js line 3121 + src/core/Group.js line 3121 @@ -6325,7 +6325,7 @@
Type:
Source:
- src/core/Group.js line 3130 + src/core/Group.js line 3130 @@ -6412,7 +6412,7 @@
Type:
Source:
- src/core/Group.js line 57 + src/core/Group.js line 57 @@ -6650,7 +6650,7 @@
Parameters:
Source:
- src/core/Group.js line 345 + src/core/Group.js line 345 @@ -6928,7 +6928,7 @@
Parameters:
Source:
- src/core/Group.js line 1417 + src/core/Group.js line 1417 @@ -7170,7 +7170,7 @@
Parameters:
Source:
- src/core/Group.js line 421 + src/core/Group.js line 421 @@ -7337,7 +7337,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -7528,7 +7528,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -7759,7 +7759,7 @@
Parameters:
Source:
- src/core/Group.js line 489 + src/core/Group.js line 489 @@ -7930,7 +7930,7 @@
Parameters:
Source:
- src/core/Group.js line 441 + src/core/Group.js line 441 @@ -8325,7 +8325,7 @@
Parameters:
Source:
- src/core/Group.js line 681 + src/core/Group.js line 681 @@ -8668,7 +8668,7 @@
Parameters:
Source:
- src/core/Group.js line 3006 + src/core/Group.js line 3006 @@ -9012,7 +9012,7 @@
Parameters:
Source:
- src/core/Group.js line 3048 + src/core/Group.js line 3048 @@ -9203,7 +9203,7 @@
Parameters:
Source:
- src/core/Group.js line 2024 + src/core/Group.js line 2024 @@ -9346,7 +9346,7 @@
Parameters:
Source:
- src/core/Group.js line 901 + src/core/Group.js line 901 @@ -9609,7 +9609,7 @@
Parameters:
Source:
- src/core/Group.js line 1624 + src/core/Group.js line 1624 @@ -9829,7 +9829,7 @@
Parameters:
Source:
- src/core/Group.js line 1540 + src/core/Group.js line 1540 @@ -10020,7 +10020,7 @@
Parameters:
Source:
- src/core/Group.js line 1575 + src/core/Group.js line 1575 @@ -10336,7 +10336,7 @@
Parameters:
Source:
- src/core/Group.js line 1349 + src/core/Group.js line 1349 @@ -10638,7 +10638,7 @@
Parameters:
Source:
- src/core/Group.js line 1384 + src/core/Group.js line 1384 @@ -10935,7 +10935,7 @@
Parameters:
Source:
- src/core/Group.js line 1208 + src/core/Group.js line 1208 @@ -11102,7 +11102,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -11289,7 +11289,7 @@
Parameters:
Source:
- src/core/Group.js line 2431 + src/core/Group.js line 2431 @@ -11406,7 +11406,7 @@

Source:
- src/core/Group.js line 2455 + src/core/Group.js line 2455 @@ -11523,7 +11523,7 @@

Source:
- src/core/Group.js line 2444 + src/core/Group.js line 2444 @@ -11917,7 +11917,7 @@
Parameters:
Source:
- src/core/Group.js line 542 + src/core/Group.js line 542 @@ -12324,7 +12324,7 @@
Parameters:
Source:
- src/core/Group.js line 578 + src/core/Group.js line 578 @@ -12537,7 +12537,7 @@
Parameters:
Source:
- src/core/Group.js line 2001 + src/core/Group.js line 2001 @@ -12621,7 +12621,7 @@

Source:
- src/core/FlexLayer.js line 101 + src/core/FlexLayer.js line 101 @@ -12788,7 +12788,7 @@
Parameters:
Source:
- src/core/Group.js line 2053 + src/core/Group.js line 2053 @@ -12992,7 +12992,7 @@
Parameters:
Source:
- src/core/Group.js line 2757 + src/core/Group.js line 2757 @@ -13208,7 +13208,7 @@
Parameters:
Source:
- src/core/Group.js line 1465 + src/core/Group.js line 1465 @@ -13414,7 +13414,7 @@
Parameters:
Source:
- src/core/Group.js line 1783 + src/core/Group.js line 1783 @@ -13720,7 +13720,7 @@
Parameters:
Source:
- src/core/Group.js line 1822 + src/core/Group.js line 1822 @@ -13958,7 +13958,7 @@
Parameters:
Source:
- src/core/Group.js line 1908 + src/core/Group.js line 1908 @@ -14196,7 +14196,7 @@
Parameters:
Source:
- src/core/Group.js line 1935 + src/core/Group.js line 1935 @@ -14434,7 +14434,7 @@
Parameters:
Source:
- src/core/Group.js line 1881 + src/core/Group.js line 1881 @@ -14679,7 +14679,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -14987,7 +14987,7 @@
Parameters:
Source:
- src/core/Group.js line 2506 + src/core/Group.js line 2506 @@ -15156,7 +15156,7 @@
Parameters:
Source:
- src/core/Group.js line 523 + src/core/Group.js line 523 @@ -15277,7 +15277,7 @@

Source:
- src/core/Group.js line 2329 + src/core/Group.js line 2329 @@ -15459,7 +15459,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 289 + src/pixi/display/DisplayObjectContainer.js line 289 @@ -15628,7 +15628,7 @@
Parameters:
Source:
- src/core/Group.js line 1041 + src/core/Group.js line 1041 @@ -15795,7 +15795,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -15962,7 +15962,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -16213,7 +16213,7 @@
Parameters:
Source:
- src/core/Group.js line 2345 + src/core/Group.js line 2345 @@ -16404,7 +16404,7 @@
Parameters:
Source:
- src/core/Group.js line 2171 + src/core/Group.js line 2171 @@ -16763,7 +16763,7 @@
Parameters:
Source:
- src/core/Group.js line 2217 + src/core/Group.js line 2217 @@ -17122,7 +17122,7 @@
Parameters:
Source:
- src/core/Group.js line 2246 + src/core/Group.js line 2246 @@ -17520,7 +17520,7 @@
Parameters:
Source:
- src/core/Group.js line 2184 + src/core/Group.js line 2184 @@ -17771,7 +17771,7 @@
Parameters:
Source:
- src/core/Group.js line 2388 + src/core/Group.js line 2388 @@ -17938,7 +17938,7 @@
Parameters:
Source:
- src/core/Group.js line 1029 + src/core/Group.js line 1029 @@ -18055,7 +18055,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 445 + src/pixi/display/DisplayObjectContainer.js line 445 @@ -18282,7 +18282,7 @@
Parameters:
Source:
- src/core/Group.js line 2466 + src/core/Group.js line 2466 @@ -18510,7 +18510,7 @@
Parameters:
Source:
- src/core/Group.js line 2487 + src/core/Group.js line 2487 @@ -18628,7 +18628,7 @@

Source:
- src/core/Group.js line 2313 + src/core/Group.js line 2313 @@ -18820,7 +18820,7 @@
Parameters:
Source:
- src/core/Group.js line 1093 + src/core/Group.js line 1093 @@ -19207,7 +19207,7 @@
Parameters:
Source:
- src/core/Group.js line 2077 + src/core/Group.js line 2077 @@ -19324,7 +19324,7 @@

Source:
- src/core/Group.js line 1481 + src/core/Group.js line 1481 @@ -19417,7 +19417,7 @@

Source:
- src/core/Group.js line 1493 + src/core/Group.js line 1493 @@ -19616,7 +19616,7 @@
Parameters:
Source:
- src/core/Group.js line 2598 + src/core/Group.js line 2598 @@ -19783,7 +19783,7 @@
Parameters:
Source:
- src/core/Group.js line 972 + src/core/Group.js line 972 @@ -19950,7 +19950,7 @@
Parameters:
Source:
- src/core/Group.js line 949 + src/core/Group.js line 949 @@ -20190,7 +20190,7 @@
Parameters:
Source:
- src/core/Group.js line 1449 + src/core/Group.js line 1449 @@ -20284,7 +20284,7 @@

Source:
- src/core/Group.js line 830 + src/core/Group.js line 830 @@ -20401,7 +20401,7 @@

Source:
- src/core/Group.js line 1763 + src/core/Group.js line 1763 @@ -20494,7 +20494,7 @@

Source:
- src/core/Group.js line 1695 + src/core/Group.js line 1695 @@ -20588,7 +20588,7 @@

Source:
- src/core/Group.js line 858 + src/core/Group.js line 858 @@ -20853,7 +20853,7 @@
Parameters:
Source:
- src/core/Group.js line 2551 + src/core/Group.js line 2551 @@ -21123,7 +21123,7 @@
Parameters:
Source:
- src/core/Group.js line 2626 + src/core/Group.js line 2626 @@ -21400,7 +21400,7 @@
Parameters:
Source:
- src/core/Group.js line 2673 + src/core/Group.js line 2673 @@ -21543,7 +21543,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -21710,7 +21710,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -21901,7 +21901,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -22045,7 +22045,7 @@
Parameters:
Source:
- src/core/Group.js line 465 + src/core/Group.js line 465 @@ -22238,7 +22238,7 @@
Parameters:
Source:
- src/core/Group.js line 1055 + src/core/Group.js line 1055 @@ -22592,7 +22592,7 @@
Parameters:
Source:
- src/core/Group.js line 1525 + src/core/Group.js line 1525 @@ -22898,7 +22898,7 @@
Parameters:
Source:
- src/core/Group.js line 2275 + src/core/Group.js line 2275 @@ -23086,7 +23086,7 @@
Parameters:
Source:
- src/core/Group.js line 804 + src/core/Group.js line 804 @@ -23194,7 +23194,7 @@

Source:
- src/core/FlexLayer.js line 92 + src/core/FlexLayer.js line 92 @@ -23288,7 +23288,7 @@

Source:
- src/core/Group.js line 1016 + src/core/Group.js line 1016 @@ -23381,7 +23381,7 @@

Source:
- src/core/Group.js line 1503 + src/core/Group.js line 1503 @@ -23474,7 +23474,7 @@

Source:
- src/core/Group.js line 1515 + src/core/Group.js line 1515 @@ -23677,7 +23677,7 @@
Parameters:
Source:
- src/core/Group.js line 2727 + src/core/Group.js line 2727 @@ -23820,7 +23820,7 @@
Parameters:
Source:
- src/core/Group.js line 925 + src/core/Group.js line 925 @@ -24236,7 +24236,7 @@
Parameters:
Source:
- src/core/Group.js line 1237 + src/core/Group.js line 1237 @@ -24618,7 +24618,7 @@
Parameters:
Source:
- src/core/Group.js line 1267 + src/core/Group.js line 1267 @@ -24976,7 +24976,7 @@
Parameters:
Source:
- src/core/Group.js line 1305 + src/core/Group.js line 1305 @@ -25143,7 +25143,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -25462,7 +25462,7 @@
Parameters:
Source:
- src/core/Group.js line 1127 + src/core/Group.js line 1127 @@ -25580,7 +25580,7 @@

Source:
- src/core/Group.js line 2744 + src/core/Group.js line 2744 @@ -25787,7 +25787,7 @@
Parameters:
Source:
- src/core/Group.js line 1962 + src/core/Group.js line 1962 @@ -26003,7 +26003,7 @@
Parameters:
Source:
- src/core/Group.js line 1433 + src/core/Group.js line 1433 @@ -26171,7 +26171,7 @@
Parameters:
Source:
- src/core/Group.js line 886 + src/core/Group.js line 886 @@ -26338,7 +26338,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -26481,7 +26481,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -26694,7 +26694,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -26814,7 +26814,7 @@

Source:
- src/core/Group.js line 1735 + src/core/Group.js line 1735 @@ -26907,7 +26907,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -27096,7 +27096,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -27216,7 +27216,7 @@

Source:
- src/core/Group.js line 663 + src/core/Group.js line 663 @@ -27407,7 +27407,7 @@
Parameters:
Source:
- src/core/Group.js line 995 + src/core/Group.js line 995 @@ -27450,9 +27450,9 @@
Parameters:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -27469,7 +27469,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -27498,7 +27498,7 @@
Parameters:
- + diff --git a/docs/Phaser.Frame.html b/docs/Phaser.Frame.html index a9967c2aa..56d9b834b 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 179 + src/animation/Frame.js line 179 @@ -2090,7 +2090,7 @@
Parameters:
Source:
- src/animation/Frame.js line 201 + src/animation/Frame.js line 201 @@ -2272,7 +2272,7 @@
Parameters:
Source:
- src/animation/Frame.js line 130 + src/animation/Frame.js line 130 @@ -2550,7 +2550,7 @@
Parameters:
Source:
- src/animation/Frame.js line 150 + src/animation/Frame.js line 150 @@ -2593,9 +2593,9 @@
Parameters:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -2641,7 +2641,7 @@
Parameters:
- + diff --git a/docs/Phaser.FrameData.html b/docs/Phaser.FrameData.html index 99669685e..9bd660520 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 255 + src/animation/FrameData.js line 255 @@ -413,7 +413,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 30 + src/animation/FrameData.js line 30 @@ -571,7 +571,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 85 + src/animation/FrameData.js line 85 @@ -679,7 +679,7 @@

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

Source:
- src/animation/FrameData.js line 240 + src/animation/FrameData.js line 240 @@ -921,7 +921,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 51 + src/animation/FrameData.js line 51 @@ -1079,7 +1079,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 68 + src/animation/FrameData.js line 68 @@ -1334,7 +1334,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 196 + src/animation/FrameData.js line 196 @@ -1568,7 +1568,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 129 + src/animation/FrameData.js line 129 @@ -1823,7 +1823,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 150 + src/animation/FrameData.js line 150 @@ -1890,9 +1890,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -1938,7 +1938,7 @@
Returns:
- + diff --git a/docs/Phaser.Game.html b/docs/Phaser.Game.html index 06c31f6ea..c611af7f3 100644 --- a/docs/Phaser.Game.html +++ b/docs/Phaser.Game.html @@ -6,7 +6,7 @@ Phaser CE Class: Game - + @@ -582,7 +582,7 @@
Parameters:
Source:
- src/core/Game.js line 73 + src/core/Game.js line 73 @@ -687,7 +687,7 @@
Type:
Source:
- src/core/Game.js line 222 + src/core/Game.js line 222 @@ -771,7 +771,7 @@
Type:
Source:
- src/core/Game.js line 152 + src/core/Game.js line 152 @@ -848,7 +848,7 @@
Type:
Source:
- src/core/Game.js line 232 + src/core/Game.js line 232 @@ -925,7 +925,7 @@
Type:
Source:
- src/core/Game.js line 302 + src/core/Game.js line 302 @@ -1002,7 +1002,7 @@
Type:
Source:
- src/core/Game.js line 307 + src/core/Game.js line 307 @@ -1090,7 +1090,7 @@
Type:
Source:
- src/core/Game.js line 182 + src/core/Game.js line 182 @@ -1167,7 +1167,7 @@
Type:
Source:
- src/core/Game.js line 84 + src/core/Game.js line 84 @@ -1244,7 +1244,7 @@
Type:
Source:
- src/core/Game.js line 312 + src/core/Game.js line 312 @@ -1321,7 +1321,7 @@
Type:
Source:
- src/core/Game.js line 327 + src/core/Game.js line 327 @@ -1399,7 +1399,7 @@
Type:
Source:
- src/core/Game.js line 414 + src/core/Game.js line 414 @@ -1476,7 +1476,7 @@
Type:
Source:
- src/core/Game.js line 317 + src/core/Game.js line 317 @@ -1553,7 +1553,7 @@
Type:
Source:
- src/core/Game.js line 297 + src/core/Game.js line 297 @@ -1630,7 +1630,7 @@
Type:
Source:
- src/core/Game.js line 478 + src/core/Game.js line 478 @@ -1707,7 +1707,7 @@
Type:
Source:
- src/core/Game.js line 472 + src/core/Game.js line 472 @@ -1791,7 +1791,7 @@
Type:
Source:
- src/core/Game.js line 466 + src/core/Game.js line 466 @@ -1869,7 +1869,7 @@
Type:
Source:
- src/core/Game.js line 460 + src/core/Game.js line 460 @@ -1954,7 +1954,7 @@
Type:
Source:
- src/core/Game.js line 118 + src/core/Game.js line 118 @@ -2031,7 +2031,7 @@
Type:
Source:
- src/core/Game.js line 79 + src/core/Game.js line 79 @@ -2108,7 +2108,7 @@
Type:
Source:
- src/core/Game.js line 237 + src/core/Game.js line 237 @@ -2185,7 +2185,7 @@
Type:
Source:
- src/core/Game.js line 205 + src/core/Game.js line 205 @@ -2262,7 +2262,7 @@
Type:
Source:
- src/core/Game.js line 211 + src/core/Game.js line 211 @@ -2339,7 +2339,7 @@
Type:
Source:
- src/core/Game.js line 242 + src/core/Game.js line 242 @@ -2418,7 +2418,7 @@
Type:
Source:
- src/core/Game.js line 336 + src/core/Game.js line 336 @@ -2495,7 +2495,7 @@
Type:
Source:
- src/core/Game.js line 227 + src/core/Game.js line 227 @@ -2572,7 +2572,7 @@
Type:
Source:
- src/core/Game.js line 247 + src/core/Game.js line 247 @@ -2653,7 +2653,7 @@
Type:
Source:
- src/core/Game.js line 165 + src/core/Game.js line 165 @@ -2730,7 +2730,7 @@
Type:
Source:
- src/core/Game.js line 378 + src/core/Game.js line 378 @@ -2807,7 +2807,7 @@
Type:
Source:
- src/core/Game.js line 388 + src/core/Game.js line 388 @@ -2884,7 +2884,7 @@
Type:
Source:
- src/core/Game.js line 383 + src/core/Game.js line 383 @@ -2961,7 +2961,7 @@
Type:
Source:
- src/core/Game.js line 368 + src/core/Game.js line 368 @@ -3038,7 +3038,7 @@
Type:
Source:
- src/core/Game.js line 373 + src/core/Game.js line 373 @@ -3118,7 +3118,7 @@
Type:
Source:
- src/core/Game.js line 96 + src/core/Game.js line 96 @@ -3195,7 +3195,7 @@
Type:
Source:
- src/core/Game.js line 322 + src/core/Game.js line 322 @@ -3273,7 +3273,7 @@
Type:
Source:
- src/core/Game.js line 1389 + src/core/Game.js line 1389 @@ -3350,7 +3350,7 @@
Type:
Source:
- src/core/Game.js line 342 + src/core/Game.js line 342 @@ -3427,7 +3427,7 @@
Type:
Source:
- src/core/Game.js line 356 + src/core/Game.js line 356 @@ -3504,7 +3504,7 @@
Type:
Source:
- src/core/Game.js line 282 + src/core/Game.js line 282 @@ -3581,7 +3581,7 @@
Type:
Source:
- src/core/Game.js line 89 + src/core/Game.js line 89 @@ -3658,7 +3658,7 @@
Type:
Source:
- src/core/Game.js line 287 + src/core/Game.js line 287 @@ -3742,7 +3742,7 @@
Type:
Source:
- src/core/Game.js line 485 + src/core/Game.js line 485 @@ -3819,7 +3819,7 @@
Type:
Source:
- src/core/Game.js line 171 + src/core/Game.js line 171 @@ -3896,7 +3896,7 @@
Type:
Source:
- src/core/Game.js line 217 + src/core/Game.js line 217 @@ -3976,7 +3976,7 @@
Type:
Source:
- src/core/Game.js line 188 + src/core/Game.js line 188 @@ -4053,7 +4053,7 @@
Type:
Source:
- src/core/Game.js line 428 + src/core/Game.js line 428 @@ -4130,7 +4130,7 @@
Type:
Source:
- src/core/Game.js line 194 + src/core/Game.js line 194 @@ -4214,7 +4214,7 @@
Type:
Source:
- src/core/Game.js line 127 + src/core/Game.js line 127 @@ -4291,7 +4291,7 @@
Type:
Source:
- src/core/Game.js line 292 + src/core/Game.js line 292 @@ -4368,7 +4368,7 @@
Type:
Source:
- src/core/Game.js line 252 + src/core/Game.js line 252 @@ -4445,7 +4445,7 @@
Type:
Source:
- src/core/Game.js line 257 + src/core/Game.js line 257 @@ -4522,7 +4522,7 @@
Type:
Source:
- src/core/Game.js line 262 + src/core/Game.js line 262 @@ -4599,7 +4599,7 @@
Type:
Source:
- src/core/Game.js line 199 + src/core/Game.js line 199 @@ -4676,7 +4676,7 @@
Type:
Source:
- src/core/Game.js line 363 + src/core/Game.js line 363 @@ -4753,7 +4753,7 @@
Type:
Source:
- src/core/Game.js line 349 + src/core/Game.js line 349 @@ -4830,7 +4830,7 @@
Type:
Source:
- src/core/Game.js line 267 + src/core/Game.js line 267 @@ -4907,7 +4907,7 @@
Type:
Source:
- src/core/Game.js line 145 + src/core/Game.js line 145 @@ -4984,7 +4984,7 @@
Type:
Source:
- src/core/Game.js line 272 + src/core/Game.js line 272 @@ -5061,7 +5061,7 @@
Type:
Source:
- src/core/Game.js line 421 + src/core/Game.js line 421 @@ -5146,7 +5146,7 @@
Type:
Source:
- src/core/Game.js line 107 + src/core/Game.js line 107 @@ -5223,7 +5223,7 @@
Type:
Source:
- src/core/Game.js line 277 + src/core/Game.js line 277 @@ -5301,7 +5301,7 @@

Source:
- src/core/Game.js line 686 + src/core/Game.js line 686 @@ -5389,7 +5389,7 @@

Source:
- src/core/Game.js line 1222 + src/core/Game.js line 1222 @@ -5473,7 +5473,7 @@

Source:
- src/core/Game.js line 1199 + src/core/Game.js line 1199 @@ -5558,7 +5558,7 @@

Source:
- src/core/Game.js line 1186 + src/core/Game.js line 1186 @@ -5692,7 +5692,7 @@
Parameters:
Source:
- src/core/Game.js line 1348 + src/core/Game.js line 1348 @@ -5826,7 +5826,7 @@
Parameters:
Source:
- src/core/Game.js line 1331 + src/core/Game.js line 1331 @@ -5960,7 +5960,7 @@
Parameters:
Source:
- src/core/Game.js line 1278 + src/core/Game.js line 1278 @@ -6094,7 +6094,7 @@
Parameters:
Source:
- src/core/Game.js line 1304 + src/core/Game.js line 1304 @@ -6178,7 +6178,7 @@

Source:
- src/core/Game.js line 592 + src/core/Game.js line 592 @@ -6262,7 +6262,7 @@

Source:
- src/core/Game.js line 852 + src/core/Game.js line 852 @@ -6346,7 +6346,7 @@

Source:
- src/core/Game.js line 786 + src/core/Game.js line 786 @@ -6431,7 +6431,7 @@

Source:
- src/core/Game.js line 1210 + src/core/Game.js line 1210 @@ -6565,7 +6565,7 @@
Parameters:
Source:
- src/core/Game.js line 976 + src/core/Game.js line 976 @@ -6699,7 +6699,7 @@
Parameters:
Source:
- src/core/Game.js line 1104 + src/core/Game.js line 1104 @@ -6791,7 +6791,7 @@

Source:
- src/core/Game.js line 1154 + src/core/Game.js line 1154 @@ -6834,9 +6834,9 @@

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -6853,7 +6853,7 @@

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -6882,7 +6882,7 @@

- + diff --git a/docs/Phaser.GameObjectCreator.html b/docs/Phaser.GameObjectCreator.html index 3a2cf0606..1e9276e61 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 112 + src/gameobjects/GameObjectCreator.js line 112 @@ -835,7 +835,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 127 + src/gameobjects/GameObjectCreator.js line 127 @@ -1134,7 +1134,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 360 + src/gameobjects/GameObjectCreator.js line 360 @@ -1511,7 +1511,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 281 + src/gameobjects/GameObjectCreator.js line 281 @@ -1965,7 +1965,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 203 + src/gameobjects/GameObjectCreator.js line 203 @@ -2226,7 +2226,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 236 + src/gameobjects/GameObjectCreator.js line 236 @@ -2408,7 +2408,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 387 + src/gameobjects/GameObjectCreator.js line 387 @@ -2626,7 +2626,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 223 + src/gameobjects/GameObjectCreator.js line 223 @@ -2962,7 +2962,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 79 + src/gameobjects/GameObjectCreator.js line 79 @@ -3239,7 +3239,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 32 + src/gameobjects/GameObjectCreator.js line 32 @@ -3537,7 +3537,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 335 + src/gameobjects/GameObjectCreator.js line 335 @@ -4021,7 +4021,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 254 + src/gameobjects/GameObjectCreator.js line 254 @@ -4311,7 +4311,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 171 + src/gameobjects/GameObjectCreator.js line 171 @@ -4605,7 +4605,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 139 + src/gameobjects/GameObjectCreator.js line 139 @@ -4880,7 +4880,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 50 + src/gameobjects/GameObjectCreator.js line 50 @@ -5134,7 +5134,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 95 + src/gameobjects/GameObjectCreator.js line 95 @@ -5364,7 +5364,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 188 + src/gameobjects/GameObjectCreator.js line 188 @@ -5705,7 +5705,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 314 + src/gameobjects/GameObjectCreator.js line 314 @@ -5968,7 +5968,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 154 + src/gameobjects/GameObjectCreator.js line 154 @@ -6127,7 +6127,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 65 + src/gameobjects/GameObjectCreator.js line 65 @@ -6194,9 +6194,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -6213,7 +6213,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -6242,7 +6242,7 @@
Returns:
- + diff --git a/docs/Phaser.GameObjectFactory.html b/docs/Phaser.GameObjectFactory.html index 777c5e96e..cac4c9cdc 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 229 + src/gameobjects/GameObjectFactory.js line 229 @@ -836,7 +836,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 259 + src/gameobjects/GameObjectFactory.js line 259 @@ -1135,7 +1135,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 511 + src/gameobjects/GameObjectFactory.js line 511 @@ -1513,7 +1513,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 414 + src/gameobjects/GameObjectFactory.js line 414 @@ -2050,7 +2050,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 330 + src/gameobjects/GameObjectFactory.js line 330 @@ -2464,7 +2464,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 126 + src/gameobjects/GameObjectFactory.js line 126 @@ -2725,7 +2725,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 369 + src/gameobjects/GameObjectFactory.js line 369 @@ -2883,7 +2883,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 34 + src/gameobjects/GameObjectFactory.js line 34 @@ -3065,7 +3065,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 538 + src/gameobjects/GameObjectFactory.js line 538 @@ -3324,7 +3324,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 353 + src/gameobjects/GameObjectFactory.js line 353 @@ -3660,7 +3660,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 175 + src/gameobjects/GameObjectFactory.js line 175 @@ -4013,7 +4013,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 81 + src/gameobjects/GameObjectFactory.js line 81 @@ -4311,7 +4311,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 191 + src/gameobjects/GameObjectFactory.js line 191 @@ -4517,7 +4517,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 557 + src/gameobjects/GameObjectFactory.js line 557 @@ -4815,7 +4815,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 471 + src/gameobjects/GameObjectFactory.js line 471 @@ -5299,7 +5299,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 387 + src/gameobjects/GameObjectFactory.js line 387 @@ -5686,7 +5686,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 291 + src/gameobjects/GameObjectFactory.js line 291 @@ -5980,7 +5980,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 244 + src/gameobjects/GameObjectFactory.js line 244 @@ -6333,7 +6333,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 104 + src/gameobjects/GameObjectFactory.js line 104 @@ -6592,7 +6592,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 209 + src/gameobjects/GameObjectFactory.js line 209 @@ -6929,7 +6929,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 312 + src/gameobjects/GameObjectFactory.js line 312 @@ -7270,7 +7270,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 449 + src/gameobjects/GameObjectFactory.js line 449 @@ -7646,7 +7646,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 271 + src/gameobjects/GameObjectFactory.js line 271 @@ -7805,7 +7805,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 161 + src/gameobjects/GameObjectFactory.js line 161 @@ -8030,7 +8030,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 496 + src/gameobjects/GameObjectFactory.js line 496 @@ -8382,7 +8382,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 46 + src/gameobjects/GameObjectFactory.js line 46 @@ -8449,9 +8449,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -8468,7 +8468,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -8497,7 +8497,7 @@
Returns:
- + diff --git a/docs/Phaser.Gamepad.html b/docs/Phaser.Gamepad.html index ebaf9844e..ebb945a12 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 486 + src/input/Gamepad.js line 486 @@ -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 531 + src/input/Gamepad.js line 531 @@ -1194,7 +1194,7 @@
Type:
Source:
- src/input/Gamepad.js line 546 + src/input/Gamepad.js line 546 @@ -1271,7 +1271,7 @@
Type:
Source:
- src/input/Gamepad.js line 561 + src/input/Gamepad.js line 561 @@ -1348,7 +1348,7 @@
Type:
Source:
- src/input/Gamepad.js line 576 + src/input/Gamepad.js line 576 @@ -1425,7 +1425,7 @@
Type:
Source:
- src/input/Gamepad.js line 516 + src/input/Gamepad.js line 516 @@ -1502,7 +1502,7 @@
Type:
Source:
- src/input/Gamepad.js line 501 + src/input/Gamepad.js line 501 @@ -1655,7 +1655,7 @@
Parameters:
Source:
- src/input/Gamepad.js line 138 + src/input/Gamepad.js line 138 @@ -1739,7 +1739,7 @@

Source:
- src/input/Gamepad.js line 467 + src/input/Gamepad.js line 467 @@ -1873,7 +1873,7 @@
Parameters:
Source:
- src/input/Gamepad.js line 448 + src/input/Gamepad.js line 448 @@ -1936,7 +1936,7 @@

-

Returns the "just pressed" state of a button from ANY gamepad connected. Just pressed is considered true if the button was pressed down within the duration given (default 250ms).

+

Returns the "just released" state of a button from ANY gamepad connected. Just released is considered as being true if the button was released within the duration given (default 250ms).

@@ -2044,7 +2044,7 @@

Parameters:
-

The duration below which the button is considered as being just pressed.

+

The duration below which the button is considered as being just released.

@@ -2087,7 +2087,7 @@
Parameters:
Source:
- src/input/Gamepad.js line 408 + src/input/Gamepad.js line 428 @@ -2113,7 +2113,7 @@
Returns:
-

True if the button is just pressed otherwise false.

+

True if the button is just released otherwise false.

@@ -2150,7 +2150,7 @@

-

Returns the "just released" state of a button from ANY gamepad connected. Just released is considered as being true if the button was released within the duration given (default 250ms).

+

Returns the "just pressed" state of a button from ANY gamepad connected. Just pressed is considered true if the button was pressed down within the duration given (default 250ms).

@@ -2258,7 +2258,7 @@

Parameters:
-

The duration below which the button is considered as being just released.

+

The duration below which the button is considered as being just pressed.

@@ -2301,7 +2301,7 @@
Parameters:
Source:
- src/input/Gamepad.js line 428 + src/input/Gamepad.js line 408 @@ -2327,7 +2327,7 @@
Returns:
-

True if the button is just released otherwise false.

+

True if the button is just pressed otherwise false.

@@ -2409,7 +2409,7 @@

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

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

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

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

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

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

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

- + diff --git a/docs/Phaser.Graphics.html b/docs/Phaser.Graphics.html index 723b6c0bc..9b4755be7 100644 --- a/docs/Phaser.Graphics.html +++ b/docs/Phaser.Graphics.html @@ -6,7 +6,7 @@ Phaser CE Class: Graphics - + @@ -345,7 +345,7 @@

Parameters:
Source:
- src/gameobjects/Graphics.js line 54 + src/gameobjects/Graphics.js line 54 @@ -503,7 +503,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 55 + src/gameobjects/components/LifeSpan.js line 55 @@ -599,7 +599,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -690,7 +690,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -777,7 +777,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 186 + src/gameobjects/components/Core.js line 186 @@ -874,7 +874,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -958,7 +958,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 131 + src/gameobjects/Graphics.js line 131 @@ -1061,7 +1061,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 97 + src/gameobjects/components/PhysicsBody.js line 97 @@ -1148,7 +1148,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 156 + src/gameobjects/components/Bounds.js line 156 @@ -1225,7 +1225,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 165 + src/gameobjects/Graphics.js line 165 @@ -1318,7 +1318,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 791 + src/pixi/display/DisplayObject.js line 791 @@ -1405,7 +1405,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 82 + src/gameobjects/components/FixedToCamera.js line 82 @@ -1492,7 +1492,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 56 + src/gameobjects/components/Bounds.js line 56 @@ -1579,7 +1579,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 76 + src/gameobjects/components/Bounds.js line 76 @@ -1671,7 +1671,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 103 + src/gameobjects/components/InWorld.js line 103 @@ -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 160 + src/gameobjects/components/Core.js line 160 @@ -1939,7 +1939,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 153 + src/gameobjects/components/Core.js line 153 @@ -2025,7 +2025,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 211 + src/gameobjects/components/Core.js line 211 @@ -2112,7 +2112,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2199,7 +2199,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 178 + src/gameobjects/components/Core.js line 178 @@ -2297,7 +2297,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 277 + src/gameobjects/components/Core.js line 277 @@ -2374,7 +2374,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 87 + src/gameobjects/Graphics.js line 87 @@ -2460,7 +2460,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -2551,7 +2551,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -2644,7 +2644,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 54 + src/gameobjects/components/FixedToCamera.js line 54 @@ -2731,7 +2731,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 241 + src/gameobjects/components/Core.js line 241 @@ -2817,7 +2817,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 135 + src/gameobjects/components/Core.js line 135 @@ -2903,7 +2903,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 606 + src/pixi/display/DisplayObjectContainer.js line 606 @@ -2999,7 +2999,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -3087,7 +3087,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3174,7 +3174,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3265,7 +3265,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3358,7 +3358,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3444,7 +3444,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 134 + src/gameobjects/components/InWorld.js line 134 @@ -3521,7 +3521,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 157 + src/gameobjects/Graphics.js line 157 @@ -3623,7 +3623,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 196 + src/gameobjects/components/Core.js line 196 @@ -3710,7 +3710,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 96 + src/gameobjects/components/Bounds.js line 96 @@ -3800,7 +3800,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 70 + src/gameobjects/components/LifeSpan.js line 70 @@ -3884,7 +3884,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 104 + src/gameobjects/Graphics.js line 104 @@ -3961,7 +3961,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 95 + src/gameobjects/Graphics.js line 95 @@ -4050,7 +4050,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -4137,7 +4137,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 143 + src/gameobjects/components/Core.js line 143 @@ -4225,7 +4225,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4313,7 +4313,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 41 + src/gameobjects/components/Bounds.js line 41 @@ -4399,7 +4399,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 111 + src/gameobjects/components/InWorld.js line 111 @@ -4486,7 +4486,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 120 + src/gameobjects/components/InWorld.js line 120 @@ -4575,7 +4575,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -4664,7 +4664,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 252 + src/gameobjects/components/Core.js line 252 @@ -4741,7 +4741,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 69 + src/gameobjects/Graphics.js line 69 @@ -4828,7 +4828,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4916,7 +4916,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5002,7 +5002,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 218 + src/gameobjects/components/Core.js line 218 @@ -5088,7 +5088,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -5180,7 +5180,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -5267,7 +5267,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -5354,7 +5354,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 116 + src/gameobjects/components/Bounds.js line 116 @@ -5443,7 +5443,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5532,7 +5532,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -5616,7 +5616,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 122 + src/gameobjects/Graphics.js line 122 @@ -5703,7 +5703,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 136 + src/gameobjects/components/Bounds.js line 136 @@ -5780,7 +5780,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 63 + src/gameobjects/Graphics.js line 63 @@ -5879,7 +5879,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -5965,7 +5965,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 576 + src/pixi/display/DisplayObjectContainer.js line 576 @@ -6053,7 +6053,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 204 + src/gameobjects/components/Core.js line 204 @@ -6150,7 +6150,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -6241,7 +6241,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -6332,7 +6332,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -6423,7 +6423,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -6519,7 +6519,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -6605,7 +6605,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -6697,7 +6697,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 626 + src/pixi/display/DisplayObject.js line 626 @@ -6789,7 +6789,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -6878,7 +6878,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 170 + src/gameobjects/components/Core.js line 170 @@ -7015,7 +7015,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -7206,7 +7206,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -7549,7 +7549,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 209 + src/gameobjects/components/Bounds.js line 209 @@ -7893,7 +7893,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 306 + src/gameobjects/components/Bounds.js line 306 @@ -8195,7 +8195,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 648 + src/gameobjects/Graphics.js line 648 @@ -8446,7 +8446,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 578 + src/gameobjects/Graphics.js line 578 @@ -8625,7 +8625,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 734 + src/gameobjects/Graphics.js line 734 @@ -8899,7 +8899,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 519 + src/gameobjects/Graphics.js line 519 @@ -9003,7 +9003,7 @@

Source:
- src/gameobjects/Graphics.js line 880 + src/gameobjects/Graphics.js line 880 @@ -9166,7 +9166,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -9320,7 +9320,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 1247 + src/gameobjects/Graphics.js line 1247 @@ -9503,7 +9503,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 274 + src/gameobjects/Graphics.js line 274 @@ -9587,7 +9587,7 @@

Source:
- src/gameobjects/Graphics.js line 1473 + src/gameobjects/Graphics.js line 1473 @@ -9769,7 +9769,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 808 + src/gameobjects/Graphics.js line 808 @@ -9995,7 +9995,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 824 + src/gameobjects/Graphics.js line 824 @@ -10152,7 +10152,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 841 + src/gameobjects/Graphics.js line 841 @@ -10374,7 +10374,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 777 + src/gameobjects/Graphics.js line 777 @@ -10620,7 +10620,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 793 + src/gameobjects/Graphics.js line 793 @@ -10766,7 +10766,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 1484 + src/gameobjects/Graphics.js line 1484 @@ -10980,7 +10980,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 287 + src/gameobjects/Graphics.js line 287 @@ -11213,7 +11213,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 318 + src/gameobjects/Graphics.js line 318 @@ -11297,7 +11297,7 @@

Source:
- src/gameobjects/Graphics.js line 762 + src/gameobjects/Graphics.js line 762 @@ -11558,7 +11558,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 901 + src/gameobjects/Graphics.js line 901 @@ -11674,7 +11674,7 @@

Source:
- src/gameobjects/Graphics.js line 1118 + src/gameobjects/Graphics.js line 1118 @@ -11841,7 +11841,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -12008,7 +12008,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -12121,7 +12121,7 @@

Source:
- src/gameobjects/Graphics.js line 1212 + src/gameobjects/Graphics.js line 1212 @@ -12292,7 +12292,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 1277 + src/gameobjects/Graphics.js line 1277 @@ -12409,7 +12409,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 117 + src/gameobjects/components/LifeSpan.js line 117 @@ -12615,7 +12615,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 392 + src/gameobjects/Graphics.js line 392 @@ -12794,7 +12794,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 441 + src/gameobjects/Graphics.js line 441 @@ -12972,7 +12972,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 426 + src/gameobjects/Graphics.js line 426 @@ -13081,7 +13081,7 @@

Source:
- src/gameobjects/Graphics.js line 252 + src/gameobjects/Graphics.js line 252 @@ -13170,7 +13170,7 @@

Source:
- src/gameobjects/Graphics.js line 237 + src/gameobjects/Graphics.js line 237 @@ -13263,7 +13263,7 @@

Source:
- src/gameobjects/components/Core.js line 318 + src/gameobjects/components/Core.js line 318 @@ -13470,7 +13470,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 464 + src/gameobjects/Graphics.js line 464 @@ -13633,7 +13633,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -13800,7 +13800,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -13991,7 +13991,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -14230,7 +14230,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -14419,7 +14419,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 83 + src/gameobjects/components/LifeSpan.js line 83 @@ -14610,7 +14610,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -14777,7 +14777,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -14920,7 +14920,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -15133,7 +15133,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -15254,7 +15254,7 @@

Source:
- src/gameobjects/components/Core.js line 343 + src/gameobjects/components/Core.js line 343 @@ -15347,7 +15347,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -15457,7 +15457,7 @@

Source:
- src/gameobjects/Graphics.js line 1297 + src/gameobjects/Graphics.js line 1297 @@ -15620,7 +15620,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -15689,9 +15689,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -15708,7 +15708,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -15737,7 +15737,7 @@
Returns:
- + diff --git a/docs/Phaser.GraphicsData.html b/docs/Phaser.GraphicsData.html index 16e33657a..6bd2de706 100644 --- a/docs/Phaser.GraphicsData.html +++ b/docs/Phaser.GraphicsData.html @@ -6,7 +6,7 @@ Phaser CE Class: GraphicsData - + @@ -386,7 +386,7 @@
Parameters:
Source:
- src/gameobjects/GraphicsData.js line 14 + src/gameobjects/GraphicsData.js line 14 @@ -488,7 +488,7 @@

Source:
- src/gameobjects/GraphicsData.js line 74 + src/gameobjects/GraphicsData.js line 74 @@ -551,9 +551,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -570,7 +570,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -599,7 +599,7 @@
Returns:
- + diff --git a/docs/Phaser.Group.html b/docs/Phaser.Group.html index 5bc092f2f..b5d17591f 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 329 + src/core/Group.js line 329 @@ -647,7 +647,7 @@
Type:
Source:
- src/core/Group.js line 322 + src/core/Group.js line 322 @@ -724,7 +724,7 @@
Type:
Source:
- src/core/Group.js line 308 + src/core/Group.js line 308 @@ -801,7 +801,7 @@
Type:
Source:
- src/core/Group.js line 315 + src/core/Group.js line 315 @@ -878,7 +878,7 @@
Type:
Source:
- src/core/Group.js line 336 + src/core/Group.js line 336 @@ -955,7 +955,7 @@
Type:
Source:
- src/core/Group.js line 343 + src/core/Group.js line 343 @@ -1039,7 +1039,7 @@
Type:
Source:
- src/core/Group.js line 91 + src/core/Group.js line 91 @@ -1121,7 +1121,7 @@
Type:
Source:
- src/core/Group.js line 3155 + src/core/Group.js line 3155 @@ -1201,7 +1201,7 @@
Type:
Source:
- src/core/Group.js line 2825 + src/core/Group.js line 2825 @@ -1280,7 +1280,7 @@
Type:
Source:
- src/core/Group.js line 2980 + src/core/Group.js line 2980 @@ -1373,7 +1373,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 791 + src/pixi/display/DisplayObject.js line 791 @@ -1451,7 +1451,7 @@
Type:
Source:
- src/core/Group.js line 277 + src/core/Group.js line 277 @@ -1530,7 +1530,7 @@
Type:
Source:
- src/core/Group.js line 2850 + src/core/Group.js line 2850 @@ -1609,7 +1609,7 @@
Type:
Source:
- src/core/Group.js line 2876 + src/core/Group.js line 2876 @@ -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 127 + src/core/Group.js line 127 @@ -1858,7 +1858,7 @@
Type:
Source:
- src/core/Group.js line 135 + src/core/Group.js line 135 @@ -1935,7 +1935,7 @@
Type:
Source:
- src/core/Group.js line 260 + src/core/Group.js line 260 @@ -2014,7 +2014,7 @@
Type:
Source:
- src/core/Group.js line 213 + src/core/Group.js line 213 @@ -2092,7 +2092,7 @@
Type:
Source:
- src/core/Group.js line 222 + src/core/Group.js line 222 @@ -2176,7 +2176,7 @@
Type:
Source:
- src/core/Group.js line 98 + src/core/Group.js line 98 @@ -2262,7 +2262,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -2358,7 +2358,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -2437,7 +2437,7 @@
Type:
Source:
- src/core/Group.js line 270 + src/core/Group.js line 270 @@ -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 290 + src/core/Group.js line 290 @@ -2681,7 +2681,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 606 + src/pixi/display/DisplayObjectContainer.js line 606 @@ -2777,7 +2777,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -2865,7 +2865,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -2942,7 +2942,7 @@
Type:
Source:
- src/core/Group.js line 105 + src/core/Group.js line 105 @@ -3021,7 +3021,7 @@
Type:
Source:
- src/core/Group.js line 146 + src/core/Group.js line 146 @@ -3100,7 +3100,7 @@
Type:
Source:
- src/core/Group.js line 2902 + src/core/Group.js line 2902 @@ -3177,7 +3177,7 @@
Type:
Source:
- src/core/Group.js line 2809 + src/core/Group.js line 2809 @@ -3266,7 +3266,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -3343,7 +3343,7 @@
Type:
Source:
- src/core/Group.js line 49 + src/core/Group.js line 49 @@ -3424,7 +3424,7 @@
Type:
Source:
- src/core/Group.js line 166 + src/core/Group.js line 166 @@ -3505,7 +3505,7 @@
Type:
Source:
- src/core/Group.js line 203 + src/core/Group.js line 203 @@ -3586,7 +3586,7 @@
Type:
Source:
- src/core/Group.js line 191 + src/core/Group.js line 191 @@ -3668,7 +3668,7 @@
Type:
Source:
- src/core/Group.js line 179 + src/core/Group.js line 179 @@ -3745,7 +3745,7 @@
Type:
Source:
- src/core/Group.js line 254 + src/core/Group.js line 254 @@ -3834,7 +3834,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -3915,7 +3915,7 @@
Type:
Source:
- src/core/Group.js line 117 + src/core/Group.js line 117 @@ -3993,7 +3993,7 @@
Type:
Source:
- src/core/Group.js line 230 + src/core/Group.js line 230 @@ -4077,7 +4077,7 @@
Type:
Source:
- src/core/Group.js line 248 + src/core/Group.js line 248 @@ -4154,7 +4154,7 @@
Type:
Source:
- src/core/Group.js line 84 + src/core/Group.js line 84 @@ -4241,7 +4241,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4329,7 +4329,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4416,7 +4416,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -4495,7 +4495,7 @@
Type:
Source:
- src/core/Group.js line 2928 + src/core/Group.js line 2928 @@ -4579,7 +4579,7 @@
Type:
Source:
- src/core/Group.js line 3139 + src/core/Group.js line 3139 @@ -4668,7 +4668,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -4747,7 +4747,7 @@
Type:
Source:
- src/core/Group.js line 2954 + src/core/Group.js line 2954 @@ -4824,7 +4824,7 @@
Type:
Source:
- src/core/Group.js line 2793 + src/core/Group.js line 2793 @@ -4901,7 +4901,7 @@
Type:
Source:
- src/core/Group.js line 78 + src/core/Group.js line 78 @@ -4978,7 +4978,7 @@
Type:
Source:
- src/core/Group.js line 154 + src/core/Group.js line 154 @@ -5060,7 +5060,7 @@
Type:
Source:
- src/core/Group.js line 3148 + src/core/Group.js line 3148 @@ -5146,7 +5146,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 576 + src/pixi/display/DisplayObjectContainer.js line 576 @@ -5238,7 +5238,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -5329,7 +5329,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -5420,7 +5420,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -5511,7 +5511,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -5602,7 +5602,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -5688,7 +5688,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -5772,7 +5772,7 @@
Type:
Source:
- src/core/Group.js line 3121 + src/core/Group.js line 3121 @@ -5856,7 +5856,7 @@
Type:
Source:
- src/core/Group.js line 3130 + src/core/Group.js line 3130 @@ -5934,7 +5934,7 @@
Type:
Source:
- src/core/Group.js line 57 + src/core/Group.js line 57 @@ -6163,7 +6163,7 @@
Parameters:
Source:
- src/core/Group.js line 345 + src/core/Group.js line 345 @@ -6432,7 +6432,7 @@
Parameters:
Source:
- src/core/Group.js line 1417 + src/core/Group.js line 1417 @@ -6665,7 +6665,7 @@
Parameters:
Source:
- src/core/Group.js line 421 + src/core/Group.js line 421 @@ -6832,7 +6832,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -7023,7 +7023,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -7245,7 +7245,7 @@
Parameters:
Source:
- src/core/Group.js line 489 + src/core/Group.js line 489 @@ -7407,7 +7407,7 @@
Parameters:
Source:
- src/core/Group.js line 441 + src/core/Group.js line 441 @@ -7793,7 +7793,7 @@
Parameters:
Source:
- src/core/Group.js line 681 + src/core/Group.js line 681 @@ -8127,7 +8127,7 @@
Parameters:
Source:
- src/core/Group.js line 3006 + src/core/Group.js line 3006 @@ -8462,7 +8462,7 @@
Parameters:
Source:
- src/core/Group.js line 3048 + src/core/Group.js line 3048 @@ -8644,7 +8644,7 @@
Parameters:
Source:
- src/core/Group.js line 2024 + src/core/Group.js line 2024 @@ -8778,7 +8778,7 @@
Parameters:
Source:
- src/core/Group.js line 901 + src/core/Group.js line 901 @@ -9032,7 +9032,7 @@
Parameters:
Source:
- src/core/Group.js line 1624 + src/core/Group.js line 1624 @@ -9243,7 +9243,7 @@
Parameters:
Source:
- src/core/Group.js line 1540 + src/core/Group.js line 1540 @@ -9425,7 +9425,7 @@
Parameters:
Source:
- src/core/Group.js line 1575 + src/core/Group.js line 1575 @@ -9732,7 +9732,7 @@
Parameters:
Source:
- src/core/Group.js line 1349 + src/core/Group.js line 1349 @@ -10025,7 +10025,7 @@
Parameters:
Source:
- src/core/Group.js line 1384 + src/core/Group.js line 1384 @@ -10313,7 +10313,7 @@
Parameters:
Source:
- src/core/Group.js line 1208 + src/core/Group.js line 1208 @@ -10480,7 +10480,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -10658,7 +10658,7 @@
Parameters:
Source:
- src/core/Group.js line 2431 + src/core/Group.js line 2431 @@ -10766,7 +10766,7 @@

Source:
- src/core/Group.js line 2455 + src/core/Group.js line 2455 @@ -10874,7 +10874,7 @@

Source:
- src/core/Group.js line 2444 + src/core/Group.js line 2444 @@ -11259,7 +11259,7 @@
Parameters:
Source:
- src/core/Group.js line 542 + src/core/Group.js line 542 @@ -11657,7 +11657,7 @@
Parameters:
Source:
- src/core/Group.js line 578 + src/core/Group.js line 578 @@ -11861,7 +11861,7 @@
Parameters:
Source:
- src/core/Group.js line 2001 + src/core/Group.js line 2001 @@ -12019,7 +12019,7 @@
Parameters:
Source:
- src/core/Group.js line 2053 + src/core/Group.js line 2053 @@ -12219,7 +12219,7 @@
Parameters:
Source:
- src/core/Group.js line 2757 + src/core/Group.js line 2757 @@ -12426,7 +12426,7 @@
Parameters:
Source:
- src/core/Group.js line 1465 + src/core/Group.js line 1465 @@ -12623,7 +12623,7 @@
Parameters:
Source:
- src/core/Group.js line 1783 + src/core/Group.js line 1783 @@ -12920,7 +12920,7 @@
Parameters:
Source:
- src/core/Group.js line 1822 + src/core/Group.js line 1822 @@ -13149,7 +13149,7 @@
Parameters:
Source:
- src/core/Group.js line 1908 + src/core/Group.js line 1908 @@ -13378,7 +13378,7 @@
Parameters:
Source:
- src/core/Group.js line 1935 + src/core/Group.js line 1935 @@ -13607,7 +13607,7 @@
Parameters:
Source:
- src/core/Group.js line 1881 + src/core/Group.js line 1881 @@ -13852,7 +13852,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -14151,7 +14151,7 @@
Parameters:
Source:
- src/core/Group.js line 2506 + src/core/Group.js line 2506 @@ -14311,7 +14311,7 @@
Parameters:
Source:
- src/core/Group.js line 523 + src/core/Group.js line 523 @@ -14423,7 +14423,7 @@

Source:
- src/core/Group.js line 2329 + src/core/Group.js line 2329 @@ -14605,7 +14605,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 289 + src/pixi/display/DisplayObjectContainer.js line 289 @@ -14765,7 +14765,7 @@
Parameters:
Source:
- src/core/Group.js line 1041 + src/core/Group.js line 1041 @@ -14932,7 +14932,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -15099,7 +15099,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -15341,7 +15341,7 @@
Parameters:
Source:
- src/core/Group.js line 2345 + src/core/Group.js line 2345 @@ -15523,7 +15523,7 @@
Parameters:
Source:
- src/core/Group.js line 2171 + src/core/Group.js line 2171 @@ -15873,7 +15873,7 @@
Parameters:
Source:
- src/core/Group.js line 2217 + src/core/Group.js line 2217 @@ -16223,7 +16223,7 @@
Parameters:
Source:
- src/core/Group.js line 2246 + src/core/Group.js line 2246 @@ -16612,7 +16612,7 @@
Parameters:
Source:
- src/core/Group.js line 2184 + src/core/Group.js line 2184 @@ -16854,7 +16854,7 @@
Parameters:
Source:
- src/core/Group.js line 2388 + src/core/Group.js line 2388 @@ -17012,7 +17012,7 @@
Parameters:
Source:
- src/core/Group.js line 1029 + src/core/Group.js line 1029 @@ -17129,7 +17129,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 445 + src/pixi/display/DisplayObjectContainer.js line 445 @@ -17347,7 +17347,7 @@
Parameters:
Source:
- src/core/Group.js line 2466 + src/core/Group.js line 2466 @@ -17566,7 +17566,7 @@
Parameters:
Source:
- src/core/Group.js line 2487 + src/core/Group.js line 2487 @@ -17675,7 +17675,7 @@

Source:
- src/core/Group.js line 2313 + src/core/Group.js line 2313 @@ -17858,7 +17858,7 @@
Parameters:
Source:
- src/core/Group.js line 1093 + src/core/Group.js line 1093 @@ -18236,7 +18236,7 @@
Parameters:
Source:
- src/core/Group.js line 2077 + src/core/Group.js line 2077 @@ -18344,7 +18344,7 @@

Source:
- src/core/Group.js line 1481 + src/core/Group.js line 1481 @@ -18428,7 +18428,7 @@

Source:
- src/core/Group.js line 1493 + src/core/Group.js line 1493 @@ -18618,7 +18618,7 @@
Parameters:
Source:
- src/core/Group.js line 2598 + src/core/Group.js line 2598 @@ -18776,7 +18776,7 @@
Parameters:
Source:
- src/core/Group.js line 972 + src/core/Group.js line 972 @@ -18934,7 +18934,7 @@
Parameters:
Source:
- src/core/Group.js line 949 + src/core/Group.js line 949 @@ -19165,7 +19165,7 @@
Parameters:
Source:
- src/core/Group.js line 1449 + src/core/Group.js line 1449 @@ -19250,7 +19250,7 @@

Source:
- src/core/Group.js line 830 + src/core/Group.js line 830 @@ -19358,7 +19358,7 @@

Source:
- src/core/Group.js line 1763 + src/core/Group.js line 1763 @@ -19447,7 +19447,7 @@

Source:
- src/core/Group.js line 1695 + src/core/Group.js line 1695 @@ -19532,7 +19532,7 @@

Source:
- src/core/Group.js line 858 + src/core/Group.js line 858 @@ -19788,7 +19788,7 @@
Parameters:
Source:
- src/core/Group.js line 2551 + src/core/Group.js line 2551 @@ -20049,7 +20049,7 @@
Parameters:
Source:
- src/core/Group.js line 2626 + src/core/Group.js line 2626 @@ -20317,7 +20317,7 @@
Parameters:
Source:
- src/core/Group.js line 2673 + src/core/Group.js line 2673 @@ -20460,7 +20460,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -20627,7 +20627,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -20818,7 +20818,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -20953,7 +20953,7 @@
Parameters:
Source:
- src/core/Group.js line 465 + src/core/Group.js line 465 @@ -21137,7 +21137,7 @@
Parameters:
Source:
- src/core/Group.js line 1055 + src/core/Group.js line 1055 @@ -21482,7 +21482,7 @@
Parameters:
Source:
- src/core/Group.js line 1525 + src/core/Group.js line 1525 @@ -21779,7 +21779,7 @@
Parameters:
Source:
- src/core/Group.js line 2275 + src/core/Group.js line 2275 @@ -21958,7 +21958,7 @@
Parameters:
Source:
- src/core/Group.js line 804 + src/core/Group.js line 804 @@ -22067,7 +22067,7 @@

Source:
- src/core/Group.js line 1016 + src/core/Group.js line 1016 @@ -22151,7 +22151,7 @@

Source:
- src/core/Group.js line 1503 + src/core/Group.js line 1503 @@ -22235,7 +22235,7 @@

Source:
- src/core/Group.js line 1515 + src/core/Group.js line 1515 @@ -22429,7 +22429,7 @@
Parameters:
Source:
- src/core/Group.js line 2727 + src/core/Group.js line 2727 @@ -22563,7 +22563,7 @@
Parameters:
Source:
- src/core/Group.js line 925 + src/core/Group.js line 925 @@ -22970,7 +22970,7 @@
Parameters:
Source:
- src/core/Group.js line 1237 + src/core/Group.js line 1237 @@ -23343,7 +23343,7 @@
Parameters:
Source:
- src/core/Group.js line 1267 + src/core/Group.js line 1267 @@ -23692,7 +23692,7 @@
Parameters:
Source:
- src/core/Group.js line 1305 + src/core/Group.js line 1305 @@ -23859,7 +23859,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -24169,7 +24169,7 @@
Parameters:
Source:
- src/core/Group.js line 1127 + src/core/Group.js line 1127 @@ -24278,7 +24278,7 @@

Source:
- src/core/Group.js line 2744 + src/core/Group.js line 2744 @@ -24476,7 +24476,7 @@
Parameters:
Source:
- src/core/Group.js line 1962 + src/core/Group.js line 1962 @@ -24683,7 +24683,7 @@
Parameters:
Source:
- src/core/Group.js line 1433 + src/core/Group.js line 1433 @@ -24842,7 +24842,7 @@
Parameters:
Source:
- src/core/Group.js line 886 + src/core/Group.js line 886 @@ -25009,7 +25009,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -25152,7 +25152,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -25365,7 +25365,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -25476,7 +25476,7 @@

Source:
- src/core/Group.js line 1735 + src/core/Group.js line 1735 @@ -25569,7 +25569,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -25758,7 +25758,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -25869,7 +25869,7 @@

Source:
- src/core/Group.js line 663 + src/core/Group.js line 663 @@ -26051,7 +26051,7 @@
Parameters:
Source:
- src/core/Group.js line 995 + src/core/Group.js line 995 @@ -26094,9 +26094,9 @@
Parameters:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -26113,7 +26113,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -26142,7 +26142,7 @@
Parameters:
- + diff --git a/docs/Phaser.Hermite.html b/docs/Phaser.Hermite.html index 20a64ad27..d68852e24 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 385 + src/geom/Hermite.js line 385 @@ -733,7 +733,7 @@
Type:
Source:
- src/geom/Hermite.js line 407 + src/geom/Hermite.js line 407 @@ -810,7 +810,7 @@
Type:
Source:
- src/geom/Hermite.js line 429 + src/geom/Hermite.js line 429 @@ -887,7 +887,7 @@
Type:
Source:
- src/geom/Hermite.js line 451 + src/geom/Hermite.js line 451 @@ -964,7 +964,7 @@
Type:
Source:
- src/geom/Hermite.js line 473 + src/geom/Hermite.js line 473 @@ -1041,7 +1041,7 @@
Type:
Source:
- src/geom/Hermite.js line 495 + src/geom/Hermite.js line 495 @@ -1118,7 +1118,7 @@
Type:
Source:
- src/geom/Hermite.js line 517 + src/geom/Hermite.js line 517 @@ -1195,7 +1195,7 @@
Type:
Source:
- src/geom/Hermite.js line 539 + src/geom/Hermite.js line 539 @@ -1272,7 +1272,7 @@
Type:
Source:
- src/geom/Hermite.js line 561 + src/geom/Hermite.js line 561 @@ -1350,7 +1350,7 @@

Source:
- src/geom/Hermite.js line 144 + src/geom/Hermite.js line 144 @@ -1509,7 +1509,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 170 + src/geom/Hermite.js line 170 @@ -1687,7 +1687,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 328 + src/geom/Hermite.js line 328 @@ -1865,7 +1865,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 345 + src/geom/Hermite.js line 345 @@ -2026,7 +2026,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 366 + src/geom/Hermite.js line 366 @@ -2245,7 +2245,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 270 + src/geom/Hermite.js line 270 @@ -2464,7 +2464,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 302 + src/geom/Hermite.js line 302 @@ -2642,7 +2642,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 206 + src/geom/Hermite.js line 206 @@ -2820,7 +2820,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 238 + src/geom/Hermite.js line 238 @@ -2930,7 +2930,7 @@

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

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -3045,7 +3045,7 @@
Returns:
- + diff --git a/docs/Phaser.Image.html b/docs/Phaser.Image.html index 7a5db2ff3..0022f6051 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 55 + src/gameobjects/components/LifeSpan.js line 55 @@ -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 186 + src/gameobjects/components/Core.js line 186 @@ -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 156 + src/gameobjects/components/Bounds.js line 156 @@ -1318,7 +1318,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 791 + src/pixi/display/DisplayObject.js line 791 @@ -1405,7 +1405,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 82 + src/gameobjects/components/FixedToCamera.js line 82 @@ -1492,7 +1492,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 56 + src/gameobjects/components/Bounds.js line 56 @@ -1579,7 +1579,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 76 + src/gameobjects/components/Bounds.js line 76 @@ -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 160 + src/gameobjects/components/Core.js line 160 @@ -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 153 + src/gameobjects/components/Core.js line 153 @@ -2021,7 +2021,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 211 + src/gameobjects/components/Core.js line 211 @@ -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 178 + src/gameobjects/components/Core.js line 178 @@ -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 205 + src/pixi/display/DisplayObject.js line 205 @@ -2477,7 +2477,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -2570,7 +2570,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 54 + src/gameobjects/components/FixedToCamera.js line 54 @@ -2661,7 +2661,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 257 + src/gameobjects/components/LoadTexture.js line 257 @@ -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 241 + src/gameobjects/components/Core.js line 241 @@ -2925,7 +2925,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 135 + src/gameobjects/components/Core.js line 135 @@ -3011,7 +3011,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 606 + src/pixi/display/DisplayObjectContainer.js line 606 @@ -3107,7 +3107,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -3195,7 +3195,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3282,7 +3282,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3373,7 +3373,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3466,7 +3466,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3568,7 +3568,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 196 + src/gameobjects/components/Core.js line 196 @@ -3655,7 +3655,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 96 + src/gameobjects/components/Bounds.js line 96 @@ -3745,7 +3745,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 70 + src/gameobjects/components/LifeSpan.js line 70 @@ -3834,7 +3834,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -3921,7 +3921,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 143 + src/gameobjects/components/Core.js line 143 @@ -4009,7 +4009,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4097,7 +4097,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 41 + src/gameobjects/components/Bounds.js line 41 @@ -4186,7 +4186,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -4275,7 +4275,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 252 + src/gameobjects/components/Core.js line 252 @@ -4362,7 +4362,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4450,7 +4450,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4536,7 +4536,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 218 + src/gameobjects/components/Core.js line 218 @@ -4622,7 +4622,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -4709,7 +4709,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -4796,7 +4796,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -4883,7 +4883,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 116 + src/gameobjects/components/Bounds.js line 116 @@ -4972,7 +4972,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5061,7 +5061,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -5149,7 +5149,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -5237,7 +5237,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -5331,7 +5331,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -5419,7 +5419,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -5505,7 +5505,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -5598,7 +5598,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -5691,7 +5691,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -5778,7 +5778,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 136 + src/gameobjects/components/Bounds.js line 136 @@ -5864,7 +5864,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -5950,7 +5950,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -6027,7 +6027,7 @@
Type:
Source:
- src/gameobjects/Image.js line 48 + src/gameobjects/Image.js line 48 @@ -6126,7 +6126,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -6212,7 +6212,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 576 + src/pixi/display/DisplayObjectContainer.js line 576 @@ -6300,7 +6300,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 204 + src/gameobjects/components/Core.js line 204 @@ -6392,7 +6392,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -6483,7 +6483,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -6574,7 +6574,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -6665,7 +6665,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -6756,7 +6756,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -6842,7 +6842,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -6929,7 +6929,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 626 + src/pixi/display/DisplayObject.js line 626 @@ -7016,7 +7016,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -7105,7 +7105,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 170 + src/gameobjects/components/Core.js line 170 @@ -7242,7 +7242,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -7433,7 +7433,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -7776,7 +7776,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 209 + src/gameobjects/components/Bounds.js line 209 @@ -8120,7 +8120,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 306 + src/gameobjects/components/Bounds.js line 306 @@ -8240,7 +8240,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -8407,7 +8407,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -8633,7 +8633,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -8733,7 +8733,7 @@

Source:
- src/pixi/display/DisplayObject.js line 254 + src/pixi/display/DisplayObject.js line 254 @@ -8978,7 +8978,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -9153,7 +9153,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 211 + src/pixi/display/Sprite.js line 211 @@ -9320,7 +9320,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -9487,7 +9487,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -9604,7 +9604,7 @@

Source:
- src/pixi/display/Sprite.js line 328 + src/pixi/display/Sprite.js line 328 @@ -9725,7 +9725,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 117 + src/gameobjects/components/LifeSpan.js line 117 @@ -10010,7 +10010,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -10106,7 +10106,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 84 + src/gameobjects/components/BringToTop.js line 84 @@ -10226,7 +10226,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 64 + src/gameobjects/components/BringToTop.js line 64 @@ -10409,7 +10409,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -10715,7 +10715,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -10832,7 +10832,7 @@

Source:
- src/gameobjects/components/Core.js line 354 + src/gameobjects/components/Core.js line 354 @@ -10921,7 +10921,7 @@

Source:
- src/gameobjects/Image.js line 80 + src/gameobjects/Image.js line 80 @@ -11014,7 +11014,7 @@

Source:
- src/gameobjects/components/Core.js line 318 + src/gameobjects/components/Core.js line 318 @@ -11157,7 +11157,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -11324,7 +11324,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -11515,7 +11515,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -11754,7 +11754,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -11871,7 +11871,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 236 + src/gameobjects/components/LoadTexture.js line 236 @@ -12064,7 +12064,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -12229,7 +12229,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 83 + src/gameobjects/components/LifeSpan.js line 83 @@ -12349,7 +12349,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 44 + src/gameobjects/components/BringToTop.js line 44 @@ -12540,7 +12540,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -12684,7 +12684,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 156 + src/gameobjects/components/LoadTexture.js line 156 @@ -12921,7 +12921,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 109 + src/gameobjects/components/ScaleMinMax.js line 109 @@ -13121,7 +13121,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 175 + src/pixi/display/Sprite.js line 175 @@ -13288,7 +13288,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -13431,7 +13431,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -13644,7 +13644,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -13765,7 +13765,7 @@

Source:
- src/gameobjects/components/Core.js line 343 + src/gameobjects/components/Core.js line 343 @@ -13858,7 +13858,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -13978,7 +13978,7 @@

Source:
- src/gameobjects/components/Crop.js line 85 + src/gameobjects/components/Crop.js line 85 @@ -14141,7 +14141,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -14210,9 +14210,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -14229,7 +14229,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -14258,7 +14258,7 @@
Returns:
- + diff --git a/docs/Phaser.ImageCollection.html b/docs/Phaser.ImageCollection.html index d77986a6f..b6ed47e23 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 113 + src/tilemap/ImageCollection.js line 113 @@ -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.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -1650,7 +1650,7 @@
Returns:
- + diff --git a/docs/Phaser.Input.html b/docs/Phaser.Input.html index 6959d246d..b0e70d644 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 411 + src/input/Input.js line 411 @@ -409,7 +409,7 @@
Type:
Source:
- src/input/Input.js line 392 + src/input/Input.js line 392 @@ -482,7 +482,7 @@
Type:
Source:
- src/input/Input.js line 404 + src/input/Input.js line 404 @@ -555,7 +555,7 @@
Type:
Source:
- src/input/Input.js line 398 + src/input/Input.js line 398 @@ -633,7 +633,7 @@
Type:
Source:
- src/input/Input.js line 237 + src/input/Input.js line 237 @@ -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 118 + src/input/Input.js line 118 @@ -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 290 + src/input/Input.js line 290 @@ -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 124 + src/input/Input.js line 124 @@ -1349,7 +1349,7 @@
Type:
Source:
- src/input/Input.js line 355 + src/input/Input.js line 355 @@ -1433,7 +1433,7 @@
Type:
Source:
- src/input/Input.js line 130 + src/input/Input.js line 130 @@ -1517,7 +1517,7 @@
Type:
Source:
- src/input/Input.js line 136 + src/input/Input.js line 136 @@ -1594,7 +1594,7 @@
Type:
Source:
- src/input/Input.js line 263 + src/input/Input.js line 263 @@ -1680,7 +1680,7 @@
Type:
Source:
- src/input/Input.js line 106 + src/input/Input.js line 106 @@ -1765,7 +1765,7 @@
Type:
Source:
- src/input/Input.js line 349 + src/input/Input.js line 349 @@ -1844,7 +1844,7 @@
Type:
Source:
- src/input/Input.js line 256 + src/input/Input.js line 256 @@ -1922,7 +1922,7 @@
Type:
Source:
- src/input/Input.js line 246 + src/input/Input.js line 246 @@ -2000,7 +2000,7 @@
Type:
Source:
- src/input/Input.js line 40 + src/input/Input.js line 40 @@ -2079,7 +2079,7 @@
Type:
Source:
- src/input/Input.js line 283 + src/input/Input.js line 283 @@ -2156,7 +2156,7 @@
Type:
Source:
- src/input/Input.js line 73 + src/input/Input.js line 73 @@ -2238,7 +2238,7 @@
Type:
Source:
- src/input/Input.js line 309 + src/input/Input.js line 309 @@ -2319,7 +2319,7 @@
Type:
Source:
- src/input/Input.js line 341 + src/input/Input.js line 341 @@ -2401,7 +2401,7 @@
Type:
Source:
- src/input/Input.js line 331 + src/input/Input.js line 331 @@ -2483,7 +2483,7 @@
Type:
Source:
- src/input/Input.js line 320 + src/input/Input.js line 320 @@ -2560,7 +2560,7 @@
Type:
Source:
- src/input/Input.js line 173 + src/input/Input.js line 173 @@ -2637,7 +2637,7 @@
Type:
Source:
- src/input/Input.js line 178 + src/input/Input.js line 178 @@ -2714,7 +2714,7 @@
Type:
Source:
- src/input/Input.js line 183 + src/input/Input.js line 183 @@ -2791,7 +2791,7 @@
Type:
Source:
- src/input/Input.js line 188 + src/input/Input.js line 188 @@ -2868,7 +2868,7 @@
Type:
Source:
- src/input/Input.js line 193 + src/input/Input.js line 193 @@ -2945,7 +2945,7 @@
Type:
Source:
- src/input/Input.js line 198 + src/input/Input.js line 198 @@ -3022,7 +3022,7 @@
Type:
Source:
- src/input/Input.js line 203 + src/input/Input.js line 203 @@ -3099,7 +3099,7 @@
Type:
Source:
- src/input/Input.js line 208 + src/input/Input.js line 208 @@ -3176,7 +3176,7 @@
Type:
Source:
- src/input/Input.js line 213 + src/input/Input.js line 213 @@ -3253,7 +3253,7 @@
Type:
Source:
- src/input/Input.js line 218 + src/input/Input.js line 218 @@ -3332,7 +3332,7 @@
Type:
Source:
- src/input/Input.js line 228 + src/input/Input.js line 228 @@ -3409,7 +3409,7 @@
Type:
Source:
- src/input/Input.js line 1248 + src/input/Input.js line 1248 @@ -3486,7 +3486,7 @@
Type:
Source:
- src/input/Input.js line 58 + src/input/Input.js line 58 @@ -3563,7 +3563,7 @@
Type:
Source:
- src/input/Input.js line 79 + src/input/Input.js line 79 @@ -3648,7 +3648,7 @@
Type:
Source:
- src/input/Input.js line 159 + src/input/Input.js line 159 @@ -3727,7 +3727,7 @@
Type:
Source:
- src/input/Input.js line 145 + src/input/Input.js line 145 @@ -3811,7 +3811,7 @@
Type:
Source:
- src/input/Input.js line 151 + src/input/Input.js line 151 @@ -3889,7 +3889,7 @@
Type:
Source:
- src/input/Input.js line 298 + src/input/Input.js line 298 @@ -3966,7 +3966,7 @@
Type:
Source:
- src/input/Input.js line 96 + src/input/Input.js line 96 @@ -4043,7 +4043,7 @@
Type:
Source:
- src/input/Input.js line 84 + src/input/Input.js line 84 @@ -4127,7 +4127,7 @@
Type:
Source:
- src/input/Input.js line 112 + src/input/Input.js line 112 @@ -4204,7 +4204,7 @@
Type:
Source:
- src/input/Input.js line 1278 + src/input/Input.js line 1278 @@ -4281,7 +4281,7 @@
Type:
Source:
- src/input/Input.js line 1263 + src/input/Input.js line 1263 @@ -4360,7 +4360,7 @@
Type:
Source:
- src/input/Input.js line 273 + src/input/Input.js line 273 @@ -4439,7 +4439,7 @@
Type:
Source:
- src/input/Input.js line 168 + src/input/Input.js line 168 @@ -4516,7 +4516,7 @@
Type:
Source:
- src/input/Input.js line 1293 + src/input/Input.js line 1293 @@ -4593,7 +4593,7 @@
Type:
Source:
- src/input/Input.js line 1308 + src/input/Input.js line 1308 @@ -4671,7 +4671,7 @@
Type:
Source:
- src/input/Input.js line 1208 + src/input/Input.js line 1208 @@ -4749,7 +4749,7 @@
Type:
Source:
- src/input/Input.js line 1228 + src/input/Input.js line 1228 @@ -4912,7 +4912,7 @@
Parameters:
Source:
- src/input/Input.js line 576 + src/input/Input.js line 576 @@ -4998,7 +4998,7 @@

Source:
- src/input/Input.js line 690 + src/input/Input.js line 690 @@ -5254,7 +5254,7 @@
Parameters:
Source:
- src/input/Input.js line 601 + src/input/Input.js line 601 @@ -5388,7 +5388,7 @@
Parameters:
Source:
- src/input/Input.js line 426 + src/input/Input.js line 426 @@ -5546,7 +5546,7 @@
Parameters:
Source:
- src/input/Input.js line 669 + src/input/Input.js line 669 @@ -5630,7 +5630,7 @@

Source:
- src/input/Input.js line 518 + src/input/Input.js line 518 @@ -5791,7 +5791,7 @@
Parameters:
Source:
- src/input/Input.js line 1041 + src/input/Input.js line 1041 @@ -5969,7 +5969,7 @@
Parameters:
Source:
- src/input/Input.js line 966 + src/input/Input.js line 966 @@ -6129,7 +6129,7 @@
Parameters:
Source:
- src/input/Input.js line 1016 + src/input/Input.js line 1016 @@ -6290,7 +6290,7 @@
Parameters:
Source:
- src/input/Input.js line 990 + src/input/Input.js line 990 @@ -6496,7 +6496,7 @@
Parameters:
Source:
- src/input/Input.js line 1062 + src/input/Input.js line 1062 @@ -6654,7 +6654,7 @@
Parameters:
Source:
- src/input/Input.js line 622 + src/input/Input.js line 622 @@ -6835,7 +6835,7 @@
Parameters:
Source:
- src/input/Input.js line 767 + src/input/Input.js line 767 @@ -6993,7 +6993,7 @@
Parameters:
Source:
- src/input/Input.js line 820 + src/input/Input.js line 820 @@ -7164,7 +7164,7 @@
Parameters:
Source:
- src/input/Input.js line 548 + src/input/Input.js line 548 @@ -7299,7 +7299,7 @@
Parameters:
Source:
- src/input/Input.js line 833 + src/input/Input.js line 833 @@ -7457,7 +7457,7 @@
Parameters:
Source:
- src/input/Input.js line 906 + src/input/Input.js line 906 @@ -7565,7 +7565,7 @@

Source:
- src/input/Input.js line 715 + src/input/Input.js line 715 @@ -7700,7 +7700,7 @@
Parameters:
Source:
- src/input/Input.js line 872 + src/input/Input.js line 872 @@ -7767,9 +7767,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -7786,7 +7786,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -7815,7 +7815,7 @@
Returns:
- + diff --git a/docs/Phaser.InputHandler.html b/docs/Phaser.InputHandler.html index d3a1dbaf6..3a3680504 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 1661 + src/input/InputHandler.js line 1661 @@ -2913,7 +2913,7 @@

Source:
- src/input/InputHandler.js line 1710 + src/input/InputHandler.js line 1710 @@ -3124,7 +3124,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 777 + src/input/InputHandler.js line 777 @@ -3339,7 +3339,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 690 + src/input/InputHandler.js line 690 @@ -3554,7 +3554,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 734 + src/input/InputHandler.js line 734 @@ -3658,7 +3658,7 @@

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

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

Source:
- src/input/InputHandler.js line 1650 + src/input/InputHandler.js line 1650 @@ -3981,7 +3981,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1358 + src/input/InputHandler.js line 1358 @@ -4369,7 +4369,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1377 + src/input/InputHandler.js line 1377 @@ -4716,7 +4716,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1623 + src/input/InputHandler.js line 1623 @@ -4850,7 +4850,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1552 + src/input/InputHandler.js line 1552 @@ -5008,7 +5008,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1518 + src/input/InputHandler.js line 1518 @@ -5142,7 +5142,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1535 + src/input/InputHandler.js line 1535 @@ -5226,7 +5226,7 @@

Source:
- src/input/InputHandler.js line 487 + src/input/InputHandler.js line 487 @@ -5440,7 +5440,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1291 + src/input/InputHandler.js line 1291 @@ -5650,7 +5650,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1275 + src/input/InputHandler.js line 1275 @@ -5860,7 +5860,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1307 + src/input/InputHandler.js line 1307 @@ -6070,7 +6070,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1323 + src/input/InputHandler.js line 1323 @@ -6244,7 +6244,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1339 + src/input/InputHandler.js line 1339 @@ -6423,7 +6423,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 528 + src/input/InputHandler.js line 528 @@ -6603,7 +6603,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 676 + src/input/InputHandler.js line 676 @@ -6781,7 +6781,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 618 + src/input/InputHandler.js line 618 @@ -6959,7 +6959,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 586 + src/input/InputHandler.js line 586 @@ -7139,7 +7139,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 558 + src/input/InputHandler.js line 558 @@ -7313,7 +7313,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 662 + src/input/InputHandler.js line 662 @@ -7487,7 +7487,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 648 + src/input/InputHandler.js line 648 @@ -7661,7 +7661,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 572 + src/input/InputHandler.js line 572 @@ -7836,7 +7836,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 543 + src/input/InputHandler.js line 543 @@ -8017,7 +8017,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 498 + src/input/InputHandler.js line 498 @@ -8196,7 +8196,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 513 + src/input/InputHandler.js line 513 @@ -8304,7 +8304,7 @@

Source:
- src/input/InputHandler.js line 377 + src/input/InputHandler.js line 377 @@ -8498,7 +8498,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1607 + src/input/InputHandler.js line 1607 @@ -8692,7 +8692,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 283 + src/input/InputHandler.js line 283 @@ -8850,7 +8850,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1456 + src/input/InputHandler.js line 1456 @@ -8934,7 +8934,7 @@

Source:
- src/input/InputHandler.js line 405 + src/input/InputHandler.js line 405 @@ -9068,7 +9068,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1571 + src/input/InputHandler.js line 1571 @@ -9203,7 +9203,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 845 + src/input/InputHandler.js line 845 @@ -9454,7 +9454,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 449 + src/input/InputHandler.js line 449 @@ -9521,9 +9521,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -9569,7 +9569,7 @@
Returns:
- + diff --git a/docs/Phaser.Key.html b/docs/Phaser.Key.html index 2469ceb2d..032842efc 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 367 + src/input/Key.js line 367 @@ -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 323 + src/input/Key.js line 323 @@ -1208,7 +1208,7 @@
Type:
Source:
- src/input/Key.js line 345 + src/input/Key.js line 345 @@ -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 267 + src/input/Key.js line 267 @@ -2159,7 +2159,7 @@

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

Source:
- src/input/Key.js line 309 + src/input/Key.js line 309 @@ -2426,7 +2426,7 @@
Parameters:
Source:
- src/input/Key.js line 164 + src/input/Key.js line 164 @@ -2560,7 +2560,7 @@
Parameters:
Source:
- src/input/Key.js line 203 + src/input/Key.js line 203 @@ -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 138 + src/input/Key.js line 138 @@ -2955,7 +2955,7 @@
Parameters:
Source:
- src/input/Key.js line 282 + src/input/Key.js line 282 @@ -3022,9 +3022,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -3070,7 +3070,7 @@
Returns:
- + diff --git a/docs/Phaser.KeyCode.html b/docs/Phaser.KeyCode.html index 6af69b196..a45032926 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 646 + src/input/Keyboard.js line 646 @@ -277,7 +277,7 @@

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Source:
- src/input/Keyboard.js line 669 + src/input/Keyboard.js line 669 @@ -2819,7 +2819,7 @@

Source:
- src/input/Keyboard.js line 948 + src/input/Keyboard.js line 948 @@ -2881,7 +2881,7 @@

Source:
- src/input/Keyboard.js line 921 + src/input/Keyboard.js line 921 @@ -2943,7 +2943,7 @@

Source:
- src/input/Keyboard.js line 672 + src/input/Keyboard.js line 672 @@ -3005,7 +3005,7 @@

Source:
- src/input/Keyboard.js line 942 + src/input/Keyboard.js line 942 @@ -3067,7 +3067,7 @@

Source:
- src/input/Keyboard.js line 675 + src/input/Keyboard.js line 675 @@ -3129,7 +3129,7 @@

Source:
- src/input/Keyboard.js line 678 + src/input/Keyboard.js line 678 @@ -3191,7 +3191,7 @@

Source:
- src/input/Keyboard.js line 681 + src/input/Keyboard.js line 681 @@ -3253,7 +3253,7 @@

Source:
- src/input/Keyboard.js line 924 + src/input/Keyboard.js line 924 @@ -3315,7 +3315,7 @@

Source:
- src/input/Keyboard.js line 684 + src/input/Keyboard.js line 684 @@ -3377,7 +3377,7 @@

Source:
- src/input/Keyboard.js line 939 + src/input/Keyboard.js line 939 @@ -3439,7 +3439,7 @@

Source:
- src/input/Keyboard.js line 687 + src/input/Keyboard.js line 687 @@ -3501,7 +3501,7 @@

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

Source:
- src/input/Keyboard.js line 951 + src/input/Keyboard.js line 951 @@ -3625,7 +3625,7 @@

Source:
- src/input/Keyboard.js line 756 + src/input/Keyboard.js line 756 @@ -3687,7 +3687,7 @@

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

Source:
- src/input/Keyboard.js line 762 + src/input/Keyboard.js line 762 @@ -3811,7 +3811,7 @@

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

Source:
- src/input/Keyboard.js line 768 + src/input/Keyboard.js line 768 @@ -3935,7 +3935,7 @@

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

Source:
- src/input/Keyboard.js line 774 + src/input/Keyboard.js line 774 @@ -4059,7 +4059,7 @@

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

Source:
- src/input/Keyboard.js line 780 + src/input/Keyboard.js line 780 @@ -4183,7 +4183,7 @@

Source:
- src/input/Keyboard.js line 783 + src/input/Keyboard.js line 783 @@ -4245,7 +4245,7 @@

Source:
- src/input/Keyboard.js line 789 + src/input/Keyboard.js line 789 @@ -4307,7 +4307,7 @@

Source:
- src/input/Keyboard.js line 798 + src/input/Keyboard.js line 798 @@ -4369,7 +4369,7 @@

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

Source:
- src/input/Keyboard.js line 792 + src/input/Keyboard.js line 792 @@ -4493,7 +4493,7 @@

Source:
- src/input/Keyboard.js line 786 + src/input/Keyboard.js line 786 @@ -4555,7 +4555,7 @@

Source:
- src/input/Keyboard.js line 795 + src/input/Keyboard.js line 795 @@ -4617,7 +4617,7 @@

Source:
- src/input/Keyboard.js line 690 + src/input/Keyboard.js line 690 @@ -4679,7 +4679,7 @@

Source:
- src/input/Keyboard.js line 729 + src/input/Keyboard.js line 729 @@ -4741,7 +4741,7 @@

Source:
- src/input/Keyboard.js line 870 + src/input/Keyboard.js line 870 @@ -4803,7 +4803,7 @@

Source:
- src/input/Keyboard.js line 693 + src/input/Keyboard.js line 693 @@ -4865,7 +4865,7 @@

Source:
- src/input/Keyboard.js line 915 + src/input/Keyboard.js line 915 @@ -4927,7 +4927,7 @@

Source:
- src/input/Keyboard.js line 912 + src/input/Keyboard.js line 912 @@ -4989,7 +4989,7 @@

Source:
- src/input/Keyboard.js line 861 + src/input/Keyboard.js line 861 @@ -5051,7 +5051,7 @@

Source:
- src/input/Keyboard.js line 936 + src/input/Keyboard.js line 936 @@ -5113,7 +5113,7 @@

Source:
- src/input/Keyboard.js line 696 + src/input/Keyboard.js line 696 @@ -5175,7 +5175,7 @@

Source:
- src/input/Keyboard.js line 864 + src/input/Keyboard.js line 864 @@ -5237,7 +5237,7 @@

Source:
- src/input/Keyboard.js line 879 + src/input/Keyboard.js line 879 @@ -5299,7 +5299,7 @@

Source:
- src/input/Keyboard.js line 699 + src/input/Keyboard.js line 699 @@ -5361,7 +5361,7 @@

Source:
- src/input/Keyboard.js line 930 + src/input/Keyboard.js line 930 @@ -5423,7 +5423,7 @@

Source:
- src/input/Keyboard.js line 702 + src/input/Keyboard.js line 702 @@ -5485,7 +5485,7 @@

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

Source:
- src/input/Keyboard.js line 894 + src/input/Keyboard.js line 894 @@ -5609,7 +5609,7 @@

Source:
- src/input/Keyboard.js line 744 + src/input/Keyboard.js line 744 @@ -5671,7 +5671,7 @@

Source:
- src/input/Keyboard.js line 909 + src/input/Keyboard.js line 909 @@ -5733,7 +5733,7 @@

Source:
- src/input/Keyboard.js line 705 + src/input/Keyboard.js line 705 @@ -5795,7 +5795,7 @@

Source:
- src/input/Keyboard.js line 885 + src/input/Keyboard.js line 885 @@ -5857,7 +5857,7 @@

Source:
- src/input/Keyboard.js line 735 + src/input/Keyboard.js line 735 @@ -5919,7 +5919,7 @@

Source:
- src/input/Keyboard.js line 867 + src/input/Keyboard.js line 867 @@ -5981,7 +5981,7 @@

Source:
- src/input/Keyboard.js line 732 + src/input/Keyboard.js line 732 @@ -6043,7 +6043,7 @@

Source:
- src/input/Keyboard.js line 708 + src/input/Keyboard.js line 708 @@ -6105,7 +6105,7 @@

Source:
- src/input/Keyboard.js line 858 + src/input/Keyboard.js line 858 @@ -6167,7 +6167,7 @@

Source:
- src/input/Keyboard.js line 927 + src/input/Keyboard.js line 927 @@ -6229,7 +6229,7 @@

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

Source:
- src/input/Keyboard.js line 714 + src/input/Keyboard.js line 714 @@ -6353,7 +6353,7 @@

Source:
- src/input/Keyboard.js line 717 + src/input/Keyboard.js line 717 @@ -6415,7 +6415,7 @@

Source:
- src/input/Keyboard.js line 720 + src/input/Keyboard.js line 720 @@ -6477,7 +6477,7 @@

Source:
- src/input/Keyboard.js line 723 + src/input/Keyboard.js line 723 @@ -6539,7 +6539,7 @@

Source:
- src/input/Keyboard.js line 726 + src/input/Keyboard.js line 726 @@ -6572,9 +6572,9 @@

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -6591,7 +6591,7 @@

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -6620,7 +6620,7 @@

- + diff --git a/docs/Phaser.Keyboard.html b/docs/Phaser.Keyboard.html index 86e68fee3..32b114958 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 33 + src/input/Keyboard.js line 33 @@ -417,7 +417,7 @@
Type:
Source:
- src/input/Keyboard.js line 55 + src/input/Keyboard.js line 55 @@ -501,7 +501,7 @@
Type:
Source:
- src/input/Keyboard.js line 40 + src/input/Keyboard.js line 40 @@ -578,7 +578,7 @@
Type:
Source:
- src/input/Keyboard.js line 45 + src/input/Keyboard.js line 45 @@ -655,7 +655,7 @@
Type:
Source:
- src/input/Keyboard.js line 26 + src/input/Keyboard.js line 26 @@ -732,7 +732,7 @@
Type:
Source:
- src/input/Keyboard.js line 588 + src/input/Keyboard.js line 588 @@ -809,7 +809,7 @@
Type:
Source:
- src/input/Keyboard.js line 614 + src/input/Keyboard.js line 614 @@ -886,7 +886,7 @@
Type:
Source:
- src/input/Keyboard.js line 60 + src/input/Keyboard.js line 60 @@ -963,7 +963,7 @@
Type:
Source:
- src/input/Keyboard.js line 65 + src/input/Keyboard.js line 65 @@ -1040,7 +1040,7 @@
Type:
Source:
- src/input/Keyboard.js line 70 + src/input/Keyboard.js line 70 @@ -1117,7 +1117,7 @@
Type:
Source:
- src/input/Keyboard.js line 50 + src/input/Keyboard.js line 50 @@ -1381,7 +1381,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 120 + src/input/Keyboard.js line 120 @@ -1516,7 +1516,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 162 + src/input/Keyboard.js line 162 @@ -1684,7 +1684,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 315 + src/input/Keyboard.js line 315 @@ -1822,7 +1822,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 182 + src/input/Keyboard.js line 182 @@ -1930,7 +1930,7 @@

Source:
- src/input/Keyboard.js line 353 + src/input/Keyboard.js line 353 @@ -2014,7 +2014,7 @@

Source:
- src/input/Keyboard.js line 223 + src/input/Keyboard.js line 223 @@ -2123,7 +2123,7 @@

Source:
- src/input/Keyboard.js line 299 + src/input/Keyboard.js line 299 @@ -2314,7 +2314,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 501 + src/input/Keyboard.js line 501 @@ -2472,7 +2472,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 567 + src/input/Keyboard.js line 567 @@ -2630,7 +2630,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 381 + src/input/Keyboard.js line 381 @@ -2764,7 +2764,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 420 + src/input/Keyboard.js line 420 @@ -2898,7 +2898,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 442 + src/input/Keyboard.js line 442 @@ -2982,7 +2982,7 @@

Source:
- src/input/Keyboard.js line 149 + src/input/Keyboard.js line 149 @@ -3116,7 +3116,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 207 + src/input/Keyboard.js line 207 @@ -3250,7 +3250,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 342 + src/input/Keyboard.js line 342 @@ -3404,7 +3404,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 478 + src/input/Keyboard.js line 478 @@ -3489,7 +3489,7 @@

Source:
- src/input/Keyboard.js line 234 + src/input/Keyboard.js line 234 @@ -3593,7 +3593,7 @@

Source:
- src/input/Keyboard.js line 281 + src/input/Keyboard.js line 281 @@ -3677,7 +3677,7 @@

Source:
- src/input/Keyboard.js line 363 + src/input/Keyboard.js line 363 @@ -3871,7 +3871,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 522 + src/input/Keyboard.js line 522 @@ -3938,9 +3938,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -3957,7 +3957,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -3986,7 +3986,7 @@
Returns:
- + diff --git a/docs/Phaser.Line.html b/docs/Phaser.Line.html index 6000bda5f..ba726c5d1 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 373 + src/geom/Line.js line 373 @@ -552,7 +552,7 @@
Type:
Source:
- src/geom/Line.js line 485 + src/geom/Line.js line 485 @@ -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 513 + src/geom/Line.js line 513 @@ -783,7 +783,7 @@
Type:
Source:
- src/geom/Line.js line 443 + src/geom/Line.js line 443 @@ -860,7 +860,7 @@
Type:
Source:
- src/geom/Line.js line 359 + src/geom/Line.js line 359 @@ -937,7 +937,7 @@
Type:
Source:
- src/geom/Line.js line 555 + src/geom/Line.js line 555 @@ -1014,7 +1014,7 @@
Type:
Source:
- src/geom/Line.js line 527 + src/geom/Line.js line 527 @@ -1091,7 +1091,7 @@
Type:
Source:
- src/geom/Line.js line 541 + src/geom/Line.js line 541 @@ -1168,7 +1168,7 @@
Type:
Source:
- src/geom/Line.js line 401 + src/geom/Line.js line 401 @@ -1245,7 +1245,7 @@
Type:
Source:
- src/geom/Line.js line 457 + src/geom/Line.js line 457 @@ -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 471 + src/geom/Line.js line 471 @@ -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 499 + src/geom/Line.js line 499 @@ -1707,7 +1707,7 @@
Type:
Source:
- src/geom/Line.js line 415 + src/geom/Line.js line 415 @@ -1784,7 +1784,7 @@
Type:
Source:
- src/geom/Line.js line 429 + src/geom/Line.js line 429 @@ -1989,7 +1989,7 @@
Parameters:
Source:
- src/geom/Line.js line 738 + src/geom/Line.js line 738 @@ -2283,7 +2283,7 @@
Parameters:
Source:
- src/geom/Line.js line 624 + src/geom/Line.js line 624 @@ -2649,7 +2649,7 @@
Parameters:
Source:
- src/geom/Line.js line 569 + src/geom/Line.js line 569 @@ -2841,7 +2841,7 @@
Parameters:
Source:
- src/geom/Line.js line 643 + src/geom/Line.js line 643 @@ -3024,7 +3024,7 @@
Parameters:
Source:
- src/geom/Line.js line 803 + src/geom/Line.js line 803 @@ -3208,7 +3208,7 @@
Parameters:
Source:
- src/geom/Line.js line 205 + src/geom/Line.js line 205 @@ -3378,7 +3378,7 @@
Parameters:
Source:
- src/geom/Line.js line 337 + src/geom/Line.js line 337 @@ -3595,7 +3595,7 @@
Parameters:
Source:
- src/geom/Line.js line 281 + src/geom/Line.js line 281 @@ -3825,7 +3825,7 @@
Parameters:
Source:
- src/geom/Line.js line 97 + src/geom/Line.js line 97 @@ -4007,7 +4007,7 @@
Parameters:
Source:
- src/geom/Line.js line 68 + src/geom/Line.js line 68 @@ -4260,7 +4260,7 @@
Parameters:
Source:
- src/geom/Line.js line 75 + src/geom/Line.js line 75 @@ -4514,7 +4514,7 @@
Parameters:
Source:
- src/geom/Line.js line 159 + src/geom/Line.js line 159 @@ -4684,7 +4684,7 @@
Parameters:
Source:
- src/geom/Line.js line 188 + src/geom/Line.js line 188 @@ -4934,7 +4934,7 @@
Parameters:
Source:
- src/geom/Line.js line 228 + src/geom/Line.js line 228 @@ -5184,7 +5184,7 @@
Parameters:
Source:
- src/geom/Line.js line 242 + src/geom/Line.js line 242 @@ -5358,7 +5358,7 @@
Parameters:
Source:
- src/geom/Line.js line 261 + src/geom/Line.js line 261 @@ -5517,7 +5517,7 @@
Parameters:
Source:
- src/geom/Line.js line 175 + src/geom/Line.js line 175 @@ -5734,7 +5734,7 @@
Parameters:
Source:
- src/geom/Line.js line 115 + src/geom/Line.js line 115 @@ -6021,7 +6021,7 @@
Parameters:
Source:
- src/geom/Line.js line 139 + src/geom/Line.js line 139 @@ -6319,7 +6319,7 @@
Parameters:
Source:
- src/geom/Line.js line 43 + src/geom/Line.js line 43 @@ -6386,9 +6386,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -6405,7 +6405,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -6434,7 +6434,7 @@
Returns:
- + diff --git a/docs/Phaser.LinkedList.html b/docs/Phaser.LinkedList.html index edbaa89fa..8d1ed3441 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 58 + src/utils/LinkedList.js line 58 @@ -886,7 +886,7 @@
Parameters:
Source:
- src/utils/LinkedList.js line 152 + src/utils/LinkedList.js line 152 @@ -1020,7 +1020,7 @@
Parameters:
Source:
- src/utils/LinkedList.js line 104 + src/utils/LinkedList.js line 104 @@ -1104,7 +1104,7 @@

Source:
- src/utils/LinkedList.js line 90 + src/utils/LinkedList.js line 90 @@ -1147,9 +1147,9 @@

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -1166,7 +1166,7 @@

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -1195,7 +1195,7 @@

- + diff --git a/docs/Phaser.Loader.html b/docs/Phaser.Loader.html index 3833cdc34..b9c1996ab 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 21 + src/loader/Loader.js line 21 @@ -340,7 +340,7 @@
Type:
Source:
- src/loader/Loader.js line 340 + src/loader/Loader.js line 340 @@ -413,7 +413,7 @@
Type:
Source:
- src/loader/Loader.js line 320 + src/loader/Loader.js line 320 @@ -486,7 +486,7 @@
Type:
Source:
- src/loader/Loader.js line 326 + src/loader/Loader.js line 326 @@ -559,7 +559,7 @@
Type:
Source:
- src/loader/Loader.js line 302 + src/loader/Loader.js line 302 @@ -632,7 +632,7 @@
Type:
Source:
- src/loader/Loader.js line 308 + src/loader/Loader.js line 308 @@ -705,7 +705,7 @@
Type:
Source:
- src/loader/Loader.js line 332 + src/loader/Loader.js line 332 @@ -778,7 +778,7 @@
Type:
Source:
- src/loader/Loader.js line 314 + src/loader/Loader.js line 314 @@ -855,7 +855,7 @@
Type:
Source:
- src/loader/Loader.js line 226 + src/loader/Loader.js line 226 @@ -934,7 +934,7 @@
Type:
Source:
- src/loader/Loader.js line 82 + src/loader/Loader.js line 82 @@ -1011,7 +1011,7 @@
Type:
Source:
- src/loader/Loader.js line 35 + src/loader/Loader.js line 35 @@ -1091,7 +1091,7 @@
Type:
Source:
- src/loader/Loader.js line 73 + src/loader/Loader.js line 73 @@ -1169,7 +1169,7 @@
Type:
Source:
- src/loader/Loader.js line 209 + src/loader/Loader.js line 209 @@ -1246,7 +1246,7 @@
Type:
Source:
- src/loader/Loader.js line 28 + src/loader/Loader.js line 28 @@ -1323,7 +1323,7 @@
Type:
Source:
- src/loader/Loader.js line 56 + src/loader/Loader.js line 56 @@ -1416,7 +1416,7 @@
Type:
Source:
- src/loader/Loader.js line 127 + src/loader/Loader.js line 127 @@ -1493,7 +1493,7 @@
Type:
Source:
- src/loader/Loader.js line 49 + src/loader/Loader.js line 49 @@ -1572,7 +1572,7 @@
Type:
Source:
- src/loader/Loader.js line 220 + src/loader/Loader.js line 220 @@ -1650,7 +1650,7 @@
Type:
Source:
- src/loader/Loader.js line 147 + src/loader/Loader.js line 147 @@ -1730,7 +1730,7 @@
Type:
Source:
- src/loader/Loader.js line 189 + src/loader/Loader.js line 189 @@ -1809,7 +1809,7 @@
Type:
Source:
- src/loader/Loader.js line 200 + src/loader/Loader.js line 200 @@ -1888,7 +1888,7 @@
Type:
Source:
- src/loader/Loader.js line 176 + src/loader/Loader.js line 176 @@ -1966,7 +1966,7 @@
Type:
Source:
- src/loader/Loader.js line 155 + src/loader/Loader.js line 155 @@ -2044,7 +2044,7 @@
Type:
Source:
- src/loader/Loader.js line 139 + src/loader/Loader.js line 139 @@ -2123,7 +2123,7 @@
Type:
Source:
- src/loader/Loader.js line 166 + src/loader/Loader.js line 166 @@ -2210,7 +2210,7 @@
Type:
Source:
- src/loader/Loader.js line 104 + src/loader/Loader.js line 104 @@ -2288,7 +2288,7 @@
Type:
Source:
- src/loader/Loader.js line 66 + src/loader/Loader.js line 66 @@ -2403,7 +2403,7 @@
Properties:
Source:
- src/loader/Loader.js line 3360 + src/loader/Loader.js line 3360 @@ -2520,7 +2520,7 @@
Properties:
Source:
- src/loader/Loader.js line 3341 + src/loader/Loader.js line 3341 @@ -2597,7 +2597,7 @@
Type:
Source:
- src/loader/Loader.js line 42 + src/loader/Loader.js line 42 @@ -2725,7 +2725,7 @@
Parameters:
Source:
- src/loader/Loader.js line 355 + src/loader/Loader.js line 355 @@ -2904,7 +2904,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1955 + src/loader/Loader.js line 1955 @@ -3277,7 +3277,7 @@
Parameters:
Source:
- src/loader/Loader.js line 564 + src/loader/Loader.js line 564 @@ -3599,7 +3599,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1823 + src/loader/Loader.js line 1823 @@ -3888,7 +3888,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1680 + src/loader/Loader.js line 1680 @@ -4177,7 +4177,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1725 + src/loader/Loader.js line 1725 @@ -4466,7 +4466,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1770 + src/loader/Loader.js line 1770 @@ -4733,7 +4733,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1246 + src/loader/Loader.js line 1246 @@ -5076,7 +5076,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1288 + src/loader/Loader.js line 1288 @@ -5413,7 +5413,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1346 + src/loader/Loader.js line 1346 @@ -5713,7 +5713,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1144 + src/loader/Loader.js line 1144 @@ -6092,7 +6092,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1588 + src/loader/Loader.js line 1588 @@ -6275,7 +6275,7 @@
Parameters:
Source:
- src/loader/Loader.js line 443 + src/loader/Loader.js line 443 @@ -6458,7 +6458,7 @@
Parameters:
Source:
- src/loader/Loader.js line 492 + src/loader/Loader.js line 492 @@ -6642,7 +6642,7 @@
Parameters:
Source:
- src/loader/Loader.js line 458 + src/loader/Loader.js line 458 @@ -6947,7 +6947,7 @@
Parameters:
Source:
- src/loader/Loader.js line 741 + src/loader/Loader.js line 741 @@ -7197,7 +7197,7 @@
Parameters:
Source:
- src/loader/Loader.js line 852 + src/loader/Loader.js line 852 @@ -7305,7 +7305,7 @@

Source:
- src/loader/Loader.js line 866 + src/loader/Loader.js line 866 @@ -7396,7 +7396,7 @@

Source:
- src/loader/Loader.js line 877 + src/loader/Loader.js line 877 @@ -7590,7 +7590,7 @@
Parameters:
Source:
- src/loader/Loader.js line 961 + src/loader/Loader.js line 961 @@ -7848,7 +7848,7 @@
Parameters:
Source:
- src/loader/Loader.js line 831 + src/loader/Loader.js line 831 @@ -8108,7 +8108,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1031 + src/loader/Loader.js line 1031 @@ -8405,7 +8405,7 @@
Parameters:
Source:
- src/loader/Loader.js line 660 + src/loader/Loader.js line 660 @@ -8711,7 +8711,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1528 + src/loader/Loader.js line 1528 @@ -8819,7 +8819,7 @@

Source:
- src/loader/Loader.js line 2001 + src/loader/Loader.js line 2001 @@ -8978,7 +8978,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1978 + src/loader/Loader.js line 1978 @@ -9184,7 +9184,7 @@
Parameters:
Source:
- src/loader/Loader.js line 645 + src/loader/Loader.js line 645 @@ -9380,7 +9380,7 @@
Parameters:
Source:
- src/loader/Loader.js line 515 + src/loader/Loader.js line 515 @@ -9465,7 +9465,7 @@

Source:
- src/loader/Loader.js line 427 + src/loader/Loader.js line 427 @@ -9742,7 +9742,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1110 + src/loader/Loader.js line 1110 @@ -9962,7 +9962,7 @@
Parameters:
Source:
- src/loader/Loader.js line 393 + src/loader/Loader.js line 393 @@ -10197,7 +10197,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1058 + src/loader/Loader.js line 1058 @@ -10669,7 +10669,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1181 + src/loader/Loader.js line 1181 @@ -10777,7 +10777,7 @@

Source:
- src/loader/Loader.js line 2013 + src/loader/Loader.js line 2013 @@ -11012,7 +11012,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1005 + src/loader/Loader.js line 1005 @@ -11285,7 +11285,7 @@
Parameters:
Source:
- src/loader/Loader.js line 888 + src/loader/Loader.js line 888 @@ -11592,7 +11592,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1416 + src/loader/Loader.js line 1416 @@ -11828,7 +11828,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1496 + src/loader/Loader.js line 1496 @@ -12074,7 +12074,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1512 + src/loader/Loader.js line 1512 @@ -12189,7 +12189,7 @@

Source:
- src/loader/Loader.js line 3291 + src/loader/Loader.js line 3291 @@ -12297,7 +12297,7 @@

Source:
- src/loader/Loader.js line 3315 + src/loader/Loader.js line 3315 @@ -12405,7 +12405,7 @@

Source:
- src/loader/Loader.js line 3303 + src/loader/Loader.js line 3303 @@ -12513,7 +12513,7 @@

Source:
- src/loader/Loader.js line 3327 + src/loader/Loader.js line 3327 @@ -12696,7 +12696,7 @@
Parameters:
Source:
- src/loader/Loader.js line 2350 + src/loader/Loader.js line 2350 @@ -13006,7 +13006,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1363 + src/loader/Loader.js line 1363 @@ -13224,7 +13224,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1926 + src/loader/Loader.js line 1926 @@ -13483,7 +13483,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1084 + src/loader/Loader.js line 1084 @@ -13550,9 +13550,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -13569,7 +13569,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -13598,7 +13598,7 @@
Returns:
- + diff --git a/docs/Phaser.LoaderParser.html b/docs/Phaser.LoaderParser.html index 6c19351c6..f748ebcdc 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 350 + src/loader/LoaderParser.js line 350 @@ -1068,7 +1068,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 124 + src/loader/LoaderParser.js line 124 @@ -1226,7 +1226,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 458 + src/loader/LoaderParser.js line 458 @@ -1384,7 +1384,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 563 + src/loader/LoaderParser.js line 563 @@ -1542,7 +1542,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 243 + src/loader/LoaderParser.js line 243 @@ -1910,7 +1910,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 31 + src/loader/LoaderParser.js line 31 @@ -1977,9 +1977,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -1996,7 +1996,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -2025,7 +2025,7 @@
Returns:
- + diff --git a/docs/Phaser.MSPointer.html b/docs/Phaser.MSPointer.html index b6b6a759a..49682fe4d 100644 --- a/docs/Phaser.MSPointer.html +++ b/docs/Phaser.MSPointer.html @@ -6,7 +6,7 @@ Phaser CE Class: MSPointer - + @@ -237,7 +237,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 27 + src/input/MSPointer.js line 27 @@ -342,7 +342,7 @@
Type:
Source:
- src/input/MSPointer.js line 105 + src/input/MSPointer.js line 105 @@ -419,7 +419,7 @@
Type:
Source:
- src/input/MSPointer.js line 43 + src/input/MSPointer.js line 43 @@ -502,7 +502,7 @@
Type:
Source:
- src/input/MSPointer.js line 89 + src/input/MSPointer.js line 89 @@ -593,7 +593,7 @@
Type:
Source:
- src/input/MSPointer.js line 112 + src/input/MSPointer.js line 112 @@ -677,7 +677,7 @@
Type:
Source:
- src/input/MSPointer.js line 97 + src/input/MSPointer.js line 97 @@ -754,7 +754,7 @@
Type:
Source:
- src/input/MSPointer.js line 32 + src/input/MSPointer.js line 32 @@ -831,7 +831,7 @@
Type:
Source:
- src/input/MSPointer.js line 38 + src/input/MSPointer.js line 38 @@ -908,7 +908,7 @@
Type:
Source:
- src/input/MSPointer.js line 73 + src/input/MSPointer.js line 73 @@ -985,7 +985,7 @@
Type:
Source:
- src/input/MSPointer.js line 48 + src/input/MSPointer.js line 48 @@ -1062,7 +1062,7 @@
Type:
Source:
- src/input/MSPointer.js line 53 + src/input/MSPointer.js line 53 @@ -1139,7 +1139,7 @@
Type:
Source:
- src/input/MSPointer.js line 63 + src/input/MSPointer.js line 63 @@ -1216,7 +1216,7 @@
Type:
Source:
- src/input/MSPointer.js line 68 + src/input/MSPointer.js line 68 @@ -1293,7 +1293,7 @@
Type:
Source:
- src/input/MSPointer.js line 58 + src/input/MSPointer.js line 58 @@ -1370,7 +1370,7 @@
Type:
Source:
- src/input/MSPointer.js line 119 + src/input/MSPointer.js line 119 @@ -1498,7 +1498,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 464 + src/input/MSPointer.js line 464 @@ -1632,7 +1632,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 247 + src/input/MSPointer.js line 247 @@ -1766,7 +1766,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 286 + src/input/MSPointer.js line 286 @@ -1900,7 +1900,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 385 + src/input/MSPointer.js line 385 @@ -2034,7 +2034,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 434 + src/input/MSPointer.js line 434 @@ -2168,7 +2168,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 322 + src/input/MSPointer.js line 322 @@ -2302,7 +2302,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 360 + src/input/MSPointer.js line 360 @@ -2386,7 +2386,7 @@

Source:
- src/input/MSPointer.js line 160 + src/input/MSPointer.js line 160 @@ -2470,7 +2470,7 @@

Source:
- src/input/MSPointer.js line 496 + src/input/MSPointer.js line 496 @@ -2513,9 +2513,9 @@

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -2532,7 +2532,7 @@

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -2561,7 +2561,7 @@

- + diff --git a/docs/Phaser.Math.html b/docs/Phaser.Math.html index 299a0348d..0f3dac98f 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 574 + src/math/Math.js line 574 @@ -1272,7 +1272,7 @@
Parameters:
Source:
- src/math/Math.js line 587 + src/math/Math.js line 587 @@ -1504,7 +1504,7 @@
Parameters:
Source:
- src/math/Math.js line 556 + src/math/Math.js line 556 @@ -1612,7 +1612,7 @@

Source:
- src/math/Math.js line 249 + src/math/Math.js line 249 @@ -1790,7 +1790,7 @@
Parameters:
Source:
- src/math/Math.js line 962 + src/math/Math.js line 962 @@ -1969,7 +1969,7 @@
Parameters:
Source:
- src/math/Math.js line 139 + src/math/Math.js line 139 @@ -2151,7 +2151,7 @@
Parameters:
Source:
- src/math/Math.js line 888 + src/math/Math.js line 888 @@ -2405,7 +2405,7 @@
Parameters:
Source:
- src/math/Math.js line 996 + src/math/Math.js line 996 @@ -2583,7 +2583,7 @@
Parameters:
Source:
- src/math/Math.js line 909 + src/math/Math.js line 909 @@ -2838,7 +2838,7 @@
Parameters:
Source:
- src/math/Math.js line 424 + src/math/Math.js line 424 @@ -3044,7 +3044,7 @@
Parameters:
Source:
- src/math/Math.js line 1150 + src/math/Math.js line 1150 @@ -3227,7 +3227,7 @@
Parameters:
Source:
- src/math/Math.js line 1175 + src/math/Math.js line 1175 @@ -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 1018 + src/math/Math.js line 1018 @@ -3793,7 +3793,7 @@
Parameters:
Source:
- src/math/Math.js line 1095 + src/math/Math.js line 1095 @@ -4115,7 +4115,7 @@
Parameters:
Source:
- src/math/Math.js line 1132 + src/math/Math.js line 1132 @@ -4346,7 +4346,7 @@
Parameters:
Source:
- src/math/Math.js line 1113 + src/math/Math.js line 1113 @@ -4500,7 +4500,7 @@
Parameters:
Source:
- src/math/Math.js line 974 + src/math/Math.js line 974 @@ -4751,7 +4751,7 @@
Parameters:
Source:
- src/math/Math.js line 404 + src/math/Math.js line 404 @@ -4965,7 +4965,7 @@
Parameters:
Source:
- src/math/Math.js line 219 + src/math/Math.js line 219 @@ -5215,7 +5215,7 @@
Parameters:
Source:
- src/math/Math.js line 171 + src/math/Math.js line 171 @@ -5429,7 +5429,7 @@
Parameters:
Source:
- src/math/Math.js line 234 + src/math/Math.js line 234 @@ -5679,7 +5679,7 @@
Parameters:
Source:
- src/math/Math.js line 203 + src/math/Math.js line 203 @@ -5929,7 +5929,7 @@
Parameters:
Source:
- src/math/Math.js line 187 + src/math/Math.js line 187 @@ -6088,7 +6088,7 @@
Parameters:
Source:
- src/math/Math.js line 69 + src/math/Math.js line 69 @@ -6276,7 +6276,7 @@
Parameters:
Source:
- src/math/Math.js line 512 + src/math/Math.js line 512 @@ -6458,7 +6458,7 @@
Parameters:
Source:
- src/math/Math.js line 1082 + src/math/Math.js line 1082 @@ -6616,7 +6616,7 @@
Parameters:
Source:
- src/math/Math.js line 715 + src/math/Math.js line 715 @@ -6774,7 +6774,7 @@
Parameters:
Source:
- src/math/Math.js line 702 + src/math/Math.js line 702 @@ -6956,7 +6956,7 @@
Parameters:
Source:
- src/math/Math.js line 97 + src/math/Math.js line 97 @@ -7162,7 +7162,7 @@
Parameters:
Source:
- src/math/Math.js line 948 + src/math/Math.js line 948 @@ -7340,7 +7340,7 @@
Parameters:
Source:
- src/math/Math.js line 861 + src/math/Math.js line 861 @@ -7594,7 +7594,7 @@
Parameters:
Source:
- src/math/Math.js line 1204 + src/math/Math.js line 1204 @@ -7699,7 +7699,7 @@

Source:
- src/math/Math.js line 759 + src/math/Math.js line 759 @@ -7912,7 +7912,7 @@
Parameters:
Source:
- src/math/Math.js line 622 + src/math/Math.js line 622 @@ -8021,7 +8021,7 @@

Source:
- src/math/Math.js line 819 + src/math/Math.js line 819 @@ -8130,7 +8130,7 @@

Source:
- src/math/Math.js line 728 + src/math/Math.js line 728 @@ -8246,7 +8246,7 @@

Source:
- src/math/Math.js line 790 + src/math/Math.js line 790 @@ -8452,7 +8452,7 @@
Parameters:
Source:
- src/math/Math.js line 636 + src/math/Math.js line 636 @@ -8610,7 +8610,7 @@
Parameters:
Source:
- src/math/Math.js line 610 + src/math/Math.js line 610 @@ -8860,7 +8860,7 @@
Parameters:
Source:
- src/math/Math.js line 1268 + src/math/Math.js line 1268 @@ -9018,7 +9018,7 @@
Parameters:
Source:
- src/math/Math.js line 57 + src/math/Math.js line 57 @@ -9201,7 +9201,7 @@
Parameters:
Source:
- src/math/Math.js line 110 + src/math/Math.js line 110 @@ -9359,7 +9359,7 @@
Parameters:
Source:
- src/math/Math.js line 599 + src/math/Math.js line 599 @@ -9610,7 +9610,7 @@
Parameters:
Source:
- src/math/Math.js line 462 + src/math/Math.js line 462 @@ -9768,7 +9768,7 @@
Parameters:
Source:
- src/math/Math.js line 1031 + src/math/Math.js line 1031 @@ -10047,7 +10047,7 @@
Parameters:
Source:
- src/math/Math.js line 359 + src/math/Math.js line 359 @@ -10201,7 +10201,7 @@
Parameters:
Source:
- src/math/Math.js line 269 + src/math/Math.js line 269 @@ -10360,7 +10360,7 @@
Parameters:
Source:
- src/math/Math.js line 1254 + src/math/Math.js line 1254 @@ -10593,7 +10593,7 @@
Parameters:
Source:
- src/math/Math.js line 1044 + src/math/Math.js line 1044 @@ -10799,7 +10799,7 @@
Parameters:
Source:
- src/math/Math.js line 1238 + src/math/Math.js line 1238 @@ -11005,7 +11005,7 @@
Parameters:
Source:
- src/math/Math.js line 1220 + src/math/Math.js line 1220 @@ -11256,7 +11256,7 @@
Parameters:
Source:
- src/math/Math.js line 279 + src/math/Math.js line 279 @@ -11508,7 +11508,7 @@
Parameters:
Source:
- src/math/Math.js line 332 + src/math/Math.js line 332 @@ -11760,7 +11760,7 @@
Parameters:
Source:
- src/math/Math.js line 305 + src/math/Math.js line 305 @@ -11919,7 +11919,7 @@
Parameters:
Source:
- src/math/Math.js line 444 + src/math/Math.js line 444 @@ -12125,7 +12125,7 @@
Parameters:
Source:
- src/math/Math.js line 1189 + src/math/Math.js line 1189 @@ -12339,7 +12339,7 @@
Parameters:
Source:
- src/math/Math.js line 650 + src/math/Math.js line 650 @@ -12553,7 +12553,7 @@
Parameters:
Source:
- src/math/Math.js line 848 + src/math/Math.js line 848 @@ -12760,7 +12760,7 @@
Parameters:
Source:
- src/math/Math.js line 680 + src/math/Math.js line 680 @@ -12827,9 +12827,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -12846,7 +12846,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -12875,7 +12875,7 @@
Returns:
- + diff --git a/docs/Phaser.Matrix.html b/docs/Phaser.Matrix.html index 0ea3c0e7b..a6083f482 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 333 + src/geom/Matrix.js line 333 @@ -1370,7 +1370,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 226 + src/geom/Matrix.js line 226 @@ -1573,7 +1573,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 246 + src/geom/Matrix.js line 246 @@ -1745,7 +1745,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 125 + src/geom/Matrix.js line 125 @@ -1903,7 +1903,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 167 + src/geom/Matrix.js line 167 @@ -2061,7 +2061,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 153 + src/geom/Matrix.js line 153 @@ -2226,7 +2226,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 80 + src/geom/Matrix.js line 80 @@ -2334,7 +2334,7 @@

Source:
- src/geom/Matrix.js line 358 + src/geom/Matrix.js line 358 @@ -2492,7 +2492,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 307 + src/geom/Matrix.js line 307 @@ -2674,7 +2674,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 287 + src/geom/Matrix.js line 287 @@ -2952,7 +2952,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 101 + src/geom/Matrix.js line 101 @@ -3168,7 +3168,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 186 + src/geom/Matrix.js line 186 @@ -3351,7 +3351,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 270 + src/geom/Matrix.js line 270 @@ -3418,9 +3418,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -3437,7 +3437,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -3466,7 +3466,7 @@
Returns:
- + diff --git a/docs/Phaser.Mouse.html b/docs/Phaser.Mouse.html index fd5a9261b..1a4222ac8 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 165 + src/input/Mouse.js line 165 @@ -409,7 +409,7 @@
Type:
Source:
- src/input/Mouse.js line 171 + src/input/Mouse.js line 171 @@ -482,7 +482,7 @@
Type:
Source:
- src/input/Mouse.js line 147 + src/input/Mouse.js line 147 @@ -555,7 +555,7 @@
Type:
Source:
- src/input/Mouse.js line 153 + src/input/Mouse.js line 153 @@ -628,7 +628,7 @@
Type:
Source:
- src/input/Mouse.js line 141 + src/input/Mouse.js line 141 @@ -701,7 +701,7 @@
Type:
Source:
- src/input/Mouse.js line 159 + src/input/Mouse.js line 159 @@ -812,7 +812,7 @@
Properties:
Source:
- src/input/Mouse.js line 79 + src/input/Mouse.js line 79 @@ -898,7 +898,7 @@
Type:
Source:
- src/input/Mouse.js line 37 + src/input/Mouse.js line 37 @@ -975,7 +975,7 @@
Type:
Source:
- src/input/Mouse.js line 71 + src/input/Mouse.js line 71 @@ -1061,7 +1061,7 @@
Type:
Source:
- src/input/Mouse.js line 88 + src/input/Mouse.js line 88 @@ -1142,7 +1142,7 @@
Type:
Source:
- src/input/Mouse.js line 104 + src/input/Mouse.js line 104 @@ -1219,7 +1219,7 @@
Type:
Source:
- src/input/Mouse.js line 26 + src/input/Mouse.js line 26 @@ -1296,7 +1296,7 @@
Type:
Source:
- src/input/Mouse.js line 32 + src/input/Mouse.js line 32 @@ -1374,7 +1374,7 @@
Type:
Source:
- src/input/Mouse.js line 44 + src/input/Mouse.js line 44 @@ -1452,7 +1452,7 @@
Type:
Source:
- src/input/Mouse.js line 59 + src/input/Mouse.js line 59 @@ -1530,7 +1530,7 @@
Type:
Source:
- src/input/Mouse.js line 66 + src/input/Mouse.js line 66 @@ -1608,7 +1608,7 @@
Type:
Source:
- src/input/Mouse.js line 51 + src/input/Mouse.js line 51 @@ -1686,7 +1686,7 @@
Type:
Source:
- src/input/Mouse.js line 96 + src/input/Mouse.js line 96 @@ -1814,7 +1814,7 @@
Parameters:
Source:
- src/input/Mouse.js line 252 + src/input/Mouse.js line 252 @@ -1948,7 +1948,7 @@
Parameters:
Source:
- src/input/Mouse.js line 281 + src/input/Mouse.js line 281 @@ -2082,7 +2082,7 @@
Parameters:
Source:
- src/input/Mouse.js line 398 + src/input/Mouse.js line 398 @@ -2216,7 +2216,7 @@
Parameters:
Source:
- src/input/Mouse.js line 360 + src/input/Mouse.js line 360 @@ -2350,7 +2350,7 @@
Parameters:
Source:
- src/input/Mouse.js line 437 + src/input/Mouse.js line 437 @@ -2484,7 +2484,7 @@
Parameters:
Source:
- src/input/Mouse.js line 310 + src/input/Mouse.js line 310 @@ -2618,7 +2618,7 @@
Parameters:
Source:
- src/input/Mouse.js line 339 + src/input/Mouse.js line 339 @@ -2702,7 +2702,7 @@

Source:
- src/input/Mouse.js line 175 + src/input/Mouse.js line 175 @@ -2812,7 +2812,7 @@

Source:
- src/input/Mouse.js line 467 + src/input/Mouse.js line 467 @@ -2855,9 +2855,9 @@

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -2874,7 +2874,7 @@

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -2903,7 +2903,7 @@

- + diff --git a/docs/Phaser.MouseWheel.html b/docs/Phaser.MouseWheel.html index 7049fc136..4fef86065 100644 --- a/docs/Phaser.MouseWheel.html +++ b/docs/Phaser.MouseWheel.html @@ -6,7 +6,7 @@ Phaser CE Class: MouseWheel - + @@ -230,7 +230,7 @@

Parameters:
Source:
- src/input/MouseWheel.js line 7 + src/input/MouseWheel.js line 7 @@ -331,7 +331,7 @@
Type:
Source:
- src/input/MouseWheel.js line 103 + src/input/MouseWheel.js line 103 @@ -404,7 +404,7 @@
Type:
Source:
- src/input/MouseWheel.js line 97 + src/input/MouseWheel.js line 97 @@ -481,7 +481,7 @@
Type:
Source:
- src/input/MouseWheel.js line 41 + src/input/MouseWheel.js line 41 @@ -568,7 +568,7 @@
Type:
Source:
- src/input/MouseWheel.js line 48 + src/input/MouseWheel.js line 48 @@ -646,7 +646,7 @@
Type:
Source:
- src/input/MouseWheel.js line 55 + src/input/MouseWheel.js line 55 @@ -724,7 +724,7 @@
Type:
Source:
- src/input/MouseWheel.js line 64 + src/input/MouseWheel.js line 64 @@ -801,7 +801,7 @@
Type:
Source:
- src/input/MouseWheel.js line 25 + src/input/MouseWheel.js line 25 @@ -878,7 +878,7 @@
Type:
Source:
- src/input/MouseWheel.js line 13 + src/input/MouseWheel.js line 13 @@ -955,7 +955,7 @@
Type:
Source:
- src/input/MouseWheel.js line 19 + src/input/MouseWheel.js line 19 @@ -1039,7 +1039,7 @@
Type:
Source:
- src/input/MouseWheel.js line 32 + src/input/MouseWheel.js line 32 @@ -1117,7 +1117,7 @@

Source:
- src/input/MouseWheel.js line 105 + src/input/MouseWheel.js line 105 @@ -1227,7 +1227,7 @@

Source:
- src/input/MouseWheel.js line 133 + src/input/MouseWheel.js line 133 @@ -1270,9 +1270,9 @@

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -1289,7 +1289,7 @@

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -1318,7 +1318,7 @@

- + diff --git a/docs/Phaser.Particle.html b/docs/Phaser.Particle.html index 9e9e502fe..4b2ad602a 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 55 + src/gameobjects/components/LifeSpan.js line 55 @@ -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 62 + src/gameobjects/Particle.js line 62 @@ -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 186 + src/gameobjects/components/Core.js line 186 @@ -1004,7 +1004,7 @@
Type:
Source:
- src/gameobjects/Particle.js line 51 + src/gameobjects/Particle.js line 51 @@ -1081,7 +1081,7 @@
Type:
Source:
- src/gameobjects/Particle.js line 56 + src/gameobjects/Particle.js line 56 @@ -1171,7 +1171,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1248,7 +1248,7 @@
Type:
Source:
- src/gameobjects/Particle.js line 27 + src/gameobjects/Particle.js line 27 @@ -1325,7 +1325,7 @@
Type:
Source:
- src/gameobjects/Particle.js line 33 + src/gameobjects/Particle.js line 33 @@ -1419,7 +1419,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -1522,7 +1522,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 97 + src/gameobjects/components/PhysicsBody.js line 97 @@ -1609,7 +1609,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 156 + src/gameobjects/components/Bounds.js line 156 @@ -1702,7 +1702,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 791 + src/pixi/display/DisplayObject.js line 791 @@ -1789,7 +1789,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 82 + src/gameobjects/components/FixedToCamera.js line 82 @@ -1876,7 +1876,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 56 + src/gameobjects/components/Bounds.js line 56 @@ -1963,7 +1963,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 76 + src/gameobjects/components/Bounds.js line 76 @@ -2055,7 +2055,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 103 + src/gameobjects/components/InWorld.js line 103 @@ -2141,7 +2141,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -2227,7 +2227,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 160 + src/gameobjects/components/Core.js line 160 @@ -2315,7 +2315,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -2411,7 +2411,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 153 + src/gameobjects/components/Core.js line 153 @@ -2497,7 +2497,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 211 + src/gameobjects/components/Core.js line 211 @@ -2584,7 +2584,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 24 + src/gameobjects/components/Delta.js line 24 @@ -2671,7 +2671,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 41 + src/gameobjects/components/Delta.js line 41 @@ -2757,7 +2757,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 56 + src/gameobjects/components/Delta.js line 56 @@ -2844,7 +2844,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2931,7 +2931,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 178 + src/gameobjects/components/Core.js line 178 @@ -3031,7 +3031,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 112 + src/pixi/display/Sprite.js line 112 @@ -3117,7 +3117,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -3208,7 +3208,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -3301,7 +3301,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 54 + src/gameobjects/components/FixedToCamera.js line 54 @@ -3392,7 +3392,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 257 + src/gameobjects/components/LoadTexture.js line 257 @@ -3483,7 +3483,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -3570,7 +3570,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 241 + src/gameobjects/components/Core.js line 241 @@ -3656,7 +3656,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 135 + src/gameobjects/components/Core.js line 135 @@ -3750,7 +3750,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -3836,7 +3836,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 606 + src/pixi/display/DisplayObjectContainer.js line 606 @@ -3932,7 +3932,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -4020,7 +4020,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -4107,7 +4107,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -4198,7 +4198,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -4291,7 +4291,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -4377,7 +4377,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 134 + src/gameobjects/components/InWorld.js line 134 @@ -4479,7 +4479,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 196 + src/gameobjects/components/Core.js line 196 @@ -4566,7 +4566,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 96 + src/gameobjects/components/Bounds.js line 96 @@ -4656,7 +4656,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 70 + src/gameobjects/components/LifeSpan.js line 70 @@ -4745,7 +4745,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -4839,7 +4839,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -4926,7 +4926,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 143 + src/gameobjects/components/Core.js line 143 @@ -5014,7 +5014,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -5102,7 +5102,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 41 + src/gameobjects/components/Bounds.js line 41 @@ -5188,7 +5188,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 111 + src/gameobjects/components/InWorld.js line 111 @@ -5275,7 +5275,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 120 + src/gameobjects/components/InWorld.js line 120 @@ -5364,7 +5364,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -5453,7 +5453,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 252 + src/gameobjects/components/Core.js line 252 @@ -5539,7 +5539,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 61 + src/gameobjects/Sprite.js line 61 @@ -5626,7 +5626,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -5714,7 +5714,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5800,7 +5800,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 218 + src/gameobjects/components/Core.js line 218 @@ -5886,7 +5886,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -5973,7 +5973,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -6060,7 +6060,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -6147,7 +6147,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 116 + src/gameobjects/components/Bounds.js line 116 @@ -6236,7 +6236,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -6325,7 +6325,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -6402,7 +6402,7 @@
Type:
Source:
- src/gameobjects/Particle.js line 39 + src/gameobjects/Particle.js line 39 @@ -6490,7 +6490,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -6578,7 +6578,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -6672,7 +6672,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -6760,7 +6760,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -6846,7 +6846,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -6939,7 +6939,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -7032,7 +7032,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -7119,7 +7119,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 136 + src/gameobjects/components/Bounds.js line 136 @@ -7205,7 +7205,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -7291,7 +7291,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -7377,7 +7377,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 55 + src/gameobjects/Sprite.js line 55 @@ -7476,7 +7476,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -7562,7 +7562,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 576 + src/pixi/display/DisplayObjectContainer.js line 576 @@ -7650,7 +7650,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 204 + src/gameobjects/components/Core.js line 204 @@ -7742,7 +7742,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -7833,7 +7833,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -7924,7 +7924,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -8015,7 +8015,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -8106,7 +8106,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -8192,7 +8192,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -8279,7 +8279,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 626 + src/pixi/display/DisplayObject.js line 626 @@ -8366,7 +8366,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -8455,7 +8455,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 170 + src/gameobjects/components/Core.js line 170 @@ -8592,7 +8592,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -8783,7 +8783,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -9126,7 +9126,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 209 + src/gameobjects/components/Bounds.js line 209 @@ -9470,7 +9470,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 306 + src/gameobjects/components/Bounds.js line 306 @@ -9590,7 +9590,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -9757,7 +9757,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -9983,7 +9983,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -10127,7 +10127,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -10246,7 +10246,7 @@

Source:
- src/pixi/display/DisplayObject.js line 254 + src/pixi/display/DisplayObject.js line 254 @@ -10491,7 +10491,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -10666,7 +10666,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 211 + src/pixi/display/Sprite.js line 211 @@ -10833,7 +10833,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -11000,7 +11000,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -11117,7 +11117,7 @@

Source:
- src/pixi/display/Sprite.js line 328 + src/pixi/display/Sprite.js line 328 @@ -11284,7 +11284,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 88 + src/gameobjects/components/Health.js line 88 @@ -11405,7 +11405,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 117 + src/gameobjects/components/LifeSpan.js line 117 @@ -11690,7 +11690,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -11786,7 +11786,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 84 + src/gameobjects/components/BringToTop.js line 84 @@ -11906,7 +11906,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 64 + src/gameobjects/components/BringToTop.js line 64 @@ -12014,7 +12014,7 @@

Source:
- src/gameobjects/Particle.js line 115 + src/gameobjects/Particle.js line 115 @@ -12173,7 +12173,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -12479,7 +12479,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -12596,7 +12596,7 @@

Source:
- src/gameobjects/components/Core.js line 354 + src/gameobjects/components/Core.js line 354 @@ -12689,7 +12689,7 @@

Source:
- src/gameobjects/Sprite.js line 106 + src/gameobjects/Sprite.js line 106 @@ -12806,7 +12806,7 @@

Source:
- src/gameobjects/components/Core.js line 318 + src/gameobjects/components/Core.js line 318 @@ -12949,7 +12949,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -13116,7 +13116,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -13307,7 +13307,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -13540,7 +13540,7 @@
Parameters:
Source:
- src/gameobjects/Particle.js line 155 + src/gameobjects/Particle.js line 155 @@ -13657,7 +13657,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 236 + src/gameobjects/components/LoadTexture.js line 236 @@ -13850,7 +13850,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -14015,7 +14015,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 83 + src/gameobjects/components/LifeSpan.js line 83 @@ -14135,7 +14135,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 44 + src/gameobjects/components/BringToTop.js line 44 @@ -14243,7 +14243,7 @@

Source:
- src/gameobjects/Particle.js line 125 + src/gameobjects/Particle.js line 125 @@ -14410,7 +14410,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -14554,7 +14554,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 156 + src/gameobjects/components/LoadTexture.js line 156 @@ -14698,7 +14698,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 69 + src/gameobjects/components/Health.js line 69 @@ -14806,7 +14806,7 @@

Source:
- src/gameobjects/Particle.js line 140 + src/gameobjects/Particle.js line 140 @@ -15043,7 +15043,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 109 + src/gameobjects/components/ScaleMinMax.js line 109 @@ -15243,7 +15243,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 175 + src/pixi/display/Sprite.js line 175 @@ -15410,7 +15410,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -15553,7 +15553,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -15766,7 +15766,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -15881,7 +15881,7 @@

Source:
- src/gameobjects/Particle.js line 74 + src/gameobjects/Particle.js line 74 @@ -15974,7 +15974,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -16094,7 +16094,7 @@

Source:
- src/gameobjects/components/Crop.js line 85 + src/gameobjects/components/Crop.js line 85 @@ -16257,7 +16257,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -16326,9 +16326,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -16345,7 +16345,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -16374,7 +16374,7 @@
Returns:
- + diff --git a/docs/Phaser.Particles.Arcade.Emitter.html b/docs/Phaser.Particles.Arcade.Emitter.html index 8f1452740..9d8653fd7 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 91 + src/core/Group.js line 91 @@ -591,7 +591,7 @@
Type:
Source:
- src/core/Group.js line 3155 + src/core/Group.js line 3155 @@ -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 2825 + src/core/Group.js line 2825 @@ -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 222 + src/particles/arcade/Emitter.js line 222 @@ -1065,7 +1065,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 227 + src/particles/arcade/Emitter.js line 227 @@ -1142,7 +1142,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 212 + src/particles/arcade/Emitter.js line 212 @@ -1219,7 +1219,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 217 + src/particles/arcade/Emitter.js line 217 @@ -1296,7 +1296,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 191 + src/particles/arcade/Emitter.js line 191 @@ -1378,7 +1378,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1207 + src/particles/arcade/Emitter.js line 1207 @@ -1455,7 +1455,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 173 + src/particles/arcade/Emitter.js line 173 @@ -1548,7 +1548,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 791 + src/pixi/display/DisplayObject.js line 791 @@ -1635,7 +1635,7 @@
Type:
Source:
- src/core/Group.js line 277 + src/core/Group.js line 277 @@ -1723,7 +1723,7 @@
Type:
Source:
- src/core/Group.js line 2850 + src/core/Group.js line 2850 @@ -1811,7 +1811,7 @@
Type:
Source:
- src/core/Group.js line 2876 + src/core/Group.js line 2876 @@ -1897,7 +1897,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1991,7 +1991,7 @@
Type:
Source:
- src/core/Group.js line 127 + src/core/Group.js line 127 @@ -2227,7 +2227,7 @@
Properties
Source:
- src/particles/arcade/Emitter.js line 248 + src/particles/arcade/Emitter.js line 248 @@ -2310,7 +2310,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1263 + src/particles/arcade/Emitter.js line 1263 @@ -2396,7 +2396,7 @@
Type:
Source:
- src/core/Group.js line 260 + src/core/Group.js line 260 @@ -2475,7 +2475,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 199 + src/particles/arcade/Emitter.js line 199 @@ -2554,7 +2554,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 207 + src/particles/arcade/Emitter.js line 207 @@ -2642,7 +2642,7 @@
Type:
Source:
- src/core/Group.js line 213 + src/core/Group.js line 213 @@ -2729,7 +2729,7 @@
Type:
Source:
- src/core/Group.js line 222 + src/core/Group.js line 222 @@ -2827,7 +2827,7 @@
Type:
Source:
- src/core/Group.js line 98 + src/core/Group.js line 98 @@ -2913,7 +2913,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -3004,7 +3004,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -3092,7 +3092,7 @@
Type:
Source:
- src/core/Group.js line 270 + src/core/Group.js line 270 @@ -3176,7 +3176,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 162 + src/particles/arcade/Emitter.js line 162 @@ -3262,7 +3262,7 @@
Type:
Source:
- src/core/Group.js line 38 + src/core/Group.js line 38 @@ -3339,7 +3339,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1057 + src/particles/arcade/Emitter.js line 1057 @@ -3429,7 +3429,7 @@
Type:
Source:
- src/core/Group.js line 290 + src/core/Group.js line 290 @@ -3511,7 +3511,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1111 + src/particles/arcade/Emitter.js line 1111 @@ -3607,7 +3607,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -3684,7 +3684,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1082 + src/particles/arcade/Emitter.js line 1082 @@ -3772,7 +3772,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3858,7 +3858,7 @@
Type:
Source:
- src/core/Group.js line 105 + src/core/Group.js line 105 @@ -3946,7 +3946,7 @@
Type:
Source:
- src/core/Group.js line 146 + src/core/Group.js line 146 @@ -4028,7 +4028,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1165 + src/particles/arcade/Emitter.js line 1165 @@ -4114,7 +4114,7 @@
Type:
Source:
- src/core/Group.js line 2809 + src/core/Group.js line 2809 @@ -4198,7 +4198,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 168 + src/particles/arcade/Emitter.js line 168 @@ -4275,7 +4275,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1235 + src/particles/arcade/Emitter.js line 1235 @@ -4364,7 +4364,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -4441,7 +4441,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 69 + src/particles/arcade/Emitter.js line 69 @@ -4525,7 +4525,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 134 + src/particles/arcade/Emitter.js line 134 @@ -4602,7 +4602,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 26 + src/particles/arcade/Emitter.js line 26 @@ -4686,7 +4686,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 105 + src/particles/arcade/Emitter.js line 105 @@ -4763,7 +4763,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 93 + src/particles/arcade/Emitter.js line 93 @@ -4847,7 +4847,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 122 + src/particles/arcade/Emitter.js line 122 @@ -4931,7 +4931,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 81 + src/particles/arcade/Emitter.js line 81 @@ -5008,7 +5008,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 63 + src/particles/arcade/Emitter.js line 63 @@ -5092,7 +5092,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 128 + src/particles/arcade/Emitter.js line 128 @@ -5176,7 +5176,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 99 + src/particles/arcade/Emitter.js line 99 @@ -5253,7 +5253,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 87 + src/particles/arcade/Emitter.js line 87 @@ -5330,7 +5330,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 116 + src/particles/arcade/Emitter.js line 116 @@ -5407,7 +5407,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 75 + src/particles/arcade/Emitter.js line 75 @@ -5489,7 +5489,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 39 + src/particles/arcade/Emitter.js line 39 @@ -5566,7 +5566,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 179 + src/particles/arcade/Emitter.js line 179 @@ -5656,7 +5656,7 @@
Type:
Source:
- src/core/Group.js line 166 + src/core/Group.js line 166 @@ -5746,7 +5746,7 @@
Type:
Source:
- src/core/Group.js line 203 + src/core/Group.js line 203 @@ -5836,7 +5836,7 @@
Type:
Source:
- src/core/Group.js line 191 + src/core/Group.js line 191 @@ -5927,7 +5927,7 @@
Type:
Source:
- src/core/Group.js line 179 + src/core/Group.js line 179 @@ -6013,7 +6013,7 @@
Type:
Source:
- src/core/Group.js line 254 + src/core/Group.js line 254 @@ -6090,7 +6090,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1221 + src/particles/arcade/Emitter.js line 1221 @@ -6179,7 +6179,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -6256,7 +6256,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 185 + src/particles/arcade/Emitter.js line 185 @@ -6333,7 +6333,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 233 + src/particles/arcade/Emitter.js line 233 @@ -6410,7 +6410,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 145 + src/particles/arcade/Emitter.js line 145 @@ -6487,7 +6487,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 150 + src/particles/arcade/Emitter.js line 150 @@ -6564,7 +6564,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 239 + src/particles/arcade/Emitter.js line 239 @@ -6654,7 +6654,7 @@
Type:
Source:
- src/core/Group.js line 117 + src/core/Group.js line 117 @@ -6741,7 +6741,7 @@
Type:
Source:
- src/core/Group.js line 230 + src/core/Group.js line 230 @@ -6834,7 +6834,7 @@
Type:
Source:
- src/core/Group.js line 248 + src/core/Group.js line 248 @@ -6916,7 +6916,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 51 + src/particles/arcade/Emitter.js line 51 @@ -7003,7 +7003,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -7091,7 +7091,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -7168,7 +7168,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1249 + src/particles/arcade/Emitter.js line 1249 @@ -7255,7 +7255,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -7337,7 +7337,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1179 + src/particles/arcade/Emitter.js line 1179 @@ -7425,7 +7425,7 @@
Type:
Source:
- src/core/Group.js line 3139 + src/core/Group.js line 3139 @@ -7514,7 +7514,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -7591,7 +7591,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 110 + src/particles/arcade/Emitter.js line 110 @@ -7673,7 +7673,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1193 + src/particles/arcade/Emitter.js line 1193 @@ -7759,7 +7759,7 @@
Type:
Source:
- src/core/Group.js line 2793 + src/core/Group.js line 2793 @@ -7841,7 +7841,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 45 + src/particles/arcade/Emitter.js line 45 @@ -7927,7 +7927,7 @@
Type:
Source:
- src/core/Group.js line 154 + src/core/Group.js line 154 @@ -8018,7 +8018,7 @@
Type:
Source:
- src/core/Group.js line 3148 + src/core/Group.js line 3148 @@ -8100,7 +8100,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1093 + src/particles/arcade/Emitter.js line 1093 @@ -8192,7 +8192,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -8283,7 +8283,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -8374,7 +8374,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -8465,7 +8465,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -8556,7 +8556,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -8642,7 +8642,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -8724,7 +8724,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1129 + src/particles/arcade/Emitter.js line 1129 @@ -8806,7 +8806,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1147 + src/particles/arcade/Emitter.js line 1147 @@ -8893,7 +8893,7 @@
Type:
Source:
- src/core/Group.js line 57 + src/core/Group.js line 57 @@ -9131,7 +9131,7 @@
Parameters:
Source:
- src/core/Group.js line 345 + src/core/Group.js line 345 @@ -9409,7 +9409,7 @@
Parameters:
Source:
- src/core/Group.js line 1417 + src/core/Group.js line 1417 @@ -9651,7 +9651,7 @@
Parameters:
Source:
- src/core/Group.js line 421 + src/core/Group.js line 421 @@ -9818,7 +9818,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -10009,7 +10009,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -10240,7 +10240,7 @@
Parameters:
Source:
- src/core/Group.js line 489 + src/core/Group.js line 489 @@ -10411,7 +10411,7 @@
Parameters:
Source:
- src/core/Group.js line 441 + src/core/Group.js line 441 @@ -10806,7 +10806,7 @@
Parameters:
Source:
- src/core/Group.js line 681 + src/core/Group.js line 681 @@ -11149,7 +11149,7 @@
Parameters:
Source:
- src/core/Group.js line 3006 + src/core/Group.js line 3006 @@ -11493,7 +11493,7 @@
Parameters:
Source:
- src/core/Group.js line 3048 + src/core/Group.js line 3048 @@ -11684,7 +11684,7 @@
Parameters:
Source:
- src/core/Group.js line 2024 + src/core/Group.js line 2024 @@ -11834,7 +11834,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 1033 + src/particles/arcade/Emitter.js line 1033 @@ -12001,7 +12001,7 @@
Parameters:
Source:
- src/core/Group.js line 901 + src/core/Group.js line 901 @@ -12264,7 +12264,7 @@
Parameters:
Source:
- src/core/Group.js line 1624 + src/core/Group.js line 1624 @@ -12484,7 +12484,7 @@
Parameters:
Source:
- src/core/Group.js line 1540 + src/core/Group.js line 1540 @@ -12675,7 +12675,7 @@
Parameters:
Source:
- src/core/Group.js line 1575 + src/core/Group.js line 1575 @@ -12991,7 +12991,7 @@
Parameters:
Source:
- src/core/Group.js line 1349 + src/core/Group.js line 1349 @@ -13293,7 +13293,7 @@
Parameters:
Source:
- src/core/Group.js line 1384 + src/core/Group.js line 1384 @@ -13590,7 +13590,7 @@
Parameters:
Source:
- src/core/Group.js line 1208 + src/core/Group.js line 1208 @@ -13757,7 +13757,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -13944,7 +13944,7 @@
Parameters:
Source:
- src/core/Group.js line 2431 + src/core/Group.js line 2431 @@ -14061,7 +14061,7 @@

Source:
- src/core/Group.js line 2455 + src/core/Group.js line 2455 @@ -14178,7 +14178,7 @@

Source:
- src/core/Group.js line 2444 + src/core/Group.js line 2444 @@ -14572,7 +14572,7 @@
Parameters:
Source:
- src/core/Group.js line 542 + src/core/Group.js line 542 @@ -14979,7 +14979,7 @@
Parameters:
Source:
- src/core/Group.js line 578 + src/core/Group.js line 578 @@ -15192,7 +15192,7 @@
Parameters:
Source:
- src/core/Group.js line 2001 + src/core/Group.js line 2001 @@ -15359,7 +15359,7 @@
Parameters:
Source:
- src/core/Group.js line 2053 + src/core/Group.js line 2053 @@ -15448,7 +15448,7 @@

Source:
- src/particles/arcade/Emitter.js line 794 + src/particles/arcade/Emitter.js line 794 @@ -15664,7 +15664,7 @@
Parameters:
Source:
- src/core/Group.js line 1465 + src/core/Group.js line 1465 @@ -15930,7 +15930,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 617 + src/particles/arcade/Emitter.js line 617 @@ -16148,7 +16148,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 478 + src/particles/arcade/Emitter.js line 478 @@ -16378,7 +16378,7 @@
Parameters:
Source:
- src/core/Group.js line 1783 + src/core/Group.js line 1783 @@ -16722,7 +16722,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 500 + src/particles/arcade/Emitter.js line 500 @@ -17028,7 +17028,7 @@
Parameters:
Source:
- src/core/Group.js line 1822 + src/core/Group.js line 1822 @@ -17266,7 +17266,7 @@
Parameters:
Source:
- src/core/Group.js line 1908 + src/core/Group.js line 1908 @@ -17504,7 +17504,7 @@
Parameters:
Source:
- src/core/Group.js line 1935 + src/core/Group.js line 1935 @@ -17742,7 +17742,7 @@
Parameters:
Source:
- src/core/Group.js line 1881 + src/core/Group.js line 1881 @@ -17987,7 +17987,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -18295,7 +18295,7 @@
Parameters:
Source:
- src/core/Group.js line 2506 + src/core/Group.js line 2506 @@ -18464,7 +18464,7 @@
Parameters:
Source:
- src/core/Group.js line 523 + src/core/Group.js line 523 @@ -18585,7 +18585,7 @@

Source:
- src/core/Group.js line 2329 + src/core/Group.js line 2329 @@ -18767,7 +18767,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 289 + src/pixi/display/DisplayObjectContainer.js line 289 @@ -18936,7 +18936,7 @@
Parameters:
Source:
- src/core/Group.js line 1041 + src/core/Group.js line 1041 @@ -19103,7 +19103,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -19270,7 +19270,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -19521,7 +19521,7 @@
Parameters:
Source:
- src/core/Group.js line 2345 + src/core/Group.js line 2345 @@ -19712,7 +19712,7 @@
Parameters:
Source:
- src/core/Group.js line 2171 + src/core/Group.js line 2171 @@ -20071,7 +20071,7 @@
Parameters:
Source:
- src/core/Group.js line 2217 + src/core/Group.js line 2217 @@ -20430,7 +20430,7 @@
Parameters:
Source:
- src/core/Group.js line 2246 + src/core/Group.js line 2246 @@ -20828,7 +20828,7 @@
Parameters:
Source:
- src/core/Group.js line 2184 + src/core/Group.js line 2184 @@ -21079,7 +21079,7 @@
Parameters:
Source:
- src/core/Group.js line 2388 + src/core/Group.js line 2388 @@ -21246,7 +21246,7 @@
Parameters:
Source:
- src/core/Group.js line 1029 + src/core/Group.js line 1029 @@ -21363,7 +21363,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 445 + src/pixi/display/DisplayObjectContainer.js line 445 @@ -21590,7 +21590,7 @@
Parameters:
Source:
- src/core/Group.js line 2466 + src/core/Group.js line 2466 @@ -21818,7 +21818,7 @@
Parameters:
Source:
- src/core/Group.js line 2487 + src/core/Group.js line 2487 @@ -21936,7 +21936,7 @@

Source:
- src/core/Group.js line 2313 + src/core/Group.js line 2313 @@ -22128,7 +22128,7 @@
Parameters:
Source:
- src/core/Group.js line 1093 + src/core/Group.js line 1093 @@ -22515,7 +22515,7 @@
Parameters:
Source:
- src/core/Group.js line 2077 + src/core/Group.js line 2077 @@ -22628,7 +22628,7 @@

Source:
- src/particles/arcade/Emitter.js line 449 + src/particles/arcade/Emitter.js line 449 @@ -22745,7 +22745,7 @@

Source:
- src/core/Group.js line 1493 + src/core/Group.js line 1493 @@ -23100,7 +23100,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 385 + src/particles/arcade/Emitter.js line 385 @@ -23323,7 +23323,7 @@
Parameters:
Source:
- src/core/Group.js line 2598 + src/core/Group.js line 2598 @@ -23490,7 +23490,7 @@
Parameters:
Source:
- src/core/Group.js line 972 + src/core/Group.js line 972 @@ -23657,7 +23657,7 @@
Parameters:
Source:
- src/core/Group.js line 949 + src/core/Group.js line 949 @@ -23897,7 +23897,7 @@
Parameters:
Source:
- src/core/Group.js line 1449 + src/core/Group.js line 1449 @@ -23986,7 +23986,7 @@

Source:
- src/particles/arcade/Emitter.js line 1274 + src/particles/arcade/Emitter.js line 1274 @@ -24103,7 +24103,7 @@

Source:
- src/core/Group.js line 1763 + src/core/Group.js line 1763 @@ -24196,7 +24196,7 @@

Source:
- src/core/Group.js line 1695 + src/core/Group.js line 1695 @@ -24285,7 +24285,7 @@

Source:
- src/particles/arcade/Emitter.js line 1283 + src/particles/arcade/Emitter.js line 1283 @@ -24550,7 +24550,7 @@
Parameters:
Source:
- src/core/Group.js line 2551 + src/core/Group.js line 2551 @@ -24820,7 +24820,7 @@
Parameters:
Source:
- src/core/Group.js line 2626 + src/core/Group.js line 2626 @@ -25097,7 +25097,7 @@
Parameters:
Source:
- src/core/Group.js line 2673 + src/core/Group.js line 2673 @@ -25240,7 +25240,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -25407,7 +25407,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -25598,7 +25598,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -25742,7 +25742,7 @@
Parameters:
Source:
- src/core/Group.js line 465 + src/core/Group.js line 465 @@ -25935,7 +25935,7 @@
Parameters:
Source:
- src/core/Group.js line 1055 + src/core/Group.js line 1055 @@ -26289,7 +26289,7 @@
Parameters:
Source:
- src/core/Group.js line 1525 + src/core/Group.js line 1525 @@ -26595,7 +26595,7 @@
Parameters:
Source:
- src/core/Group.js line 2275 + src/core/Group.js line 2275 @@ -26783,7 +26783,7 @@
Parameters:
Source:
- src/core/Group.js line 804 + src/core/Group.js line 804 @@ -26901,7 +26901,7 @@

Source:
- src/core/Group.js line 1016 + src/core/Group.js line 1016 @@ -26990,7 +26990,7 @@

Source:
- src/particles/arcade/Emitter.js line 464 + src/particles/arcade/Emitter.js line 464 @@ -27107,7 +27107,7 @@

Source:
- src/core/Group.js line 1515 + src/core/Group.js line 1515 @@ -27310,7 +27310,7 @@
Parameters:
Source:
- src/core/Group.js line 2727 + src/core/Group.js line 2727 @@ -27453,7 +27453,7 @@
Parameters:
Source:
- src/core/Group.js line 925 + src/core/Group.js line 925 @@ -27869,7 +27869,7 @@
Parameters:
Source:
- src/core/Group.js line 1237 + src/core/Group.js line 1237 @@ -28251,7 +28251,7 @@
Parameters:
Source:
- src/core/Group.js line 1267 + src/core/Group.js line 1267 @@ -28609,7 +28609,7 @@
Parameters:
Source:
- src/core/Group.js line 1305 + src/core/Group.js line 1305 @@ -28925,7 +28925,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 897 + src/particles/arcade/Emitter.js line 897 @@ -29199,7 +29199,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 990 + src/particles/arcade/Emitter.js line 990 @@ -29390,7 +29390,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -29584,7 +29584,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 1015 + src/particles/arcade/Emitter.js line 1015 @@ -29927,7 +29927,7 @@
Parameters:
Source:
- src/core/Group.js line 1127 + src/core/Group.js line 1127 @@ -30145,7 +30145,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 878 + src/particles/arcade/Emitter.js line 878 @@ -30565,7 +30565,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 939 + src/particles/arcade/Emitter.js line 939 @@ -30747,7 +30747,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 806 + src/particles/arcade/Emitter.js line 806 @@ -30977,7 +30977,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 822 + src/particles/arcade/Emitter.js line 822 @@ -31195,7 +31195,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 840 + src/particles/arcade/Emitter.js line 840 @@ -31413,7 +31413,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 859 + src/particles/arcade/Emitter.js line 859 @@ -31531,7 +31531,7 @@

Source:
- src/core/Group.js line 2744 + src/core/Group.js line 2744 @@ -31738,7 +31738,7 @@
Parameters:
Source:
- src/core/Group.js line 1962 + src/core/Group.js line 1962 @@ -32063,7 +32063,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 550 + src/particles/arcade/Emitter.js line 550 @@ -32303,7 +32303,7 @@
Parameters:
Source:
- src/core/Group.js line 1433 + src/core/Group.js line 1433 @@ -32471,7 +32471,7 @@
Parameters:
Source:
- src/core/Group.js line 886 + src/core/Group.js line 886 @@ -32638,7 +32638,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -32781,7 +32781,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -32994,7 +32994,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -33109,7 +33109,7 @@

Source:
- src/particles/arcade/Emitter.js line 319 + src/particles/arcade/Emitter.js line 319 @@ -33202,7 +33202,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -33391,7 +33391,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -33511,7 +33511,7 @@

Source:
- src/core/Group.js line 663 + src/core/Group.js line 663 @@ -33702,7 +33702,7 @@
Parameters:
Source:
- src/core/Group.js line 995 + src/core/Group.js line 995 @@ -33745,9 +33745,9 @@
Parameters:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -33764,7 +33764,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -33793,7 +33793,7 @@
Parameters:
- + diff --git a/docs/Phaser.Particles.Arcade.html b/docs/Phaser.Particles.Arcade.html index 2d7013e2c..ce2c28f64 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.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -263,7 +263,7 @@

Classes

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -292,7 +292,7 @@

Classes

- + diff --git a/docs/Phaser.Particles.html b/docs/Phaser.Particles.html index 87036d110..d9719eaba 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 @@ -498,7 +498,7 @@
Type:
Source:
- src/particles/Particles.js line 30 + src/particles/Particles.js line 30 @@ -626,7 +626,7 @@
Parameters:
Source:
- src/particles/Particles.js line 35 + src/particles/Particles.js line 35 @@ -784,7 +784,7 @@
Parameters:
Source:
- src/particles/Particles.js line 47 + src/particles/Particles.js line 47 @@ -827,9 +827,9 @@
Parameters:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -846,7 +846,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -875,7 +875,7 @@
Parameters:
- + diff --git a/docs/Phaser.Path.html b/docs/Phaser.Path.html index 6c30d2127..7698d7057 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 42 + src/plugins/path/Path.js line 42 @@ -509,7 +509,7 @@
Type:
Source:
- src/plugins/path/Path.js line 32 + src/plugins/path/Path.js line 32 @@ -586,7 +586,7 @@
Type:
Source:
- src/plugins/path/Path.js line 27 + src/plugins/path/Path.js line 27 @@ -663,7 +663,7 @@
Type:
Source:
- src/plugins/path/Path.js line 47 + src/plugins/path/Path.js line 47 @@ -740,7 +740,7 @@
Type:
Source:
- src/plugins/path/Path.js line 37 + src/plugins/path/Path.js line 37 @@ -1128,7 +1128,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 209 + src/plugins/path/Path.js line 209 @@ -1286,7 +1286,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 531 + src/plugins/path/Path.js line 531 @@ -1394,7 +1394,7 @@

Source:
- src/plugins/path/Path.js line 187 + src/plugins/path/Path.js line 187 @@ -1611,7 +1611,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 149 + src/plugins/path/Path.js line 149 @@ -1825,7 +1825,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 712 + src/plugins/path/Path.js line 712 @@ -1983,7 +1983,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 354 + src/plugins/path/Path.js line 354 @@ -2162,7 +2162,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 444 + src/plugins/path/Path.js line 444 @@ -2346,7 +2346,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 373 + src/plugins/path/Path.js line 373 @@ -2505,7 +2505,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 419 + src/plugins/path/Path.js line 419 @@ -2719,7 +2719,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 329 + src/plugins/path/Path.js line 329 @@ -2827,7 +2827,7 @@

Source:
- src/plugins/path/Path.js line 552 + src/plugins/path/Path.js line 552 @@ -2987,7 +2987,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 497 + src/plugins/path/Path.js line 497 @@ -3194,7 +3194,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 569 + src/plugins/path/Path.js line 569 @@ -3364,7 +3364,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 245 + src/plugins/path/Path.js line 245 @@ -3546,7 +3546,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 311 + src/plugins/path/Path.js line 311 @@ -3846,7 +3846,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 266 + src/plugins/path/Path.js line 266 @@ -3955,7 +3955,7 @@

Source:
- src/plugins/path/Path.js line 646 + src/plugins/path/Path.js line 646 @@ -4063,7 +4063,7 @@

Source:
- src/plugins/path/Path.js line 821 + src/plugins/path/Path.js line 821 @@ -4224,7 +4224,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 291 + src/plugins/path/Path.js line 291 @@ -4291,9 +4291,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -4310,7 +4310,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -4339,7 +4339,7 @@
Returns:
- + diff --git a/docs/Phaser.PathFollower.html b/docs/Phaser.PathFollower.html index fcfffe805..a324c9bfd 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.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -523,7 +523,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -552,7 +552,7 @@
Parameters:
- + diff --git a/docs/Phaser.PathPoint.html b/docs/Phaser.PathPoint.html index f344ab21f..8578a343a 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 119 + src/plugins/path/PathPoint.js line 119 @@ -682,7 +682,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 101 + src/plugins/path/PathPoint.js line 101 @@ -755,7 +755,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 107 + src/plugins/path/PathPoint.js line 107 @@ -828,7 +828,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 113 + src/plugins/path/PathPoint.js line 113 @@ -905,7 +905,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 85 + src/plugins/path/PathPoint.js line 85 @@ -982,7 +982,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 63 + src/plugins/path/PathPoint.js line 63 @@ -1059,7 +1059,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 68 + src/plugins/path/PathPoint.js line 68 @@ -1136,7 +1136,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 73 + src/plugins/path/PathPoint.js line 73 @@ -1213,7 +1213,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 91 + src/plugins/path/PathPoint.js line 91 @@ -1290,7 +1290,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 79 + src/plugins/path/PathPoint.js line 79 @@ -1367,7 +1367,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 58 + src/plugins/path/PathPoint.js line 58 @@ -1444,7 +1444,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 53 + src/plugins/path/PathPoint.js line 53 @@ -1521,7 +1521,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 43 + src/plugins/path/PathPoint.js line 43 @@ -1598,7 +1598,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 48 + src/plugins/path/PathPoint.js line 48 @@ -1675,7 +1675,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 33 + src/plugins/path/PathPoint.js line 33 @@ -1752,7 +1752,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 38 + src/plugins/path/PathPoint.js line 38 @@ -1892,7 +1892,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 177 + src/plugins/path/PathPoint.js line 177 @@ -2051,7 +2051,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 193 + src/plugins/path/PathPoint.js line 193 @@ -2307,7 +2307,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 219 + src/plugins/path/PathPoint.js line 219 @@ -2489,7 +2489,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 156 + src/plugins/path/PathPoint.js line 156 @@ -2757,7 +2757,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 123 + src/plugins/path/PathPoint.js line 123 @@ -2865,7 +2865,7 @@

Source:
- src/plugins/path/PathPoint.js line 242 + src/plugins/path/PathPoint.js line 242 @@ -2932,9 +2932,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -2951,7 +2951,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -2980,7 +2980,7 @@
Returns:
- + diff --git a/docs/Phaser.Physics.Arcade.Body.html b/docs/Phaser.Physics.Arcade.Body.html index 8adf9595e..b432798f2 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 1359 + src/physics/arcade/Body.js line 1359 @@ -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 1319 + src/physics/arcade/Body.js line 1319 @@ -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 1332 + src/physics/arcade/Body.js line 1332 @@ -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 1346 + src/physics/arcade/Body.js line 1346 @@ -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 1373 + src/physics/arcade/Body.js line 1373 @@ -5744,7 +5744,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 1391 + src/physics/arcade/Body.js line 1391 @@ -5822,7 +5822,7 @@

Source:
- src/physics/arcade/Body.js line 824 + src/physics/arcade/Body.js line 824 @@ -5930,7 +5930,7 @@

Source:
- src/physics/arcade/Body.js line 1243 + src/physics/arcade/Body.js line 1243 @@ -6038,7 +6038,7 @@

Source:
- src/physics/arcade/Body.js line 1254 + src/physics/arcade/Body.js line 1254 @@ -6146,7 +6146,7 @@

Source:
- src/physics/arcade/Body.js line 1265 + src/physics/arcade/Body.js line 1265 @@ -6254,7 +6254,7 @@

Source:
- src/physics/arcade/Body.js line 1276 + src/physics/arcade/Body.js line 1276 @@ -6362,7 +6362,7 @@

Source:
- src/physics/arcade/Body.js line 1287 + src/physics/arcade/Body.js line 1287 @@ -6472,7 +6472,7 @@

Source:
- src/physics/arcade/Body.js line 1298 + src/physics/arcade/Body.js line 1298 @@ -6607,7 +6607,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1178 + src/physics/arcade/Body.js line 1178 @@ -6789,7 +6789,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1197 + src/physics/arcade/Body.js line 1197 @@ -7040,7 +7040,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 873 + src/physics/arcade/Body.js line 873 @@ -7288,7 +7288,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 946 + src/physics/arcade/Body.js line 946 @@ -7396,7 +7396,7 @@

Source:
- src/physics/arcade/Body.js line 1221 + src/physics/arcade/Body.js line 1221 @@ -7504,7 +7504,7 @@

Source:
- src/physics/arcade/Body.js line 1210 + src/physics/arcade/Body.js line 1210 @@ -7612,7 +7612,7 @@

Source:
- src/physics/arcade/Body.js line 1232 + src/physics/arcade/Body.js line 1232 @@ -7720,7 +7720,7 @@

Source:
- src/physics/arcade/Body.js line 739 + src/physics/arcade/Body.js line 739 @@ -7804,7 +7804,7 @@

Source:
- src/physics/arcade/Body.js line 573 + src/physics/arcade/Body.js line 573 @@ -8110,7 +8110,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1409 + src/physics/arcade/Body.js line 1409 @@ -8372,7 +8372,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1454 + src/physics/arcade/Body.js line 1454 @@ -8530,7 +8530,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1136 + src/physics/arcade/Body.js line 1136 @@ -8749,7 +8749,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1091 + src/physics/arcade/Body.js line 1091 @@ -9016,7 +9016,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1032 + src/physics/arcade/Body.js line 1032 @@ -9100,7 +9100,7 @@

Source:
- src/physics/arcade/Body.js line 1164 + src/physics/arcade/Body.js line 1164 @@ -9249,7 +9249,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 710 + src/physics/arcade/Body.js line 710 @@ -9333,7 +9333,7 @@

Source:
- src/physics/arcade/Body.js line 519 + src/physics/arcade/Body.js line 519 @@ -9417,7 +9417,7 @@

Source:
- src/physics/arcade/Body.js line 562 + src/physics/arcade/Body.js line 562 @@ -9501,7 +9501,7 @@

Source:
- src/physics/arcade/Body.js line 670 + src/physics/arcade/Body.js line 670 @@ -9544,9 +9544,9 @@

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -9563,7 +9563,7 @@

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -9592,7 +9592,7 @@

- + diff --git a/docs/Phaser.Physics.Arcade.TilemapCollision.html b/docs/Phaser.Physics.Arcade.TilemapCollision.html index 950e99bc2..04240f39a 100644 --- a/docs/Phaser.Physics.Arcade.TilemapCollision.html +++ b/docs/Phaser.Physics.Arcade.TilemapCollision.html @@ -6,7 +6,7 @@ Phaser CE Class: TilemapCollision - + @@ -181,7 +181,7 @@

Source:
- src/physics/arcade/TilemapCollision.js line 15 + src/physics/arcade/TilemapCollision.js line 15 @@ -286,7 +286,7 @@
Type:
Source:
- src/physics/arcade/TilemapCollision.js line 22 + src/physics/arcade/TilemapCollision.js line 22 @@ -319,9 +319,9 @@
Type:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -338,7 +338,7 @@
Type:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -367,7 +367,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.Arcade.html b/docs/Phaser.Physics.Arcade.html index 86b69ed68..00ec3710f 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 57 + src/physics/arcade/World.js line 57 @@ -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 73 + src/physics/arcade/World.js line 73 @@ -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 @@ -1359,7 +1359,7 @@
Type:
Source:
- src/physics/arcade/World.js line 52 + src/physics/arcade/World.js line 52 @@ -1436,7 +1436,7 @@
Type:
Source:
- src/physics/arcade/World.js line 78 + src/physics/arcade/World.js line 78 @@ -1513,7 +1513,7 @@
Type:
Source:
- src/physics/arcade/World.js line 68 + src/physics/arcade/World.js line 68 @@ -1590,7 +1590,7 @@
Type:
Source:
- src/physics/arcade/World.js line 63 + src/physics/arcade/World.js line 63 @@ -1893,7 +1893,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1828 + src/physics/arcade/World.js line 1828 @@ -2228,7 +2228,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1856 + src/physics/arcade/World.js line 1856 @@ -2597,7 +2597,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1885 + src/physics/arcade/World.js line 1885 @@ -2853,7 +2853,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1810 + src/physics/arcade/World.js line 1810 @@ -3108,7 +3108,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2072 + src/physics/arcade/World.js line 2072 @@ -3290,7 +3290,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2099 + src/physics/arcade/World.js line 2099 @@ -3545,7 +3545,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2143 + src/physics/arcade/World.js line 2143 @@ -3834,7 +3834,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2115 + src/physics/arcade/World.js line 2115 @@ -4016,7 +4016,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1137 + src/physics/arcade/World.js line 1137 @@ -4306,7 +4306,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2012 + src/physics/arcade/World.js line 2012 @@ -4684,7 +4684,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 353 + src/physics/arcade/World.js line 353 @@ -5043,7 +5043,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 253 + src/physics/arcade/World.js line 253 @@ -5340,7 +5340,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1914 + src/physics/arcade/World.js line 1914 @@ -5597,7 +5597,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1986 + src/physics/arcade/World.js line 1986 @@ -5888,7 +5888,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1960 + src/physics/arcade/World.js line 1960 @@ -6109,7 +6109,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 158 + src/physics/arcade/World.js line 158 @@ -6245,7 +6245,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 211 + src/physics/arcade/World.js line 211 @@ -6511,7 +6511,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2042 + src/physics/arcade/World.js line 2042 @@ -6849,7 +6849,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1631 + src/physics/arcade/World.js line 1631 @@ -7119,7 +7119,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1609 + src/physics/arcade/World.js line 1609 @@ -7326,7 +7326,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1345 + src/physics/arcade/World.js line 1345 @@ -7533,7 +7533,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1408 + src/physics/arcade/World.js line 1408 @@ -7715,7 +7715,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1076 + src/physics/arcade/World.js line 1076 @@ -8010,7 +8010,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1674 + src/physics/arcade/World.js line 1674 @@ -8306,7 +8306,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1707 + src/physics/arcade/World.js line 1707 @@ -8637,7 +8637,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1740 + src/physics/arcade/World.js line 1740 @@ -8992,7 +8992,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 313 + src/physics/arcade/World.js line 313 @@ -9222,7 +9222,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 134 + src/physics/arcade/World.js line 134 @@ -9306,7 +9306,7 @@

Source:
- src/physics/arcade/World.js line 148 + src/physics/arcade/World.js line 148 @@ -9487,7 +9487,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 495 + src/physics/arcade/World.js line 495 @@ -9646,7 +9646,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 475 + src/physics/arcade/World.js line 475 @@ -9829,7 +9829,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 415 + src/physics/arcade/World.js line 415 @@ -10012,7 +10012,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 435 + src/physics/arcade/World.js line 435 @@ -10195,7 +10195,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 455 + src/physics/arcade/World.js line 455 @@ -10353,7 +10353,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 234 + src/physics/arcade/World.js line 234 @@ -10585,7 +10585,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1774 + src/physics/arcade/World.js line 1774 @@ -10843,7 +10843,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1792 + src/physics/arcade/World.js line 1792 @@ -11048,7 +11048,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2171 + src/physics/arcade/World.js line 2171 @@ -11115,9 +11115,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -11134,7 +11134,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -11163,7 +11163,7 @@
Returns:
- + diff --git a/docs/Phaser.Physics.Ninja.AABB.html b/docs/Phaser.Physics.Ninja.AABB.html index 171c2552a..ac5fe5a0c 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 19 + src/physics/ninja/AABB.js line 19 @@ -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 346 + src/physics/ninja/AABB.js line 346 @@ -1463,7 +1463,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 419 + src/physics/ninja/AABB.js line 419 @@ -1547,7 +1547,7 @@

Source:
- src/physics/ninja/AABB.js line 304 + src/physics/ninja/AABB.js line 304 @@ -1631,7 +1631,7 @@

Source:
- src/physics/ninja/AABB.js line 1011 + src/physics/ninja/AABB.js line 1011 @@ -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 717 + src/physics/ninja/AABB.js line 717 @@ -2151,7 +2151,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 638 + src/physics/ninja/AABB.js line 638 @@ -2381,7 +2381,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 584 + src/physics/ninja/AABB.js line 584 @@ -2611,7 +2611,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 849 + src/physics/ninja/AABB.js line 849 @@ -2841,7 +2841,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 771 + src/physics/ninja/AABB.js line 771 @@ -3071,7 +3071,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 952 + src/physics/ninja/AABB.js line 952 @@ -3301,7 +3301,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 901 + src/physics/ninja/AABB.js line 901 @@ -3531,7 +3531,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 504 + src/physics/ninja/AABB.js line 504 @@ -3761,7 +3761,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 524 + src/physics/ninja/AABB.js line 524 @@ -4015,7 +4015,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 1022 + src/physics/ninja/AABB.js line 1022 @@ -4221,7 +4221,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 129 + src/physics/ninja/AABB.js line 129 @@ -4451,7 +4451,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 256 + src/physics/ninja/AABB.js line 256 @@ -4657,7 +4657,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 204 + src/physics/ninja/AABB.js line 204 @@ -4863,7 +4863,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 479 + src/physics/ninja/AABB.js line 479 @@ -4967,7 +4967,7 @@

Source:
- src/physics/ninja/AABB.js line 219 + src/physics/ninja/AABB.js line 219 @@ -5010,9 +5010,9 @@

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -5029,7 +5029,7 @@

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -5058,7 +5058,7 @@

- + diff --git a/docs/Phaser.Physics.Ninja.Body.html b/docs/Phaser.Physics.Ninja.Body.html index 2b3bbe295..1b9999a7f 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 55 + src/physics/ninja/Body.js line 55 @@ -745,7 +745,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 560 + src/physics/ninja/Body.js line 560 @@ -822,7 +822,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 518 + src/physics/ninja/Body.js line 518 @@ -906,7 +906,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 96 + src/physics/ninja/Body.js line 96 @@ -984,7 +984,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 126 + src/physics/ninja/Body.js line 126 @@ -1061,7 +1061,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 65 + src/physics/ninja/Body.js line 65 @@ -1138,7 +1138,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 119 + src/physics/ninja/Body.js line 119 @@ -1222,7 +1222,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 78 + src/physics/ninja/Body.js line 78 @@ -1299,7 +1299,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 107 + src/physics/ninja/Body.js line 107 @@ -1383,7 +1383,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 84 + src/physics/ninja/Body.js line 84 @@ -1460,7 +1460,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 40 + src/physics/ninja/Body.js line 40 @@ -1544,7 +1544,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 90 + src/physics/ninja/Body.js line 90 @@ -1621,7 +1621,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 504 + src/physics/ninja/Body.js line 504 @@ -1698,7 +1698,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 113 + src/physics/ninja/Body.js line 113 @@ -1782,7 +1782,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 145 + src/physics/ninja/Body.js line 145 @@ -1859,7 +1859,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 532 + src/physics/ninja/Body.js line 532 @@ -1936,7 +1936,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 70 + src/physics/ninja/Body.js line 70 @@ -2013,7 +2013,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 546 + src/physics/ninja/Body.js line 546 @@ -2090,7 +2090,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 35 + src/physics/ninja/Body.js line 35 @@ -2167,7 +2167,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 50 + src/physics/ninja/Body.js line 50 @@ -2244,7 +2244,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 60 + src/physics/ninja/Body.js line 60 @@ -2322,7 +2322,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 133 + src/physics/ninja/Body.js line 133 @@ -2399,7 +2399,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 45 + src/physics/ninja/Body.js line 45 @@ -2476,7 +2476,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 101 + src/physics/ninja/Body.js line 101 @@ -2553,7 +2553,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 139 + src/physics/ninja/Body.js line 139 @@ -2630,7 +2630,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 490 + src/physics/ninja/Body.js line 490 @@ -2707,7 +2707,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 454 + src/physics/ninja/Body.js line 454 @@ -2784,7 +2784,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 472 + src/physics/ninja/Body.js line 472 @@ -2862,7 +2862,7 @@

Source:
- src/physics/ninja/Body.js line 392 + src/physics/ninja/Body.js line 392 @@ -2970,7 +2970,7 @@

Source:
- src/physics/ninja/Body.js line 403 + src/physics/ninja/Body.js line 403 @@ -3078,7 +3078,7 @@

Source:
- src/physics/ninja/Body.js line 414 + src/physics/ninja/Body.js line 414 @@ -3186,7 +3186,7 @@

Source:
- src/physics/ninja/Body.js line 425 + src/physics/ninja/Body.js line 425 @@ -3294,7 +3294,7 @@

Source:
- src/physics/ninja/Body.js line 436 + src/physics/ninja/Body.js line 436 @@ -3378,7 +3378,7 @@

Source:
- src/physics/ninja/Body.js line 216 + src/physics/ninja/Body.js line 216 @@ -3462,7 +3462,7 @@

Source:
- src/physics/ninja/Body.js line 185 + src/physics/ninja/Body.js line 185 @@ -3728,7 +3728,7 @@
Parameters:
Source:
- src/physics/ninja/Body.js line 574 + src/physics/ninja/Body.js line 574 @@ -3812,7 +3812,7 @@

Source:
- src/physics/ninja/Body.js line 375 + src/physics/ninja/Body.js line 375 @@ -3896,7 +3896,7 @@

Source:
- src/physics/ninja/Body.js line 260 + src/physics/ninja/Body.js line 260 @@ -3939,9 +3939,9 @@

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -3958,7 +3958,7 @@

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -3987,7 +3987,7 @@

- + diff --git a/docs/Phaser.Physics.Ninja.Circle.html b/docs/Phaser.Physics.Ninja.Circle.html index 6b5288bb7..d5a53bd73 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 18 + src/physics/ninja/Circle.js line 18 @@ -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 251 + src/physics/ninja/Circle.js line 251 @@ -1490,7 +1490,7 @@

Source:
- src/physics/ninja/Circle.js line 209 + src/physics/ninja/Circle.js line 209 @@ -1574,7 +1574,7 @@

Source:
- src/physics/ninja/Circle.js line 2634 + src/physics/ninja/Circle.js line 2634 @@ -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 1732 + src/physics/ninja/Circle.js line 1732 @@ -2190,7 +2190,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 1437 + src/physics/ninja/Circle.js line 1437 @@ -2468,7 +2468,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 453 + src/physics/ninja/Circle.js line 453 @@ -2746,7 +2746,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 2326 + src/physics/ninja/Circle.js line 2326 @@ -3024,7 +3024,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 2038 + src/physics/ninja/Circle.js line 2038 @@ -3302,7 +3302,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 724 + src/physics/ninja/Circle.js line 724 @@ -3580,7 +3580,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 959 + src/physics/ninja/Circle.js line 959 @@ -3858,7 +3858,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 340 + src/physics/ninja/Circle.js line 340 @@ -4136,7 +4136,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 1202 + src/physics/ninja/Circle.js line 1202 @@ -4390,7 +4390,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 2645 + src/physics/ninja/Circle.js line 2645 @@ -4620,7 +4620,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 133 + src/physics/ninja/Circle.js line 133 @@ -4874,7 +4874,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 314 + src/physics/ninja/Circle.js line 314 @@ -4941,9 +4941,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -4960,7 +4960,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -4989,7 +4989,7 @@
Returns:
- + diff --git a/docs/Phaser.Physics.Ninja.Tile.html b/docs/Phaser.Physics.Ninja.Tile.html index fffaaeeb6..3d8222fd4 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 24 + src/physics/ninja/Tile.js line 24 @@ -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 712 + src/physics/ninja/Tile.js line 712 @@ -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 726 + src/physics/ninja/Tile.js line 726 @@ -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 676 + src/physics/ninja/Tile.js line 676 @@ -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 694 + src/physics/ninja/Tile.js line 694 @@ -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 294 + src/physics/ninja/Tile.js line 294 @@ -1855,7 +1855,7 @@

Source:
- src/physics/ninja/Tile.js line 154 + src/physics/ninja/Tile.js line 154 @@ -1939,7 +1939,7 @@

Source:
- src/physics/ninja/Tile.js line 307 + src/physics/ninja/Tile.js line 307 @@ -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 196 + src/physics/ninja/Tile.js line 196 @@ -2387,7 +2387,7 @@
Parameters:
Source:
- src/physics/ninja/Tile.js line 271 + src/physics/ninja/Tile.js line 271 @@ -2430,9 +2430,9 @@
Parameters:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -2449,7 +2449,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -2478,7 +2478,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.Ninja.html b/docs/Phaser.Physics.Ninja.html index 7347e0270..f857066cc 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 50 + src/physics/ninja/World.js line 50 @@ -441,7 +441,7 @@
Type:
Source:
- src/physics/ninja/World.js line 35 + src/physics/ninja/World.js line 35 @@ -518,7 +518,7 @@
Type:
Source:
- src/physics/ninja/World.js line 45 + src/physics/ninja/World.js line 45 @@ -595,7 +595,7 @@
Type:
Source:
- src/physics/ninja/World.js line 60 + src/physics/ninja/World.js line 60 @@ -672,7 +672,7 @@
Type:
Source:
- src/physics/ninja/World.js line 55 + src/physics/ninja/World.js line 55 @@ -749,7 +749,7 @@
Type:
Source:
- src/physics/ninja/World.js line 65 + src/physics/ninja/World.js line 65 @@ -826,7 +826,7 @@
Type:
Source:
- src/physics/ninja/World.js line 40 + src/physics/ninja/World.js line 40 @@ -1004,7 +1004,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 230 + src/physics/ninja/World.js line 230 @@ -1334,7 +1334,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 339 + src/physics/ninja/World.js line 339 @@ -1555,7 +1555,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 253 + src/physics/ninja/World.js line 253 @@ -1896,7 +1896,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 125 + src/physics/ninja/World.js line 125 @@ -2093,7 +2093,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 76 + src/physics/ninja/World.js line 76 @@ -2228,7 +2228,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 184 + src/physics/ninja/World.js line 184 @@ -2461,7 +2461,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 91 + src/physics/ninja/World.js line 91 @@ -2700,7 +2700,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 107 + src/physics/ninja/World.js line 107 @@ -3022,7 +3022,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 299 + src/physics/ninja/World.js line 299 @@ -3204,7 +3204,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 585 + src/physics/ninja/World.js line 585 @@ -3434,7 +3434,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 202 + src/physics/ninja/World.js line 202 @@ -3518,7 +3518,7 @@

Source:
- src/physics/ninja/World.js line 218 + src/physics/ninja/World.js line 218 @@ -3561,9 +3561,9 @@

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -3580,7 +3580,7 @@

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -3609,7 +3609,7 @@

- + diff --git a/docs/Phaser.Physics.P2.Body.html b/docs/Phaser.Physics.P2.Body.html index 2de9d2c8a..5b72c9956 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 1563 + src/physics/p2/Body.js line 1563 @@ -591,7 +591,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1579 + src/physics/p2/Body.js line 1579 @@ -668,7 +668,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1571 + src/physics/p2/Body.js line 1571 @@ -747,7 +747,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1674 + src/physics/p2/Body.js line 1674 @@ -826,7 +826,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1699 + src/physics/p2/Body.js line 1699 @@ -903,7 +903,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1725 + src/physics/p2/Body.js line 1725 @@ -980,7 +980,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1748 + src/physics/p2/Body.js line 1748 @@ -1057,7 +1057,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1770 + src/physics/p2/Body.js line 1770 @@ -1134,7 +1134,7 @@
Type:
Source:
- src/physics/p2/Body.js line 113 + src/physics/p2/Body.js line 113 @@ -1221,7 +1221,7 @@
Type:
Source:
- src/physics/p2/Body.js line 2051 + src/physics/p2/Body.js line 2051 @@ -1298,7 +1298,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1792 + src/physics/p2/Body.js line 1792 @@ -1375,7 +1375,7 @@
Type:
Source:
- src/physics/p2/Body.js line 60 + src/physics/p2/Body.js line 60 @@ -1452,7 +1452,7 @@
Type:
Source:
- src/physics/p2/Body.js line 2020 + src/physics/p2/Body.js line 2020 @@ -1529,7 +1529,7 @@
Type:
Source:
- src/physics/p2/Body.js line 123 + src/physics/p2/Body.js line 123 @@ -1606,7 +1606,7 @@
Type:
Source:
- src/physics/p2/Body.js line 128 + src/physics/p2/Body.js line 128 @@ -1683,7 +1683,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1612 + src/physics/p2/Body.js line 1612 @@ -1762,7 +1762,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1815 + src/physics/p2/Body.js line 1815 @@ -1839,7 +1839,7 @@
Type:
Source:
- src/physics/p2/Body.js line 72 + src/physics/p2/Body.js line 72 @@ -1916,7 +1916,7 @@
Type:
Source:
- src/physics/p2/Body.js line 34 + src/physics/p2/Body.js line 34 @@ -1993,7 +1993,7 @@
Type:
Source:
- src/physics/p2/Body.js line 77 + src/physics/p2/Body.js line 77 @@ -2070,7 +2070,7 @@
Type:
Source:
- src/physics/p2/Body.js line 2004 + src/physics/p2/Body.js line 2004 @@ -2147,7 +2147,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1840 + src/physics/p2/Body.js line 1840 @@ -2224,7 +2224,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1643 + src/physics/p2/Body.js line 1643 @@ -2301,7 +2301,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1862 + src/physics/p2/Body.js line 1862 @@ -2378,7 +2378,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1888 + src/physics/p2/Body.js line 1888 @@ -2455,7 +2455,7 @@
Type:
Source:
- src/physics/p2/Body.js line 54 + src/physics/p2/Body.js line 54 @@ -2539,7 +2539,7 @@
Type:
Source:
- src/physics/p2/Body.js line 93 + src/physics/p2/Body.js line 93 @@ -2622,7 +2622,7 @@
Type:
Source:
- src/physics/p2/Body.js line 108 + src/physics/p2/Body.js line 108 @@ -2699,7 +2699,7 @@
Type:
Source:
- src/physics/p2/Body.js line 118 + src/physics/p2/Body.js line 118 @@ -2777,7 +2777,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1913 + src/physics/p2/Body.js line 1913 @@ -2854,7 +2854,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1938 + src/physics/p2/Body.js line 1938 @@ -2931,7 +2931,7 @@
Type:
Source:
- src/physics/p2/Body.js line 44 + src/physics/p2/Body.js line 44 @@ -3008,7 +3008,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1581 + src/physics/p2/Body.js line 1581 @@ -3085,7 +3085,7 @@
Type:
Source:
- src/physics/p2/Body.js line 49 + src/physics/p2/Body.js line 49 @@ -3162,7 +3162,7 @@
Type:
Source:
- src/physics/p2/Body.js line 67 + src/physics/p2/Body.js line 67 @@ -3239,7 +3239,7 @@
Type:
Source:
- src/physics/p2/Body.js line 39 + src/physics/p2/Body.js line 39 @@ -3316,7 +3316,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1960 + src/physics/p2/Body.js line 1960 @@ -3393,7 +3393,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1982 + src/physics/p2/Body.js line 1982 @@ -3694,7 +3694,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1153 + src/physics/p2/Body.js line 1153 @@ -3988,7 +3988,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1057 + src/physics/p2/Body.js line 1057 @@ -4146,7 +4146,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1404 + src/physics/p2/Body.js line 1404 @@ -4442,7 +4442,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1132 + src/physics/p2/Body.js line 1132 @@ -4700,7 +4700,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1114 + src/physics/p2/Body.js line 1114 @@ -4885,7 +4885,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1363 + src/physics/p2/Body.js line 1363 @@ -5143,7 +5143,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1096 + src/physics/p2/Body.js line 1096 @@ -5484,7 +5484,7 @@
Properties
Source:
- src/physics/p2/Body.js line 1174 + src/physics/p2/Body.js line 1174 @@ -5814,7 +5814,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1076 + src/physics/p2/Body.js line 1076 @@ -6110,7 +6110,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1030 + src/physics/p2/Body.js line 1030 @@ -6218,7 +6218,7 @@

Source:
- src/physics/p2/Body.js line 938 + src/physics/p2/Body.js line 938 @@ -6302,7 +6302,7 @@

Source:
- src/physics/p2/Body.js line 497 + src/physics/p2/Body.js line 497 @@ -6436,7 +6436,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 525 + src/physics/p2/Body.js line 525 @@ -6623,7 +6623,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 573 + src/physics/p2/Body.js line 573 @@ -6810,7 +6810,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 538 + src/physics/p2/Body.js line 538 @@ -6997,7 +6997,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 555 + src/physics/p2/Body.js line 555 @@ -7229,7 +7229,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 329 + src/physics/p2/Body.js line 329 @@ -7313,7 +7313,7 @@

Source:
- src/physics/p2/Body.js line 1011 + src/physics/p2/Body.js line 1011 @@ -7562,7 +7562,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 443 + src/physics/p2/Body.js line 443 @@ -7756,7 +7756,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 181 + src/physics/p2/Body.js line 181 @@ -7942,7 +7942,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 222 + src/physics/p2/Body.js line 222 @@ -8026,7 +8026,7 @@

Source:
- src/physics/p2/Body.js line 979 + src/physics/p2/Body.js line 979 @@ -8110,7 +8110,7 @@

Source:
- src/physics/p2/Body.js line 250 + src/physics/p2/Body.js line 250 @@ -8292,7 +8292,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 510 + src/physics/p2/Body.js line 510 @@ -8550,7 +8550,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1477 + src/physics/p2/Body.js line 1477 @@ -8709,7 +8709,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 713 + src/physics/p2/Body.js line 713 @@ -8844,7 +8844,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 845 + src/physics/p2/Body.js line 845 @@ -8979,7 +8979,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 695 + src/physics/p2/Body.js line 695 @@ -9114,7 +9114,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 803 + src/physics/p2/Body.js line 803 @@ -9249,7 +9249,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 817 + src/physics/p2/Body.js line 817 @@ -9384,7 +9384,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 831 + src/physics/p2/Body.js line 831 @@ -9468,7 +9468,7 @@

Source:
- src/physics/p2/Body.js line 878 + src/physics/p2/Body.js line 878 @@ -9552,7 +9552,7 @@

Source:
- src/physics/p2/Body.js line 859 + src/physics/p2/Body.js line 859 @@ -9783,7 +9783,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 378 + src/physics/p2/Body.js line 378 @@ -9867,7 +9867,7 @@

Source:
- src/physics/p2/Body.js line 964 + src/physics/p2/Body.js line 964 @@ -10013,7 +10013,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1241 + src/physics/p2/Body.js line 1241 @@ -10303,7 +10303,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 904 + src/physics/p2/Body.js line 904 @@ -10438,7 +10438,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 785 + src/physics/p2/Body.js line 785 @@ -10572,7 +10572,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 669 + src/physics/p2/Body.js line 669 @@ -10706,7 +10706,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 682 + src/physics/p2/Body.js line 682 @@ -10977,7 +10977,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1258 + src/physics/p2/Body.js line 1258 @@ -11156,7 +11156,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 300 + src/physics/p2/Body.js line 300 @@ -11335,7 +11335,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1323 + src/physics/p2/Body.js line 1323 @@ -11651,7 +11651,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1277 + src/physics/p2/Body.js line 1277 @@ -11827,7 +11827,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1302 + src/physics/p2/Body.js line 1302 @@ -11935,7 +11935,7 @@

Source:
- src/physics/p2/Body.js line 628 + src/physics/p2/Body.js line 628 @@ -12019,7 +12019,7 @@

Source:
- src/physics/p2/Body.js line 591 + src/physics/p2/Body.js line 591 @@ -12103,7 +12103,7 @@

Source:
- src/physics/p2/Body.js line 603 + src/physics/p2/Body.js line 603 @@ -12187,7 +12187,7 @@

Source:
- src/physics/p2/Body.js line 615 + src/physics/p2/Body.js line 615 @@ -12271,7 +12271,7 @@

Source:
- src/physics/p2/Body.js line 1348 + src/physics/p2/Body.js line 1348 @@ -12406,7 +12406,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 731 + src/physics/p2/Body.js line 731 @@ -12541,7 +12541,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 749 + src/physics/p2/Body.js line 749 @@ -12676,7 +12676,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 767 + src/physics/p2/Body.js line 767 @@ -12840,7 +12840,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 641 + src/physics/p2/Body.js line 641 @@ -12998,7 +12998,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 655 + src/physics/p2/Body.js line 655 @@ -13144,7 +13144,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 275 + src/physics/p2/Body.js line 275 @@ -13187,9 +13187,9 @@
Parameters:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -13206,7 +13206,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -13235,7 +13235,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.P2.BodyDebug.html b/docs/Phaser.Physics.P2.BodyDebug.html index 61bbd9466..cb1927fbc 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 91 + src/core/Group.js line 91 @@ -501,7 +501,7 @@
Type:
Source:
- src/core/Group.js line 3155 + src/core/Group.js line 3155 @@ -590,7 +590,7 @@
Type:
Source:
- src/core/Group.js line 2825 + src/core/Group.js line 2825 @@ -667,7 +667,7 @@
Type:
Source:
- src/physics/p2/BodyDebug.js line 51 + src/physics/p2/BodyDebug.js line 51 @@ -755,7 +755,7 @@
Type:
Source:
- src/core/Group.js line 2980 + src/core/Group.js line 2980 @@ -848,7 +848,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 791 + src/pixi/display/DisplayObject.js line 791 @@ -935,7 +935,7 @@
Type:
Source:
- src/core/Group.js line 277 + src/core/Group.js line 277 @@ -1012,7 +1012,7 @@
Type:
Source:
- src/physics/p2/BodyDebug.js line 56 + src/physics/p2/BodyDebug.js line 56 @@ -1100,7 +1100,7 @@
Type:
Source:
- src/core/Group.js line 2850 + src/core/Group.js line 2850 @@ -1188,7 +1188,7 @@
Type:
Source:
- src/core/Group.js line 2876 + src/core/Group.js line 2876 @@ -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 127 + src/core/Group.js line 127 @@ -1455,7 +1455,7 @@
Type:
Source:
- src/core/Group.js line 135 + src/core/Group.js line 135 @@ -1541,7 +1541,7 @@
Type:
Source:
- src/core/Group.js line 260 + src/core/Group.js line 260 @@ -1629,7 +1629,7 @@
Type:
Source:
- src/core/Group.js line 213 + src/core/Group.js line 213 @@ -1716,7 +1716,7 @@
Type:
Source:
- src/core/Group.js line 222 + src/core/Group.js line 222 @@ -1809,7 +1809,7 @@
Type:
Source:
- src/core/Group.js line 98 + src/core/Group.js line 98 @@ -1895,7 +1895,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -1986,7 +1986,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -2074,7 +2074,7 @@
Type:
Source:
- src/core/Group.js line 270 + src/core/Group.js line 270 @@ -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 290 + src/core/Group.js line 290 @@ -2336,7 +2336,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 606 + src/pixi/display/DisplayObjectContainer.js line 606 @@ -2432,7 +2432,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -2520,7 +2520,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -2606,7 +2606,7 @@
Type:
Source:
- src/core/Group.js line 105 + src/core/Group.js line 105 @@ -2694,7 +2694,7 @@
Type:
Source:
- src/core/Group.js line 146 + src/core/Group.js line 146 @@ -2782,7 +2782,7 @@
Type:
Source:
- src/core/Group.js line 2902 + src/core/Group.js line 2902 @@ -2868,7 +2868,7 @@
Type:
Source:
- src/core/Group.js line 2809 + src/core/Group.js line 2809 @@ -2957,7 +2957,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -3043,7 +3043,7 @@
Type:
Source:
- src/core/Group.js line 49 + src/core/Group.js line 49 @@ -3133,7 +3133,7 @@
Type:
Source:
- src/core/Group.js line 166 + src/core/Group.js line 166 @@ -3223,7 +3223,7 @@
Type:
Source:
- src/core/Group.js line 203 + src/core/Group.js line 203 @@ -3313,7 +3313,7 @@
Type:
Source:
- src/core/Group.js line 191 + src/core/Group.js line 191 @@ -3404,7 +3404,7 @@
Type:
Source:
- src/core/Group.js line 179 + src/core/Group.js line 179 @@ -3490,7 +3490,7 @@
Type:
Source:
- src/core/Group.js line 254 + src/core/Group.js line 254 @@ -3579,7 +3579,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -3669,7 +3669,7 @@
Type:
Source:
- src/core/Group.js line 117 + src/core/Group.js line 117 @@ -3756,7 +3756,7 @@
Type:
Source:
- src/core/Group.js line 230 + src/core/Group.js line 230 @@ -3849,7 +3849,7 @@
Type:
Source:
- src/core/Group.js line 248 + src/core/Group.js line 248 @@ -3935,7 +3935,7 @@
Type:
Source:
- src/core/Group.js line 84 + src/core/Group.js line 84 @@ -4022,7 +4022,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4110,7 +4110,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4187,7 +4187,7 @@
Type:
Source:
- src/physics/p2/BodyDebug.js line 45 + src/physics/p2/BodyDebug.js line 45 @@ -4274,7 +4274,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -4362,7 +4362,7 @@
Type:
Source:
- src/core/Group.js line 2928 + src/core/Group.js line 2928 @@ -4450,7 +4450,7 @@
Type:
Source:
- src/core/Group.js line 3139 + src/core/Group.js line 3139 @@ -4539,7 +4539,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -4627,7 +4627,7 @@
Type:
Source:
- src/core/Group.js line 2954 + src/core/Group.js line 2954 @@ -4713,7 +4713,7 @@
Type:
Source:
- src/core/Group.js line 2793 + src/core/Group.js line 2793 @@ -4799,7 +4799,7 @@
Type:
Source:
- src/core/Group.js line 78 + src/core/Group.js line 78 @@ -4885,7 +4885,7 @@
Type:
Source:
- src/core/Group.js line 154 + src/core/Group.js line 154 @@ -4971,7 +4971,7 @@
Type:
Source:
- src/core/Group.js line 3148 + src/core/Group.js line 3148 @@ -5057,7 +5057,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 576 + src/pixi/display/DisplayObjectContainer.js line 576 @@ -5149,7 +5149,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -5240,7 +5240,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -5331,7 +5331,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -5422,7 +5422,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -5513,7 +5513,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -5599,7 +5599,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -5687,7 +5687,7 @@
Type:
Source:
- src/core/Group.js line 3121 + src/core/Group.js line 3121 @@ -5775,7 +5775,7 @@
Type:
Source:
- src/core/Group.js line 3130 + src/core/Group.js line 3130 @@ -5862,7 +5862,7 @@
Type:
Source:
- src/core/Group.js line 57 + src/core/Group.js line 57 @@ -6100,7 +6100,7 @@
Parameters:
Source:
- src/core/Group.js line 345 + src/core/Group.js line 345 @@ -6378,7 +6378,7 @@
Parameters:
Source:
- src/core/Group.js line 1417 + src/core/Group.js line 1417 @@ -6620,7 +6620,7 @@
Parameters:
Source:
- src/core/Group.js line 421 + src/core/Group.js line 421 @@ -6787,7 +6787,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -6978,7 +6978,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -7209,7 +7209,7 @@
Parameters:
Source:
- src/core/Group.js line 489 + src/core/Group.js line 489 @@ -7380,7 +7380,7 @@
Parameters:
Source:
- src/core/Group.js line 441 + src/core/Group.js line 441 @@ -7775,7 +7775,7 @@
Parameters:
Source:
- src/core/Group.js line 681 + src/core/Group.js line 681 @@ -8118,7 +8118,7 @@
Parameters:
Source:
- src/core/Group.js line 3006 + src/core/Group.js line 3006 @@ -8462,7 +8462,7 @@
Parameters:
Source:
- src/core/Group.js line 3048 + src/core/Group.js line 3048 @@ -8653,7 +8653,7 @@
Parameters:
Source:
- src/core/Group.js line 2024 + src/core/Group.js line 2024 @@ -8796,7 +8796,7 @@
Parameters:
Source:
- src/core/Group.js line 901 + src/core/Group.js line 901 @@ -9059,7 +9059,7 @@
Parameters:
Source:
- src/core/Group.js line 1624 + src/core/Group.js line 1624 @@ -9279,7 +9279,7 @@
Parameters:
Source:
- src/core/Group.js line 1540 + src/core/Group.js line 1540 @@ -9470,7 +9470,7 @@
Parameters:
Source:
- src/core/Group.js line 1575 + src/core/Group.js line 1575 @@ -9786,7 +9786,7 @@
Parameters:
Source:
- src/core/Group.js line 1349 + src/core/Group.js line 1349 @@ -10088,7 +10088,7 @@
Parameters:
Source:
- src/core/Group.js line 1384 + src/core/Group.js line 1384 @@ -10385,7 +10385,7 @@
Parameters:
Source:
- src/core/Group.js line 1208 + src/core/Group.js line 1208 @@ -10552,7 +10552,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -10739,7 +10739,7 @@
Parameters:
Source:
- src/core/Group.js line 2431 + src/core/Group.js line 2431 @@ -10856,7 +10856,7 @@

Source:
- src/core/Group.js line 2455 + src/core/Group.js line 2455 @@ -10973,7 +10973,7 @@

Source:
- src/core/Group.js line 2444 + src/core/Group.js line 2444 @@ -11367,7 +11367,7 @@
Parameters:
Source:
- src/core/Group.js line 542 + src/core/Group.js line 542 @@ -11774,7 +11774,7 @@
Parameters:
Source:
- src/core/Group.js line 578 + src/core/Group.js line 578 @@ -11987,7 +11987,7 @@
Parameters:
Source:
- src/core/Group.js line 2001 + src/core/Group.js line 2001 @@ -12154,7 +12154,7 @@
Parameters:
Source:
- src/core/Group.js line 2053 + src/core/Group.js line 2053 @@ -12358,7 +12358,7 @@
Parameters:
Source:
- src/core/Group.js line 2757 + src/core/Group.js line 2757 @@ -12574,7 +12574,7 @@
Parameters:
Source:
- src/core/Group.js line 1465 + src/core/Group.js line 1465 @@ -12658,7 +12658,7 @@

Source:
- src/physics/p2/BodyDebug.js line 87 + src/physics/p2/BodyDebug.js line 87 @@ -12864,7 +12864,7 @@
Parameters:
Source:
- src/core/Group.js line 1783 + src/core/Group.js line 1783 @@ -13170,7 +13170,7 @@
Parameters:
Source:
- src/core/Group.js line 1822 + src/core/Group.js line 1822 @@ -13408,7 +13408,7 @@
Parameters:
Source:
- src/core/Group.js line 1908 + src/core/Group.js line 1908 @@ -13646,7 +13646,7 @@
Parameters:
Source:
- src/core/Group.js line 1935 + src/core/Group.js line 1935 @@ -13884,7 +13884,7 @@
Parameters:
Source:
- src/core/Group.js line 1881 + src/core/Group.js line 1881 @@ -14129,7 +14129,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -14437,7 +14437,7 @@
Parameters:
Source:
- src/core/Group.js line 2506 + src/core/Group.js line 2506 @@ -14606,7 +14606,7 @@
Parameters:
Source:
- src/core/Group.js line 523 + src/core/Group.js line 523 @@ -14727,7 +14727,7 @@

Source:
- src/core/Group.js line 2329 + src/core/Group.js line 2329 @@ -14909,7 +14909,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 289 + src/pixi/display/DisplayObjectContainer.js line 289 @@ -15078,7 +15078,7 @@
Parameters:
Source:
- src/core/Group.js line 1041 + src/core/Group.js line 1041 @@ -15245,7 +15245,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -15412,7 +15412,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -15663,7 +15663,7 @@
Parameters:
Source:
- src/core/Group.js line 2345 + src/core/Group.js line 2345 @@ -15854,7 +15854,7 @@
Parameters:
Source:
- src/core/Group.js line 2171 + src/core/Group.js line 2171 @@ -16213,7 +16213,7 @@
Parameters:
Source:
- src/core/Group.js line 2217 + src/core/Group.js line 2217 @@ -16572,7 +16572,7 @@
Parameters:
Source:
- src/core/Group.js line 2246 + src/core/Group.js line 2246 @@ -16970,7 +16970,7 @@
Parameters:
Source:
- src/core/Group.js line 2184 + src/core/Group.js line 2184 @@ -17221,7 +17221,7 @@
Parameters:
Source:
- src/core/Group.js line 2388 + src/core/Group.js line 2388 @@ -17388,7 +17388,7 @@
Parameters:
Source:
- src/core/Group.js line 1029 + src/core/Group.js line 1029 @@ -17505,7 +17505,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 445 + src/pixi/display/DisplayObjectContainer.js line 445 @@ -17732,7 +17732,7 @@
Parameters:
Source:
- src/core/Group.js line 2466 + src/core/Group.js line 2466 @@ -17960,7 +17960,7 @@
Parameters:
Source:
- src/core/Group.js line 2487 + src/core/Group.js line 2487 @@ -18078,7 +18078,7 @@

Source:
- src/core/Group.js line 2313 + src/core/Group.js line 2313 @@ -18270,7 +18270,7 @@
Parameters:
Source:
- src/core/Group.js line 1093 + src/core/Group.js line 1093 @@ -18657,7 +18657,7 @@
Parameters:
Source:
- src/core/Group.js line 2077 + src/core/Group.js line 2077 @@ -18774,7 +18774,7 @@

Source:
- src/core/Group.js line 1481 + src/core/Group.js line 1481 @@ -18867,7 +18867,7 @@

Source:
- src/core/Group.js line 1493 + src/core/Group.js line 1493 @@ -19066,7 +19066,7 @@
Parameters:
Source:
- src/core/Group.js line 2598 + src/core/Group.js line 2598 @@ -19233,7 +19233,7 @@
Parameters:
Source:
- src/core/Group.js line 972 + src/core/Group.js line 972 @@ -19400,7 +19400,7 @@
Parameters:
Source:
- src/core/Group.js line 949 + src/core/Group.js line 949 @@ -19640,7 +19640,7 @@
Parameters:
Source:
- src/core/Group.js line 1449 + src/core/Group.js line 1449 @@ -19734,7 +19734,7 @@

Source:
- src/core/Group.js line 830 + src/core/Group.js line 830 @@ -19851,7 +19851,7 @@

Source:
- src/core/Group.js line 1763 + src/core/Group.js line 1763 @@ -19944,7 +19944,7 @@

Source:
- src/core/Group.js line 1695 + src/core/Group.js line 1695 @@ -20038,7 +20038,7 @@

Source:
- src/core/Group.js line 858 + src/core/Group.js line 858 @@ -20303,7 +20303,7 @@
Parameters:
Source:
- src/core/Group.js line 2551 + src/core/Group.js line 2551 @@ -20573,7 +20573,7 @@
Parameters:
Source:
- src/core/Group.js line 2626 + src/core/Group.js line 2626 @@ -20850,7 +20850,7 @@
Parameters:
Source:
- src/core/Group.js line 2673 + src/core/Group.js line 2673 @@ -20993,7 +20993,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -21160,7 +21160,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -21351,7 +21351,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -21495,7 +21495,7 @@
Parameters:
Source:
- src/core/Group.js line 465 + src/core/Group.js line 465 @@ -21688,7 +21688,7 @@
Parameters:
Source:
- src/core/Group.js line 1055 + src/core/Group.js line 1055 @@ -22042,7 +22042,7 @@
Parameters:
Source:
- src/core/Group.js line 1525 + src/core/Group.js line 1525 @@ -22348,7 +22348,7 @@
Parameters:
Source:
- src/core/Group.js line 2275 + src/core/Group.js line 2275 @@ -22536,7 +22536,7 @@
Parameters:
Source:
- src/core/Group.js line 804 + src/core/Group.js line 804 @@ -22654,7 +22654,7 @@

Source:
- src/core/Group.js line 1016 + src/core/Group.js line 1016 @@ -22747,7 +22747,7 @@

Source:
- src/core/Group.js line 1503 + src/core/Group.js line 1503 @@ -22840,7 +22840,7 @@

Source:
- src/core/Group.js line 1515 + src/core/Group.js line 1515 @@ -23043,7 +23043,7 @@
Parameters:
Source:
- src/core/Group.js line 2727 + src/core/Group.js line 2727 @@ -23186,7 +23186,7 @@
Parameters:
Source:
- src/core/Group.js line 925 + src/core/Group.js line 925 @@ -23602,7 +23602,7 @@
Parameters:
Source:
- src/core/Group.js line 1237 + src/core/Group.js line 1237 @@ -23984,7 +23984,7 @@
Parameters:
Source:
- src/core/Group.js line 1267 + src/core/Group.js line 1267 @@ -24342,7 +24342,7 @@
Parameters:
Source:
- src/core/Group.js line 1305 + src/core/Group.js line 1305 @@ -24509,7 +24509,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -24828,7 +24828,7 @@
Parameters:
Source:
- src/core/Group.js line 1127 + src/core/Group.js line 1127 @@ -24946,7 +24946,7 @@

Source:
- src/core/Group.js line 2744 + src/core/Group.js line 2744 @@ -25153,7 +25153,7 @@
Parameters:
Source:
- src/core/Group.js line 1962 + src/core/Group.js line 1962 @@ -25369,7 +25369,7 @@
Parameters:
Source:
- src/core/Group.js line 1433 + src/core/Group.js line 1433 @@ -25537,7 +25537,7 @@
Parameters:
Source:
- src/core/Group.js line 886 + src/core/Group.js line 886 @@ -25704,7 +25704,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -25847,7 +25847,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -26060,7 +26060,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -26180,7 +26180,7 @@

Source:
- src/core/Group.js line 1735 + src/core/Group.js line 1735 @@ -26273,7 +26273,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -26383,7 +26383,7 @@

Source:
- src/physics/p2/BodyDebug.js line 73 + src/physics/p2/BodyDebug.js line 73 @@ -26546,7 +26546,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -26666,7 +26666,7 @@

Source:
- src/core/Group.js line 663 + src/core/Group.js line 663 @@ -26857,7 +26857,7 @@
Parameters:
Source:
- src/core/Group.js line 995 + src/core/Group.js line 995 @@ -26900,9 +26900,9 @@
Parameters:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -26919,7 +26919,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -26948,7 +26948,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.P2.CollisionGroup.html b/docs/Phaser.Physics.P2.CollisionGroup.html index 08b9b346a..cb2e97ad7 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 20 + src/physics/p2/CollisionGroup.js line 20 @@ -368,9 +368,9 @@
Type:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -387,7 +387,7 @@
Type:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -416,7 +416,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.ContactMaterial.html b/docs/Phaser.Physics.P2.ContactMaterial.html index ee7f7c6f5..a54cba0e7 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.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -382,7 +382,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -411,7 +411,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.P2.DistanceConstraint.html b/docs/Phaser.Physics.P2.DistanceConstraint.html index 62613e09a..4728a8288 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 31 + src/physics/p2/DistanceConstraint.js line 31 @@ -652,7 +652,7 @@
Type:
Source:
- src/physics/p2/DistanceConstraint.js line 36 + src/physics/p2/DistanceConstraint.js line 36 @@ -685,9 +685,9 @@
Type:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -704,7 +704,7 @@
Type:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -733,7 +733,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.FixtureList.html b/docs/Phaser.Physics.P2.FixtureList.html index b53417531..04bf14ee7 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 21 + src/physics/p2/FixtureList.js line 21 @@ -387,7 +387,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 225 + src/physics/p2/FixtureList.js line 225 @@ -521,7 +521,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 168 + src/physics/p2/FixtureList.js line 168 @@ -655,7 +655,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 131 + src/physics/p2/FixtureList.js line 131 @@ -789,7 +789,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 181 + src/physics/p2/FixtureList.js line 181 @@ -869,7 +869,7 @@

Source:
- src/physics/p2/FixtureList.js line 37 + src/physics/p2/FixtureList.js line 37 @@ -953,7 +953,7 @@

Source:
- src/physics/p2/FixtureList.js line 194 + src/physics/p2/FixtureList.js line 194 @@ -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 80 + src/physics/p2/FixtureList.js line 80 @@ -1415,7 +1415,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 114 + src/physics/p2/FixtureList.js line 114 @@ -1569,7 +1569,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 97 + src/physics/p2/FixtureList.js line 97 @@ -1612,9 +1612,9 @@
Parameters:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -1631,7 +1631,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -1660,7 +1660,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.P2.GearConstraint.html b/docs/Phaser.Physics.P2.GearConstraint.html index 0126132ac..f9cd3a3f2 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 27 + src/physics/p2/GearConstraint.js line 27 @@ -580,7 +580,7 @@
Type:
Source:
- src/physics/p2/GearConstraint.js line 32 + src/physics/p2/GearConstraint.js line 32 @@ -613,9 +613,9 @@
Type:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -632,7 +632,7 @@
Type:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -661,7 +661,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.InversePointProxy.html b/docs/Phaser.Physics.P2.InversePointProxy.html index 68266ab50..fbda4ebae 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 69 + src/physics/p2/InversePointProxy.js line 69 @@ -436,7 +436,7 @@
Type:
Source:
- src/physics/p2/InversePointProxy.js line 91 + src/physics/p2/InversePointProxy.js line 91 @@ -513,7 +513,7 @@
Type:
Source:
- src/physics/p2/InversePointProxy.js line 25 + src/physics/p2/InversePointProxy.js line 25 @@ -590,7 +590,7 @@
Type:
Source:
- src/physics/p2/InversePointProxy.js line 47 + src/physics/p2/InversePointProxy.js line 47 @@ -623,9 +623,9 @@
Type:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -642,7 +642,7 @@
Type:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -671,7 +671,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.LockConstraint.html b/docs/Phaser.Physics.P2.LockConstraint.html index aff90d6f2..c0432558c 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 29 + src/physics/p2/LockConstraint.js line 29 @@ -616,7 +616,7 @@
Type:
Source:
- src/physics/p2/LockConstraint.js line 34 + src/physics/p2/LockConstraint.js line 34 @@ -649,9 +649,9 @@
Type:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -668,7 +668,7 @@
Type:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -697,7 +697,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.Material.html b/docs/Phaser.Physics.P2.Material.html index ecc720eb4..cd8e3dbe2 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 23 + src/physics/p2/Material.js line 23 @@ -369,9 +369,9 @@
Type:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -388,7 +388,7 @@
Type:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -417,7 +417,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.PointProxy.html b/docs/Phaser.Physics.P2.PointProxy.html index e7d91161d..8c8572337 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 69 + src/physics/p2/PointProxy.js line 69 @@ -436,7 +436,7 @@
Type:
Source:
- src/physics/p2/PointProxy.js line 91 + src/physics/p2/PointProxy.js line 91 @@ -513,7 +513,7 @@
Type:
Source:
- src/physics/p2/PointProxy.js line 25 + src/physics/p2/PointProxy.js line 25 @@ -590,7 +590,7 @@
Type:
Source:
- src/physics/p2/PointProxy.js line 47 + src/physics/p2/PointProxy.js line 47 @@ -623,9 +623,9 @@
Type:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -642,7 +642,7 @@
Type:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -671,7 +671,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.PrismaticConstraint.html b/docs/Phaser.Physics.P2.PrismaticConstraint.html index 770db5267..4128e072c 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 33 + src/physics/p2/PrismaticConstraint.js line 33 @@ -692,7 +692,7 @@
Type:
Source:
- src/physics/p2/PrismaticConstraint.js line 38 + src/physics/p2/PrismaticConstraint.js line 38 @@ -725,9 +725,9 @@
Type:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -744,7 +744,7 @@
Type:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -773,7 +773,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.RevoluteConstraint.html b/docs/Phaser.Physics.P2.RevoluteConstraint.html index 4a1f0d821..3daa6531a 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 30 + src/physics/p2/RevoluteConstraint.js line 30 @@ -653,7 +653,7 @@
Type:
Source:
- src/physics/p2/RevoluteConstraint.js line 35 + src/physics/p2/RevoluteConstraint.js line 35 @@ -686,9 +686,9 @@
Type:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -705,7 +705,7 @@
Type:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -734,7 +734,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.RotationalSpring.html b/docs/Phaser.Physics.P2.RotationalSpring.html index 6b71805a8..273e81a17 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 50 + src/physics/p2/RotationalSpring.js line 50 @@ -618,7 +618,7 @@
Type:
Source:
- src/physics/p2/RotationalSpring.js line 25 + src/physics/p2/RotationalSpring.js line 25 @@ -695,7 +695,7 @@
Type:
Source:
- src/physics/p2/RotationalSpring.js line 30 + src/physics/p2/RotationalSpring.js line 30 @@ -728,9 +728,9 @@
Type:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -747,7 +747,7 @@
Type:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -776,7 +776,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.Spring.html b/docs/Phaser.Physics.P2.Spring.html index 97fe8fbe8..2b0ff4737 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 71 + src/physics/p2/Spring.js line 71 @@ -772,7 +772,7 @@
Type:
Source:
- src/physics/p2/Spring.js line 29 + src/physics/p2/Spring.js line 29 @@ -849,7 +849,7 @@
Type:
Source:
- src/physics/p2/Spring.js line 34 + src/physics/p2/Spring.js line 34 @@ -882,9 +882,9 @@
Type:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -901,7 +901,7 @@
Type:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -930,7 +930,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.html b/docs/Phaser.Physics.P2.html index c7dfdfed6..3fbca4c76 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 1997 + src/physics/p2/World.js line 1997 @@ -506,7 +506,7 @@
Type:
Source:
- src/physics/p2/World.js line 2019 + src/physics/p2/World.js line 2019 @@ -583,7 +583,7 @@
Type:
Source:
- src/physics/p2/World.js line 1975 + src/physics/p2/World.js line 1975 @@ -660,7 +660,7 @@
Type:
Source:
- src/physics/p2/World.js line 233 + src/physics/p2/World.js line 233 @@ -737,7 +737,7 @@
Type:
Source:
- src/physics/p2/World.js line 223 + src/physics/p2/World.js line 223 @@ -814,7 +814,7 @@
Type:
Source:
- src/physics/p2/World.js line 171 + src/physics/p2/World.js line 171 @@ -891,7 +891,7 @@
Type:
Source:
- src/physics/p2/World.js line 213 + src/physics/p2/World.js line 213 @@ -968,7 +968,7 @@
Type:
Source:
- src/physics/p2/World.js line 49 + src/physics/p2/World.js line 49 @@ -1045,7 +1045,7 @@
Type:
Source:
- src/physics/p2/World.js line 1953 + src/physics/p2/World.js line 1953 @@ -1122,7 +1122,7 @@
Type:
Source:
- src/physics/p2/World.js line 2079 + src/physics/p2/World.js line 2079 @@ -1199,7 +1199,7 @@
Type:
Source:
- src/physics/p2/World.js line 228 + src/physics/p2/World.js line 228 @@ -1276,7 +1276,7 @@
Type:
Source:
- src/physics/p2/World.js line 61 + src/physics/p2/World.js line 61 @@ -1353,7 +1353,7 @@
Type:
Source:
- src/physics/p2/World.js line 1909 + src/physics/p2/World.js line 1909 @@ -1430,7 +1430,7 @@
Type:
Source:
- src/physics/p2/World.js line 26 + src/physics/p2/World.js line 26 @@ -1507,7 +1507,7 @@
Type:
Source:
- src/physics/p2/World.js line 84 + src/physics/p2/World.js line 84 @@ -1584,7 +1584,7 @@
Type:
Source:
- src/physics/p2/World.js line 79 + src/physics/p2/World.js line 79 @@ -1661,7 +1661,7 @@
Type:
Source:
- src/physics/p2/World.js line 218 + src/physics/p2/World.js line 218 @@ -1741,7 +1741,7 @@
Type:
Source:
- src/physics/p2/World.js line 183 + src/physics/p2/World.js line 183 @@ -1819,7 +1819,7 @@
Type:
Source:
- src/physics/p2/World.js line 98 + src/physics/p2/World.js line 98 @@ -1897,7 +1897,7 @@
Type:
Source:
- src/physics/p2/World.js line 107 + src/physics/p2/World.js line 107 @@ -1975,7 +1975,7 @@
Type:
Source:
- src/physics/p2/World.js line 134 + src/physics/p2/World.js line 134 @@ -2053,7 +2053,7 @@
Type:
Source:
- src/physics/p2/World.js line 143 + src/physics/p2/World.js line 143 @@ -2131,7 +2131,7 @@
Type:
Source:
- src/physics/p2/World.js line 152 + src/physics/p2/World.js line 152 @@ -2209,7 +2209,7 @@
Type:
Source:
- src/physics/p2/World.js line 161 + src/physics/p2/World.js line 161 @@ -2289,7 +2289,7 @@
Type:
Source:
- src/physics/p2/World.js line 195 + src/physics/p2/World.js line 195 @@ -2367,7 +2367,7 @@
Type:
Source:
- src/physics/p2/World.js line 116 + src/physics/p2/World.js line 116 @@ -2445,7 +2445,7 @@
Type:
Source:
- src/physics/p2/World.js line 125 + src/physics/p2/World.js line 125 @@ -2522,7 +2522,7 @@
Type:
Source:
- src/physics/p2/World.js line 73 + src/physics/p2/World.js line 73 @@ -2599,7 +2599,7 @@
Type:
Source:
- src/physics/p2/World.js line 166 + src/physics/p2/World.js line 166 @@ -2676,7 +2676,7 @@
Type:
Source:
- src/physics/p2/World.js line 1931 + src/physics/p2/World.js line 1931 @@ -2754,7 +2754,7 @@
Type:
Source:
- src/physics/p2/World.js line 2101 + src/physics/p2/World.js line 2101 @@ -2831,7 +2831,7 @@
Type:
Source:
- src/physics/p2/World.js line 2041 + src/physics/p2/World.js line 2041 @@ -2908,7 +2908,7 @@
Type:
Source:
- src/physics/p2/World.js line 2063 + src/physics/p2/World.js line 2063 @@ -2985,7 +2985,7 @@
Type:
Source:
- src/physics/p2/World.js line 2125 + src/physics/p2/World.js line 2125 @@ -3062,7 +3062,7 @@
Type:
Source:
- src/physics/p2/World.js line 67 + src/physics/p2/World.js line 67 @@ -3139,7 +3139,7 @@
Type:
Source:
- src/physics/p2/World.js line 89 + src/physics/p2/World.js line 89 @@ -3216,7 +3216,7 @@
Type:
Source:
- src/physics/p2/World.js line 55 + src/physics/p2/World.js line 55 @@ -3344,7 +3344,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 906 + src/physics/p2/World.js line 906 @@ -3502,7 +3502,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1147 + src/physics/p2/World.js line 1147 @@ -3660,7 +3660,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1183 + src/physics/p2/World.js line 1183 @@ -3824,7 +3824,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 952 + src/physics/p2/World.js line 952 @@ -3982,7 +3982,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 510 + src/physics/p2/World.js line 510 @@ -4075,7 +4075,7 @@

Source:
- src/physics/p2/World.js line 817 + src/physics/p2/World.js line 817 @@ -4259,7 +4259,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1730 + src/physics/p2/World.js line 1730 @@ -4494,7 +4494,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1673 + src/physics/p2/World.js line 1673 @@ -4795,7 +4795,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1753 + src/physics/p2/World.js line 1753 @@ -5311,7 +5311,7 @@
Properties
Source:
- src/physics/p2/World.js line 1588 + src/physics/p2/World.js line 1588 @@ -5485,7 +5485,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1453 + src/physics/p2/World.js line 1453 @@ -5699,7 +5699,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1281 + src/physics/p2/World.js line 1281 @@ -6045,7 +6045,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1002 + src/physics/p2/World.js line 1002 @@ -6347,7 +6347,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1031 + src/physics/p2/World.js line 1031 @@ -6685,7 +6685,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1088 + src/physics/p2/World.js line 1088 @@ -6891,7 +6891,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1253 + src/physics/p2/World.js line 1253 @@ -7407,7 +7407,7 @@
Properties
Source:
- src/physics/p2/World.js line 1631 + src/physics/p2/World.js line 1631 @@ -7798,7 +7798,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1116 + src/physics/p2/World.js line 1116 @@ -8173,7 +8173,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1058 + src/physics/p2/World.js line 1058 @@ -8513,7 +8513,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1560 + src/physics/p2/World.js line 1560 @@ -9007,7 +9007,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1528 + src/physics/p2/World.js line 1528 @@ -9115,7 +9115,7 @@

Source:
- src/physics/p2/World.js line 892 + src/physics/p2/World.js line 892 @@ -9353,7 +9353,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 316 + src/physics/p2/World.js line 316 @@ -9512,7 +9512,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 374 + src/physics/p2/World.js line 374 @@ -9646,7 +9646,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 536 + src/physics/p2/World.js line 536 @@ -9730,7 +9730,7 @@

Source:
- src/physics/p2/World.js line 1302 + src/physics/p2/World.js line 1302 @@ -9888,7 +9888,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1323 + src/physics/p2/World.js line 1323 @@ -9998,7 +9998,7 @@

Source:
- src/physics/p2/World.js line 1374 + src/physics/p2/World.js line 1374 @@ -10180,7 +10180,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1219 + src/physics/p2/World.js line 1219 @@ -10291,7 +10291,7 @@

Source:
- src/physics/p2/World.js line 1353 + src/physics/p2/World.js line 1353 @@ -10584,7 +10584,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1397 + src/physics/p2/World.js line 1397 @@ -10744,7 +10744,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1843 + src/physics/p2/World.js line 1843 @@ -10904,7 +10904,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1875 + src/physics/p2/World.js line 1875 @@ -11012,7 +11012,7 @@

Source:
- src/physics/p2/World.js line 746 + src/physics/p2/World.js line 746 @@ -11096,7 +11096,7 @@

Source:
- src/physics/p2/World.js line 297 + src/physics/p2/World.js line 297 @@ -11232,7 +11232,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1859 + src/physics/p2/World.js line 1859 @@ -11392,7 +11392,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1891 + src/physics/p2/World.js line 1891 @@ -11550,7 +11550,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 931 + src/physics/p2/World.js line 931 @@ -11708,7 +11708,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 284 + src/physics/p2/World.js line 284 @@ -11842,7 +11842,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1165 + src/physics/p2/World.js line 1165 @@ -12000,7 +12000,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1201 + src/physics/p2/World.js line 1201 @@ -12158,7 +12158,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 977 + src/physics/p2/World.js line 977 @@ -12267,7 +12267,7 @@

Source:
- src/physics/p2/World.js line 795 + src/physics/p2/World.js line 795 @@ -12351,7 +12351,7 @@

Source:
- src/physics/p2/World.js line 758 + src/physics/p2/World.js line 758 @@ -12814,7 +12814,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 659 + src/physics/p2/World.js line 659 @@ -12949,7 +12949,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 397 + src/physics/p2/World.js line 397 @@ -13107,7 +13107,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1234 + src/physics/p2/World.js line 1234 @@ -13268,7 +13268,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 418 + src/physics/p2/World.js line 418 @@ -13352,7 +13352,7 @@

Source:
- src/physics/p2/World.js line 1440 + src/physics/p2/World.js line 1440 @@ -13460,7 +13460,7 @@

Source:
- src/physics/p2/World.js line 770 + src/physics/p2/World.js line 770 @@ -13616,7 +13616,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 620 + src/physics/p2/World.js line 620 @@ -13659,9 +13659,9 @@
Parameters:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -13678,7 +13678,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -13707,7 +13707,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.html b/docs/Phaser.Physics.html index 43ab1db90..39c6b3225 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 72 + src/physics/Physics.js line 72 @@ -477,7 +477,7 @@
Type:
Source:
- src/physics/Physics.js line 90 + src/physics/Physics.js line 90 @@ -550,7 +550,7 @@
Type:
Source:
- src/physics/Physics.js line 96 + src/physics/Physics.js line 96 @@ -623,7 +623,7 @@
Type:
Source:
- src/physics/Physics.js line 102 + src/physics/Physics.js line 102 @@ -696,7 +696,7 @@
Type:
Source:
- src/physics/Physics.js line 84 + src/physics/Physics.js line 84 @@ -769,7 +769,7 @@
Type:
Source:
- src/physics/Physics.js line 78 + src/physics/Physics.js line 78 @@ -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 342 + src/physics/Physics.js line 342 @@ -1547,7 +1547,7 @@

Source:
- src/physics/Physics.js line 390 + src/physics/Physics.js line 390 @@ -1790,7 +1790,7 @@
Parameters:
Source:
- src/physics/Physics.js line 205 + src/physics/Physics.js line 205 @@ -1874,7 +1874,7 @@

Source:
- src/physics/Physics.js line 106 + src/physics/Physics.js line 106 @@ -1958,7 +1958,7 @@

Source:
- src/physics/Physics.js line 256 + src/physics/Physics.js line 256 @@ -2042,91 +2042,7 @@

Source:
- src/physics/Physics.js line 366 - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
-

- <protected> setBoundsToWorld() - -

- -
-
- - -
-

Updates the physics bounds to match the world dimensions.

-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - src/physics/Physics.js line 308 + src/physics/Physics.js line 366 @@ -2441,7 +2357,91 @@
Parameters:
Source:
- src/physics/p2/World.js line 562 + src/physics/p2/World.js line 562 + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + +
+

+ <protected> setBoundsToWorld() + +

+ +
+
+ + +
+

Updates the physics bounds to match the world dimensions.

+
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/physics/Physics.js line 308 @@ -2751,7 +2751,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 580 + src/physics/p2/World.js line 580 @@ -2895,7 +2895,7 @@
Parameters:
Source:
- src/physics/Physics.js line 140 + src/physics/Physics.js line 140 @@ -2979,7 +2979,7 @@

Source:
- src/physics/Physics.js line 282 + src/physics/Physics.js line 282 @@ -3022,9 +3022,9 @@

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -3041,7 +3041,7 @@

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -3070,7 +3070,7 @@

- + diff --git a/docs/Phaser.Plugin.PathManager.html b/docs/Phaser.Plugin.PathManager.html index 506344d33..6ba1976cc 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 48 + src/plugins/path/PathManagerPlugin.js line 48 @@ -403,9 +403,9 @@

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -422,7 +422,7 @@

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -451,7 +451,7 @@

- + diff --git a/docs/Phaser.Plugin.html b/docs/Phaser.Plugin.html index 086ae46b5..4d89263f7 100644 --- a/docs/Phaser.Plugin.html +++ b/docs/Phaser.Plugin.html @@ -6,7 +6,7 @@ Phaser CE Class: Plugin - + @@ -279,7 +279,7 @@

Parameters:
Source:
- src/core/Plugin.js line 27 + src/core/Plugin.js line 27 @@ -391,7 +391,7 @@
Type:
Source:
- src/core/Plugin.js line 45 + src/core/Plugin.js line 45 @@ -468,7 +468,7 @@
Type:
Source:
- src/core/Plugin.js line 34 + src/core/Plugin.js line 34 @@ -545,7 +545,7 @@
Type:
Source:
- src/core/Plugin.js line 81 + src/core/Plugin.js line 81 @@ -622,7 +622,7 @@
Type:
Source:
- src/core/Plugin.js line 69 + src/core/Plugin.js line 69 @@ -699,7 +699,7 @@
Type:
Source:
- src/core/Plugin.js line 57 + src/core/Plugin.js line 57 @@ -776,7 +776,7 @@
Type:
Source:
- src/core/Plugin.js line 75 + src/core/Plugin.js line 75 @@ -853,7 +853,7 @@
Type:
Source:
- src/core/Plugin.js line 63 + src/core/Plugin.js line 63 @@ -930,7 +930,7 @@
Type:
Source:
- src/core/Plugin.js line 39 + src/core/Plugin.js line 39 @@ -1007,7 +1007,7 @@
Type:
Source:
- src/core/Plugin.js line 51 + src/core/Plugin.js line 51 @@ -1085,7 +1085,7 @@

Source:
- src/core/Plugin.js line 122 + src/core/Plugin.js line 122 @@ -1170,7 +1170,7 @@

Source:
- src/core/Plugin.js line 113 + src/core/Plugin.js line 113 @@ -1255,7 +1255,7 @@

Source:
- src/core/Plugin.js line 86 + src/core/Plugin.js line 86 @@ -1340,7 +1340,7 @@

Source:
- src/core/Plugin.js line 104 + src/core/Plugin.js line 104 @@ -1425,7 +1425,7 @@

Source:
- src/core/Plugin.js line 95 + src/core/Plugin.js line 95 @@ -1468,9 +1468,9 @@

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -1487,7 +1487,7 @@

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -1516,7 +1516,7 @@

- + diff --git a/docs/Phaser.PluginManager.html b/docs/Phaser.PluginManager.html index 19a67e08a..1518d39fc 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 14 + src/core/PluginManager.js line 14 @@ -335,7 +335,7 @@
Type:
Source:
- src/core/PluginManager.js line 19 + src/core/PluginManager.js line 19 @@ -412,7 +412,7 @@
Type:
Source:
- src/core/PluginManager.js line 24 + src/core/PluginManager.js line 24 @@ -588,7 +588,7 @@
Parameters:
Source:
- src/core/PluginManager.js line 41 + src/core/PluginManager.js line 41 @@ -696,7 +696,7 @@

Source:
- src/core/PluginManager.js line 269 + src/core/PluginManager.js line 269 @@ -781,7 +781,7 @@

Source:
- src/core/PluginManager.js line 250 + src/core/PluginManager.js line 250 @@ -867,7 +867,7 @@

Source:
- src/core/PluginManager.js line 211 + src/core/PluginManager.js line 211 @@ -952,7 +952,7 @@

Source:
- src/core/PluginManager.js line 173 + src/core/PluginManager.js line 173 @@ -1142,7 +1142,7 @@
Parameters:
Source:
- src/core/PluginManager.js line 126 + src/core/PluginManager.js line 126 @@ -1226,7 +1226,7 @@

Source:
- src/core/PluginManager.js line 155 + src/core/PluginManager.js line 155 @@ -1311,7 +1311,7 @@

Source:
- src/core/PluginManager.js line 231 + src/core/PluginManager.js line 231 @@ -1396,7 +1396,7 @@

Source:
- src/core/PluginManager.js line 192 + src/core/PluginManager.js line 192 @@ -1439,9 +1439,9 @@

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -1458,7 +1458,7 @@

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -1487,7 +1487,7 @@

- + diff --git a/docs/Phaser.Point.html b/docs/Phaser.Point.html index abc3fd3c8..a4b34cc1f 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 602 + src/geom/Point.js line 602 @@ -938,7 +938,7 @@
Parameters:
Source:
- src/geom/Point.js line 708 + src/geom/Point.js line 708 @@ -1140,7 +1140,7 @@
Parameters:
Source:
- src/geom/Point.js line 942 + src/geom/Point.js line 942 @@ -1390,7 +1390,7 @@
Parameters:
Source:
- src/geom/Point.js line 800 + src/geom/Point.js line 800 @@ -1624,7 +1624,7 @@
Parameters:
Source:
- src/geom/Point.js line 659 + src/geom/Point.js line 659 @@ -1806,7 +1806,7 @@
Parameters:
Source:
- src/geom/Point.js line 678 + src/geom/Point.js line 678 @@ -2072,7 +2072,7 @@
Parameters:
Source:
- src/geom/Point.js line 753 + src/geom/Point.js line 753 @@ -2230,7 +2230,7 @@
Parameters:
Source:
- src/geom/Point.js line 1029 + src/geom/Point.js line 1029 @@ -2466,7 +2466,7 @@
Parameters:
Source:
- src/geom/Point.js line 640 + src/geom/Point.js line 640 @@ -2732,7 +2732,7 @@
Parameters:
Source:
- src/geom/Point.js line 736 + src/geom/Point.js line 736 @@ -2934,7 +2934,7 @@
Parameters:
Source:
- src/geom/Point.js line 721 + src/geom/Point.js line 721 @@ -3136,7 +3136,7 @@
Parameters:
Source:
- src/geom/Point.js line 876 + src/geom/Point.js line 876 @@ -3338,7 +3338,7 @@
Parameters:
Source:
- src/geom/Point.js line 861 + src/geom/Point.js line 861 @@ -3593,7 +3593,7 @@
Parameters:
Source:
- src/geom/Point.js line 982 + src/geom/Point.js line 982 @@ -3795,7 +3795,7 @@
Parameters:
Source:
- src/geom/Point.js line 770 + src/geom/Point.js line 770 @@ -4029,7 +4029,7 @@
Parameters:
Source:
- src/geom/Point.js line 815 + src/geom/Point.js line 815 @@ -4263,7 +4263,7 @@
Parameters:
Source:
- src/geom/Point.js line 838 + src/geom/Point.js line 838 @@ -4627,7 +4627,7 @@
Parameters:
Source:
- src/geom/Point.js line 898 + src/geom/Point.js line 898 @@ -4829,7 +4829,7 @@
Parameters:
Source:
- src/geom/Point.js line 785 + src/geom/Point.js line 785 @@ -5063,7 +5063,7 @@
Parameters:
Source:
- src/geom/Point.js line 621 + src/geom/Point.js line 621 @@ -5221,7 +5221,7 @@
Parameters:
Source:
- src/geom/Point.js line 1013 + src/geom/Point.js line 1013 @@ -5403,7 +5403,7 @@
Parameters:
Source:
- src/geom/Point.js line 116 + src/geom/Point.js line 116 @@ -5620,7 +5620,7 @@
Parameters:
Source:
- src/geom/Point.js line 325 + src/geom/Point.js line 325 @@ -5870,7 +5870,7 @@
Parameters:
Source:
- src/geom/Point.js line 338 + src/geom/Point.js line 338 @@ -6048,7 +6048,7 @@
Parameters:
Source:
- src/geom/Point.js line 361 + src/geom/Point.js line 361 @@ -6156,7 +6156,7 @@

Source:
- src/geom/Point.js line 565 + src/geom/Point.js line 565 @@ -6338,7 +6338,7 @@
Parameters:
Source:
- src/geom/Point.js line 204 + src/geom/Point.js line 204 @@ -6520,7 +6520,7 @@
Parameters:
Source:
- src/geom/Point.js line 176 + src/geom/Point.js line 176 @@ -6702,7 +6702,7 @@
Parameters:
Source:
- src/geom/Point.js line 190 + src/geom/Point.js line 190 @@ -6860,7 +6860,7 @@
Parameters:
Source:
- src/geom/Point.js line 219 + src/geom/Point.js line 219 @@ -7030,7 +7030,7 @@
Parameters:
Source:
- src/geom/Point.js line 241 + src/geom/Point.js line 241 @@ -7188,7 +7188,7 @@
Parameters:
Source:
- src/geom/Point.js line 42 + src/geom/Point.js line 42 @@ -7346,7 +7346,7 @@
Parameters:
Source:
- src/geom/Point.js line 262 + src/geom/Point.js line 262 @@ -7504,7 +7504,7 @@
Parameters:
Source:
- src/geom/Point.js line 509 + src/geom/Point.js line 509 @@ -7706,7 +7706,7 @@
Parameters:
Source:
- src/geom/Point.js line 277 + src/geom/Point.js line 277 @@ -7888,7 +7888,7 @@
Parameters:
Source:
- src/geom/Point.js line 161 + src/geom/Point.js line 161 @@ -8046,7 +8046,7 @@
Parameters:
Source:
- src/geom/Point.js line 497 + src/geom/Point.js line 497 @@ -8207,7 +8207,7 @@
Parameters:
Source:
- src/geom/Point.js line 290 + src/geom/Point.js line 290 @@ -8389,7 +8389,7 @@
Parameters:
Source:
- src/geom/Point.js line 302 + src/geom/Point.js line 302 @@ -8547,7 +8547,7 @@
Parameters:
Source:
- src/geom/Point.js line 468 + src/geom/Point.js line 468 @@ -8662,7 +8662,7 @@

Source:
- src/geom/Point.js line 554 + src/geom/Point.js line 554 @@ -8770,7 +8770,7 @@

Source:
- src/geom/Point.js line 398 + src/geom/Point.js line 398 @@ -8878,7 +8878,7 @@

Source:
- src/geom/Point.js line 409 + src/geom/Point.js line 409 @@ -8986,7 +8986,7 @@

Source:
- src/geom/Point.js line 54 + src/geom/Point.js line 54 @@ -9094,7 +9094,7 @@

Source:
- src/geom/Point.js line 486 + src/geom/Point.js line 486 @@ -9252,7 +9252,7 @@
Parameters:
Source:
- src/geom/Point.js line 450 + src/geom/Point.js line 450 @@ -9441,7 +9441,7 @@
Parameters:
Source:
- src/geom/Point.js line 146 + src/geom/Point.js line 146 @@ -9549,7 +9549,7 @@

Source:
- src/geom/Point.js line 432 + src/geom/Point.js line 432 @@ -9657,7 +9657,7 @@

Source:
- src/geom/Point.js line 543 + src/geom/Point.js line 543 @@ -9765,7 +9765,7 @@

Source:
- src/geom/Point.js line 521 + src/geom/Point.js line 521 @@ -10089,7 +10089,7 @@
Parameters:
Source:
- src/geom/Point.js line 382 + src/geom/Point.js line 382 @@ -10197,7 +10197,7 @@

Source:
- src/geom/Point.js line 576 + src/geom/Point.js line 576 @@ -10305,7 +10305,7 @@

Source:
- src/geom/Point.js line 532 + src/geom/Point.js line 532 @@ -10539,7 +10539,7 @@
Parameters:
Source:
- src/geom/Point.js line 1042 + src/geom/Point.js line 1042 @@ -10744,7 +10744,7 @@
Parameters:
Source:
- src/geom/Point.js line 82 + src/geom/Point.js line 82 @@ -10902,7 +10902,7 @@
Parameters:
Source:
- src/geom/Point.js line 420 + src/geom/Point.js line 420 @@ -11107,7 +11107,7 @@
Parameters:
Source:
- src/geom/Point.js line 65 + src/geom/Point.js line 65 @@ -11361,7 +11361,7 @@
Parameters:
Source:
- src/geom/Point.js line 99 + src/geom/Point.js line 99 @@ -11569,7 +11569,7 @@
Parameters:
Source:
- src/geom/Point.js line 1060 + src/geom/Point.js line 1060 @@ -11751,7 +11751,7 @@
Parameters:
Source:
- src/geom/Point.js line 131 + src/geom/Point.js line 131 @@ -11859,7 +11859,7 @@

Source:
- src/geom/Point.js line 587 + src/geom/Point.js line 587 @@ -11926,9 +11926,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -11945,7 +11945,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -11974,7 +11974,7 @@
Returns:
- + diff --git a/docs/Phaser.Pointer.html b/docs/Phaser.Pointer.html index 7bad73567..7242b5572 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 398 + src/input/Pointer.js line 398 @@ -477,7 +477,7 @@
Type:
Source:
- src/input/Pointer.js line 413 + src/input/Pointer.js line 413 @@ -555,7 +555,7 @@
Type:
Source:
- src/input/Pointer.js line 406 + src/input/Pointer.js line 406 @@ -632,7 +632,7 @@
Type:
Source:
- src/input/Pointer.js line 376 + src/input/Pointer.js line 376 @@ -709,7 +709,7 @@
Type:
Source:
- src/input/Pointer.js line 390 + src/input/Pointer.js line 390 @@ -786,7 +786,7 @@
Type:
Source:
- src/input/Pointer.js line 369 + src/input/Pointer.js line 369 @@ -863,7 +863,7 @@
Type:
Source:
- src/input/Pointer.js line 383 + src/input/Pointer.js line 383 @@ -940,7 +940,7 @@
Type:
Source:
- src/input/Pointer.js line 318 + src/input/Pointer.js line 318 @@ -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 346 + src/input/Pointer.js line 346 @@ -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 324 + src/input/Pointer.js line 324 @@ -1487,7 +1487,7 @@
Type:
Source:
- src/input/Pointer.js line 1185 + src/input/Pointer.js line 1185 @@ -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 312 + src/input/Pointer.js line 312 @@ -2128,7 +2128,7 @@
Type:
Source:
- src/input/Pointer.js line 257 + src/input/Pointer.js line 257 @@ -2205,7 +2205,7 @@
Type:
Source:
- src/input/Pointer.js line 249 + src/input/Pointer.js line 249 @@ -2290,7 +2290,7 @@
Type:
Source:
- src/input/Pointer.js line 265 + src/input/Pointer.js line 265 @@ -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 226 + src/input/Pointer.js line 226 @@ -2603,7 +2603,7 @@
Type:
Source:
- src/input/Pointer.js line 232 + src/input/Pointer.js line 232 @@ -2680,7 +2680,7 @@
Type:
Source:
- src/input/Pointer.js line 295 + src/input/Pointer.js line 295 @@ -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 329 + src/input/Pointer.js line 329 @@ -3142,7 +3142,7 @@
Type:
Source:
- src/input/Pointer.js line 334 + src/input/Pointer.js line 334 @@ -3219,7 +3219,7 @@
Type:
Source:
- src/input/Pointer.js line 339 + src/input/Pointer.js line 339 @@ -3296,7 +3296,7 @@
Type:
Source:
- src/input/Pointer.js line 283 + src/input/Pointer.js line 283 @@ -3373,7 +3373,7 @@
Type:
Source:
- src/input/Pointer.js line 213 + src/input/Pointer.js line 213 @@ -3457,7 +3457,7 @@
Type:
Source:
- src/input/Pointer.js line 220 + src/input/Pointer.js line 220 @@ -3544,7 +3544,7 @@
Type:
Source:
- src/input/Pointer.js line 107 + src/input/Pointer.js line 107 @@ -3621,7 +3621,7 @@
Type:
Source:
- src/input/Pointer.js line 201 + src/input/Pointer.js line 201 @@ -3698,7 +3698,7 @@
Type:
Source:
- src/input/Pointer.js line 206 + src/input/Pointer.js line 206 @@ -3775,7 +3775,7 @@
Type:
Source:
- src/input/Pointer.js line 61 + src/input/Pointer.js line 61 @@ -3852,7 +3852,7 @@
Type:
Source:
- src/input/Pointer.js line 301 + src/input/Pointer.js line 301 @@ -3929,7 +3929,7 @@
Type:
Source:
- src/input/Pointer.js line 271 + src/input/Pointer.js line 271 @@ -4006,7 +4006,7 @@
Type:
Source:
- src/input/Pointer.js line 277 + src/input/Pointer.js line 277 @@ -4083,7 +4083,7 @@
Type:
Source:
- src/input/Pointer.js line 289 + src/input/Pointer.js line 289 @@ -4160,7 +4160,7 @@
Type:
Source:
- src/input/Pointer.js line 32 + src/input/Pointer.js line 32 @@ -4237,7 +4237,7 @@
Type:
Source:
- src/input/Pointer.js line 176 + src/input/Pointer.js line 176 @@ -4314,7 +4314,7 @@
Type:
Source:
- src/input/Pointer.js line 1208 + src/input/Pointer.js line 1208 @@ -4391,7 +4391,7 @@
Type:
Source:
- src/input/Pointer.js line 1223 + src/input/Pointer.js line 1223 @@ -4468,7 +4468,7 @@
Type:
Source:
- src/input/Pointer.js line 238 + src/input/Pointer.js line 238 @@ -4545,7 +4545,7 @@
Type:
Source:
- src/input/Pointer.js line 244 + src/input/Pointer.js line 244 @@ -4753,7 +4753,7 @@
Parameters:
Source:
- src/input/Pointer.js line 1070 + src/input/Pointer.js line 1070 @@ -4901,7 +4901,7 @@
Parameters:
Source:
- src/input/Pointer.js line 1040 + src/input/Pointer.js line 1040 @@ -5073,7 +5073,7 @@
Parameters:
Source:
- src/input/Pointer.js line 1055 + src/input/Pointer.js line 1055 @@ -5237,7 +5237,7 @@
Parameters:
Source:
- src/input/Pointer.js line 953 + src/input/Pointer.js line 953 @@ -5433,7 +5433,7 @@
Parameters:
Source:
- src/input/Pointer.js line 724 + src/input/Pointer.js line 724 @@ -5587,7 +5587,7 @@
Parameters:
Source:
- src/input/Pointer.js line 814 + src/input/Pointer.js line 814 @@ -5695,7 +5695,7 @@

Source:
- src/input/Pointer.js line 1142 + src/input/Pointer.js line 1142 @@ -5779,7 +5779,7 @@

Source:
- src/input/Pointer.js line 417 + src/input/Pointer.js line 417 @@ -5863,7 +5863,7 @@

Source:
- src/input/Pointer.js line 1171 + src/input/Pointer.js line 1171 @@ -5997,7 +5997,7 @@
Parameters:
Source:
- src/input/Pointer.js line 604 + src/input/Pointer.js line 604 @@ -6137,7 +6137,7 @@
Parameters:
Source:
- src/input/Pointer.js line 965 + src/input/Pointer.js line 965 @@ -6330,7 +6330,7 @@
Parameters:
Source:
- src/input/Pointer.js line 897 + src/input/Pointer.js line 897 @@ -6414,7 +6414,7 @@

Source:
- src/input/Pointer.js line 673 + src/input/Pointer.js line 673 @@ -6549,7 +6549,7 @@
Parameters:
Source:
- src/input/Pointer.js line 581 + src/input/Pointer.js line 581 @@ -6592,9 +6592,9 @@
Parameters:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -6611,7 +6611,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -6640,7 +6640,7 @@
Parameters:
- + diff --git a/docs/Phaser.PointerLock.html b/docs/Phaser.PointerLock.html index c5e005a1c..e1b1278ba 100644 --- a/docs/Phaser.PointerLock.html +++ b/docs/Phaser.PointerLock.html @@ -6,7 +6,7 @@ Phaser CE Class: PointerLock - + @@ -230,7 +230,7 @@
Parameters:
Source:
- src/input/PointerLock.js line 7 + src/input/PointerLock.js line 7 @@ -335,7 +335,7 @@
Type:
Source:
- src/input/PointerLock.js line 32 + src/input/PointerLock.js line 32 @@ -412,7 +412,7 @@
Type:
Source:
- src/input/PointerLock.js line 25 + src/input/PointerLock.js line 25 @@ -489,7 +489,7 @@
Type:
Source:
- src/input/PointerLock.js line 13 + src/input/PointerLock.js line 13 @@ -566,7 +566,7 @@
Type:
Source:
- src/input/PointerLock.js line 19 + src/input/PointerLock.js line 19 @@ -643,7 +643,7 @@
Type:
Source:
- src/input/PointerLock.js line 38 + src/input/PointerLock.js line 38 @@ -721,7 +721,7 @@
Type:
Source:
- src/input/PointerLock.js line 45 + src/input/PointerLock.js line 45 @@ -799,7 +799,7 @@
Type:
Source:
- src/input/PointerLock.js line 52 + src/input/PointerLock.js line 52 @@ -878,7 +878,7 @@

Source:
- src/input/PointerLock.js line 152 + src/input/PointerLock.js line 152 @@ -963,7 +963,7 @@

Source:
- src/input/PointerLock.js line 137 + src/input/PointerLock.js line 137 @@ -1047,7 +1047,7 @@

Source:
- src/input/PointerLock.js line 92 + src/input/PointerLock.js line 92 @@ -1157,7 +1157,7 @@

Source:
- src/input/PointerLock.js line 122 + src/input/PointerLock.js line 122 @@ -1200,9 +1200,9 @@

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -1248,7 +1248,7 @@

- + diff --git a/docs/Phaser.PointerMode.html b/docs/Phaser.PointerMode.html index c0d84a73f..1569bcd1a 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 1248 + src/input/Pointer.js line 1248 @@ -278,7 +278,7 @@

Source:
- src/input/Pointer.js line 1263 + src/input/Pointer.js line 1263 @@ -346,7 +346,7 @@

Source:
- src/input/Pointer.js line 1257 + src/input/Pointer.js line 1257 @@ -379,9 +379,9 @@

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -398,7 +398,7 @@

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -427,7 +427,7 @@

- + diff --git a/docs/Phaser.Polygon.html b/docs/Phaser.Polygon.html index f487a69b6..5991697c8 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 @@ -585,7 +585,7 @@
Type:
Source:
- src/geom/Polygon.js line 286 + src/geom/Polygon.js line 286 @@ -662,7 +662,7 @@
Type:
Source:
- src/geom/Polygon.js line 55 + src/geom/Polygon.js line 55 @@ -811,7 +811,7 @@
Parameters:
Source:
- src/geom/Polygon.js line 106 + src/geom/Polygon.js line 106 @@ -993,7 +993,7 @@
Parameters:
Source:
- src/geom/Polygon.js line 130 + src/geom/Polygon.js line 130 @@ -1103,7 +1103,7 @@

Source:
- src/geom/Polygon.js line 89 + src/geom/Polygon.js line 89 @@ -1281,7 +1281,7 @@
Parameters:
Source:
- src/geom/Polygon.js line 180 + src/geom/Polygon.js line 180 @@ -1451,7 +1451,7 @@
Parameters:
Source:
- src/geom/Polygon.js line 60 + src/geom/Polygon.js line 60 @@ -1518,9 +1518,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -1537,7 +1537,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -1566,7 +1566,7 @@
Returns:
- + diff --git a/docs/Phaser.QuadTree.html b/docs/Phaser.QuadTree.html index e43f9d0a1..bf76c40c0 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 287 + src/math/QuadTree.js line 287 @@ -1195,7 +1195,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 197 + src/math/QuadTree.js line 197 @@ -1356,7 +1356,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 146 + src/math/QuadTree.js line 146 @@ -1490,7 +1490,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 101 + src/math/QuadTree.js line 101 @@ -1627,7 +1627,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 112 + src/math/QuadTree.js line 112 @@ -2005,7 +2005,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 68 + src/math/QuadTree.js line 68 @@ -2142,7 +2142,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 240 + src/math/QuadTree.js line 240 @@ -2252,7 +2252,7 @@

Source:
- src/math/QuadTree.js line 126 + src/math/QuadTree.js line 126 @@ -2295,9 +2295,9 @@

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -2314,7 +2314,7 @@

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -2343,7 +2343,7 @@

- + diff --git a/docs/Phaser.RandomDataGenerator.html b/docs/Phaser.RandomDataGenerator.html index 44f5a8ce9..8d808858d 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 21 + src/math/RandomDataGenerator.js line 21 @@ -354,7 +354,7 @@

Source:
- src/math/RandomDataGenerator.js line 293 + src/math/RandomDataGenerator.js line 293 @@ -537,7 +537,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 190 + src/math/RandomDataGenerator.js line 190 @@ -645,7 +645,7 @@

Source:
- src/math/RandomDataGenerator.js line 155 + src/math/RandomDataGenerator.js line 155 @@ -753,7 +753,7 @@

Source:
- src/math/RandomDataGenerator.js line 144 + src/math/RandomDataGenerator.js line 144 @@ -935,7 +935,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 177 + src/math/RandomDataGenerator.js line 177 @@ -1043,7 +1043,7 @@

Source:
- src/math/RandomDataGenerator.js line 217 + src/math/RandomDataGenerator.js line 217 @@ -1201,7 +1201,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 245 + src/math/RandomDataGenerator.js line 245 @@ -1309,7 +1309,7 @@

Source:
- src/math/RandomDataGenerator.js line 166 + src/math/RandomDataGenerator.js line 166 @@ -1491,7 +1491,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 204 + src/math/RandomDataGenerator.js line 204 @@ -1599,7 +1599,7 @@

Source:
- src/math/RandomDataGenerator.js line 257 + src/math/RandomDataGenerator.js line 257 @@ -1758,7 +1758,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 80 + src/math/RandomDataGenerator.js line 80 @@ -1911,7 +1911,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 304 + src/math/RandomDataGenerator.js line 304 @@ -2093,7 +2093,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 280 + src/math/RandomDataGenerator.js line 280 @@ -2201,7 +2201,7 @@

Source:
- src/math/RandomDataGenerator.js line 228 + src/math/RandomDataGenerator.js line 228 @@ -2359,7 +2359,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 268 + src/math/RandomDataGenerator.js line 268 @@ -2426,9 +2426,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -2445,7 +2445,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -2474,7 +2474,7 @@
Returns:
- + diff --git a/docs/Phaser.Rectangle.html b/docs/Phaser.Rectangle.html index c3901c865..c987d1ea9 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 503 + src/geom/Rectangle.js line 503 @@ -485,7 +485,7 @@
Type:
Source:
- src/geom/Rectangle.js line 529 + src/geom/Rectangle.js line 529 @@ -562,7 +562,7 @@
Type:
Source:
- src/geom/Rectangle.js line 549 + src/geom/Rectangle.js line 549 @@ -639,7 +639,7 @@
Type:
Source:
- src/geom/Rectangle.js line 652 + src/geom/Rectangle.js line 652 @@ -716,7 +716,7 @@
Type:
Source:
- src/geom/Rectangle.js line 671 + src/geom/Rectangle.js line 671 @@ -794,7 +794,7 @@
Type:
Source:
- src/geom/Rectangle.js line 788 + src/geom/Rectangle.js line 788 @@ -871,7 +871,7 @@
Type:
Source:
- src/geom/Rectangle.js line 489 + src/geom/Rectangle.js line 489 @@ -948,7 +948,7 @@
Type:
Source:
- src/geom/Rectangle.js line 475 + src/geom/Rectangle.js line 475 @@ -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 569 + src/geom/Rectangle.js line 569 @@ -1179,7 +1179,7 @@
Type:
Source:
- src/geom/Rectangle.js line 637 + src/geom/Rectangle.js line 637 @@ -1256,7 +1256,7 @@
Type:
Source:
- src/geom/Rectangle.js line 690 + src/geom/Rectangle.js line 690 @@ -1333,7 +1333,7 @@
Type:
Source:
- src/geom/Rectangle.js line 705 + src/geom/Rectangle.js line 705 @@ -1410,7 +1410,7 @@
Type:
Source:
- src/geom/Rectangle.js line 596 + src/geom/Rectangle.js line 596 @@ -1488,7 +1488,7 @@
Type:
Source:
- src/geom/Rectangle.js line 720 + src/geom/Rectangle.js line 720 @@ -1565,7 +1565,7 @@
Type:
Source:
- src/geom/Rectangle.js line 748 + src/geom/Rectangle.js line 748 @@ -1642,7 +1642,7 @@
Type:
Source:
- src/geom/Rectangle.js line 768 + src/geom/Rectangle.js line 768 @@ -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 622 + src/geom/Rectangle.js line 622 @@ -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 1071 + src/geom/Rectangle.js line 1071 @@ -2401,7 +2401,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 864 + src/geom/Rectangle.js line 864 @@ -2603,7 +2603,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 902 + src/geom/Rectangle.js line 902 @@ -2785,7 +2785,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 936 + src/geom/Rectangle.js line 936 @@ -3063,7 +3063,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 920 + src/geom/Rectangle.js line 920 @@ -3246,7 +3246,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 948 + src/geom/Rectangle.js line 948 @@ -3448,7 +3448,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 885 + src/geom/Rectangle.js line 885 @@ -3627,7 +3627,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 967 + src/geom/Rectangle.js line 967 @@ -3833,7 +3833,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 813 + src/geom/Rectangle.js line 813 @@ -4015,7 +4015,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 831 + src/geom/Rectangle.js line 831 @@ -4249,7 +4249,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 992 + src/geom/Rectangle.js line 992 @@ -4432,7 +4432,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 1018 + src/geom/Rectangle.js line 1018 @@ -4686,7 +4686,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 1036 + src/geom/Rectangle.js line 1036 @@ -4868,7 +4868,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 980 + src/geom/Rectangle.js line 980 @@ -5070,7 +5070,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 843 + src/geom/Rectangle.js line 843 @@ -5304,7 +5304,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 1053 + src/geom/Rectangle.js line 1053 @@ -5412,7 +5412,7 @@

Source:
- src/geom/Rectangle.js line 155 + src/geom/Rectangle.js line 155 @@ -5496,7 +5496,7 @@

Source:
- src/geom/Rectangle.js line 165 + src/geom/Rectangle.js line 165 @@ -5654,7 +5654,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 117 + src/geom/Rectangle.js line 117 @@ -5824,7 +5824,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 255 + src/geom/Rectangle.js line 255 @@ -6002,7 +6002,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 266 + src/geom/Rectangle.js line 266 @@ -6161,7 +6161,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 278 + src/geom/Rectangle.js line 278 @@ -6319,7 +6319,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 177 + src/geom/Rectangle.js line 177 @@ -6477,7 +6477,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 188 + src/geom/Rectangle.js line 188 @@ -6635,7 +6635,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 199 + src/geom/Rectangle.js line 199 @@ -6794,7 +6794,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 290 + src/geom/Rectangle.js line 290 @@ -6902,7 +6902,7 @@

Source:
- src/geom/Rectangle.js line 133 + src/geom/Rectangle.js line 133 @@ -6986,7 +6986,7 @@

Source:
- src/geom/Rectangle.js line 143 + src/geom/Rectangle.js line 143 @@ -7172,7 +7172,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 373 + src/geom/Rectangle.js line 373 @@ -7354,7 +7354,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 215 + src/geom/Rectangle.js line 215 @@ -7536,7 +7536,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 302 + src/geom/Rectangle.js line 302 @@ -7695,7 +7695,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 314 + src/geom/Rectangle.js line 314 @@ -7949,7 +7949,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 327 + src/geom/Rectangle.js line 327 @@ -8131,7 +8131,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 54 + src/geom/Rectangle.js line 54 @@ -8289,7 +8289,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 69 + src/geom/Rectangle.js line 69 @@ -8463,7 +8463,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 355 + src/geom/Rectangle.js line 355 @@ -8646,7 +8646,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 238 + src/geom/Rectangle.js line 238 @@ -8848,7 +8848,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 99 + src/geom/Rectangle.js line 99 @@ -9078,7 +9078,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 80 + src/geom/Rectangle.js line 80 @@ -9350,7 +9350,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 425 + src/geom/Rectangle.js line 425 @@ -9520,7 +9520,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 227 + src/geom/Rectangle.js line 227 @@ -9628,7 +9628,7 @@

Source:
- src/geom/Rectangle.js line 463 + src/geom/Rectangle.js line 463 @@ -9830,7 +9830,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 343 + src/geom/Rectangle.js line 343 @@ -9897,9 +9897,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -9916,7 +9916,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -9945,7 +9945,7 @@
Returns:
- + diff --git a/docs/Phaser.RenderTexture.html b/docs/Phaser.RenderTexture.html index 91dcb121d..156717046 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 253 + src/gameobjects/RenderTexture.js line 253 @@ -2061,7 +2061,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 173 + src/pixi/textures/Texture.js line 173 @@ -2228,7 +2228,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 283 + src/pixi/textures/Texture.js line 283 @@ -2428,7 +2428,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 407 + src/gameobjects/RenderTexture.js line 407 @@ -2543,7 +2543,7 @@

Source:
- src/gameobjects/RenderTexture.js line 422 + src/gameobjects/RenderTexture.js line 422 @@ -2817,7 +2817,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 380 + src/gameobjects/RenderTexture.js line 380 @@ -3089,7 +3089,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 175 + src/gameobjects/RenderTexture.js line 175 @@ -3365,7 +3365,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 148 + src/gameobjects/RenderTexture.js line 148 @@ -3641,7 +3641,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 117 + src/gameobjects/RenderTexture.js line 117 @@ -3823,7 +3823,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 211 + src/gameobjects/RenderTexture.js line 211 @@ -3966,7 +3966,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 186 + src/pixi/textures/Texture.js line 186 @@ -4009,9 +4009,9 @@
Parameters:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -4028,7 +4028,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -4057,7 +4057,7 @@
Parameters:
- + diff --git a/docs/Phaser.RequestAnimationFrame.html b/docs/Phaser.RequestAnimationFrame.html index a2728ec5b..5da023519 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 160 + src/utils/RequestAnimationFrame.js line 160 @@ -727,7 +727,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 150 + src/utils/RequestAnimationFrame.js line 150 @@ -831,7 +831,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 69 + src/utils/RequestAnimationFrame.js line 69 @@ -915,7 +915,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 132 + src/utils/RequestAnimationFrame.js line 132 @@ -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 118 + src/utils/RequestAnimationFrame.js line 118 @@ -1126,9 +1126,9 @@

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -1145,7 +1145,7 @@

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -1174,7 +1174,7 @@

- + diff --git a/docs/Phaser.RetroFont.html b/docs/Phaser.RetroFont.html index ee611ce5e..0ae1d81a2 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 195 + src/gameobjects/RetroFont.js line 195 @@ -782,7 +782,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 181 + src/gameobjects/RetroFont.js line 181 @@ -859,7 +859,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 188 + src/gameobjects/RetroFont.js line 188 @@ -936,7 +936,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 202 + src/gameobjects/RetroFont.js line 202 @@ -1013,7 +1013,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 209 + src/gameobjects/RetroFont.js line 209 @@ -1090,7 +1090,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 216 + src/gameobjects/RetroFont.js line 216 @@ -1167,7 +1167,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 223 + src/gameobjects/RetroFont.js line 223 @@ -1244,7 +1244,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 230 + src/gameobjects/RetroFont.js line 230 @@ -1321,7 +1321,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 237 + src/gameobjects/RetroFont.js line 237 @@ -1398,7 +1398,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 244 + src/gameobjects/RetroFont.js line 244 @@ -1475,7 +1475,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 251 + src/gameobjects/RetroFont.js line 251 @@ -1552,7 +1552,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 258 + src/gameobjects/RetroFont.js line 258 @@ -1629,7 +1629,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 265 + src/gameobjects/RetroFont.js line 265 @@ -1706,7 +1706,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 272 + src/gameobjects/RetroFont.js line 272 @@ -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 577 + src/gameobjects/RetroFont.js line 577 @@ -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 541 + src/gameobjects/RetroFont.js line 541 @@ -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 325 + src/gameobjects/RetroFont.js line 325 @@ -4650,7 +4650,7 @@

Source:
- src/gameobjects/RenderTexture.js line 253 + src/gameobjects/RenderTexture.js line 253 @@ -4793,7 +4793,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 173 + src/pixi/textures/Texture.js line 173 @@ -4960,7 +4960,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 283 + src/pixi/textures/Texture.js line 283 @@ -5169,7 +5169,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 407 + src/gameobjects/RenderTexture.js line 407 @@ -5293,7 +5293,7 @@

Source:
- src/gameobjects/RenderTexture.js line 422 + src/gameobjects/RenderTexture.js line 422 @@ -5576,7 +5576,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 380 + src/gameobjects/RenderTexture.js line 380 @@ -5687,7 +5687,7 @@

Source:
- src/gameobjects/RetroFont.js line 455 + src/gameobjects/RetroFont.js line 455 @@ -5918,7 +5918,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 416 + src/gameobjects/RetroFont.js line 416 @@ -6072,7 +6072,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 482 + src/gameobjects/RetroFont.js line 482 @@ -6350,7 +6350,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 175 + src/gameobjects/RenderTexture.js line 175 @@ -6635,7 +6635,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 148 + src/gameobjects/RenderTexture.js line 148 @@ -6920,7 +6920,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 117 + src/gameobjects/RenderTexture.js line 117 @@ -7111,7 +7111,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 211 + src/gameobjects/RenderTexture.js line 211 @@ -7302,7 +7302,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 274 + src/gameobjects/RetroFont.js line 274 @@ -7445,7 +7445,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 186 + src/pixi/textures/Texture.js line 186 @@ -7795,7 +7795,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 291 + src/gameobjects/RetroFont.js line 291 @@ -7991,7 +7991,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 509 + src/gameobjects/RetroFont.js line 509 @@ -8034,9 +8034,9 @@
Parameters:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -8053,7 +8053,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -8082,7 +8082,7 @@
Parameters:
- + diff --git a/docs/Phaser.Rope.html b/docs/Phaser.Rope.html index cda1d9f3d..ac5d43d3b 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 55 + src/gameobjects/components/LifeSpan.js line 55 @@ -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 186 + src/gameobjects/components/Core.js line 186 @@ -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 97 + src/gameobjects/components/PhysicsBody.js line 97 @@ -1097,7 +1097,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 156 + src/gameobjects/components/Bounds.js line 156 @@ -1190,7 +1190,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 791 + src/pixi/display/DisplayObject.js line 791 @@ -1277,7 +1277,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 82 + src/gameobjects/components/FixedToCamera.js line 82 @@ -1354,7 +1354,7 @@
Type:
Source:
- src/gameobjects/Rope.js line 101 + src/gameobjects/Rope.js line 101 @@ -1441,7 +1441,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 56 + src/gameobjects/components/Bounds.js line 56 @@ -1528,7 +1528,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 76 + src/gameobjects/components/Bounds.js line 76 @@ -1620,7 +1620,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 103 + src/gameobjects/components/InWorld.js line 103 @@ -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 160 + src/gameobjects/components/Core.js line 160 @@ -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 153 + src/gameobjects/components/Core.js line 153 @@ -2062,7 +2062,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 211 + src/gameobjects/components/Core.js line 211 @@ -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 41 + src/gameobjects/components/Delta.js line 41 @@ -2322,7 +2322,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 56 + src/gameobjects/components/Delta.js line 56 @@ -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 93 + src/gameobjects/Rope.js line 93 @@ -2573,7 +2573,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 178 + src/gameobjects/components/Core.js line 178 @@ -2671,7 +2671,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 277 + src/gameobjects/components/Core.js line 277 @@ -2757,7 +2757,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -2848,7 +2848,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -2941,7 +2941,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 54 + src/gameobjects/components/FixedToCamera.js line 54 @@ -3032,7 +3032,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 257 + src/gameobjects/components/LoadTexture.js line 257 @@ -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 241 + src/gameobjects/components/Core.js line 241 @@ -3296,7 +3296,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 135 + src/gameobjects/components/Core.js line 135 @@ -3382,7 +3382,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 606 + src/pixi/display/DisplayObjectContainer.js line 606 @@ -3478,7 +3478,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -3566,7 +3566,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3653,7 +3653,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3739,7 +3739,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 134 + src/gameobjects/components/InWorld.js line 134 @@ -3841,7 +3841,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 196 + src/gameobjects/components/Core.js line 196 @@ -3928,7 +3928,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 96 + src/gameobjects/components/Bounds.js line 96 @@ -4018,7 +4018,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 70 + src/gameobjects/components/LifeSpan.js line 70 @@ -4107,7 +4107,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -4194,7 +4194,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 143 + src/gameobjects/components/Core.js line 143 @@ -4282,7 +4282,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4370,7 +4370,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 41 + src/gameobjects/components/Bounds.js line 41 @@ -4456,7 +4456,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 111 + src/gameobjects/components/InWorld.js line 111 @@ -4543,7 +4543,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 120 + src/gameobjects/components/InWorld.js line 120 @@ -4632,7 +4632,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -4721,7 +4721,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 252 + src/gameobjects/components/Core.js line 252 @@ -4808,7 +4808,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4896,7 +4896,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4982,7 +4982,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 218 + src/gameobjects/components/Core.js line 218 @@ -5068,7 +5068,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -5155,7 +5155,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -5242,7 +5242,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -5329,7 +5329,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 116 + src/gameobjects/components/Bounds.js line 116 @@ -5418,7 +5418,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5507,7 +5507,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -5595,7 +5595,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -5683,7 +5683,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -5802,7 +5802,7 @@
Properties:
Source:
- src/gameobjects/Rope.js line 755 + src/gameobjects/Rope.js line 755 @@ -5890,7 +5890,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -5977,7 +5977,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 136 + src/gameobjects/components/Bounds.js line 136 @@ -6063,7 +6063,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -6149,7 +6149,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -6226,7 +6226,7 @@
Type:
Source:
- src/gameobjects/Rope.js line 58 + src/gameobjects/Rope.js line 58 @@ -6303,7 +6303,7 @@
Type:
Source:
- src/gameobjects/Rope.js line 726 + src/gameobjects/Rope.js line 726 @@ -6402,7 +6402,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -6488,7 +6488,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 576 + src/pixi/display/DisplayObjectContainer.js line 576 @@ -6576,7 +6576,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 204 + src/gameobjects/components/Core.js line 204 @@ -6668,7 +6668,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -6759,7 +6759,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -6850,7 +6850,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -6941,7 +6941,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -7032,7 +7032,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -7118,7 +7118,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -7210,7 +7210,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 626 + src/pixi/display/DisplayObject.js line 626 @@ -7302,7 +7302,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -7391,7 +7391,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 170 + src/gameobjects/components/Core.js line 170 @@ -7528,7 +7528,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -7719,7 +7719,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -8062,7 +8062,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 209 + src/gameobjects/components/Bounds.js line 209 @@ -8406,7 +8406,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 306 + src/gameobjects/components/Bounds.js line 306 @@ -8526,7 +8526,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -8693,7 +8693,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -8919,7 +8919,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -9019,7 +9019,7 @@

Source:
- src/pixi/display/DisplayObject.js line 254 + src/pixi/display/DisplayObject.js line 254 @@ -9264,7 +9264,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -9429,7 +9429,7 @@
Parameters:
Source:
- src/gameobjects/Rope.js line 666 + src/gameobjects/Rope.js line 666 @@ -9596,7 +9596,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -9763,7 +9763,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -9880,7 +9880,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 445 + src/pixi/display/DisplayObjectContainer.js line 445 @@ -10001,7 +10001,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 117 + src/gameobjects/components/LifeSpan.js line 117 @@ -10286,7 +10286,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -10382,7 +10382,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 84 + src/gameobjects/components/BringToTop.js line 84 @@ -10502,7 +10502,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 64 + src/gameobjects/components/BringToTop.js line 64 @@ -10685,7 +10685,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -10991,7 +10991,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -11108,7 +11108,7 @@

Source:
- src/gameobjects/components/Core.js line 354 + src/gameobjects/components/Core.js line 354 @@ -11197,7 +11197,7 @@

Source:
- src/gameobjects/Rope.js line 141 + src/gameobjects/Rope.js line 141 @@ -11290,7 +11290,7 @@

Source:
- src/gameobjects/components/Core.js line 318 + src/gameobjects/components/Core.js line 318 @@ -11374,7 +11374,7 @@

Source:
- src/gameobjects/Rope.js line 189 + src/gameobjects/Rope.js line 189 @@ -11517,7 +11517,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -11684,7 +11684,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -11875,7 +11875,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -11959,7 +11959,7 @@

Source:
- src/gameobjects/Rope.js line 627 + src/gameobjects/Rope.js line 627 @@ -12124,7 +12124,7 @@
Parameters:
Source:
- src/gameobjects/Rope.js line 171 + src/gameobjects/Rope.js line 171 @@ -12241,7 +12241,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 236 + src/gameobjects/components/LoadTexture.js line 236 @@ -12434,7 +12434,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -12599,7 +12599,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 83 + src/gameobjects/components/LifeSpan.js line 83 @@ -12719,7 +12719,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 44 + src/gameobjects/components/BringToTop.js line 44 @@ -12910,7 +12910,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -13054,7 +13054,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 156 + src/gameobjects/components/LoadTexture.js line 156 @@ -13291,7 +13291,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 109 + src/gameobjects/components/ScaleMinMax.js line 109 @@ -13425,7 +13425,7 @@
Parameters:
Source:
- src/gameobjects/Rope.js line 302 + src/gameobjects/Rope.js line 302 @@ -13592,7 +13592,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -13735,7 +13735,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -13948,7 +13948,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -14063,7 +14063,7 @@

Source:
- src/gameobjects/Rope.js line 157 + src/gameobjects/Rope.js line 157 @@ -14156,7 +14156,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -14276,7 +14276,7 @@

Source:
- src/gameobjects/components/Crop.js line 85 + src/gameobjects/components/Crop.js line 85 @@ -14365,7 +14365,7 @@

Source:
- src/gameobjects/Rope.js line 237 + src/gameobjects/Rope.js line 237 @@ -14408,9 +14408,9 @@

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -14427,7 +14427,7 @@

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -14456,7 +14456,7 @@

- + diff --git a/docs/Phaser.RoundedRectangle.html b/docs/Phaser.RoundedRectangle.html index a1f1f70a0..ab449fc02 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 74 + src/geom/RoundedRectangle.js line 74 @@ -1225,9 +1225,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -1244,7 +1244,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -1273,7 +1273,7 @@
Returns:
- + diff --git a/docs/Phaser.ScaleManager.html b/docs/Phaser.ScaleManager.html index 1c025a366..934073061 100644 --- a/docs/Phaser.ScaleManager.html +++ b/docs/Phaser.ScaleManager.html @@ -6,7 +6,7 @@ Phaser CE Class: ScaleManager - + @@ -337,7 +337,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 68 + src/core/ScaleManager.js line 68 @@ -442,7 +442,7 @@
Type:
Source:
- src/core/ScaleManager.js line 634 + src/core/ScaleManager.js line 634 @@ -519,7 +519,7 @@
Type:
Source:
- src/core/ScaleManager.js line 674 + src/core/ScaleManager.js line 674 @@ -596,7 +596,7 @@
Type:
Source:
- src/core/ScaleManager.js line 642 + src/core/ScaleManager.js line 642 @@ -673,7 +673,7 @@
Type:
Source:
- src/core/ScaleManager.js line 658 + src/core/ScaleManager.js line 658 @@ -750,7 +750,7 @@
Type:
Source:
- src/core/ScaleManager.js line 650 + src/core/ScaleManager.js line 650 @@ -827,7 +827,7 @@
Type:
Source:
- src/core/ScaleManager.js line 666 + src/core/ScaleManager.js line 666 @@ -904,7 +904,7 @@
Type:
Source:
- src/core/ScaleManager.js line 371 + src/core/ScaleManager.js line 371 @@ -983,7 +983,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2171 + src/core/ScaleManager.js line 2171 @@ -1060,7 +1060,7 @@
Type:
Source:
- src/core/ScaleManager.js line 364 + src/core/ScaleManager.js line 364 @@ -1433,7 +1433,7 @@
Properties:
Source:
- src/core/ScaleManager.js line 432 + src/core/ScaleManager.js line 432 @@ -1511,7 +1511,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2299 + src/core/ScaleManager.js line 2299 @@ -1588,7 +1588,7 @@
Type:
Source:
- src/core/ScaleManager.js line 84 + src/core/ScaleManager.js line 84 @@ -1666,7 +1666,7 @@
Type:
Source:
- src/core/ScaleManager.js line 233 + src/core/ScaleManager.js line 233 @@ -1744,7 +1744,7 @@
Type:
Source:
- src/core/ScaleManager.js line 162 + src/core/ScaleManager.js line 162 @@ -1822,7 +1822,7 @@
Type:
Source:
- src/core/ScaleManager.js line 172 + src/core/ScaleManager.js line 172 @@ -1900,7 +1900,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2260 + src/core/ScaleManager.js line 2260 @@ -1982,7 +1982,7 @@
Type:
Source:
- src/core/ScaleManager.js line 270 + src/core/ScaleManager.js line 270 @@ -2059,7 +2059,7 @@
Type:
Source:
- src/core/ScaleManager.js line 76 + src/core/ScaleManager.js line 76 @@ -2136,7 +2136,7 @@
Type:
Source:
- src/core/ScaleManager.js line 91 + src/core/ScaleManager.js line 91 @@ -2216,7 +2216,7 @@
Type:
Source:
- src/core/ScaleManager.js line 255 + src/core/ScaleManager.js line 255 @@ -2293,7 +2293,7 @@
Type:
Source:
- src/core/ScaleManager.js line 105 + src/core/ScaleManager.js line 105 @@ -2371,7 +2371,7 @@
Type:
Source:
- src/core/ScaleManager.js line 183 + src/core/ScaleManager.js line 183 @@ -2448,7 +2448,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2385 + src/core/ScaleManager.js line 2385 @@ -2528,7 +2528,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2454 + src/core/ScaleManager.js line 2454 @@ -2608,7 +2608,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2435 + src/core/ScaleManager.js line 2435 @@ -2685,7 +2685,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2419 + src/core/ScaleManager.js line 2419 @@ -2762,7 +2762,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2403 + src/core/ScaleManager.js line 2403 @@ -2840,7 +2840,7 @@
Type:
Source:
- src/core/ScaleManager.js line 243 + src/core/ScaleManager.js line 243 @@ -2917,7 +2917,7 @@
Type:
Source:
- src/core/ScaleManager.js line 357 + src/core/ScaleManager.js line 357 @@ -2996,7 +2996,7 @@
Type:
Source:
- src/core/ScaleManager.js line 143 + src/core/ScaleManager.js line 143 @@ -3075,7 +3075,7 @@
Type:
Source:
- src/core/ScaleManager.js line 124 + src/core/ScaleManager.js line 124 @@ -3153,7 +3153,7 @@
Type:
Source:
- src/core/ScaleManager.js line 133 + src/core/ScaleManager.js line 133 @@ -3231,7 +3231,7 @@
Type:
Source:
- src/core/ScaleManager.js line 114 + src/core/ScaleManager.js line 114 @@ -3309,7 +3309,7 @@
Type:
Source:
- src/core/ScaleManager.js line 152 + src/core/ScaleManager.js line 152 @@ -3388,7 +3388,7 @@
Type:
Source:
- src/core/ScaleManager.js line 312 + src/core/ScaleManager.js line 312 @@ -3467,7 +3467,7 @@
Type:
Source:
- src/core/ScaleManager.js line 323 + src/core/ScaleManager.js line 323 @@ -3556,7 +3556,7 @@
Type:
Source:
- src/core/ScaleManager.js line 301 + src/core/ScaleManager.js line 301 @@ -3649,7 +3649,7 @@
Type:
Source:
- src/core/ScaleManager.js line 223 + src/core/ScaleManager.js line 223 @@ -3733,7 +3733,7 @@
Type:
Source:
- src/core/ScaleManager.js line 513 + src/core/ScaleManager.js line 513 @@ -3820,7 +3820,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2318 + src/core/ScaleManager.js line 2318 @@ -3912,7 +3912,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2348 + src/core/ScaleManager.js line 2348 @@ -3991,7 +3991,7 @@
Type:
Source:
- src/core/ScaleManager.js line 465 + src/core/ScaleManager.js line 465 @@ -4071,7 +4071,7 @@
Type:
Source:
- src/core/ScaleManager.js line 477 + src/core/ScaleManager.js line 477 @@ -4148,7 +4148,7 @@
Type:
Source:
- src/core/ScaleManager.js line 484 + src/core/ScaleManager.js line 484 @@ -4225,7 +4225,7 @@
Type:
Source:
- src/core/ScaleManager.js line 340 + src/core/ScaleManager.js line 340 @@ -4302,7 +4302,7 @@
Type:
Source:
- src/core/ScaleManager.js line 348 + src/core/ScaleManager.js line 348 @@ -4409,7 +4409,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2198 + src/core/ScaleManager.js line 2198 @@ -4487,7 +4487,7 @@
Type:
Source:
- src/core/ScaleManager.js line 333 + src/core/ScaleManager.js line 333 @@ -4564,7 +4564,7 @@
Type:
Source:
- src/core/ScaleManager.js line 378 + src/core/ScaleManager.js line 378 @@ -4649,7 +4649,7 @@
Type:
Source:
- src/core/ScaleManager.js line 495 + src/core/ScaleManager.js line 495 @@ -4733,7 +4733,7 @@
Type:
Source:
- src/core/ScaleManager.js line 98 + src/core/ScaleManager.js line 98 @@ -4889,7 +4889,7 @@
Properties:
Source:
- src/core/ScaleManager.js line 401 + src/core/ScaleManager.js line 401 @@ -5063,7 +5063,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 1521 + src/core/ScaleManager.js line 1521 @@ -5147,7 +5147,7 @@

Source:
- src/core/ScaleManager.js line 684 + src/core/ScaleManager.js line 684 @@ -5233,7 +5233,7 @@

Source:
- src/core/ScaleManager.js line 1794 + src/core/ScaleManager.js line 1794 @@ -5318,7 +5318,7 @@

Source:
- src/core/ScaleManager.js line 2139 + src/core/ScaleManager.js line 2139 @@ -5512,7 +5512,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 1218 + src/core/ScaleManager.js line 1218 @@ -5709,7 +5709,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 1463 + src/core/ScaleManager.js line 1463 @@ -5867,7 +5867,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 790 + src/core/ScaleManager.js line 790 @@ -5951,7 +5951,7 @@

Source:
- src/core/ScaleManager.js line 1087 + src/core/ScaleManager.js line 1087 @@ -6047,7 +6047,7 @@

Source:
- src/core/ScaleManager.js line 1356 + src/core/ScaleManager.js line 1356 @@ -6320,7 +6320,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 2068 + src/core/ScaleManager.js line 2068 @@ -6513,7 +6513,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 928 + src/core/ScaleManager.js line 928 @@ -6762,7 +6762,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 1056 + src/core/ScaleManager.js line 1056 @@ -6942,7 +6942,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 987 + src/core/ScaleManager.js line 987 @@ -7107,7 +7107,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 830 + src/core/ScaleManager.js line 830 @@ -7458,7 +7458,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 955 + src/core/ScaleManager.js line 955 @@ -7700,7 +7700,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 1814 + src/core/ScaleManager.js line 1814 @@ -7815,7 +7815,7 @@

Source:
- src/core/ScaleManager.js line 1925 + src/core/ScaleManager.js line 1925 @@ -7882,9 +7882,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -7901,7 +7901,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -7930,7 +7930,7 @@
Returns:
- + diff --git a/docs/Phaser.Signal.html b/docs/Phaser.Signal.html index 36c2a6bfb..f5b962f1b 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 232 + src/core/Signal.js line 232 @@ -967,7 +967,7 @@
Parameters:
Source:
- src/core/Signal.js line 275 + src/core/Signal.js line 275 @@ -1138,7 +1138,7 @@
Parameters:
Source:
- src/core/Signal.js line 391 + src/core/Signal.js line 391 @@ -1224,7 +1224,7 @@

Source:
- src/core/Signal.js line 448 + src/core/Signal.js line 448 @@ -1308,7 +1308,7 @@

Source:
- src/core/Signal.js line 435 + src/core/Signal.js line 435 @@ -1392,7 +1392,7 @@

Source:
- src/core/Signal.js line 367 + src/core/Signal.js line 367 @@ -1502,7 +1502,7 @@

Source:
- src/core/Signal.js line 378 + src/core/Signal.js line 378 @@ -1680,7 +1680,7 @@
Parameters:
Source:
- src/core/Signal.js line 219 + src/core/Signal.js line 219 @@ -1894,7 +1894,7 @@
Parameters:
Source:
- src/core/Signal.js line 305 + src/core/Signal.js line 305 @@ -2072,7 +2072,7 @@
Parameters:
Source:
- src/core/Signal.js line 328 + src/core/Signal.js line 328 @@ -2156,7 +2156,7 @@

Source:
- src/core/Signal.js line 467 + src/core/Signal.js line 467 @@ -2223,9 +2223,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -2242,7 +2242,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -2271,7 +2271,7 @@
Returns:
- + diff --git a/docs/Phaser.SignalBinding.html b/docs/Phaser.SignalBinding.html index a0157c250..7b1bc7eb2 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 92 + src/core/SignalBinding.js line 92 @@ -629,7 +629,7 @@
Type:
Source:
- src/core/SignalBinding.js line 85 + src/core/SignalBinding.js line 85 @@ -706,7 +706,7 @@
Type:
Source:
- src/core/SignalBinding.js line 62 + src/core/SignalBinding.js line 62 @@ -786,7 +786,7 @@
Type:
Source:
- src/core/SignalBinding.js line 99 + src/core/SignalBinding.js line 99 @@ -865,7 +865,7 @@

Source:
- src/core/SignalBinding.js line 134 + src/core/SignalBinding.js line 134 @@ -1039,7 +1039,7 @@
Parameters:
Source:
- src/core/SignalBinding.js line 101 + src/core/SignalBinding.js line 101 @@ -1143,7 +1143,7 @@

Source:
- src/core/SignalBinding.js line 163 + src/core/SignalBinding.js line 163 @@ -1247,7 +1247,7 @@

Source:
- src/core/SignalBinding.js line 172 + src/core/SignalBinding.js line 172 @@ -1351,7 +1351,7 @@

Source:
- src/core/SignalBinding.js line 145 + src/core/SignalBinding.js line 145 @@ -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 193 + src/core/SignalBinding.js line 193 @@ -1626,9 +1626,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -1645,7 +1645,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -1674,7 +1674,7 @@
Returns:
- + diff --git a/docs/Phaser.SinglePad.html b/docs/Phaser.SinglePad.html index 083e57414..b492a4407 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 120 + src/input/SinglePad.js line 120 @@ -1416,7 +1416,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 422 + src/input/SinglePad.js line 422 @@ -1575,7 +1575,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 505 + src/input/SinglePad.js line 505 @@ -1733,7 +1733,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 213 + src/input/SinglePad.js line 213 @@ -1817,7 +1817,7 @@

Source:
- src/input/SinglePad.js line 293 + src/input/SinglePad.js line 293 @@ -1901,7 +1901,7 @@

Source:
- src/input/SinglePad.js line 256 + src/input/SinglePad.js line 256 @@ -2036,7 +2036,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 143 + src/input/SinglePad.js line 143 @@ -2194,7 +2194,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 439 + src/input/SinglePad.js line 439 @@ -2352,7 +2352,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 456 + src/input/SinglePad.js line 456 @@ -2566,7 +2566,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 489 + src/input/SinglePad.js line 489 @@ -2780,7 +2780,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 473 + src/input/SinglePad.js line 473 @@ -2888,7 +2888,7 @@

Source:
- src/input/SinglePad.js line 163 + src/input/SinglePad.js line 163 @@ -3022,7 +3022,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 321 + src/input/SinglePad.js line 321 @@ -3180,7 +3180,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 347 + src/input/SinglePad.js line 347 @@ -3338,7 +3338,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 397 + src/input/SinglePad.js line 397 @@ -3496,7 +3496,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 372 + src/input/SinglePad.js line 372 @@ -3580,7 +3580,7 @@

Source:
- src/input/SinglePad.js line 523 + src/input/SinglePad.js line 523 @@ -3623,9 +3623,9 @@

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -3642,7 +3642,7 @@

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -3671,7 +3671,7 @@

- + diff --git a/docs/Phaser.Sound.html b/docs/Phaser.Sound.html index cf1f0f3ab..9fbf19f0c 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 167 + src/sound/Sound.js line 167 @@ -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 177 + src/sound/Sound.js line 177 @@ -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 1165 + src/sound/Sound.js line 1165 @@ -1391,7 +1391,7 @@
Type:
Source:
- src/sound/Sound.js line 1151 + src/sound/Sound.js line 1151 @@ -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 172 + src/sound/Sound.js line 172 @@ -1853,7 +1853,7 @@
Type:
Source:
- src/sound/Sound.js line 1179 + src/sound/Sound.js line 1179 @@ -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 257 + src/sound/Sound.js line 257 @@ -2084,7 +2084,7 @@
Type:
Source:
- src/sound/Sound.js line 297 + src/sound/Sound.js line 297 @@ -2161,7 +2161,7 @@
Type:
Source:
- src/sound/Sound.js line 277 + src/sound/Sound.js line 277 @@ -2238,7 +2238,7 @@
Type:
Source:
- src/sound/Sound.js line 292 + src/sound/Sound.js line 292 @@ -2315,7 +2315,7 @@
Type:
Source:
- src/sound/Sound.js line 287 + src/sound/Sound.js line 287 @@ -2392,7 +2392,7 @@
Type:
Source:
- src/sound/Sound.js line 267 + src/sound/Sound.js line 267 @@ -2469,7 +2469,7 @@
Type:
Source:
- src/sound/Sound.js line 262 + src/sound/Sound.js line 262 @@ -2546,7 +2546,7 @@
Type:
Source:
- src/sound/Sound.js line 272 + src/sound/Sound.js line 272 @@ -2623,7 +2623,7 @@
Type:
Source:
- src/sound/Sound.js line 282 + src/sound/Sound.js line 282 @@ -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 150 + src/sound/Sound.js line 150 @@ -3162,7 +3162,7 @@
Type:
Source:
- src/sound/Sound.js line 88 + src/sound/Sound.js line 88 @@ -3239,7 +3239,7 @@
Type:
Source:
- src/sound/Sound.js line 68 + src/sound/Sound.js line 68 @@ -3316,7 +3316,7 @@
Type:
Source:
- src/sound/Sound.js line 93 + src/sound/Sound.js line 93 @@ -3393,7 +3393,7 @@
Type:
Source:
- src/sound/Sound.js line 62 + src/sound/Sound.js line 62 @@ -3470,7 +3470,7 @@
Type:
Source:
- src/sound/Sound.js line 162 + src/sound/Sound.js line 162 @@ -3547,7 +3547,7 @@
Type:
Source:
- src/sound/Sound.js line 156 + src/sound/Sound.js line 156 @@ -3624,7 +3624,7 @@
Type:
Source:
- src/sound/Sound.js line 1232 + src/sound/Sound.js line 1232 @@ -3925,7 +3925,7 @@
Parameters:
Source:
- src/sound/Sound.js line 383 + src/sound/Sound.js line 383 @@ -4079,7 +4079,7 @@
Parameters:
Source:
- src/sound/Sound.js line 1054 + src/sound/Sound.js line 1054 @@ -4316,7 +4316,7 @@
Parameters:
Source:
- src/sound/Sound.js line 947 + src/sound/Sound.js line 947 @@ -4472,7 +4472,7 @@
Parameters:
Source:
- src/sound/Sound.js line 974 + src/sound/Sound.js line 974 @@ -4666,7 +4666,7 @@
Parameters:
Source:
- src/sound/Sound.js line 987 + src/sound/Sound.js line 987 @@ -4820,7 +4820,7 @@
Parameters:
Source:
- src/sound/Sound.js line 580 + src/sound/Sound.js line 580 @@ -4929,7 +4929,7 @@

Source:
- src/sound/Sound.js line 421 + src/sound/Sound.js line 421 @@ -5013,7 +5013,7 @@

Source:
- src/sound/Sound.js line 833 + src/sound/Sound.js line 833 @@ -5367,7 +5367,7 @@
Parameters:
Source:
- src/sound/Sound.js line 592 + src/sound/Sound.js line 592 @@ -5525,7 +5525,7 @@
Parameters:
Source:
- src/sound/Sound.js line 411 + src/sound/Sound.js line 411 @@ -5799,7 +5799,7 @@
Parameters:
Source:
- src/sound/Sound.js line 814 + src/sound/Sound.js line 814 @@ -5883,7 +5883,7 @@

Source:
- src/sound/Sound.js line 851 + src/sound/Sound.js line 851 @@ -6017,7 +6017,7 @@
Parameters:
Source:
- src/sound/Sound.js line 368 + src/sound/Sound.js line 368 @@ -6101,7 +6101,7 @@

Source:
- src/sound/Sound.js line 904 + src/sound/Sound.js line 904 @@ -6185,7 +6185,7 @@

Source:
- src/sound/Sound.js line 475 + src/sound/Sound.js line 475 @@ -6321,7 +6321,7 @@
Parameters:
Source:
- src/sound/Sound.js line 1032 + src/sound/Sound.js line 1032 @@ -6364,9 +6364,9 @@
Parameters:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -6383,7 +6383,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -6412,7 +6412,7 @@
Parameters:
- + diff --git a/docs/Phaser.SoundManager.html b/docs/Phaser.SoundManager.html index cdc097fdd..055b3a53e 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 @@ -347,7 +347,7 @@
Type:
Source:
- src/sound/SoundManager.js line 83 + src/sound/SoundManager.js line 83 @@ -438,7 +438,7 @@
Type:
Source:
- src/sound/SoundManager.js line 119 + src/sound/SoundManager.js line 119 @@ -522,7 +522,7 @@
Type:
Source:
- src/sound/SoundManager.js line 107 + src/sound/SoundManager.js line 107 @@ -599,7 +599,7 @@
Type:
Source:
- src/sound/SoundManager.js line 73 + src/sound/SoundManager.js line 73 @@ -676,7 +676,7 @@
Type:
Source:
- src/sound/SoundManager.js line 31 + src/sound/SoundManager.js line 31 @@ -753,7 +753,7 @@
Type:
Source:
- src/sound/SoundManager.js line 925 + src/sound/SoundManager.js line 925 @@ -839,7 +839,7 @@
Type:
Source:
- src/sound/SoundManager.js line 128 + src/sound/SoundManager.js line 128 @@ -916,7 +916,7 @@
Type:
Source:
- src/sound/SoundManager.js line 101 + src/sound/SoundManager.js line 101 @@ -993,7 +993,7 @@
Type:
Source:
- src/sound/SoundManager.js line 48 + src/sound/SoundManager.js line 48 @@ -1070,7 +1070,7 @@
Type:
Source:
- src/sound/SoundManager.js line 36 + src/sound/SoundManager.js line 36 @@ -1147,7 +1147,7 @@
Type:
Source:
- src/sound/SoundManager.js line 67 + src/sound/SoundManager.js line 67 @@ -1225,7 +1225,7 @@
Type:
Source:
- src/sound/SoundManager.js line 61 + src/sound/SoundManager.js line 61 @@ -1302,7 +1302,7 @@
Type:
Source:
- src/sound/SoundManager.js line 54 + src/sound/SoundManager.js line 54 @@ -1379,7 +1379,7 @@
Type:
Source:
- src/sound/SoundManager.js line 42 + src/sound/SoundManager.js line 42 @@ -1456,7 +1456,7 @@
Type:
Source:
- src/sound/SoundManager.js line 113 + src/sound/SoundManager.js line 113 @@ -1533,7 +1533,7 @@
Type:
Source:
- src/sound/SoundManager.js line 95 + src/sound/SoundManager.js line 95 @@ -1610,7 +1610,7 @@
Type:
Source:
- src/sound/SoundManager.js line 89 + src/sound/SoundManager.js line 89 @@ -1687,7 +1687,7 @@
Type:
Source:
- src/sound/SoundManager.js line 964 + src/sound/SoundManager.js line 964 @@ -1951,7 +1951,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 642 + src/sound/SoundManager.js line 642 @@ -2109,7 +2109,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 665 + src/sound/SoundManager.js line 665 @@ -2217,7 +2217,7 @@

Source:
- src/sound/SoundManager.js line 203 + src/sound/SoundManager.js line 203 @@ -2395,7 +2395,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 504 + src/sound/SoundManager.js line 504 @@ -2479,7 +2479,7 @@

Source:
- src/sound/SoundManager.js line 864 + src/sound/SoundManager.js line 864 @@ -2563,7 +2563,7 @@

Source:
- src/sound/SoundManager.js line 462 + src/sound/SoundManager.js line 462 @@ -2793,7 +2793,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 750 + src/sound/SoundManager.js line 750 @@ -2951,7 +2951,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 679 + src/sound/SoundManager.js line 679 @@ -3060,7 +3060,7 @@

Source:
- src/sound/SoundManager.js line 703 + src/sound/SoundManager.js line 703 @@ -3195,7 +3195,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 724 + src/sound/SoundManager.js line 724 @@ -3303,7 +3303,7 @@

Source:
- src/sound/SoundManager.js line 483 + src/sound/SoundManager.js line 483 @@ -3387,7 +3387,7 @@

Source:
- src/sound/SoundManager.js line 365 + src/sound/SoundManager.js line 365 @@ -3497,7 +3497,7 @@

Source:
- src/sound/SoundManager.js line 378 + src/sound/SoundManager.js line 378 @@ -3711,7 +3711,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 548 + src/sound/SoundManager.js line 548 @@ -3796,7 +3796,7 @@

Source:
- src/sound/SoundManager.js line 319 + src/sound/SoundManager.js line 319 @@ -3880,7 +3880,7 @@

Source:
- src/sound/SoundManager.js line 441 + src/sound/SoundManager.js line 441 @@ -3964,7 +3964,7 @@

Source:
- src/sound/SoundManager.js line 386 + src/sound/SoundManager.js line 386 @@ -4072,7 +4072,7 @@

Source:
- src/sound/SoundManager.js line 597 + src/sound/SoundManager.js line 597 @@ -4156,7 +4156,7 @@

Source:
- src/sound/SoundManager.js line 355 + src/sound/SoundManager.js line 355 @@ -4219,9 +4219,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -4238,7 +4238,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -4267,7 +4267,7 @@
Returns:
- + diff --git a/docs/Phaser.Sprite.html b/docs/Phaser.Sprite.html index 9e6c71366..a95a275a0 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 55 + src/gameobjects/components/LifeSpan.js line 55 @@ -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 186 + src/gameobjects/components/Core.js line 186 @@ -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 97 + src/gameobjects/components/PhysicsBody.js line 97 @@ -1264,7 +1264,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 156 + src/gameobjects/components/Bounds.js line 156 @@ -1357,7 +1357,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 791 + src/pixi/display/DisplayObject.js line 791 @@ -1444,7 +1444,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 82 + src/gameobjects/components/FixedToCamera.js line 82 @@ -1531,7 +1531,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 56 + src/gameobjects/components/Bounds.js line 56 @@ -1618,7 +1618,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 76 + src/gameobjects/components/Bounds.js line 76 @@ -1710,7 +1710,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 103 + src/gameobjects/components/InWorld.js line 103 @@ -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 160 + src/gameobjects/components/Core.js line 160 @@ -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 153 + src/gameobjects/components/Core.js line 153 @@ -2152,7 +2152,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 211 + src/gameobjects/components/Core.js line 211 @@ -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 41 + src/gameobjects/components/Delta.js line 41 @@ -2412,7 +2412,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 56 + src/gameobjects/components/Delta.js line 56 @@ -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 178 + src/gameobjects/components/Core.js line 178 @@ -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 205 + src/pixi/display/DisplayObject.js line 205 @@ -2868,7 +2868,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -2961,7 +2961,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 54 + src/gameobjects/components/FixedToCamera.js line 54 @@ -3052,7 +3052,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 257 + src/gameobjects/components/LoadTexture.js line 257 @@ -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 241 + src/gameobjects/components/Core.js line 241 @@ -3316,7 +3316,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 135 + src/gameobjects/components/Core.js line 135 @@ -3410,7 +3410,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -3496,7 +3496,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 606 + src/pixi/display/DisplayObjectContainer.js line 606 @@ -3592,7 +3592,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -3680,7 +3680,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3772,7 +3772,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3863,7 +3863,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3956,7 +3956,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -4042,7 +4042,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 134 + src/gameobjects/components/InWorld.js line 134 @@ -4144,7 +4144,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 196 + src/gameobjects/components/Core.js line 196 @@ -4231,7 +4231,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 96 + src/gameobjects/components/Bounds.js line 96 @@ -4321,7 +4321,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 70 + src/gameobjects/components/LifeSpan.js line 70 @@ -4410,7 +4410,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -4504,7 +4504,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -4591,7 +4591,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 143 + src/gameobjects/components/Core.js line 143 @@ -4679,7 +4679,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4767,7 +4767,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 41 + src/gameobjects/components/Bounds.js line 41 @@ -4853,7 +4853,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 111 + src/gameobjects/components/InWorld.js line 111 @@ -4940,7 +4940,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 120 + src/gameobjects/components/InWorld.js line 120 @@ -5029,7 +5029,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -5118,7 +5118,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 252 + src/gameobjects/components/Core.js line 252 @@ -5195,7 +5195,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 61 + src/gameobjects/Sprite.js line 61 @@ -5282,7 +5282,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -5370,7 +5370,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5456,7 +5456,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 218 + src/gameobjects/components/Core.js line 218 @@ -5542,7 +5542,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -5629,7 +5629,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -5716,7 +5716,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -5803,7 +5803,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 116 + src/gameobjects/components/Bounds.js line 116 @@ -5892,7 +5892,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5981,7 +5981,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -6069,7 +6069,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -6157,7 +6157,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -6251,7 +6251,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -6339,7 +6339,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -6425,7 +6425,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -6518,7 +6518,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -6611,7 +6611,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -6698,7 +6698,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 136 + src/gameobjects/components/Bounds.js line 136 @@ -6784,7 +6784,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -6870,7 +6870,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -6947,7 +6947,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 55 + src/gameobjects/Sprite.js line 55 @@ -7046,7 +7046,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -7132,7 +7132,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 576 + src/pixi/display/DisplayObjectContainer.js line 576 @@ -7220,7 +7220,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 204 + src/gameobjects/components/Core.js line 204 @@ -7312,7 +7312,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -7403,7 +7403,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -7494,7 +7494,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -7585,7 +7585,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -7676,7 +7676,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -7762,7 +7762,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -7854,7 +7854,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 626 + src/pixi/display/DisplayObject.js line 626 @@ -7946,7 +7946,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -8035,7 +8035,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 170 + src/gameobjects/components/Core.js line 170 @@ -8172,7 +8172,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -8363,7 +8363,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -8706,7 +8706,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 209 + src/gameobjects/components/Bounds.js line 209 @@ -9050,7 +9050,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 306 + src/gameobjects/components/Bounds.js line 306 @@ -9170,7 +9170,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -9337,7 +9337,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -9563,7 +9563,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -9707,7 +9707,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -9831,7 +9831,7 @@

Source:
- src/pixi/display/DisplayObject.js line 254 + src/pixi/display/DisplayObject.js line 254 @@ -10076,7 +10076,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -10251,7 +10251,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 211 + src/pixi/display/Sprite.js line 211 @@ -10418,7 +10418,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -10585,7 +10585,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -10702,7 +10702,7 @@

Source:
- src/pixi/display/Sprite.js line 328 + src/pixi/display/Sprite.js line 328 @@ -10869,7 +10869,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 88 + src/gameobjects/components/Health.js line 88 @@ -10990,7 +10990,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 117 + src/gameobjects/components/LifeSpan.js line 117 @@ -11275,7 +11275,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -11371,7 +11371,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 84 + src/gameobjects/components/BringToTop.js line 84 @@ -11491,7 +11491,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 64 + src/gameobjects/components/BringToTop.js line 64 @@ -11674,7 +11674,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -11980,7 +11980,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -12097,7 +12097,7 @@

Source:
- src/gameobjects/components/Core.js line 354 + src/gameobjects/components/Core.js line 354 @@ -12186,7 +12186,7 @@

Source:
- src/gameobjects/Sprite.js line 106 + src/gameobjects/Sprite.js line 106 @@ -12303,7 +12303,7 @@

Source:
- src/gameobjects/components/Core.js line 318 + src/gameobjects/components/Core.js line 318 @@ -12446,7 +12446,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -12613,7 +12613,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -12804,7 +12804,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -13043,7 +13043,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -13160,7 +13160,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 236 + src/gameobjects/components/LoadTexture.js line 236 @@ -13353,7 +13353,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -13518,7 +13518,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 83 + src/gameobjects/components/LifeSpan.js line 83 @@ -13638,7 +13638,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 44 + src/gameobjects/components/BringToTop.js line 44 @@ -13829,7 +13829,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -13973,7 +13973,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 156 + src/gameobjects/components/LoadTexture.js line 156 @@ -14117,7 +14117,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 69 + src/gameobjects/components/Health.js line 69 @@ -14378,7 +14378,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 109 + src/gameobjects/components/ScaleMinMax.js line 109 @@ -14578,7 +14578,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 175 + src/pixi/display/Sprite.js line 175 @@ -14745,7 +14745,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -14888,7 +14888,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -15101,7 +15101,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -15222,7 +15222,7 @@

Source:
- src/gameobjects/components/Core.js line 343 + src/gameobjects/components/Core.js line 343 @@ -15315,7 +15315,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -15435,7 +15435,7 @@

Source:
- src/gameobjects/components/Crop.js line 85 + src/gameobjects/components/Crop.js line 85 @@ -15598,7 +15598,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -15667,9 +15667,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -15686,7 +15686,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -15715,7 +15715,7 @@
Returns:
- + diff --git a/docs/Phaser.SpriteBatch.html b/docs/Phaser.SpriteBatch.html index 4d71d36cf..cc4950d5c 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 91 + src/core/Group.js line 91 @@ -590,7 +590,7 @@
Type:
Source:
- src/core/Group.js line 3155 + src/core/Group.js line 3155 @@ -679,7 +679,7 @@
Type:
Source:
- src/core/Group.js line 2825 + src/core/Group.js line 2825 @@ -767,7 +767,7 @@
Type:
Source:
- src/core/Group.js line 2980 + src/core/Group.js line 2980 @@ -860,7 +860,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 791 + src/pixi/display/DisplayObject.js line 791 @@ -947,7 +947,7 @@
Type:
Source:
- src/core/Group.js line 277 + src/core/Group.js line 277 @@ -1035,7 +1035,7 @@
Type:
Source:
- src/core/Group.js line 2850 + src/core/Group.js line 2850 @@ -1123,7 +1123,7 @@
Type:
Source:
- src/core/Group.js line 2876 + src/core/Group.js line 2876 @@ -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 127 + src/core/Group.js line 127 @@ -1390,7 +1390,7 @@
Type:
Source:
- src/core/Group.js line 135 + src/core/Group.js line 135 @@ -1476,7 +1476,7 @@
Type:
Source:
- src/core/Group.js line 260 + src/core/Group.js line 260 @@ -1564,7 +1564,7 @@
Type:
Source:
- src/core/Group.js line 213 + src/core/Group.js line 213 @@ -1651,7 +1651,7 @@
Type:
Source:
- src/core/Group.js line 222 + src/core/Group.js line 222 @@ -1744,7 +1744,7 @@
Type:
Source:
- src/core/Group.js line 98 + src/core/Group.js line 98 @@ -1830,7 +1830,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -1921,7 +1921,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -2009,7 +2009,7 @@
Type:
Source:
- src/core/Group.js line 270 + src/core/Group.js line 270 @@ -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 290 + src/core/Group.js line 290 @@ -2271,7 +2271,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 606 + src/pixi/display/DisplayObjectContainer.js line 606 @@ -2367,7 +2367,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -2455,7 +2455,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -2541,7 +2541,7 @@
Type:
Source:
- src/core/Group.js line 105 + src/core/Group.js line 105 @@ -2629,7 +2629,7 @@
Type:
Source:
- src/core/Group.js line 146 + src/core/Group.js line 146 @@ -2717,7 +2717,7 @@
Type:
Source:
- src/core/Group.js line 2902 + src/core/Group.js line 2902 @@ -2803,7 +2803,7 @@
Type:
Source:
- src/core/Group.js line 2809 + src/core/Group.js line 2809 @@ -2892,7 +2892,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -2978,7 +2978,7 @@
Type:
Source:
- src/core/Group.js line 49 + src/core/Group.js line 49 @@ -3068,7 +3068,7 @@
Type:
Source:
- src/core/Group.js line 166 + src/core/Group.js line 166 @@ -3158,7 +3158,7 @@
Type:
Source:
- src/core/Group.js line 203 + src/core/Group.js line 203 @@ -3248,7 +3248,7 @@
Type:
Source:
- src/core/Group.js line 191 + src/core/Group.js line 191 @@ -3339,7 +3339,7 @@
Type:
Source:
- src/core/Group.js line 179 + src/core/Group.js line 179 @@ -3425,7 +3425,7 @@
Type:
Source:
- src/core/Group.js line 254 + src/core/Group.js line 254 @@ -3514,7 +3514,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -3604,7 +3604,7 @@
Type:
Source:
- src/core/Group.js line 117 + src/core/Group.js line 117 @@ -3691,7 +3691,7 @@
Type:
Source:
- src/core/Group.js line 230 + src/core/Group.js line 230 @@ -3784,7 +3784,7 @@
Type:
Source:
- src/core/Group.js line 248 + src/core/Group.js line 248 @@ -3870,7 +3870,7 @@
Type:
Source:
- src/core/Group.js line 84 + src/core/Group.js line 84 @@ -3957,7 +3957,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4045,7 +4045,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4132,7 +4132,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -4220,7 +4220,7 @@
Type:
Source:
- src/core/Group.js line 2928 + src/core/Group.js line 2928 @@ -4308,7 +4308,7 @@
Type:
Source:
- src/core/Group.js line 3139 + src/core/Group.js line 3139 @@ -4397,7 +4397,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -4485,7 +4485,7 @@
Type:
Source:
- src/core/Group.js line 2954 + src/core/Group.js line 2954 @@ -4571,7 +4571,7 @@
Type:
Source:
- src/core/Group.js line 2793 + src/core/Group.js line 2793 @@ -4653,7 +4653,7 @@
Type:
Source:
- src/gameobjects/SpriteBatch.js line 33 + src/gameobjects/SpriteBatch.js line 33 @@ -4739,7 +4739,7 @@
Type:
Source:
- src/core/Group.js line 154 + src/core/Group.js line 154 @@ -4825,7 +4825,7 @@
Type:
Source:
- src/core/Group.js line 3148 + src/core/Group.js line 3148 @@ -4911,7 +4911,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 576 + src/pixi/display/DisplayObjectContainer.js line 576 @@ -5003,7 +5003,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -5094,7 +5094,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -5185,7 +5185,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -5276,7 +5276,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -5367,7 +5367,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -5453,7 +5453,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -5541,7 +5541,7 @@
Type:
Source:
- src/core/Group.js line 3121 + src/core/Group.js line 3121 @@ -5629,7 +5629,7 @@
Type:
Source:
- src/core/Group.js line 3130 + src/core/Group.js line 3130 @@ -5716,7 +5716,7 @@
Type:
Source:
- src/core/Group.js line 57 + src/core/Group.js line 57 @@ -5954,7 +5954,7 @@
Parameters:
Source:
- src/core/Group.js line 345 + src/core/Group.js line 345 @@ -6232,7 +6232,7 @@
Parameters:
Source:
- src/core/Group.js line 1417 + src/core/Group.js line 1417 @@ -6474,7 +6474,7 @@
Parameters:
Source:
- src/core/Group.js line 421 + src/core/Group.js line 421 @@ -6641,7 +6641,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -6832,7 +6832,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -7063,7 +7063,7 @@
Parameters:
Source:
- src/core/Group.js line 489 + src/core/Group.js line 489 @@ -7234,7 +7234,7 @@
Parameters:
Source:
- src/core/Group.js line 441 + src/core/Group.js line 441 @@ -7629,7 +7629,7 @@
Parameters:
Source:
- src/core/Group.js line 681 + src/core/Group.js line 681 @@ -7972,7 +7972,7 @@
Parameters:
Source:
- src/core/Group.js line 3006 + src/core/Group.js line 3006 @@ -8316,7 +8316,7 @@
Parameters:
Source:
- src/core/Group.js line 3048 + src/core/Group.js line 3048 @@ -8507,7 +8507,7 @@
Parameters:
Source:
- src/core/Group.js line 2024 + src/core/Group.js line 2024 @@ -8650,7 +8650,7 @@
Parameters:
Source:
- src/core/Group.js line 901 + src/core/Group.js line 901 @@ -8913,7 +8913,7 @@
Parameters:
Source:
- src/core/Group.js line 1624 + src/core/Group.js line 1624 @@ -9133,7 +9133,7 @@
Parameters:
Source:
- src/core/Group.js line 1540 + src/core/Group.js line 1540 @@ -9324,7 +9324,7 @@
Parameters:
Source:
- src/core/Group.js line 1575 + src/core/Group.js line 1575 @@ -9640,7 +9640,7 @@
Parameters:
Source:
- src/core/Group.js line 1349 + src/core/Group.js line 1349 @@ -9942,7 +9942,7 @@
Parameters:
Source:
- src/core/Group.js line 1384 + src/core/Group.js line 1384 @@ -10239,7 +10239,7 @@
Parameters:
Source:
- src/core/Group.js line 1208 + src/core/Group.js line 1208 @@ -10406,7 +10406,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -10593,7 +10593,7 @@
Parameters:
Source:
- src/core/Group.js line 2431 + src/core/Group.js line 2431 @@ -10710,7 +10710,7 @@

Source:
- src/core/Group.js line 2455 + src/core/Group.js line 2455 @@ -10827,7 +10827,7 @@

Source:
- src/core/Group.js line 2444 + src/core/Group.js line 2444 @@ -11221,7 +11221,7 @@
Parameters:
Source:
- src/core/Group.js line 542 + src/core/Group.js line 542 @@ -11628,7 +11628,7 @@
Parameters:
Source:
- src/core/Group.js line 578 + src/core/Group.js line 578 @@ -11841,7 +11841,7 @@
Parameters:
Source:
- src/core/Group.js line 2001 + src/core/Group.js line 2001 @@ -12008,7 +12008,7 @@
Parameters:
Source:
- src/core/Group.js line 2053 + src/core/Group.js line 2053 @@ -12212,7 +12212,7 @@
Parameters:
Source:
- src/core/Group.js line 2757 + src/core/Group.js line 2757 @@ -12428,7 +12428,7 @@
Parameters:
Source:
- src/core/Group.js line 1465 + src/core/Group.js line 1465 @@ -12634,7 +12634,7 @@
Parameters:
Source:
- src/core/Group.js line 1783 + src/core/Group.js line 1783 @@ -12940,7 +12940,7 @@
Parameters:
Source:
- src/core/Group.js line 1822 + src/core/Group.js line 1822 @@ -13178,7 +13178,7 @@
Parameters:
Source:
- src/core/Group.js line 1908 + src/core/Group.js line 1908 @@ -13416,7 +13416,7 @@
Parameters:
Source:
- src/core/Group.js line 1935 + src/core/Group.js line 1935 @@ -13654,7 +13654,7 @@
Parameters:
Source:
- src/core/Group.js line 1881 + src/core/Group.js line 1881 @@ -13899,7 +13899,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -14207,7 +14207,7 @@
Parameters:
Source:
- src/core/Group.js line 2506 + src/core/Group.js line 2506 @@ -14376,7 +14376,7 @@
Parameters:
Source:
- src/core/Group.js line 523 + src/core/Group.js line 523 @@ -14497,7 +14497,7 @@

Source:
- src/core/Group.js line 2329 + src/core/Group.js line 2329 @@ -14679,7 +14679,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 289 + src/pixi/display/DisplayObjectContainer.js line 289 @@ -14848,7 +14848,7 @@
Parameters:
Source:
- src/core/Group.js line 1041 + src/core/Group.js line 1041 @@ -15015,7 +15015,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -15182,7 +15182,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -15433,7 +15433,7 @@
Parameters:
Source:
- src/core/Group.js line 2345 + src/core/Group.js line 2345 @@ -15624,7 +15624,7 @@
Parameters:
Source:
- src/core/Group.js line 2171 + src/core/Group.js line 2171 @@ -15983,7 +15983,7 @@
Parameters:
Source:
- src/core/Group.js line 2217 + src/core/Group.js line 2217 @@ -16342,7 +16342,7 @@
Parameters:
Source:
- src/core/Group.js line 2246 + src/core/Group.js line 2246 @@ -16740,7 +16740,7 @@
Parameters:
Source:
- src/core/Group.js line 2184 + src/core/Group.js line 2184 @@ -16991,7 +16991,7 @@
Parameters:
Source:
- src/core/Group.js line 2388 + src/core/Group.js line 2388 @@ -17158,7 +17158,7 @@
Parameters:
Source:
- src/core/Group.js line 1029 + src/core/Group.js line 1029 @@ -17275,7 +17275,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 445 + src/pixi/display/DisplayObjectContainer.js line 445 @@ -17502,7 +17502,7 @@
Parameters:
Source:
- src/core/Group.js line 2466 + src/core/Group.js line 2466 @@ -17730,7 +17730,7 @@
Parameters:
Source:
- src/core/Group.js line 2487 + src/core/Group.js line 2487 @@ -17848,7 +17848,7 @@

Source:
- src/core/Group.js line 2313 + src/core/Group.js line 2313 @@ -18040,7 +18040,7 @@
Parameters:
Source:
- src/core/Group.js line 1093 + src/core/Group.js line 1093 @@ -18427,7 +18427,7 @@
Parameters:
Source:
- src/core/Group.js line 2077 + src/core/Group.js line 2077 @@ -18544,7 +18544,7 @@

Source:
- src/core/Group.js line 1481 + src/core/Group.js line 1481 @@ -18637,7 +18637,7 @@

Source:
- src/core/Group.js line 1493 + src/core/Group.js line 1493 @@ -18836,7 +18836,7 @@
Parameters:
Source:
- src/core/Group.js line 2598 + src/core/Group.js line 2598 @@ -19003,7 +19003,7 @@
Parameters:
Source:
- src/core/Group.js line 972 + src/core/Group.js line 972 @@ -19170,7 +19170,7 @@
Parameters:
Source:
- src/core/Group.js line 949 + src/core/Group.js line 949 @@ -19410,7 +19410,7 @@
Parameters:
Source:
- src/core/Group.js line 1449 + src/core/Group.js line 1449 @@ -19504,7 +19504,7 @@

Source:
- src/core/Group.js line 830 + src/core/Group.js line 830 @@ -19621,7 +19621,7 @@

Source:
- src/core/Group.js line 1763 + src/core/Group.js line 1763 @@ -19714,7 +19714,7 @@

Source:
- src/core/Group.js line 1695 + src/core/Group.js line 1695 @@ -19808,7 +19808,7 @@

Source:
- src/core/Group.js line 858 + src/core/Group.js line 858 @@ -20073,7 +20073,7 @@
Parameters:
Source:
- src/core/Group.js line 2551 + src/core/Group.js line 2551 @@ -20343,7 +20343,7 @@
Parameters:
Source:
- src/core/Group.js line 2626 + src/core/Group.js line 2626 @@ -20620,7 +20620,7 @@
Parameters:
Source:
- src/core/Group.js line 2673 + src/core/Group.js line 2673 @@ -20763,7 +20763,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -20930,7 +20930,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -21121,7 +21121,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -21265,7 +21265,7 @@
Parameters:
Source:
- src/core/Group.js line 465 + src/core/Group.js line 465 @@ -21458,7 +21458,7 @@
Parameters:
Source:
- src/core/Group.js line 1055 + src/core/Group.js line 1055 @@ -21812,7 +21812,7 @@
Parameters:
Source:
- src/core/Group.js line 1525 + src/core/Group.js line 1525 @@ -22118,7 +22118,7 @@
Parameters:
Source:
- src/core/Group.js line 2275 + src/core/Group.js line 2275 @@ -22306,7 +22306,7 @@
Parameters:
Source:
- src/core/Group.js line 804 + src/core/Group.js line 804 @@ -22424,7 +22424,7 @@

Source:
- src/core/Group.js line 1016 + src/core/Group.js line 1016 @@ -22517,7 +22517,7 @@

Source:
- src/core/Group.js line 1503 + src/core/Group.js line 1503 @@ -22610,7 +22610,7 @@

Source:
- src/core/Group.js line 1515 + src/core/Group.js line 1515 @@ -22813,7 +22813,7 @@
Parameters:
Source:
- src/core/Group.js line 2727 + src/core/Group.js line 2727 @@ -22956,7 +22956,7 @@
Parameters:
Source:
- src/core/Group.js line 925 + src/core/Group.js line 925 @@ -23372,7 +23372,7 @@
Parameters:
Source:
- src/core/Group.js line 1237 + src/core/Group.js line 1237 @@ -23754,7 +23754,7 @@
Parameters:
Source:
- src/core/Group.js line 1267 + src/core/Group.js line 1267 @@ -24112,7 +24112,7 @@
Parameters:
Source:
- src/core/Group.js line 1305 + src/core/Group.js line 1305 @@ -24279,7 +24279,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -24598,7 +24598,7 @@
Parameters:
Source:
- src/core/Group.js line 1127 + src/core/Group.js line 1127 @@ -24716,7 +24716,7 @@

Source:
- src/core/Group.js line 2744 + src/core/Group.js line 2744 @@ -24923,7 +24923,7 @@
Parameters:
Source:
- src/core/Group.js line 1962 + src/core/Group.js line 1962 @@ -25139,7 +25139,7 @@
Parameters:
Source:
- src/core/Group.js line 1433 + src/core/Group.js line 1433 @@ -25307,7 +25307,7 @@
Parameters:
Source:
- src/core/Group.js line 886 + src/core/Group.js line 886 @@ -25474,7 +25474,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -25617,7 +25617,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -25830,7 +25830,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -25950,7 +25950,7 @@

Source:
- src/core/Group.js line 1735 + src/core/Group.js line 1735 @@ -26043,7 +26043,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -26232,7 +26232,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -26352,7 +26352,7 @@

Source:
- src/core/Group.js line 663 + src/core/Group.js line 663 @@ -26543,7 +26543,7 @@
Parameters:
Source:
- src/core/Group.js line 995 + src/core/Group.js line 995 @@ -26586,9 +26586,9 @@
Parameters:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -26605,7 +26605,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -26634,7 +26634,7 @@
Parameters:
- + diff --git a/docs/Phaser.Stage.html b/docs/Phaser.Stage.html index 3cee510d6..4467918be 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 442 + src/core/Stage.js line 442 @@ -546,7 +546,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 791 + src/pixi/display/DisplayObject.js line 791 @@ -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 205 + src/pixi/display/DisplayObject.js line 205 @@ -1051,7 +1051,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -1128,7 +1128,7 @@
Type:
Source:
- src/core/Stage.js line 21 + src/core/Stage.js line 21 @@ -1214,7 +1214,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 606 + src/pixi/display/DisplayObjectContainer.js line 606 @@ -1310,7 +1310,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -1398,7 +1398,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -1487,7 +1487,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -1571,7 +1571,7 @@
Type:
Source:
- src/core/Stage.js line 29 + src/core/Stage.js line 29 @@ -1660,7 +1660,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -1747,7 +1747,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -1835,7 +1835,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -1922,7 +1922,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -2011,7 +2011,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -2100,7 +2100,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -2177,7 +2177,7 @@
Type:
Source:
- src/core/Stage.js line 461 + src/core/Stage.js line 461 @@ -2276,7 +2276,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -2362,7 +2362,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 576 + src/pixi/display/DisplayObjectContainer.js line 576 @@ -2459,7 +2459,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -2550,7 +2550,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -2641,7 +2641,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -2732,7 +2732,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -2818,7 +2818,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -2905,7 +2905,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 626 + src/pixi/display/DisplayObject.js line 626 @@ -2992,7 +2992,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -3202,7 +3202,7 @@
Parameters:
Source:
- src/core/Stage.js line 403 + src/core/Stage.js line 403 @@ -3369,7 +3369,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -3560,7 +3560,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -3669,7 +3669,7 @@

Source:
- src/core/Stage.js line 223 + src/core/Stage.js line 223 @@ -3812,7 +3812,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -3921,7 +3921,7 @@

Source:
- src/core/Stage.js line 382 + src/core/Stage.js line 382 @@ -4166,7 +4166,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -4350,7 +4350,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 289 + src/pixi/display/DisplayObjectContainer.js line 289 @@ -4517,7 +4517,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -4684,7 +4684,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -4801,7 +4801,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 445 + src/pixi/display/DisplayObjectContainer.js line 445 @@ -4959,7 +4959,7 @@
Parameters:
Source:
- src/core/Stage.js line 100 + src/core/Stage.js line 100 @@ -5045,7 +5045,7 @@

Source:
- src/core/Stage.js line 177 + src/core/Stage.js line 177 @@ -5135,7 +5135,7 @@

Source:
- src/core/Stage.js line 135 + src/core/Stage.js line 135 @@ -5278,7 +5278,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -5445,7 +5445,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -5636,7 +5636,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -5777,7 +5777,7 @@
Parameters:
Source:
- src/core/Stage.js line 354 + src/core/Stage.js line 354 @@ -5944,7 +5944,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -6111,7 +6111,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -6254,7 +6254,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -6467,7 +6467,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -6577,7 +6577,7 @@

Source:
- src/core/Stage.js line 161 + src/core/Stage.js line 161 @@ -6670,7 +6670,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -6786,7 +6786,7 @@

Source:
- src/core/Stage.js line 207 + src/core/Stage.js line 207 @@ -6926,7 +6926,7 @@
Parameters:
Source:
- src/core/Stage.js line 311 + src/core/Stage.js line 311 @@ -6969,9 +6969,9 @@
Parameters:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -6988,7 +6988,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -7017,7 +7017,7 @@
Parameters:
- + diff --git a/docs/Phaser.State.html b/docs/Phaser.State.html index b84b7b7ad..f3f1813fb 100644 --- a/docs/Phaser.State.html +++ b/docs/Phaser.State.html @@ -6,7 +6,7 @@ Phaser CE Class: State - + @@ -253,7 +253,7 @@

Callbacks

Source:
- src/core/State.js line 31 + src/core/State.js line 31 @@ -358,7 +358,7 @@
Type:
Source:
- src/core/State.js line 46 + src/core/State.js line 46 @@ -435,7 +435,7 @@
Type:
Source:
- src/core/State.js line 61 + src/core/State.js line 61 @@ -512,7 +512,7 @@
Type:
Source:
- src/core/State.js line 56 + src/core/State.js line 56 @@ -589,7 +589,7 @@
Type:
Source:
- src/core/State.js line 36 + src/core/State.js line 36 @@ -666,7 +666,7 @@
Type:
Source:
- src/core/State.js line 66 + src/core/State.js line 66 @@ -743,7 +743,7 @@
Type:
Source:
- src/core/State.js line 41 + src/core/State.js line 41 @@ -820,7 +820,7 @@
Type:
Source:
- src/core/State.js line 71 + src/core/State.js line 71 @@ -897,7 +897,7 @@
Type:
Source:
- src/core/State.js line 51 + src/core/State.js line 51 @@ -974,7 +974,7 @@
Type:
Source:
- src/core/State.js line 76 + src/core/State.js line 76 @@ -1051,7 +1051,7 @@
Type:
Source:
- src/core/State.js line 116 + src/core/State.js line 116 @@ -1128,7 +1128,7 @@
Type:
Source:
- src/core/State.js line 121 + src/core/State.js line 121 @@ -1205,7 +1205,7 @@
Type:
Source:
- src/core/State.js line 126 + src/core/State.js line 126 @@ -1282,7 +1282,7 @@
Type:
Source:
- src/core/State.js line 86 + src/core/State.js line 86 @@ -1359,7 +1359,7 @@
Type:
Source:
- src/core/State.js line 81 + src/core/State.js line 81 @@ -1436,7 +1436,7 @@
Type:
Source:
- src/core/State.js line 91 + src/core/State.js line 91 @@ -1513,7 +1513,7 @@
Type:
Source:
- src/core/State.js line 96 + src/core/State.js line 96 @@ -1590,7 +1590,7 @@
Type:
Source:
- src/core/State.js line 101 + src/core/State.js line 101 @@ -1667,7 +1667,7 @@
Type:
Source:
- src/core/State.js line 106 + src/core/State.js line 106 @@ -1744,7 +1744,7 @@
Type:
Source:
- src/core/State.js line 111 + src/core/State.js line 111 @@ -1873,7 +1873,7 @@
Parameters:
Source:
- src/core/State.js line 176 + src/core/State.js line 176 @@ -2021,7 +2021,7 @@
Parameters:
Source:
- src/core/State.js line 131 + src/core/State.js line 131 @@ -2156,7 +2156,7 @@
Parameters:
Source:
- src/core/State.js line 165 + src/core/State.js line 165 @@ -2290,7 +2290,7 @@
Parameters:
Source:
- src/core/State.js line 155 + src/core/State.js line 155 @@ -2424,7 +2424,7 @@
Parameters:
Source:
- src/core/State.js line 245 + src/core/State.js line 245 @@ -2558,7 +2558,7 @@
Parameters:
Source:
- src/core/State.js line 265 + src/core/State.js line 265 @@ -2695,7 +2695,7 @@
Parameters:
Source:
- src/core/State.js line 199 + src/core/State.js line 199 @@ -2831,7 +2831,7 @@
Parameters:
Source:
- src/core/State.js line 143 + src/core/State.js line 143 @@ -2965,7 +2965,7 @@
Parameters:
Source:
- src/core/State.js line 212 + src/core/State.js line 212 @@ -3101,7 +3101,7 @@
Parameters:
Source:
- src/core/State.js line 222 + src/core/State.js line 222 @@ -3259,7 +3259,7 @@
Parameters:
Source:
- src/core/State.js line 234 + src/core/State.js line 234 @@ -3393,7 +3393,7 @@
Parameters:
Source:
- src/core/State.js line 255 + src/core/State.js line 255 @@ -3527,7 +3527,7 @@
Parameters:
Source:
- src/core/State.js line 275 + src/core/State.js line 275 @@ -3663,7 +3663,7 @@
Parameters:
Source:
- src/core/State.js line 187 + src/core/State.js line 187 @@ -3706,9 +3706,9 @@
Parameters:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -3725,7 +3725,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -3754,7 +3754,7 @@
Parameters:
- + diff --git a/docs/Phaser.StateManager.html b/docs/Phaser.StateManager.html index 6f074c485..412198152 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 15 + src/core/StateManager.js line 15 @@ -394,7 +394,7 @@
Type:
Source:
- src/core/StateManager.js line 780 + src/core/StateManager.js line 780 @@ -471,7 +471,7 @@
Type:
Source:
- src/core/StateManager.js line 66 + src/core/StateManager.js line 66 @@ -548,7 +548,7 @@
Type:
Source:
- src/core/StateManager.js line 20 + src/core/StateManager.js line 20 @@ -625,7 +625,7 @@
Type:
Source:
- src/core/StateManager.js line 98 + src/core/StateManager.js line 98 @@ -702,7 +702,7 @@
Type:
Source:
- src/core/StateManager.js line 86 + src/core/StateManager.js line 86 @@ -779,7 +779,7 @@
Type:
Source:
- src/core/StateManager.js line 134 + src/core/StateManager.js line 134 @@ -856,7 +856,7 @@
Type:
Source:
- src/core/StateManager.js line 128 + src/core/StateManager.js line 128 @@ -933,7 +933,7 @@
Type:
Source:
- src/core/StateManager.js line 140 + src/core/StateManager.js line 140 @@ -1010,7 +1010,7 @@
Type:
Source:
- src/core/StateManager.js line 152 + src/core/StateManager.js line 152 @@ -1087,7 +1087,7 @@
Type:
Source:
- src/core/StateManager.js line 92 + src/core/StateManager.js line 92 @@ -1164,7 +1164,7 @@
Type:
Source:
- src/core/StateManager.js line 122 + src/core/StateManager.js line 122 @@ -1241,7 +1241,7 @@
Type:
Source:
- src/core/StateManager.js line 110 + src/core/StateManager.js line 110 @@ -1318,7 +1318,7 @@
Type:
Source:
- src/core/StateManager.js line 116 + src/core/StateManager.js line 116 @@ -1395,7 +1395,7 @@
Type:
Source:
- src/core/StateManager.js line 146 + src/core/StateManager.js line 146 @@ -1472,7 +1472,7 @@
Type:
Source:
- src/core/StateManager.js line 158 + src/core/StateManager.js line 158 @@ -1554,7 +1554,7 @@
Type:
Source:
- src/core/StateManager.js line 80 + src/core/StateManager.js line 80 @@ -1631,7 +1631,7 @@
Type:
Source:
- src/core/StateManager.js line 104 + src/core/StateManager.js line 104 @@ -1708,7 +1708,7 @@
Type:
Source:
- src/core/StateManager.js line 25 + src/core/StateManager.js line 25 @@ -1942,7 +1942,7 @@
Parameters:
Source:
- src/core/StateManager.js line 179 + src/core/StateManager.js line 179 @@ -2076,7 +2076,7 @@
Parameters:
Source:
- src/core/StateManager.js line 419 + src/core/StateManager.js line 419 @@ -2185,7 +2185,7 @@

Source:
- src/core/StateManager.js line 375 + src/core/StateManager.js line 375 @@ -2270,7 +2270,7 @@

Source:
- src/core/StateManager.js line 742 + src/core/StateManager.js line 742 @@ -2354,7 +2354,7 @@

Source:
- src/core/StateManager.js line 573 + src/core/StateManager.js line 573 @@ -2508,7 +2508,7 @@
Parameters:
Source:
- src/core/StateManager.js line 449 + src/core/StateManager.js line 449 @@ -2588,7 +2588,7 @@

Source:
- src/core/StateManager.js line 585 + src/core/StateManager.js line 585 @@ -2675,7 +2675,7 @@

Source:
- src/core/StateManager.js line 603 + src/core/StateManager.js line 603 @@ -2762,7 +2762,7 @@

Source:
- src/core/StateManager.js line 616 + src/core/StateManager.js line 616 @@ -2842,7 +2842,7 @@

Source:
- src/core/StateManager.js line 668 + src/core/StateManager.js line 668 @@ -2922,7 +2922,7 @@

Source:
- src/core/StateManager.js line 688 + src/core/StateManager.js line 688 @@ -3006,7 +3006,7 @@

Source:
- src/core/StateManager.js line 324 + src/core/StateManager.js line 324 @@ -3140,7 +3140,7 @@
Parameters:
Source:
- src/core/StateManager.js line 233 + src/core/StateManager.js line 233 @@ -3220,7 +3220,7 @@

Source:
- src/core/StateManager.js line 712 + src/core/StateManager.js line 712 @@ -3300,7 +3300,7 @@

Source:
- src/core/StateManager.js line 700 + src/core/StateManager.js line 700 @@ -3532,7 +3532,7 @@
Parameters:
Source:
- src/core/StateManager.js line 291 + src/core/StateManager.js line 291 @@ -3612,7 +3612,7 @@

Source:
- src/core/StateManager.js line 628 + src/core/StateManager.js line 628 @@ -3880,7 +3880,7 @@
Parameters:
Source:
- src/core/StateManager.js line 263 + src/core/StateManager.js line 263 @@ -4014,7 +4014,7 @@
Parameters:
Source:
- src/core/StateManager.js line 481 + src/core/StateManager.js line 481 @@ -4094,7 +4094,7 @@

Source:
- src/core/StateManager.js line 640 + src/core/StateManager.js line 640 @@ -4137,9 +4137,9 @@

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -4156,7 +4156,7 @@

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -4185,7 +4185,7 @@

- + diff --git a/docs/Phaser.Text.html b/docs/Phaser.Text.html index ab5d39f7d..487983fda 100644 --- a/docs/Phaser.Text.html +++ b/docs/Phaser.Text.html @@ -6,7 +6,7 @@ Phaser CE Class: Text - + @@ -428,8 +428,6 @@

Properties
- (from font) - @@ -468,8 +466,6 @@
Properties
- (from font) - @@ -508,8 +504,6 @@
Properties
- (from font) - @@ -551,8 +545,6 @@
Properties
- (from font) - @@ -1000,6 +992,86 @@
Properties
+ + + + fontProperties + + + + + +object + + + + + + + + + + <optional>
+ + + + + + + + + + + + null + + + + +

ascent, descent, and fontSize lengths for a given style. You can get these from Phaser.Text#determineFontProperties.

+ + + + + + + testString + + + + + +string + + + + + + + + + + <optional>
+ + + + + + + + + + + + '|MÂÉQfjq_' + + + + +

The text to use to measure the font width and height.

+ + + @@ -1046,7 +1118,7 @@
Properties
Source:
- src/gameobjects/Text.js line 40 + src/gameobjects/Text.js line 42 @@ -1164,7 +1236,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1909 + src/gameobjects/Text.js line 1850 @@ -1261,7 +1333,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 55 + src/gameobjects/components/LifeSpan.js line 55 @@ -1357,7 +1429,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -1447,7 +1519,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -1538,7 +1610,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -1625,7 +1697,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 186 + src/gameobjects/components/Core.js line 186 @@ -1722,7 +1794,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1800,7 +1872,7 @@
Type:
Source:
- src/gameobjects/Text.js line 119 + src/gameobjects/Text.js line 121 @@ -1894,7 +1966,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -1997,7 +2069,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 97 + src/gameobjects/components/PhysicsBody.js line 97 @@ -2084,7 +2156,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 156 + src/gameobjects/components/Bounds.js line 156 @@ -2161,7 +2233,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1986 + src/gameobjects/Text.js line 1927 @@ -2238,7 +2310,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2010 + src/gameobjects/Text.js line 1951 @@ -2331,7 +2403,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 791 + src/pixi/display/DisplayObject.js line 791 @@ -2418,7 +2490,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 82 + src/gameobjects/components/FixedToCamera.js line 82 @@ -2495,7 +2567,7 @@
Type:
Source:
- src/gameobjects/Text.js line 57 + src/gameobjects/Text.js line 59 @@ -2582,7 +2654,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 56 + src/gameobjects/components/Bounds.js line 56 @@ -2669,7 +2741,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 76 + src/gameobjects/components/Bounds.js line 76 @@ -2746,7 +2818,7 @@
Type:
Source:
- src/gameobjects/Text.js line 146 + src/gameobjects/Text.js line 148 @@ -2824,7 +2896,7 @@
Type:
Source:
- src/gameobjects/Text.js line 153 + src/gameobjects/Text.js line 155 @@ -2916,7 +2988,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 103 + src/gameobjects/components/InWorld.js line 103 @@ -3002,7 +3074,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -3079,7 +3151,7 @@
Type:
Source:
- src/gameobjects/Text.js line 96 + src/gameobjects/Text.js line 98 @@ -3165,7 +3237,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 160 + src/gameobjects/components/Core.js line 160 @@ -3242,7 +3314,7 @@
Type:
Source:
- src/gameobjects/Text.js line 91 + src/gameobjects/Text.js line 93 @@ -3330,7 +3402,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -3410,7 +3482,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1722 + src/gameobjects/Text.js line 1663 @@ -3506,7 +3578,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 153 + src/gameobjects/components/Core.js line 153 @@ -3592,7 +3664,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 211 + src/gameobjects/components/Core.js line 211 @@ -3679,7 +3751,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 24 + src/gameobjects/components/Delta.js line 24 @@ -3766,7 +3838,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 41 + src/gameobjects/components/Delta.js line 41 @@ -3852,7 +3924,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 56 + src/gameobjects/components/Delta.js line 56 @@ -3939,7 +4011,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -4026,7 +4098,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 178 + src/gameobjects/components/Core.js line 178 @@ -4126,7 +4198,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 112 + src/pixi/display/Sprite.js line 112 @@ -4203,7 +4275,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1887 + src/gameobjects/Text.js line 1828 @@ -4289,7 +4361,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -4380,7 +4452,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -4473,7 +4545,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 54 + src/gameobjects/components/FixedToCamera.js line 54 @@ -4553,7 +4625,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1749 + src/gameobjects/Text.js line 1690 @@ -4635,7 +4707,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1784 + src/gameobjects/Text.js line 1725 @@ -4712,7 +4784,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1845 + src/gameobjects/Text.js line 1786 @@ -4789,7 +4861,7 @@
Type:
Source:
- src/gameobjects/Text.js line 106 + src/gameobjects/Text.js line 108 @@ -4866,7 +4938,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1866 + src/gameobjects/Text.js line 1807 @@ -4943,7 +5015,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1824 + src/gameobjects/Text.js line 1765 @@ -5020,7 +5092,7 @@
Type:
Source:
- src/gameobjects/Text.js line 111 + src/gameobjects/Text.js line 113 @@ -5111,7 +5183,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 257 + src/gameobjects/components/LoadTexture.js line 257 @@ -5202,7 +5274,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -5289,7 +5361,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 241 + src/gameobjects/components/Core.js line 241 @@ -5375,7 +5447,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 135 + src/gameobjects/components/Core.js line 135 @@ -5469,7 +5541,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -5551,7 +5623,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2307 + src/gameobjects/Text.js line 2248 @@ -5647,7 +5719,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -5735,7 +5807,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -5822,7 +5894,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -5913,7 +5985,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -6006,7 +6078,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -6092,7 +6164,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 134 + src/gameobjects/components/InWorld.js line 134 @@ -6194,7 +6266,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 196 + src/gameobjects/components/Core.js line 196 @@ -6281,7 +6353,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 96 + src/gameobjects/components/Bounds.js line 96 @@ -6371,7 +6443,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 70 + src/gameobjects/components/LifeSpan.js line 70 @@ -6448,7 +6520,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2122 + src/gameobjects/Text.js line 2063 @@ -6537,7 +6609,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -6631,7 +6703,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -6718,7 +6790,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 143 + src/gameobjects/components/Core.js line 143 @@ -6806,7 +6878,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -6894,7 +6966,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 41 + src/gameobjects/components/Bounds.js line 41 @@ -6980,7 +7052,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 111 + src/gameobjects/components/InWorld.js line 111 @@ -7067,7 +7139,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 120 + src/gameobjects/components/InWorld.js line 120 @@ -7145,7 +7217,7 @@
Type:
Source:
- src/gameobjects/Text.js line 78 + src/gameobjects/Text.js line 80 @@ -7234,7 +7306,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -7323,7 +7395,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 252 + src/gameobjects/components/Core.js line 252 @@ -7405,7 +7477,7 @@
Type:
Source:
- src/gameobjects/Text.js line 71 + src/gameobjects/Text.js line 73 @@ -7492,7 +7564,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -7580,7 +7652,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -7666,7 +7738,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 218 + src/gameobjects/components/Core.js line 218 @@ -7752,7 +7824,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -7844,7 +7916,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -7931,7 +8003,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -8009,7 +8081,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1935 + src/gameobjects/Text.js line 1876 @@ -8096,7 +8168,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 116 + src/gameobjects/components/Bounds.js line 116 @@ -8185,7 +8257,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -8274,7 +8346,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -8362,7 +8434,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -8450,7 +8522,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -8544,7 +8616,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -8621,7 +8693,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2215 + src/gameobjects/Text.js line 2156 @@ -8698,7 +8770,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2193 + src/gameobjects/Text.js line 2134 @@ -8775,7 +8847,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2259 + src/gameobjects/Text.js line 2200 @@ -8852,7 +8924,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2149 + src/gameobjects/Text.js line 2090 @@ -8929,7 +9001,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2171 + src/gameobjects/Text.js line 2112 @@ -9006,7 +9078,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2237 + src/gameobjects/Text.js line 2178 @@ -9094,7 +9166,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -9173,7 +9245,7 @@
Type:
Source:
- src/gameobjects/Text.js line 140 + src/gameobjects/Text.js line 142 @@ -9250,7 +9322,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2034 + src/gameobjects/Text.js line 1975 @@ -9327,7 +9399,7 @@
Type:
Source:
- src/gameobjects/Text.js line 101 + src/gameobjects/Text.js line 103 @@ -9404,7 +9476,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2056 + src/gameobjects/Text.js line 1997 @@ -9487,7 +9559,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1959 + src/gameobjects/Text.js line 1900 @@ -9549,7 +9621,7 @@

Default Value:
    -
  • '|MÉq'
  • +
  • '|MÂÉQfjq_'
@@ -9560,7 +9632,7 @@

Source:
- src/gameobjects/Text.js line 2333 + src/gameobjects/Text.js line 2274 @@ -9639,7 +9711,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1691 + src/gameobjects/Text.js line 1632 @@ -9717,7 +9789,7 @@
Type:
Source:
- src/gameobjects/Text.js line 86 + src/gameobjects/Text.js line 88 @@ -9803,7 +9875,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -9896,7 +9968,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -9989,7 +10061,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -10076,7 +10148,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 136 + src/gameobjects/components/Bounds.js line 136 @@ -10162,7 +10234,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -10248,7 +10320,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -10330,7 +10402,7 @@
Type:
Source:
- src/gameobjects/Text.js line 65 + src/gameobjects/Text.js line 67 @@ -10411,7 +10483,7 @@
Type:
Source:
- src/gameobjects/Text.js line 132 + src/gameobjects/Text.js line 134 @@ -10510,7 +10582,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -10592,7 +10664,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2281 + src/gameobjects/Text.js line 2222 @@ -10669,7 +10741,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2078 + src/gameobjects/Text.js line 2019 @@ -10746,7 +10818,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2100 + src/gameobjects/Text.js line 2041 @@ -10834,7 +10906,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 204 + src/gameobjects/components/Core.js line 204 @@ -10926,7 +10998,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -11017,7 +11089,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -11108,7 +11180,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -11199,7 +11271,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -11290,7 +11362,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -11376,7 +11448,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -11463,7 +11535,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 626 + src/pixi/display/DisplayObject.js line 626 @@ -11550,7 +11622,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -11639,7 +11711,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 170 + src/gameobjects/components/Core.js line 170 @@ -11776,7 +11848,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -11967,7 +12039,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -12154,7 +12226,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 856 + src/gameobjects/Text.js line 866 @@ -12341,7 +12413,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 904 + src/gameobjects/Text.js line 914 @@ -12528,7 +12600,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 927 + src/gameobjects/Text.js line 937 @@ -12716,7 +12788,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 879 + src/gameobjects/Text.js line 889 @@ -13059,7 +13131,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 209 + src/gameobjects/components/Bounds.js line 209 @@ -13403,7 +13475,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 306 + src/gameobjects/components/Bounds.js line 306 @@ -13523,7 +13595,7 @@

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

Source:
- src/gameobjects/Text.js line 826 + src/gameobjects/Text.js line 836 @@ -13739,7 +13811,7 @@

Source:
- src/gameobjects/Text.js line 841 + src/gameobjects/Text.js line 851 @@ -13906,7 +13978,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -14132,7 +14204,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -14276,7 +14348,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -14459,7 +14531,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 248 + src/gameobjects/Text.js line 250 @@ -14704,7 +14776,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -14870,7 +14942,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 1656 + src/gameobjects/Text.js line 1597 @@ -15037,7 +15109,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -15204,7 +15276,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -15321,7 +15393,7 @@

Source:
- src/pixi/display/Sprite.js line 328 + src/pixi/display/Sprite.js line 328 @@ -15488,7 +15560,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 88 + src/gameobjects/components/Health.js line 88 @@ -15609,7 +15681,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 117 + src/gameobjects/components/LifeSpan.js line 117 @@ -15894,7 +15966,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -15990,7 +16062,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 84 + src/gameobjects/components/BringToTop.js line 84 @@ -16110,7 +16182,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 64 + src/gameobjects/components/BringToTop.js line 64 @@ -16293,7 +16365,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -16457,7 +16529,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 1315 + src/gameobjects/Text.js line 1325 @@ -16763,7 +16835,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -16880,7 +16952,7 @@

Source:
- src/gameobjects/components/Core.js line 354 + src/gameobjects/components/Core.js line 354 @@ -17017,7 +17089,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 950 + src/gameobjects/Text.js line 960 @@ -17130,7 +17202,7 @@

Source:
- src/gameobjects/Text.js line 221 + src/gameobjects/Text.js line 223 @@ -17223,7 +17295,7 @@

Source:
- src/gameobjects/components/Core.js line 318 + src/gameobjects/components/Core.js line 318 @@ -17366,7 +17438,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -17533,7 +17605,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -17724,7 +17796,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -17963,7 +18035,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -18080,7 +18152,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 236 + src/gameobjects/components/LoadTexture.js line 236 @@ -18273,7 +18345,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -18438,7 +18510,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 83 + src/gameobjects/components/LifeSpan.js line 83 @@ -18558,7 +18630,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 44 + src/gameobjects/components/BringToTop.js line 44 @@ -18763,7 +18835,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 1675 + src/gameobjects/Text.js line 1616 @@ -18930,7 +19002,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -19074,7 +19146,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 156 + src/gameobjects/components/LoadTexture.js line 156 @@ -19218,7 +19290,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 69 + src/gameobjects/components/Health.js line 69 @@ -19479,7 +19551,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 109 + src/gameobjects/components/ScaleMinMax.js line 109 @@ -19836,7 +19908,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 261 + src/gameobjects/Text.js line 263 @@ -20067,8 +20139,6 @@
Properties
- (from font) - @@ -20107,8 +20177,6 @@
Properties
- (from font) - @@ -20147,8 +20215,6 @@
Properties
- (from font) - @@ -20190,8 +20256,6 @@
Properties
- (from font) - @@ -20642,6 +20706,86 @@
Properties
+ + + + fontProperties + + + + + +object + + + + + + + + + + <optional>
+ + + + + + + + + + + + null + + + + +

ascent, descent, and fontSize lengths for a given style. You can get these from Phaser.Text#determineFontProperties.

+ + + + + + + testString + + + + + +string + + + + + + + + + + <optional>
+ + + + + + + + + + + + '|MÂÉQfjq_' + + + + +

The text to use to measure the font width and height.

+ + + @@ -20728,7 +20872,7 @@
Properties
Source:
- src/gameobjects/Text.js line 296 + src/gameobjects/Text.js line 298 @@ -20949,7 +21093,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 1275 + src/gameobjects/Text.js line 1285 @@ -21236,7 +21380,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 1375 + src/gameobjects/Text.js line 1385 @@ -21460,7 +21604,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 175 + src/pixi/display/Sprite.js line 175 @@ -21627,7 +21771,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -21770,7 +21914,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -21983,7 +22127,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -22098,7 +22242,7 @@

Source:
- src/gameobjects/Text.js line 237 + src/gameobjects/Text.js line 239 @@ -22191,7 +22335,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -22311,7 +22455,7 @@

Source:
- src/gameobjects/components/Crop.js line 85 + src/gameobjects/components/Crop.js line 85 @@ -22446,7 +22590,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 683 + src/gameobjects/Text.js line 693 @@ -22609,7 +22753,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -22678,9 +22822,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -22697,7 +22841,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -22726,7 +22870,7 @@
Returns:
- + diff --git a/docs/Phaser.Tile.html b/docs/Phaser.Tile.html index 294667bd2..35670938e 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 398 + src/tilemap/Tile.js line 398 @@ -609,7 +609,7 @@
Type:
Source:
- src/tilemap/Tile.js line 342 + src/tilemap/Tile.js line 342 @@ -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 328 + src/tilemap/Tile.js line 328 @@ -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 @@ -1451,7 +1451,7 @@
Type:
Source:
- src/tilemap/Tile.js line 156 + src/tilemap/Tile.js line 156 @@ -1528,7 +1528,7 @@
Type:
Source:
- src/tilemap/Tile.js line 104 + src/tilemap/Tile.js line 104 @@ -1605,7 +1605,7 @@
Type:
Source:
- src/tilemap/Tile.js line 109 + src/tilemap/Tile.js line 109 @@ -1682,7 +1682,7 @@
Type:
Source:
- src/tilemap/Tile.js line 114 + src/tilemap/Tile.js line 114 @@ -1759,7 +1759,7 @@
Type:
Source:
- src/tilemap/Tile.js line 99 + src/tilemap/Tile.js line 99 @@ -1836,7 +1836,7 @@
Type:
Source:
- src/tilemap/Tile.js line 49 + src/tilemap/Tile.js line 49 @@ -1913,7 +1913,7 @@
Type:
Source:
- src/tilemap/Tile.js line 69 + src/tilemap/Tile.js line 69 @@ -1990,7 +1990,7 @@
Type:
Source:
- src/tilemap/Tile.js line 29 + src/tilemap/Tile.js line 29 @@ -2067,7 +2067,7 @@
Type:
Source:
- src/tilemap/Tile.js line 24 + src/tilemap/Tile.js line 24 @@ -2144,7 +2144,7 @@
Type:
Source:
- src/tilemap/Tile.js line 356 + src/tilemap/Tile.js line 356 @@ -2221,7 +2221,7 @@
Type:
Source:
- src/tilemap/Tile.js line 89 + src/tilemap/Tile.js line 89 @@ -2298,7 +2298,7 @@
Type:
Source:
- src/tilemap/Tile.js line 370 + src/tilemap/Tile.js line 370 @@ -2375,7 +2375,7 @@
Type:
Source:
- src/tilemap/Tile.js line 44 + src/tilemap/Tile.js line 44 @@ -2452,7 +2452,7 @@
Type:
Source:
- src/tilemap/Tile.js line 94 + src/tilemap/Tile.js line 94 @@ -2529,7 +2529,7 @@
Type:
Source:
- src/tilemap/Tile.js line 384 + src/tilemap/Tile.js line 384 @@ -2606,7 +2606,7 @@
Type:
Source:
- src/tilemap/Tile.js line 64 + src/tilemap/Tile.js line 64 @@ -2721,7 +2721,7 @@
Properties:
Source:
- src/tilemap/Tile.js line 54 + src/tilemap/Tile.js line 54 @@ -2836,7 +2836,7 @@
Properties:
Source:
- src/tilemap/Tile.js line 59 + src/tilemap/Tile.js line 59 @@ -2913,7 +2913,7 @@
Type:
Source:
- src/tilemap/Tile.js line 34 + src/tilemap/Tile.js line 34 @@ -2990,7 +2990,7 @@
Type:
Source:
- src/tilemap/Tile.js line 39 + src/tilemap/Tile.js line 39 @@ -3142,7 +3142,7 @@
Parameters:
Source:
- src/tilemap/Tile.js line 161 + src/tilemap/Tile.js line 161 @@ -3300,7 +3300,7 @@
Parameters:
Source:
- src/tilemap/Tile.js line 303 + src/tilemap/Tile.js line 303 @@ -3384,7 +3384,7 @@

Source:
- src/tilemap/Tile.js line 222 + src/tilemap/Tile.js line 222 @@ -3590,7 +3590,7 @@
Parameters:
Source:
- src/tilemap/Tile.js line 174 + src/tilemap/Tile.js line 174 @@ -3748,7 +3748,7 @@
Parameters:
Source:
- src/tilemap/Tile.js line 274 + src/tilemap/Tile.js line 274 @@ -3856,7 +3856,7 @@

Source:
- src/tilemap/Tile.js line 256 + src/tilemap/Tile.js line 256 @@ -4062,7 +4062,7 @@
Parameters:
Source:
- src/tilemap/Tile.js line 234 + src/tilemap/Tile.js line 234 @@ -4221,7 +4221,7 @@
Parameters:
Source:
- src/tilemap/Tile.js line 208 + src/tilemap/Tile.js line 208 @@ -4264,9 +4264,9 @@
Parameters:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -4283,7 +4283,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -4312,7 +4312,7 @@
Parameters:
- + diff --git a/docs/Phaser.TileSprite.html b/docs/Phaser.TileSprite.html index ca99e6d52..1fa2b0d55 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 55 + src/gameobjects/components/LifeSpan.js line 55 @@ -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 186 + src/gameobjects/components/Core.js line 186 @@ -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 97 + src/gameobjects/components/PhysicsBody.js line 97 @@ -1419,7 +1419,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 156 + src/gameobjects/components/Bounds.js line 156 @@ -1512,7 +1512,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 791 + src/pixi/display/DisplayObject.js line 791 @@ -1599,7 +1599,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 82 + src/gameobjects/components/FixedToCamera.js line 82 @@ -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 56 + src/gameobjects/components/Bounds.js line 56 @@ -1850,7 +1850,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 76 + src/gameobjects/components/Bounds.js line 76 @@ -1942,7 +1942,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 103 + src/gameobjects/components/InWorld.js line 103 @@ -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 160 + src/gameobjects/components/Core.js line 160 @@ -2210,7 +2210,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 153 + src/gameobjects/components/Core.js line 153 @@ -2296,7 +2296,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 211 + src/gameobjects/components/Core.js line 211 @@ -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 178 + src/gameobjects/components/Core.js line 178 @@ -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 205 + src/pixi/display/DisplayObject.js line 205 @@ -2752,7 +2752,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -2845,7 +2845,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 54 + src/gameobjects/components/FixedToCamera.js line 54 @@ -2936,7 +2936,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 257 + src/gameobjects/components/LoadTexture.js line 257 @@ -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 241 + src/gameobjects/components/Core.js line 241 @@ -3200,7 +3200,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 135 + src/gameobjects/components/Core.js line 135 @@ -3294,7 +3294,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -3380,7 +3380,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 606 + src/pixi/display/DisplayObjectContainer.js line 606 @@ -3476,7 +3476,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -3564,7 +3564,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3656,7 +3656,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3747,7 +3747,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3840,7 +3840,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3926,7 +3926,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 134 + src/gameobjects/components/InWorld.js line 134 @@ -4028,7 +4028,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 196 + src/gameobjects/components/Core.js line 196 @@ -4115,7 +4115,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 96 + src/gameobjects/components/Bounds.js line 96 @@ -4205,7 +4205,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 70 + src/gameobjects/components/LifeSpan.js line 70 @@ -4294,7 +4294,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -4388,7 +4388,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -4475,7 +4475,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 143 + src/gameobjects/components/Core.js line 143 @@ -4563,7 +4563,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4651,7 +4651,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 41 + src/gameobjects/components/Bounds.js line 41 @@ -4737,7 +4737,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 111 + src/gameobjects/components/InWorld.js line 111 @@ -4824,7 +4824,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 120 + src/gameobjects/components/InWorld.js line 120 @@ -4913,7 +4913,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -5002,7 +5002,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 252 + src/gameobjects/components/Core.js line 252 @@ -5079,7 +5079,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 80 + src/gameobjects/TileSprite.js line 80 @@ -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 218 + src/gameobjects/components/Core.js line 218 @@ -5426,7 +5426,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -5504,7 +5504,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 138 + src/gameobjects/TileSprite.js line 138 @@ -5591,7 +5591,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -5678,7 +5678,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -5765,7 +5765,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 116 + src/gameobjects/components/Bounds.js line 116 @@ -5854,7 +5854,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5943,7 +5943,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -6037,7 +6037,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -6125,7 +6125,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -6216,7 +6216,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -6294,7 +6294,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 109 + src/gameobjects/TileSprite.js line 109 @@ -6371,7 +6371,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 130 + src/gameobjects/TileSprite.js line 130 @@ -6448,7 +6448,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 101 + src/gameobjects/TileSprite.js line 101 @@ -6525,7 +6525,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 91 + src/gameobjects/TileSprite.js line 91 @@ -6602,7 +6602,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 96 + src/gameobjects/TileSprite.js line 96 @@ -6679,7 +6679,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 123 + src/gameobjects/TileSprite.js line 123 @@ -6772,7 +6772,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -6870,7 +6870,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -6957,7 +6957,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 136 + src/gameobjects/components/Bounds.js line 136 @@ -7034,7 +7034,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 74 + src/gameobjects/TileSprite.js line 74 @@ -7133,7 +7133,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -7219,7 +7219,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 576 + src/pixi/display/DisplayObjectContainer.js line 576 @@ -7307,7 +7307,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 204 + src/gameobjects/components/Core.js line 204 @@ -7399,7 +7399,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -7490,7 +7490,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -7581,7 +7581,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -7672,7 +7672,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -7763,7 +7763,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -7849,7 +7849,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -7941,7 +7941,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 626 + src/pixi/display/DisplayObject.js line 626 @@ -8033,7 +8033,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -8122,7 +8122,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 170 + src/gameobjects/components/Core.js line 170 @@ -8259,7 +8259,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -8450,7 +8450,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -8793,7 +8793,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 209 + src/gameobjects/components/Bounds.js line 209 @@ -9137,7 +9137,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 306 + src/gameobjects/components/Bounds.js line 306 @@ -9322,7 +9322,7 @@
Parameters:
Source:
- src/gameobjects/TileSprite.js line 204 + src/gameobjects/TileSprite.js line 204 @@ -9442,7 +9442,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -9609,7 +9609,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -9773,7 +9773,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -9957,7 +9957,7 @@
Parameters:
Source:
- src/gameobjects/TileSprite.js line 237 + src/gameobjects/TileSprite.js line 237 @@ -10202,7 +10202,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -10362,7 +10362,7 @@
Parameters:
Source:
- src/gameobjects/TileSprite.js line 517 + src/gameobjects/TileSprite.js line 517 @@ -10451,7 +10451,7 @@

Source:
- src/gameobjects/TileSprite.js line 605 + src/gameobjects/TileSprite.js line 605 @@ -10618,7 +10618,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -10785,7 +10785,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -10902,7 +10902,7 @@

Source:
- src/pixi/display/Sprite.js line 328 + src/pixi/display/Sprite.js line 328 @@ -11069,7 +11069,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 88 + src/gameobjects/components/Health.js line 88 @@ -11190,7 +11190,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 117 + src/gameobjects/components/LifeSpan.js line 117 @@ -11475,7 +11475,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -11571,7 +11571,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 84 + src/gameobjects/components/BringToTop.js line 84 @@ -11691,7 +11691,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 64 + src/gameobjects/components/BringToTop.js line 64 @@ -11874,7 +11874,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -12180,7 +12180,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -12297,7 +12297,7 @@

Source:
- src/gameobjects/components/Core.js line 354 + src/gameobjects/components/Core.js line 354 @@ -12386,7 +12386,7 @@

Source:
- src/gameobjects/TileSprite.js line 177 + src/gameobjects/TileSprite.js line 177 @@ -12499,7 +12499,7 @@

Source:
- src/gameobjects/components/Core.js line 318 + src/gameobjects/components/Core.js line 318 @@ -12642,7 +12642,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -12809,7 +12809,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -13000,7 +13000,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -13165,7 +13165,7 @@
Parameters:
Source:
- src/gameobjects/TileSprite.js line 268 + src/gameobjects/TileSprite.js line 268 @@ -13282,7 +13282,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 236 + src/gameobjects/components/LoadTexture.js line 236 @@ -13475,7 +13475,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -13640,7 +13640,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 83 + src/gameobjects/components/LifeSpan.js line 83 @@ -13760,7 +13760,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 44 + src/gameobjects/components/BringToTop.js line 44 @@ -13951,7 +13951,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -14095,7 +14095,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 156 + src/gameobjects/components/LoadTexture.js line 156 @@ -14239,7 +14239,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 69 + src/gameobjects/components/Health.js line 69 @@ -14403,7 +14403,7 @@
Parameters:
Source:
- src/gameobjects/TileSprite.js line 289 + src/gameobjects/TileSprite.js line 289 @@ -14511,7 +14511,7 @@

Source:
- src/gameobjects/TileSprite.js line 223 + src/gameobjects/TileSprite.js line 223 @@ -14702,7 +14702,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -14845,7 +14845,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -15058,7 +15058,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -15179,7 +15179,7 @@

Source:
- src/gameobjects/components/Core.js line 343 + src/gameobjects/components/Core.js line 343 @@ -15272,7 +15272,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -15461,7 +15461,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -15530,9 +15530,9 @@
Returns:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -15549,7 +15549,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -15578,7 +15578,7 @@
Returns:
- + diff --git a/docs/Phaser.Tilemap.html b/docs/Phaser.Tilemap.html index 403fb0f2a..9337e02f8 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 175 + src/tilemap/Tilemap.js line 180 @@ -625,7 +625,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 193 + src/tilemap/Tilemap.js line 198 @@ -698,7 +698,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 187 + src/tilemap/Tilemap.js line 192 @@ -771,7 +771,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 199 + src/tilemap/Tilemap.js line 204 @@ -844,7 +844,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 181 + src/tilemap/Tilemap.js line 186 @@ -917,7 +917,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 205 + src/tilemap/Tilemap.js line 210 @@ -994,7 +994,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 125 + src/tilemap/Tilemap.js line 130 @@ -1071,7 +1071,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 130 + src/tilemap/Tilemap.js line 135 @@ -1148,7 +1148,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 145 + src/tilemap/Tilemap.js line 150 @@ -1225,7 +1225,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 150 + src/tilemap/Tilemap.js line 155 @@ -1302,7 +1302,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 140 + src/tilemap/Tilemap.js line 145 @@ -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 140 @@ -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 2001 + src/tilemap/Tilemap.js line 2056 @@ -2001,7 +2001,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 100 + src/tilemap/Tilemap.js line 100 @@ -2019,7 +2019,7 @@
Type:

- objects : array + objects : object

@@ -2027,7 +2027,7 @@

-

An array of Tiled Object Layers.

+

Tiled Object Layers, by layer name.

@@ -2036,7 +2036,84 @@
Type:
  • -array +object + + + +
  • +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/tilemap/Tilemap.js line 120 + + + + + + + +
+ + + +
+ + + +
+

+ objectsMap : object + +

+ +
+
+ +
+

Tiled objects indexed by id.

+
+ + + +
Type:
+

+ + + +
+ + + +
+

+ TilemapObject + +

+ +
+
+ + + + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + +
+ + +
Properties:
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDescription
ellipse + + +boolean + + + + + + + + +

True for an ellipse

height + + +number + + + + + + + + +

The height

id + + +number + + + + + + + + +

The object identifier

name + + +string + + + + + + + + +

The name

point + + +boolean + + + + + + + + +

True for a point

rectangle + + +boolean + + + + + + + + +

True for a rectangle

rotation + + +boolean + + + + + + + + +

Rotation in degrees

type + + +string + + + + + + + + +

The type

visible + + +boolean + + + + + + + + +

Visible or hidden

width + + +number + + + + + + + + +

The width

x + + +number + + + + + + + + +

The x coordinate in global space

y + + +number + + + + + + + + +

The y coordinate in global space

gid + + +number + + + + + + + + + <nullable>
+ +

The global tile identifier, for a tile object

polygon + + +Array.<Array.<number>> + + + + + + + + + <nullable>
+ +

Vertices for a polygon

polyline + + +Array.<Array.<number>> + + + + + + + + + <nullable>
+ +

Vertices for a polyline

properties + + +object + + + + + + + + + <nullable>
+ +

Custom properties

template + + +string + + + + + + + + + <nullable>
+ +

The template path, for a template instance

text + + +object + + + + + + + + + <nullable>
+ +

See https://doc.mapeditor.org/en/latest/reference/json-map-format/#text

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/tilemap/Tilemap.js line 2077 @@ -2351,9 +3011,9 @@
Properties:

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -2370,7 +3030,7 @@
Properties:

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -2399,7 +3059,7 @@
Properties:
- + diff --git a/docs/index.html b/docs/index.html index d183f65dd..9135cc84c 100644 --- a/docs/index.html +++ b/docs/index.html @@ -6,7 +6,7 @@ Phaser CE API Documentation - + @@ -24,28 +24,28 @@ @@ -100,11 +100,12 @@
- +
- +
+ @@ -112,8 +113,7 @@ - - +
@@ -1002,9 +1002,9 @@

Utils

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -1020,16 +1020,16 @@

Utils

Documentation generated by JSDoc 3.6.3 - - on 2021-05-06 - + + on 2021-08-23 + using Tomorrow.

- +
- + - + \ No newline at end of file diff --git a/docs/namespaces.list.html b/docs/namespaces.list.html index 9fa99529c..8e9fbd550 100644 --- a/docs/namespaces.list.html +++ b/docs/namespaces.list.html @@ -6,7 +6,7 @@ Phaser CE Namespaces - + @@ -773,9 +773,9 @@

Namespaces

- phaser-ce@2.18.0 + phaser-ce@2.19.0 is on - GitHub + GitHub and NPM

@@ -792,7 +792,7 @@

Namespaces

Documentation generated by JSDoc 3.6.3 - on 2021-05-06 + on 2021-08-23 using Tomorrow.

@@ -821,7 +821,7 @@

Namespaces

- + diff --git a/package.json b/package.json index e4e6d1831..3235e5c1c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "phaser-ce", - "version": "2.18.0", - "release": "2021-05-07", + "version": "2.19.0", + "release": "2021-08-23", "description": "Phaser CE (Community Edition) is a fast, free and fun HTML5 Game Framework for Desktop and Mobile web browsers.", "author": "Richard Davey (http://www.photonstorm.com)", "contributors": [ diff --git a/src/Phaser.js b/src/Phaser.js index a0c45ecda..a3323b386 100644 --- a/src/Phaser.js +++ b/src/Phaser.js @@ -14,7 +14,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.18.0', + VERSION: '2.19.0', /** * An array of Phaser game instances. diff --git a/src/gameobjects/Text.js b/src/gameobjects/Text.js index 9f99c3b05..c66c5ff6e 100644 --- a/src/gameobjects/Text.js +++ b/src/gameobjects/Text.js @@ -21,10 +21,10 @@ * @param {string} text - The actual text that will be written. * @param {object} [style] - The style properties to be set on the Text. * @param {string} [style.font='bold 20pt Arial'] - The style and size of the font. - * @param {string} [style.fontStyle=(from font)] - The style of the font (eg. 'italic'): overrides the value in `style.font`. - * @param {string} [style.fontVariant=(from font)] - The variant of the font (eg. 'small-caps'): overrides the value in `style.font`. - * @param {string} [style.fontWeight=(from font)] - The weight of the font (eg. 'bold'): overrides the value in `style.font`. - * @param {string|number} [style.fontSize=(from font)] - The size of the font (eg. 32 or '32px'): overrides the value in `style.font`. + * @param {string} [style.fontStyle] - The style of the font (eg. 'italic'): overrides the value in `style.font`. + * @param {string} [style.fontVariant] - The variant of the font (eg. 'small-caps'): overrides the value in `style.font`. + * @param {string} [style.fontWeight] - The weight of the font (eg. 'bold'): overrides the value in `style.font`. + * @param {string|number} [style.fontSize] - The size of the font (eg. 32 or '32px'): overrides the value in `style.font`. * @param {string} [style.backgroundColor=null] - A canvas fillstyle that will be used as the background for the whole Text object. Set to `null` to disable. * @param {string} [style.fill='black'] - A canvas fillstyle that will be used on the text eg 'red', '#00FF00'. * @param {string} [style.align='left'] - Horizontal alignment of each line in multiline text. Can be: 'left', 'center' or 'right'. Does not affect single lines of text (see `textBounds` and `boundsAlignH` for that). @@ -36,6 +36,8 @@ * @param {number} [style.wordWrapWidth=100] - The width in pixels at which text will wrap. * @param {number} [style.maxLines=0] - The maximum number of lines to be shown for wrapped text. * @param {number} [style.tabs=0] - The size (in pixels) of the tabs, for when text includes tab characters. 0 disables. Can be an array of varying tab sizes, one per tab stop. + * @param {object} [style.fontProperties=null] - `ascent`, `descent`, and `fontSize` lengths for a given style. You can get these from {@link Phaser.Text#determineFontProperties}. + * @param {string} [style.testString='|MÂÉQfjq_'] - The text to use to measure the font width and height. */ Phaser.Text = function (game, x, y, text, style) { @@ -157,7 +159,7 @@ Phaser.Text = function (game, x, y, text, style) * @property {string} _testString * @private */ - this._testString = '|MÉq'; + this._testString = style.testString || '|MÂÉQfjq_'; /** * @property {number} _res - Internal canvas resolution var. @@ -299,10 +301,10 @@ Phaser.Text.prototype.setShadow = function (x, y, color, blur, shadowStroke, sha * @method Phaser.Text#setStyle * @param {object} [style] - The style properties to be set on the Text. * @param {string} [style.font='bold 20pt Arial'] - The style and size of the font. - * @param {string} [style.fontStyle=(from font)] - The style of the font (eg. 'italic'): overrides the value in `style.font`. - * @param {string} [style.fontVariant=(from font)] - The variant of the font (eg. 'small-caps'): overrides the value in `style.font`. - * @param {string} [style.fontWeight=(from font)] - The weight of the font (eg. 'bold'): overrides the value in `style.font`. - * @param {string|number} [style.fontSize=(from font)] - The size of the font (eg. 32 or '32px'): overrides the value in `style.font`. + * @param {string} [style.fontStyle] - The style of the font (eg. 'italic'): overrides the value in `style.font`. + * @param {string} [style.fontVariant] - The variant of the font (eg. 'small-caps'): overrides the value in `style.font`. + * @param {string} [style.fontWeight] - The weight of the font (eg. 'bold'): overrides the value in `style.font`. + * @param {string|number} [style.fontSize] - The size of the font (eg. 32 or '32px'): overrides the value in `style.font`. * @param {string} [style.backgroundColor=null] - A canvas fillstyle that will be used as the background for the whole Text object. Set to `null` to disable. * @param {string} [style.fill='black'] - A canvas fillstyle that will be used on the text eg 'red', '#00FF00'. * @param {string} [style.align='left'] - Horizontal alignment of each line in multiline text. Can be: 'left', 'center' or 'right'. Does not affect single lines of text (see `textBounds` and `boundsAlignH` for that). @@ -314,6 +316,8 @@ Phaser.Text.prototype.setShadow = function (x, y, color, blur, shadowStroke, sha * @param {number} [style.wordWrapWidth=100] - The width in pixels at which text will wrap. * @param {number} [style.maxLines=0] - The maximum number of lines to be shown for wrapped text. * @param {number|array} [style.tabs=0] - The size (in pixels) of the tabs, for when text includes tab characters. 0 disables. Can be an array of varying tab sizes, one per tab stop. + * @param {object} [style.fontProperties=null] - `ascent`, `descent`, and `fontSize` lengths for a given style. You can get these from {@link Phaser.Text#determineFontProperties}. + * @param {string} [style.testString='|MÂÉQfjq_'] - The text to use to measure the font width and height. * @param {boolean} [update=false] - Immediately update the Text object after setting the new style? Or wait for the next frame. * @return {Phaser.Text} This Text instance. */ @@ -338,6 +342,7 @@ Phaser.Text.prototype.setStyle = function (style, update) newStyle.shadowColor = style.shadowColor || 'rgba(0,0,0,0)'; newStyle.shadowBlur = style.shadowBlur || 0; newStyle.tabs = style.tabs || 0; + newStyle.fontProperties = style.fontProperties || null; var components = this.fontToComponents(newStyle.font); @@ -373,6 +378,11 @@ Phaser.Text.prototype.setStyle = function (style, update) this.style = newStyle; this.dirty = true; + if (newStyle.testString) + { + this.testString = newStyle.testString; + } + if (update) { this.updateText(); @@ -412,7 +422,7 @@ Phaser.Text.prototype.updateText = function () var tabs = this.style.tabs; var lineWidths = []; var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this.style.font); + var fontProperties = this.style.fontProperties || this.determineFontProperties(this.style.font); var drawnLines = lines.length; @@ -1543,113 +1553,44 @@ Phaser.Text.prototype._renderCanvas = function (renderSession) Phaser.Text.prototype.determineFontProperties = function (fontStyle) { var properties = Phaser.Text.fontPropertiesCache[fontStyle]; - var measureText = this.testString || '|MÉq'; - if (!properties) + if (properties) { - properties = {}; - - var canvas = Phaser.Text.fontPropertiesCanvas; - var context = Phaser.Text.fontPropertiesContext; - - context.font = fontStyle; - - var width = Math.ceil(context.measureText(measureText).width); - var baseline = Math.ceil(context.measureText(measureText).width); - var height = 2 * baseline; - - baseline = baseline * 1.4 | 0; - - canvas.width = width; - canvas.height = height; - - context.fillStyle = '#f00'; - context.fillRect(0, 0, width, height); - - context.font = fontStyle; - - context.textBaseline = 'alphabetic'; - context.fillStyle = '#000'; - context.fillText(measureText, 0, baseline); - - if (!context.getImageData(0, 0, width, height)) - { - properties.ascent = baseline; - properties.descent = baseline + 6; - properties.fontSize = properties.ascent + properties.descent; - - Phaser.Text.fontPropertiesCache[fontStyle] = properties; - - return properties; - } - - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; - - var i, j; - - var idx = 0; - var stop = false; - - // ascent. scan from top to bottom until we find a non red pixel - for (i = 0; i < baseline; i++) - { - for (j = 0; j < line; j += 4) - { - if (imagedata[idx + j] !== 255) - { - stop = true; - break; - } - } - - if (!stop) - { - idx += line; - } - else - { - break; - } - } - - properties.ascent = baseline - i; + return properties; + } - idx = pixels - line; - stop = false; + var context = Phaser.Text.fontPropertiesContext; - // descent. scan from bottom to top until we find a non red pixel - for (i = height; i > baseline; i--) - { - for (j = 0; j < line; j += 4) - { - if (imagedata[idx + j] !== 255) - { - stop = true; - break; - } - } + context.font = fontStyle; - if (!stop) - { - idx -= line; - } - else - { - break; - } - } + var testStringMetrics = context.measureText(this.testString); - properties.descent = i - baseline; + if (testStringMetrics.actualBoundingBoxAscent) + { + var asc = Math.ceil(testStringMetrics.actualBoundingBoxAscent); + var desc = Math.ceil(testStringMetrics.actualBoundingBoxDescent); - // TODO might need a tweak. kind of a temp fix! - properties.descent += 6; - properties.fontSize = properties.ascent + properties.descent; + properties = { + ascent: asc, + descent: desc, + fontSize: asc + desc + }; + } + else + { + var mxWidth = context.measureText('MX').width; + var asc = Math.ceil(0.75 * mxWidth); + var desc = Math.ceil(0.25 * mxWidth); - Phaser.Text.fontPropertiesCache[fontStyle] = properties; + properties = { + ascent: asc, + descent: desc, + fontSize: asc + desc + }; } + Phaser.Text.fontPropertiesCache[fontStyle] = properties; + return properties; }; @@ -2333,7 +2274,7 @@ Object.defineProperty(Phaser.Text.prototype, 'height', { /** * The text used to measure the font's width and height * @name Phaser.Text#testString - * @default '|MÉq' + * @default '|MÂÉQfjq_' */ Object.defineProperty(Phaser.Text.prototype, 'testString', { diff --git a/typescript/phaser.comments.d.ts b/typescript/phaser.comments.d.ts index 5ebea5ddf..8d9289d7e 100644 --- a/typescript/phaser.comments.d.ts +++ b/typescript/phaser.comments.d.ts @@ -4,7 +4,7 @@ // Type definitions for Phaser CE // Project: https://github.com/photonstorm/phaser-ce -interface MediaTrackConstraints {} +interface MediaTrackConstraints { } declare module "phaser-ce" { export = Phaser; @@ -21444,7 +21444,7 @@ declare module Phaser { * @param scale Optionally resize the loaded polygon. - Default: 1 * @return True on success, else false. */ - loadPolygon(key: string, object: string, scale ?: number): boolean; + loadPolygon(key: string, object: string, scale?: number): boolean; /** * Moves the Body backwards based on its current angle and the given speed. @@ -22521,7 +22521,7 @@ declare module Phaser { } interface PluginConstructorOf { - new (...parameters: any[]): T; + new(...parameters: any[]): T; } @@ -29297,10 +29297,10 @@ declare module Phaser { * @param text The actual text that will be written. * @param style The style properties to be set on the Text. * @param style.font The style and size of the font. - Default: 'bold 20pt Arial' - * @param style.fontStyle The style of the font (eg. 'italic'): overrides the value in `style.font`. - Default: (from font) - * @param style.fontVariant The variant of the font (eg. 'small-caps'): overrides the value in `style.font`. - Default: (from font) - * @param style.fontWeight The weight of the font (eg. 'bold'): overrides the value in `style.font`. - Default: (from font) - * @param style.fontSize The size of the font (eg. 32 or '32px'): overrides the value in `style.font`. - Default: (from font) + * @param style.fontStyle The style of the font (eg. 'italic'): overrides the value in `style.font`. + * @param style.fontVariant The variant of the font (eg. 'small-caps'): overrides the value in `style.font`. + * @param style.fontWeight The weight of the font (eg. 'bold'): overrides the value in `style.font`. + * @param style.fontSize The size of the font (eg. 32 or '32px'): overrides the value in `style.font`. * @param style.backgroundColor A canvas fillstyle that will be used as the background for the whole Text object. Set to `null` to disable. * @param style.fill A canvas fillstyle that will be used on the text eg 'red', '#00FF00'. - Default: 'black' * @param style.align Horizontal alignment of each line in multiline text. Can be: 'left', 'center' or 'right'. Does not affect single lines of text (see `textBounds` and `boundsAlignH` for that). - Default: 'left' @@ -29312,6 +29312,8 @@ declare module Phaser { * @param style.wordWrapWidth The width in pixels at which text will wrap. - Default: 100 * @param style.maxLines The maximum number of lines to be shown for wrapped text. * @param style.tabs The size (in pixels) of the tabs, for when text includes tab characters. 0 disables. Can be an array of varying tab sizes, one per tab stop. + * @param style.fontProperties `ascent`, `descent`, and `fontSize` lengths for a given style. You can get these from {@link Phaser.Text#determineFontProperties}. + * @param style.testString The text to use to measure the font width and height. - Default: '|MÂÉQfjq_' */ constructor(game: Phaser.Game, x: number, y: number, text: string, style?: PhaserTextStyle); @@ -29633,7 +29635,7 @@ declare module Phaser { /** * The text used to measure the font's width and height - * Default: '|MÉq' + * Default: '|MÂÉQfjq_' */ testString: string; @@ -29948,10 +29950,10 @@ declare module Phaser { * * @param style The style properties to be set on the Text. * @param style.font The style and size of the font. - Default: 'bold 20pt Arial' - * @param style.fontStyle The style of the font (eg. 'italic'): overrides the value in `style.font`. - Default: (from font) - * @param style.fontVariant The variant of the font (eg. 'small-caps'): overrides the value in `style.font`. - Default: (from font) - * @param style.fontWeight The weight of the font (eg. 'bold'): overrides the value in `style.font`. - Default: (from font) - * @param style.fontSize The size of the font (eg. 32 or '32px'): overrides the value in `style.font`. - Default: (from font) + * @param style.fontStyle The style of the font (eg. 'italic'): overrides the value in `style.font`. + * @param style.fontVariant The variant of the font (eg. 'small-caps'): overrides the value in `style.font`. + * @param style.fontWeight The weight of the font (eg. 'bold'): overrides the value in `style.font`. + * @param style.fontSize The size of the font (eg. 32 or '32px'): overrides the value in `style.font`. * @param style.backgroundColor A canvas fillstyle that will be used as the background for the whole Text object. Set to `null` to disable. * @param style.fill A canvas fillstyle that will be used on the text eg 'red', '#00FF00'. - Default: 'black' * @param style.align Horizontal alignment of each line in multiline text. Can be: 'left', 'center' or 'right'. Does not affect single lines of text (see `textBounds` and `boundsAlignH` for that). - Default: 'left' @@ -29963,6 +29965,8 @@ declare module Phaser { * @param style.wordWrapWidth The width in pixels at which text will wrap. - Default: 100 * @param style.maxLines The maximum number of lines to be shown for wrapped text. * @param style.tabs The size (in pixels) of the tabs, for when text includes tab characters. 0 disables. Can be an array of varying tab sizes, one per tab stop. + * @param style.fontProperties `ascent`, `descent`, and `fontSize` lengths for a given style. You can get these from {@link Phaser.Text#determineFontProperties}. + * @param style.testString The text to use to measure the font width and height. - Default: '|MÂÉQfjq_' * @param update Immediately update the Text object after setting the new style? Or wait for the next frame. * @return This Text instance. */ @@ -30393,9 +30397,14 @@ declare module Phaser { layers: any[]; /** - * An array of Tiled Object Layers. + * Tiled Object Layers, by layer name. */ - objects: any[]; + objects: { [index: string]: Phaser.TilemapObject[] }; + + /** + * Tiled objects indexed by `id`. + */ + objectsMap: { [index: number]: Phaser.TilemapObject }; /** * The orientation of the map data (as specified in Tiled), usually 'orthogonal'. @@ -30507,29 +30516,35 @@ declare module Phaser { createBlankLayer(name: string, width: number, height: number, tileWidth: number, tileHeight: number, group?: Phaser.Group): Phaser.TilemapLayer; /** - * Creates a Sprite for every {@link http://doc.mapeditor.org/reference/tmx-map-format/#object object} matching the `gid` argument. You can optionally specify the group that the Sprite will be created in. If none is - * given it will be created in the World. All properties from the map data objectgroup are copied across to the Sprite, so you can use this as an easy way to - * configure Sprite properties from within the map editor. For example giving an object a property of `alpha: 0.5` in the map editor will duplicate that when the - * Sprite is created. You could also give it a value like: `body.velocity.x: 100` to set it moving automatically. + * Creates a Sprite for every {@link http://doc.mapeditor.org/reference/tmx-map-format/#object object} matching the `search` argument. + * + * - When `search` is a number, it matches the object's tile ID (`gid`). + * - When `search` is a string, it matches the object's `name`. + * - When `search` is an array like `['type', 'enemy']` it matches that property name and value on the object. + * - When `search` is `null`, it matches every object. * - * The `gid` argument is matched against: + * You can optionally specify the group that the Sprite will be created in. + * If `undefined` is given it will be created in the World. + * If `null` is given it won't be added to any group. * - * 1. For a tile object, the tile identifier (`gid`); or - * 2. The object's unique ID (`id`); or - * 3. The object's `name` (a string) + * All properties from the object are copied to the Sprite, so you can use this as an easy way to + * configure Sprite properties from within the map editor. + * For example giving an object a property of `alpha: 0.5` in the map editor will duplicate that when the + * Sprite is created. You could also give it a value like: `body.velocity.x: 100` to set it moving automatically. * - * @param name The name of the Object Group to create Sprites from. - * @param gid The object's tile reference (gid), unique ID (id) or name. + * @param layer The name of the Object Group (Object Layer) to create Sprites from. + * @param search The search value (see above). * @param key The Game.cache key of the image that this Sprite will use. * @param frame If the Sprite image contains multiple frames you can specify which one to use here. * @param exists The default exists state of the Sprite. - Default: true * @param autoCull The default autoCull state of the Sprite. Sprites that are autoCulled are culled from the camera if out of its range. - * @param group Group to add the Sprite to. If not specified it will be added to the World group. - Default: Phaser.World + * @param group Group to add the Sprite to, or `null` for no group. If `undefined` it will be added to the World group. - Default: this.game.world * @param CustomClass If you wish to create your own class, rather than Phaser.Sprite, pass the class here. Your class must extend Phaser.Sprite and have the same constructor parameters. - Default: Phaser.Sprite * @param adjustY By default the Tiled map editor uses a bottom-left coordinate system. Phaser uses top-left. So most objects will appear too low down. This parameter moves them up by their height. - Default: true * @param adjustSize By default the width and height of the objects are transferred to the sprite. This parameter controls that behavior. - Default: true + * @return - The created Sprites. */ - createFromObjects(name: string, gid: number, key: string, frame?: any, exists?: boolean, autoCull?: boolean, group?: Phaser.Group, CustomClass?: any, adjustY?: boolean, adjustSize?: boolean): void; + createFromObjects(name: string, search: number | string | number[], key: string, frame?: any, exists?: boolean, autoCull?: boolean, group?: Phaser.Group, CustomClass?: any, adjustY?: boolean, adjustSize?: boolean): Phaser.Sprite[]; /** * Creates a Sprite for every object matching the given tile indexes in the map data. @@ -30630,8 +30645,27 @@ declare module Phaser { * @return The index of the layer in this tilemap, or null if not found. */ getLayerIndex(name: string): number; + + /** + * Gets the object with the given `id`, from any Object Layer. + * + * @param id The `id` of the object. + * @return The object, or null if not found. + */ + getObject(id: number): Phaser.TilemapObject; getObjectIndex(name: string): number; + /** + * Gets objects matching the given property name and value from an Object Layer. + * + * @param layer The name of the Object Layer. + * @param propName The name of the object property to match. + * @param propValue The property value to match. + * @param output An array to append matching objects to. + * @return - The matching objects. + */ + getObjects(layer: string, propName: string, propValue: any, output?: Phaser.TilemapObject[]): Phaser.TilemapObject[]; + /** * Gets a tile from the Tilemap Layer. The coordinates are given in tile values. * @@ -31249,6 +31283,27 @@ declare module Phaser { } + interface TilemapObject { + ellipse: boolean; + gid: number; + height: number; + id: number; + name: string; + point: boolean; + polygon: number[][]; + polyline: number[][]; + properties: any; + rectangle: boolean; + rotation: number; + template: string; + text: any; + type: string; + visible: boolean; + width: number; + x: number; + y: number; + } + /** * Phaser.TilemapParser parses data objects from Phaser.Loader that need more preparation before they can be inserted into a Tilemap. @@ -34330,7 +34385,7 @@ declare module Phaser { /** * This array stores the frames added via @link #setBulletFrames. */ - bulletFrames: any[]; + bulletFrames: any[]; /** * This is the amount of {@link Phaser.Physics.Arcade.Body#gravity} added to the Bullets physics body when fired.