STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
234835
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2685 · P5369

<div style="position:absolute;top:-99px;left:-99px;"><img src="https://tools.swfchan.com/stathit.asp?noj=FRM50526499-23DC&rnd=50526499" width="1" height="1"></div>

armorgames power-up-5973.swf

This is the info page for
Flash #268130

(Click the ID number above for more basic data on this flash file.)


Text
<p align="center"><font face="Verdana_13pt_st" size="13" color="#000000" letterSpacing="0.000000" kerning="1">0%</font></p>

loading...

help

back to level select

This game has been URL-Locked!
If you are reading this message then this
version of the game has been stolen and
hosted on a site without the prior permission
of Nitrome!
For licencing information please contact: enquiries@nitrome.com

R - reset shape
C - clear screen
CTRL - add point
/test shape
DEL - delete point/
delete blocks
when dragging
them.

original shape:

ActionScript [AS3]

Section 1
//b2CircleDef (Box2D.Collision.Shapes.b2CircleDef) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; public class b2CircleDef extends b2ShapeDef { public var localPosition:b2Vec2; public var radius:Number; public function b2CircleDef(){ localPosition = new b2Vec2(0, 0); super(); type = b2Shape.e_circleShape; radius = 1; } } }//package Box2D.Collision.Shapes
Section 2
//b2CircleShape (Box2D.Collision.Shapes.b2CircleShape) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Common.*; public class b2CircleShape extends b2Shape { public var m_radius:Number; public var m_localPosition:b2Vec2; public function b2CircleShape(_arg1:b2ShapeDef){ var _local2:b2CircleDef; m_localPosition = new b2Vec2(); super(_arg1); _local2 = (_arg1 as b2CircleDef); m_type = e_circleShape; m_localPosition.SetV(_local2.localPosition); m_radius = _local2.radius; } override public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ var _local3:b2Mat22; var _local4:Number; var _local5:Number; _local3 = _arg1.R; _local4 = (_arg1.position.x + ((_local3.col1.x * m_localPosition.x) + (_local3.col2.x * m_localPosition.y))); _local5 = (_arg1.position.y + ((_local3.col1.y * m_localPosition.x) + (_local3.col2.y * m_localPosition.y))); _local4 = (_arg2.x - _local4); _local5 = (_arg2.y - _local5); return ((((_local4 * _local4) + (_local5 * _local5)) <= (m_radius * m_radius))); } public function  ():b2Vec2{ return (m_localPosition); } override public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):Boolean{ var _local6:b2Mat22; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; _local6 = _arg1.R; _local7 = (_arg1.position.x + ((_local6.col1.x * m_localPosition.x) + (_local6.col2.x * m_localPosition.y))); _local8 = (_arg1.position.x + ((_local6.col1.y * m_localPosition.x) + (_local6.col2.y * m_localPosition.y))); _local9 = (_arg4.p1.x - _local7); _local10 = (_arg4.p1.y - _local8); _local11 = (((_local9 * _local9) + (_local10 * _local10)) - (m_radius * m_radius)); if (_local11 < 0){ return (false); }; _local12 = (_arg4.p2.x - _arg4.p1.x); _local13 = (_arg4.p2.y - _arg4.p1.y); _local14 = ((_local9 * _local12) + (_local10 * _local13)); _local15 = ((_local12 * _local12) + (_local13 * _local13)); _local16 = ((_local14 * _local14) - (_local15 * _local11)); if ((((_local16 < 0)) || ((_local15 < Number.MIN_VALUE)))){ return (false); }; _local17 = -((_local14 + Math.sqrt(_local16))); if ((((0 <= _local17)) && ((_local17 <= (_arg5 * _local15))))){ _local17 = (_local17 / _local15); _arg2[0] = _local17; _arg3.x = (_local9 + (_local17 * _local12)); _arg3.y = (_local10 + (_local17 * _local13)); _arg3.Normalize(); return (true); }; return (false); } override public function ComputeMass(_arg1:b2MassData):void{ _arg1.mass = (((m_density * b2Settings.b2_pi) * m_radius) * m_radius); _arg1.center.SetV(m_localPosition); _arg1.I = (_arg1.mass * (((0.5 * m_radius) * m_radius) + ((m_localPosition.x * m_localPosition.x) + (m_localPosition.y * m_localPosition.y)))); } override public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; _local4 = _arg2.R; _local5 = (_arg2.position.x + ((_local4.col1.x * m_localPosition.x) + (_local4.col2.x * m_localPosition.y))); _local6 = (_arg2.position.y + ((_local4.col1.y * m_localPosition.x) + (_local4.col2.y * m_localPosition.y))); _local4 = _arg3.R; _local7 = (_arg3.position.x + ((_local4.col1.x * m_localPosition.x) + (_local4.col2.x * m_localPosition.y))); _local8 = (_arg3.position.y + ((_local4.col1.y * m_localPosition.x) + (_local4.col2.y * m_localPosition.y))); _arg1.lowerBound.Set((((_local5 < _local7)) ? _local5 : _local7 - m_radius), (((_local6 < _local8)) ? _local6 : _local8 - m_radius)); _arg1.upperBound.Set((((_local5 > _local7)) ? _local5 : _local7 + m_radius), (((_local6 > _local8)) ? _local6 : _local8 + m_radius)); } public function  ():Number{ return (m_radius); } override public function UpdateSweepRadius(_arg1:b2Vec2):void{ var _local2:Number; var _local3:Number; _local2 = (m_localPosition.x - _arg1.x); _local3 = (m_localPosition.y - _arg1.y); _local2 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3))); m_sweepRadius = ((_local2 + m_radius) - b2Settings.b2_toiSlop); } override public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ var _local3:b2Mat22; var _local4:Number; var _local5:Number; _local3 = _arg2.R; _local4 = (_arg2.position.x + ((_local3.col1.x * m_localPosition.x) + (_local3.col2.x * m_localPosition.y))); _local5 = (_arg2.position.y + ((_local3.col1.y * m_localPosition.x) + (_local3.col2.y * m_localPosition.y))); _arg1.lowerBound.Set((_local4 - m_radius), (_local5 - m_radius)); _arg1.upperBound.Set((_local4 + m_radius), (_local5 + m_radius)); } } }//package Box2D.Collision.Shapes
Section 3
//b2FilterData (Box2D.Collision.Shapes.b2FilterData) package Box2D.Collision.Shapes { public class b2FilterData { public var maskBits:uint;// = 0xFFFF public var groupIndex:int;// = 0 public var categoryBits:uint;// = 1 public function b2FilterData(){ categoryBits = 1; maskBits = 0xFFFF; groupIndex = 0; super(); } public function Copy():b2FilterData{ var _local1:b2FilterData; _local1 = new b2FilterData(); _local1.categoryBits = categoryBits; _local1.maskBits = maskBits; _local1.groupIndex = groupIndex; return (_local1); } } }//package Box2D.Collision.Shapes
Section 4
//b2MassData (Box2D.Collision.Shapes.b2MassData) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; public class b2MassData { public var mass:Number;// = 0 public var center:b2Vec2; public var I:Number;// = 0 public function b2MassData(){ mass = 0; center = new b2Vec2(0, 0); I = 0; super(); } } }//package Box2D.Collision.Shapes
Section 5
//b2PolygonDef (Box2D.Collision.Shapes.b2PolygonDef) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2PolygonDef extends b2ShapeDef { public var vertexCount:int; public var vertices:Array; private static var s_mat:b2Mat22 = new b2Mat22(); public function b2PolygonDef(){ var _local1:int; vertices = new Array(b2Settings.b2_maxPolygonVertices); super(); type = b2Shape.e_polygonShape; vertexCount = 0; _local1 = 0; while (_local1 < b2Settings.b2_maxPolygonVertices) { vertices[_local1] = new b2Vec2(); _local1++; }; } public function SetAsOrientedBox(_arg1:Number, _arg2:Number, _arg3:b2Vec2=null, _arg4:Number=0):void{ var _local5:b2Vec2; var _local6:b2Mat22; var _local7:int; vertexCount = 4; vertices[0].Set(-(_arg1), -(_arg2)); vertices[1].Set(_arg1, -(_arg2)); vertices[2].Set(_arg1, _arg2); vertices[3].Set(-(_arg1), _arg2); if (_arg3){ _local5 = _arg3; _local6 = s_mat; _local6.Set(_arg4); _local7 = 0; while (_local7 < vertexCount) { _arg3 = vertices[_local7]; _arg1 = (_local5.x + ((_local6.col1.x * _arg3.x) + (_local6.col2.x * _arg3.y))); _arg3.y = (_local5.y + ((_local6.col1.y * _arg3.x) + (_local6.col2.y * _arg3.y))); _arg3.x = _arg1; _local7++; }; }; } public function SetAsBox(_arg1:Number, _arg2:Number):void{ vertexCount = 4; vertices[0].Set(-(_arg1), -(_arg2)); vertices[1].Set(_arg1, -(_arg2)); vertices[2].Set(_arg1, _arg2); vertices[3].Set(-(_arg1), _arg2); } } }//package Box2D.Collision.Shapes
Section 6
//b2PolygonShape (Box2D.Collision.Shapes.b2PolygonShape) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.*; import Box2D.Common.*; public class b2PolygonShape extends b2Shape { public var  :Array; public var  :Array; private var  :b2Vec2; public var  :b2OBB; public var  :Array; public var  :b2Vec2; public var  :int; private static var s_computeMat:b2Mat22 = new b2Mat22(); private static var s_sweptAABB1:b2AABB = new b2AABB(); private static var s_sweptAABB2:b2AABB = new b2AABB(); public function b2PolygonShape(_arg1:b2ShapeDef){ var _local2:b2PolygonDef; var _local3:int; var _local4:int; var _local5:int; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number;   = new b2Vec2();  = new b2OBB();   = new Array(b2Settings.b2_maxPolygonVertices);   = new Array(b2Settings.b2_maxPolygonVertices);  = new Array(b2Settings.b2_maxPolygonVertices); super(_arg1); m_type = e_polygonShape; _local2 = (_arg1 as b2PolygonDef);   = _local2.vertexCount; _local4 = _local3; _local5 = _local3; _local3 = 0; while (_local3 <  ) {  [_local3] = _local2.vertices[_local3].Copy(); _local3++; }; _local3 = 0; while (_local3 <  ) { _local4 = _local3; _local5 = (((_local3 + 1) <  )) ? (_local3 + 1) : 0; _local6 = ( [_local5].x -  [_local4].x); _local7 = ( [_local5].y -  [_local4].y); _local8 = Math.sqrt(((_local6 * _local6) + (_local7 * _local7)));  [_local3] = new b2Vec2((_local7 / _local8), (-(_local6) / _local8)); _local3++; };  = ComputeCentroid(_local2.vertices, _local2.vertexCount); ComputeOBB( ,  ,  ); _local3 = 0; while (_local3 <  ) { _local4 = (((_local3 - 1) >= 0)) ? (_local3 - 1) : (  - 1); _local5 = _local3; _local9 =  [_local4].x; _local10 =  [_local4].y; _local11 =  [_local5].x; _local12 =  [_local5].y; _local13 = ( [_local3].x -  .x); _local14 = ( [_local3].y -  .y); _local15 = (((_local9 * _local13) + (_local10 * _local14)) - b2Settings.b2_toiSlop); _local16 = (((_local11 * _local13) + (_local12 * _local14)) - b2Settings.b2_toiSlop); _local17 = (1 / ((_local9 * _local12) - (_local10 * _local11)));  [_local3] = new b2Vec2(((_local17 * ((_local12 * _local15) - (_local10 * _local16))) +  .x), ((_local17 * ((_local9 * _local16) - (_local11 * _local15))) +  .y)); _local3++; }; } override public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ var _local3:b2Vec2; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:int; var _local10:Number; _local4 = _arg1.R; _local5 = (_arg2.x - _arg1.position.x); _local6 = (_arg2.y - _arg1.position.y); _local7 = ((_local5 * _local4.col1.x) + (_local6 * _local4.col1.y)); _local8 = ((_local5 * _local4.col2.x) + (_local6 * _local4.col2.y)); _local9 = 0; while (_local9 <  ) { _local3 =  [_local9]; _local5 = (_local7 - _local3.x); _local6 = (_local8 - _local3.y); _local3 =  [_local9]; _local10 = ((_local3.x * _local5) + (_local3.y * _local6)); if (_local10 > 0){ return (false); }; _local9++; }; return (true); } public function GetCoreVertices():Array{ return ( ); } override public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):Boolean{ var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:b2Mat22; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:int; var _local19:int; var _local20:Number; var _local21:Number; _local6 = 0; _local7 = _arg5; _local8 = (_arg4.p1.x - _arg1.position.x); _local9 = (_arg4.p1.y - _arg1.position.y); _local10 = _arg1.R; _local12 = ((_local8 * _local10.col1.x) + (_local9 * _local10.col1.y)); _local13 = ((_local8 * _local10.col2.x) + (_local9 * _local10.col2.y)); _local8 = (_arg4.p2.x - _arg1.position.x); _local9 = (_arg4.p2.y - _arg1.position.y); _local10 = _arg1.R; _local14 = ((_local8 * _local10.col1.x) + (_local9 * _local10.col1.y)); _local15 = ((_local8 * _local10.col2.x) + (_local9 * _local10.col2.y)); _local16 = (_local14 - _local12); _local17 = (_local15 - _local13); _local18 = -1; _local19 = 0; while (_local19 <  ) { _local11 =  [_local19]; _local8 = (_local11.x - _local12); _local9 = (_local11.y - _local13); _local11 =  [_local19]; _local20 = ((_local11.x * _local8) + (_local11.y * _local9)); _local21 = ((_local11.x * _local16) + (_local11.y * _local17)); if ((((_local21 < 0)) && ((_local20 < (_local6 * _local21))))){ _local6 = (_local20 / _local21); _local18 = _local19; } else { if ((((_local21 > 0)) && ((_local20 < (_local7 * _local21))))){ _local7 = (_local20 / _local21); }; }; if (_local7 < _local6){ return (false); }; _local19++; }; if (_local18 >= 0){ _arg2[0] = _local6; _local10 = _arg1.R; _local11 =  [_local18]; _arg3.x = ((_local10.col1.x * _local11.x) + (_local10.col2.x * _local11.y)); _arg3.y = ((_local10.col1.y * _local11.x) + (_local10.col2.y * _local11.y)); return (true); }; return (false); } public function  ():b2Vec2{ return ( ); } override public function ComputeMass(_arg1:b2MassData):void{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:int; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; _local2 = 0; _local3 = 0; _local4 = 0; _local5 = 0; _local6 = 0; _local7 = 0; _local8 = (1 / 3); _local9 = 0; while (_local9 <  ) { _local10 =  [_local9]; _local11 = (((_local9 + 1) <  )) ?  [int((_local9 + 1))] :  [0]; _local12 = (_local10.x - _local6); _local13 = (_local10.y - _local7); _local14 = (_local11.x - _local6); _local15 = (_local11.y - _local7); _local16 = ((_local12 * _local15) - (_local13 * _local14)); _local17 = (0.5 * _local16); _local4 = (_local4 + _local17); _local2 = (_local2 + ((_local17 * _local8) * ((_local6 + _local10.x) + _local11.x))); _local3 = (_local3 + ((_local17 * _local8) * ((_local7 + _local10.y) + _local11.y))); _local18 = _local6; _local19 = _local7; _local20 = _local12; _local21 = _local13; _local22 = _local14; _local23 = _local15; _local24 = ((_local8 * ((0.25 * (((_local20 * _local20) + (_local22 * _local20)) + (_local22 * _local22))) + ((_local18 * _local20) + (_local18 * _local22)))) + ((0.5 * _local18) * _local18)); _local25 = ((_local8 * ((0.25 * (((_local21 * _local21) + (_local23 * _local21)) + (_local23 * _local23))) + ((_local19 * _local21) + (_local19 * _local23)))) + ((0.5 * _local19) * _local19)); _local5 = (_local5 + (_local16 * (_local24 + _local25))); _local9++; }; _arg1.mass = (m_density * _local4); _local2 = (_local2 * (1 / _local4)); _local3 = (_local3 * (1 / _local4)); _arg1.center.Set(_local2, _local3); _arg1.I = (m_density * _local5); } public function Support(_arg1:b2XForm, _arg2:Number, _arg3:Number):b2Vec2{ var _local4:b2Vec2; var _local5:b2Mat22; var _local6:Number; var _local7:Number; var _local8:int; var _local9:Number; var _local10:int; var _local11:Number; _local5 = _arg1.R; _local6 = ((_arg2 * _local5.col1.x) + (_arg3 * _local5.col1.y)); _local7 = ((_arg2 * _local5.col2.x) + (_arg3 * _local5.col2.y)); _local8 = 0; _local4 =  [0]; _local9 = ((_local4.x * _local6) + (_local4.y * _local7)); _local10 = 1; while (_local10 <  ) { _local4 =  [_local10]; _local11 = ((_local4.x * _local6) + (_local4.y * _local7)); if (_local11 > _local9){ _local8 = _local10; _local9 = _local11; }; _local10++; }; _local5 = _arg1.R; _local4 =  [_local8];  .x = (_arg1.position.x + ((_local5.col1.x * _local4.x) + (_local5.col2.x * _local4.y)));  .y = (_arg1.position.y + ((_local5.col1.y * _local4.x) + (_local5.col2.y * _local4.y))); return ( ); } public function GetVertexCount():int{ return ( ); } override public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ var _local4:b2AABB; var _local5:b2AABB; _local4 = s_sweptAABB1; _local5 = s_sweptAABB2; ComputeAABB(_local4, _arg2); ComputeAABB(_local5, _arg3); _arg1.lowerBound.Set(((_local4.lowerBound.x < _local5.lowerBound.x)) ? _local4.lowerBound.x : _local5.lowerBound.x, ((_local4.lowerBound.y < _local5.lowerBound.y)) ? _local4.lowerBound.y : _local5.lowerBound.y); _arg1.upperBound.Set(((_local4.upperBound.x > _local5.upperBound.x)) ? _local4.upperBound.x : _local5.upperBound.x, ((_local4.upperBound.y > _local5.upperBound.y)) ? _local4.upperBound.y : _local5.upperBound.y); } public function GetVertices():Array{ return ( ); } public function  ():Array{ return ( ); } public function GetOBB():b2OBB{ return ( ); } public function GetFirstVertex(_arg1:b2XForm):b2Vec2{ return (b2Math.b2MulX(_arg1,  [0])); } public function  (_arg1:b2XForm):b2Vec2{ return (b2Math.b2MulX(_arg1,  )); } override public function UpdateSweepRadius(_arg1:b2Vec2):void{ var _local2:b2Vec2; var _local3:int; var _local4:Number; var _local5:Number; m_sweepRadius = 0; _local3 = 0; while (_local3 <  ) { _local2 =  [_local3]; _local4 = (_local2.x - _arg1.x); _local5 = (_local2.y - _arg1.y); _local4 = Math.sqrt(((_local4 * _local4) + (_local5 * _local5))); if (_local4 > m_sweepRadius){ m_sweepRadius = _local4; }; _local3++; }; } override public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ var _local3:b2Mat22; var _local4:b2Vec2; var _local5:b2Mat22; var _local6:b2Mat22; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; _local5 = s_computeMat; _local3 = _arg2.R; _local4 =  .R.col1; _local5.col1.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); _local5.col1.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); _local4 =  .R.col2; _local5.col2.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); _local5.col2.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); _local5.Abs(); _local6 = _local5; _local4 =  .extents; _local7 = ((_local6.col1.x * _local4.x) + (_local6.col2.x * _local4.y)); _local8 = ((_local6.col1.y * _local4.x) + (_local6.col2.y * _local4.y)); _local3 = _arg2.R; _local4 =  .center; _local9 = (_arg2.position.x + ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y))); _local10 = (_arg2.position.y + ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y))); _arg1.lowerBound.Set((_local9 - _local7), (_local10 - _local8)); _arg1.upperBound.Set((_local9 + _local7), (_local10 + _local8)); } public static function ComputeCentroid(_arg1:Array, _arg2:int):b2Vec2{ var _local3:b2Vec2; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:int; var _local9:b2Vec2; var _local10:b2Vec2; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; _local3 = new b2Vec2(); _local4 = 0; _local5 = 0; _local6 = 0; _local7 = (1 / 3); _local8 = 0; while (_local8 < _arg2) { _local9 = _arg1[_local8]; _local10 = (((_local8 + 1) < _arg2)) ? _arg1[int((_local8 + 1))] : _arg1[0]; _local11 = (_local9.x - _local5); _local12 = (_local9.y - _local6); _local13 = (_local10.x - _local5); _local14 = (_local10.y - _local6); _local15 = ((_local11 * _local14) - (_local12 * _local13)); _local16 = (0.5 * _local15); _local4 = (_local4 + _local16); _local3.x = (_local3.x + ((_local16 * _local7) * ((_local5 + _local9.x) + _local10.x))); _local3.y = (_local3.y + ((_local16 * _local7) * ((_local6 + _local9.y) + _local10.y))); _local8++; }; _local3.x = (_local3.x * (1 / _local4)); _local3.y = (_local3.y * (1 / _local4)); return (_local3); } public static function ComputeOBB(_arg1:b2OBB, _arg2:Array, _arg3:int):void{ var _local4:int; var _local5:Array; var _local6:Number; var _local7:b2Vec2; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:int; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:b2Mat22; _local5 = new Array((b2Settings.b2_maxPolygonVertices + 1)); _local4 = 0; while (_local4 < _arg3) { _local5[_local4] = _arg2[_local4]; _local4++; }; _local5[_arg3] = _local5[0]; _local6 = Number.MAX_VALUE; _local4 = 1; while (_local4 <= _arg3) { _local7 = _local5[int((_local4 - 1))]; _local8 = (_local5[_local4].x - _local7.x); _local9 = (_local5[_local4].y - _local7.y); _local10 = Math.sqrt(((_local8 * _local8) + (_local9 * _local9))); _local8 = (_local8 / _local10); _local9 = (_local9 / _local10); _local11 = -(_local9); _local12 = _local8; _local13 = Number.MAX_VALUE; _local14 = Number.MAX_VALUE; _local15 = -(Number.MAX_VALUE); _local16 = -(Number.MAX_VALUE); _local17 = 0; while (_local17 < _arg3) { _local19 = (_local5[_local17].x - _local7.x); _local20 = (_local5[_local17].y - _local7.y); _local21 = ((_local8 * _local19) + (_local9 * _local20)); _local22 = ((_local11 * _local19) + (_local12 * _local20)); if (_local21 < _local13){ _local13 = _local21; }; if (_local22 < _local14){ _local14 = _local22; }; if (_local21 > _local15){ _local15 = _local21; }; if (_local22 > _local16){ _local16 = _local22; }; _local17++; }; _local18 = ((_local15 - _local13) * (_local16 - _local14)); if (_local18 < (0.95 * _local6)){ _local6 = _local18; _arg1.R.col1.x = _local8; _arg1.R.col1.y = _local9; _arg1.R.col2.x = _local11; _arg1.R.col2.y = _local12; _local23 = (0.5 * (_local13 + _local15)); _local24 = (0.5 * (_local14 + _local16)); _local25 = _arg1.R; _arg1.center.x = (_local7.x + ((_local25.col1.x * _local23) + (_local25.col2.x * _local24))); _arg1.center.y = (_local7.y + ((_local25.col1.y * _local23) + (_local25.col2.y * _local24))); _arg1.extents.x = (0.5 * (_local15 - _local13)); _arg1.extents.y = (0.5 * (_local16 - _local14)); }; _local4++; }; } } }//package Box2D.Collision.Shapes
Section 7
//b2Shape (Box2D.Collision.Shapes.b2Shape) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.*; public class b2Shape { public var m_type:int; public var m_sweepRadius:Number; public var m_density:Number; public var :b2FilterData; public var m_friction:Number; public var m_next:b2Shape; public var m_restitution:Number; public var m_userData; public var m_isSensor:Boolean; public var :uint; public var m_body:b2Body; public static const e_polygonShape:int = 1; public static const e_unknownShape:int = -1; public static const e_circleShape:int = 0; public static const e_shapeTypeCount:int = 2; private static var s_resetAABB:b2AABB = new b2AABB(); private static var s_syncAABB:b2AABB = new b2AABB(); private static var s_proxyAABB:b2AABB = new b2AABB(); public function b2Shape(_arg1:b2ShapeDef){ m_userData = _arg1.userData; m_friction = _arg1.friction; m_restitution = _arg1.restitution; m_density = _arg1.density; m_body = null; m_sweepRadius = 0; m_next = null;  = b2Pair.b2_nullProxy;  = _arg1.filter.Copy(); m_isSensor = _arg1.isSensor; } public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ return (false); } public function ():Number{ return (m_sweepRadius); } public function GetNext():b2Shape{ return (m_next); } public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ } public function GetType():int{ return (m_type); } public function ():Number{ return (m_restitution); } public function ():Number{ return (m_friction); } public function GetFilterData():b2FilterData{ return (.Copy()); } public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):Boolean{ return (false); } public function RefilterProxy(_arg1:b2BroadPhase, _arg2:b2XForm):void{ var _local3:b2AABB; var _local4:Boolean; if ( == b2Pair.b2_nullProxy){ return; }; _arg1.DestroyProxy(); _local3 = s_resetAABB; ComputeAABB(_local3, _arg2); _local4 = _arg1.InRange(_local3); if (_local4){  = _arg1.CreateProxy(_local3, this); } else {  = b2Pair.b2_nullProxy; }; } public function  (_arg1:b2FilterData):void{  = _arg1.Copy(); } public function GetUserData(){ return (m_userData); } public function Synchronize(_arg1:b2BroadPhase, _arg2:b2XForm, _arg3:b2XForm):Boolean{ var _local4:b2AABB; if ( == b2Pair.b2_nullProxy){ return (false); }; _local4 = s_syncAABB; ComputeSweptAABB(_local4, _arg2, _arg3); if (_arg1.InRange(_local4)){ _arg1.MoveProxy(, _local4); return (true); }; return (false); } public function ComputeMass(_arg1:b2MassData):void{ } public function ():Boolean{ return (m_isSensor); } public function DestroyProxy(_arg1:b2BroadPhase):void{ if ( != b2Pair.b2_nullProxy){ _arg1.DestroyProxy();  = b2Pair.b2_nullProxy; }; } public function UpdateSweepRadius(_arg1:b2Vec2):void{ } public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ } public function GetBody():b2Body{ return (m_body); } public function CreateProxy(_arg1:b2BroadPhase, _arg2:b2XForm):void{ var _local3:b2AABB; var _local4:Boolean; _local3 = s_proxyAABB; ComputeAABB(_local3, _arg2); _local4 = _arg1.InRange(_local3); if (_local4){  = _arg1.CreateProxy(_local3, this); } else {  = b2Pair.b2_nullProxy; }; } public function SetUserData(_arg1):void{ m_userData = _arg1; } public static function Destroy(_arg1:b2Shape, _arg2):void{ } public static function Create(_arg1:b2ShapeDef, _arg2):b2Shape{ switch (_arg1.type){ case e_circleShape: return (new b2CircleShape(_arg1)); case e_polygonShape: return (new b2PolygonShape(_arg1)); default: return (null); }; } } }//package Box2D.Collision.Shapes
Section 8
//b2ShapeDef (Box2D.Collision.Shapes.b2ShapeDef) package Box2D.Collision.Shapes { public class b2ShapeDef { public var isSensor:Boolean;// = false public var density:Number;// = 0 public var type:int;// = -1 public var restitution:Number;// = 0 public var userData;// = null public var filter:b2FilterData; public var friction:Number;// = 0.2 public function b2ShapeDef(){ type = b2Shape.e_unknownShape; userData = null; friction = 0.2; restitution = 0; density = 0; isSensor = false; filter = new b2FilterData(); super(); } } }//package Box2D.Collision.Shapes
Section 9
//b2AABB (Box2D.Collision.b2AABB) package Box2D.Collision { import Box2D.Common.Math.*; public class b2AABB { public var upperBound:b2Vec2; public var lowerBound:b2Vec2; public function b2AABB(){ lowerBound = new b2Vec2(); upperBound = new b2Vec2(); super(); } public function IsValid():Boolean{ var _local1:Number; var _local2:Number; var _local3:Boolean; _local1 = (upperBound.x - lowerBound.x); _local2 = (upperBound.y - lowerBound.y); _local3 = (((_local1 >= 0)) && ((_local2 >= 0))); _local3 = ((((_local3) && (lowerBound.IsValid()))) && (upperBound.IsValid())); return (_local3); } } }//package Box2D.Collision
Section 10
//b2Bound (Box2D.Collision.b2Bound) package Box2D.Collision { public class b2Bound { public var proxyId:uint; public var stabbingCount:uint; public var value:uint; public function Swap(_arg1:b2Bound):void{ var _local2:uint; var _local3:uint; var _local4:uint; _local2 = value; _local3 = proxyId; _local4 = stabbingCount; value = _arg1.value; proxyId = _arg1.proxyId; stabbingCount = _arg1.stabbingCount; _arg1.value = _local2; _arg1.proxyId = _local3; _arg1.stabbingCount = _local4; } public function IsLower():Boolean{ return (((value & 1) == 0)); } public function IsUpper():Boolean{ return (((value & 1) == 1)); } } }//package Box2D.Collision
Section 11
//b2BoundValues (Box2D.Collision.b2BoundValues) package Box2D.Collision { public class b2BoundValues { public var lowerValues:Array; public var upperValues:Array; public function b2BoundValues(){ lowerValues = [0, 0]; upperValues = [0, 0]; super(); } } }//package Box2D.Collision
Section 12
//b2BroadPhase (Box2D.Collision.b2BroadPhase) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2BroadPhase { public var m_quantizationFactor:b2Vec2; public var m_worldAABB:b2AABB; public var m_bounds:Array; public var :uint; public var m_proxyCount:int; public var m_proxyPool:Array; public var  :int; public var m_pairManager:b2PairManager; public var  :uint; public var  :Array; public static const b2_nullEdge:uint = b2Settings.USHRT_MAX; public static const b2_invalid:uint = b2Settings.USHRT_MAX; public static var s_validate:Boolean = false; public function b2BroadPhase(_arg1:b2AABB, _arg2:b2PairCallback){ var _local3:int; var _local4:Number; var _local5:Number; var _local6:b2Proxy; var _local7:int; m_pairManager = new b2PairManager(); m_proxyPool = new Array(b2Settings.b2_maxPairs); m_bounds = new Array((2 * b2Settings.b2_maxProxies));  = new Array(b2Settings.b2_maxProxies); m_quantizationFactor = new b2Vec2(); super(); m_pairManager.Initialize(this, _arg2); m_worldAABB = _arg1; m_proxyCount = 0; _local3 = 0; while (_local3 < b2Settings.b2_maxProxies) {  [_local3] = 0; _local3++; }; m_bounds = new Array(2); _local3 = 0; while (_local3 < 2) { m_bounds[_local3] = new Array((2 * b2Settings.b2_maxProxies)); _local7 = 0; while (_local7 < (2 * b2Settings.b2_maxProxies)) { m_bounds[_local3][_local7] = new b2Bound(); _local7++; }; _local3++; }; _local4 = (_arg1.upperBound.x - _arg1.lowerBound.x); _local5 = (_arg1.upperBound.y - _arg1.lowerBound.y); m_quantizationFactor.x = (b2Settings.USHRT_MAX / _local4); m_quantizationFactor.y = (b2Settings.USHRT_MAX / _local5); _local3 = 0; while (_local3 < (b2Settings.b2_maxProxies - 1)) { _local6 = new b2Proxy(); m_proxyPool[_local3] = _local6; _local6.SetNext((_local3 + 1)); _local6.timeStamp = 0; _local6.overlapCount = b2_invalid; _local6.userData = null; _local3++; }; _local6 = new b2Proxy(); m_proxyPool[int((b2Settings.b2_maxProxies - 1))] = _local6; _local6.SetNext(b2Pair.b2_nullProxy); _local6.timeStamp = 0; _local6.overlapCount = b2_invalid; _local6.userData = null;  = 0;   = 1;   = 0; } public function QueryAABB(_arg1:b2AABB, _arg2, _arg3:int):int{ var _local4:Array; var _local5:Array; var _local6:uint; var _local7:uint; var _local8:Array; var _local9:Array; var _local10:int; var _local11:int; var _local12:b2Proxy; _local4 = new Array(); _local5 = new Array();  (_local4, _local5, _arg1); _local8 = [_local6]; _local9 = [_local7];  (_local8, _local9, _local4[0], _local5[0], m_bounds[0], (2 * m_proxyCount), 0);  (_local8, _local9, _local4[1], _local5[1], m_bounds[1], (2 * m_proxyCount), 1); _local10 = 0; _local11 = 0; while ((((_local11 <  )) && ((_local10 < _arg3)))) { _local12 = m_proxyPool[ [_local11]]; _arg2[_local11] = _local12.userData; _local11++; _local10++; };   = 0;  (); return (_local10); } public function Commit():void{ m_pairManager.Commit(); } public function  (_arg1:int):b2Proxy{ var _local2:b2Proxy; _local2 = m_proxyPool[_arg1]; if ((((_arg1 == b2Pair.b2_nullProxy)) || ((_local2.IsValid() == false)))){ return (null); }; return (_local2); } private function  ():void{ var _local1:uint; if (  == b2Settings.USHRT_MAX){ _local1 = 0; while (_local1 < b2Settings.b2_maxProxies) { (m_proxyPool[_local1] as b2Proxy).timeStamp = 0; _local1++; };   = 1; } else {  ++; }; } private function  (_arg1:Array, _arg2:Array, _arg3:uint, _arg4:uint, _arg5:Array, _arg6:uint, _arg7:int):void{ var _local8:uint; var _local9:uint; var _local10:b2Bound; var _local11:uint; var _local12:int; var _local13:int; var _local14:b2Proxy; _local8 = BinarySearch(_arg5, _arg6, _arg3); _local9 = BinarySearch(_arg5, _arg6, _arg4); _local11 = _local8; while (_local11 < _local9) { _local10 = _arg5[_local11]; if (_local10.IsLower()){  (_local10.proxyId); }; _local11++; }; if (_local8 > 0){ _local12 = (_local8 - 1); _local10 = _arg5[_local12]; _local13 = _local10.stabbingCount; while (_local13) { _local10 = _arg5[_local12]; if (_local10.IsLower()){ _local14 = m_proxyPool[_local10.proxyId]; if (_local8 <= _local14.upperBounds[_arg7]){  (_local10.proxyId); _local13--; }; }; _local12--; }; }; _arg1[0] = _local8; _arg2[0] = _local9; } private function  (_arg1:b2Proxy, _arg2:b2Proxy):Boolean{ var _local3:int; var _local4:Array; var _local5:b2Bound; var _local6:b2Bound; _local3 = 0; while (_local3 < 2) { _local4 = m_bounds[_local3]; _local5 = _local4[_arg1.lowerBounds[_local3]]; _local6 = _local4[_arg2.upperBounds[_local3]]; if (_local5.value > _local6.value){ return (false); }; _local5 = _local4[_arg1.upperBounds[_local3]]; _local6 = _local4[_arg2.lowerBounds[_local3]]; if (_local5.value < _local6.value){ return (false); }; _local3++; }; return (true); } private function  (_arg1:Array, _arg2:Array, _arg3:b2AABB):void{ var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; _local4 = _arg3.lowerBound.x; _local5 = _arg3.lowerBound.y; _local4 = b2Math.b2Min(_local4, m_worldAABB.upperBound.x); _local5 = b2Math.b2Min(_local5, m_worldAABB.upperBound.y); _local4 = b2Math.b2Max(_local4, m_worldAABB.lowerBound.x); _local5 = b2Math.b2Max(_local5, m_worldAABB.lowerBound.y); _local6 = _arg3.upperBound.x; _local7 = _arg3.upperBound.y; _local6 = b2Math.b2Min(_local6, m_worldAABB.upperBound.x); _local7 = b2Math.b2Min(_local7, m_worldAABB.upperBound.y); _local6 = b2Math.b2Max(_local6, m_worldAABB.lowerBound.x); _local7 = b2Math.b2Max(_local7, m_worldAABB.lowerBound.y); _arg1[0] = (uint((m_quantizationFactor.x * (_local4 - m_worldAABB.lowerBound.x))) & (b2Settings.USHRT_MAX - 1)); _arg2[0] = ((uint((m_quantizationFactor.x * (_local6 - m_worldAABB.lowerBound.x))) & 0xFFFF) | 1); _arg1[1] = (uint((m_quantizationFactor.y * (_local5 - m_worldAABB.lowerBound.y))) & (b2Settings.USHRT_MAX - 1)); _arg2[1] = ((uint((m_quantizationFactor.y * (_local7 - m_worldAABB.lowerBound.y))) & 0xFFFF) | 1); } public function CreateProxy(_arg1:b2AABB, _arg2):uint{ var _local3:uint; var _local4:b2Proxy; var _local5:uint; var _local6:uint; var _local7:Array; var _local8:Array; var _local9:int; var _local10:int; var _local11:Array; var _local12:uint; var _local13:uint; var _local14:Array; var _local15:Array; var _local16:Array; var _local17:int; var _local18:int; var _local19:b2Bound; var _local20:b2Bound; var _local21:b2Bound; var _local22:int; var _local23:b2Proxy; _local5 = ; _local4 = m_proxyPool[_local5];  = _local4.GetNext(); _local4.overlapCount = 0; _local4.userData = _arg2; _local6 = (2 * m_proxyCount); _local7 = new Array(); _local8 = new Array();  (_local7, _local8, _arg1); _local9 = 0; while (_local9 < 2) { _local11 = m_bounds[_local9]; _local14 = [_local12]; _local15 = [_local13];  (_local14, _local15, _local7[_local9], _local8[_local9], _local11, _local6, _local9); _local12 = _local14[0]; _local13 = _local15[0]; _local16 = new Array(); _local18 = (_local6 - _local13); _local17 = 0; while (_local17 < _local18) { _local16[_local17] = new b2Bound(); _local19 = _local16[_local17]; _local20 = _local11[int((_local13 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local18 = _local16.length; _local22 = (_local13 + 2); _local17 = 0; while (_local17 < _local18) { _local20 = _local16[_local17]; _local19 = _local11[int((_local22 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local16 = new Array(); _local18 = (_local13 - _local12); _local17 = 0; while (_local17 < _local18) { _local16[_local17] = new b2Bound(); _local19 = _local16[_local17]; _local20 = _local11[int((_local12 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local18 = _local16.length; _local22 = (_local12 + 1); _local17 = 0; while (_local17 < _local18) { _local20 = _local16[_local17]; _local19 = _local11[int((_local22 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local13++; _local19 = _local11[_local12]; _local20 = _local11[_local13]; _local19.value = _local7[_local9]; _local19.proxyId = _local5; _local20.value = _local8[_local9]; _local20.proxyId = _local5; _local21 = _local11[int((_local12 - 1))]; _local19.stabbingCount = ((_local12 == 0)) ? 0 : _local21.stabbingCount; _local21 = _local11[int((_local13 - 1))]; _local20.stabbingCount = _local21.stabbingCount; _local3 = _local12; while (_local3 < _local13) { _local21 = _local11[_local3]; _local21.stabbingCount++; _local3++; }; _local3 = _local12; while (_local3 < (_local6 + 2)) { _local19 = _local11[_local3]; _local23 = m_proxyPool[_local19.proxyId]; if (_local19.IsLower()){ _local23.lowerBounds[_local9] = _local3; } else { _local23.upperBounds[_local9] = _local3; }; _local3++; }; _local9++; }; m_proxyCount++; _local10 = 0; while (_local10 <  ) { m_pairManager.AddBufferedPair(_local5,  [_local10]); _local10++; }; m_pairManager.Commit();   = 0;  (); return (_local5); } public function DestroyProxy(_arg1:uint):void{ var _local2:b2Bound; var _local3:b2Bound; var _local4:b2Proxy; var _local5:int; var _local6:int; var _local7:int; var _local8:Array; var _local9:uint; var _local10:uint; var _local11:uint; var _local12:uint; var _local13:Array; var _local14:int; var _local15:int; var _local16:int; var _local17:uint; var _local18:int; var _local19:b2Proxy; _local4 = m_proxyPool[_arg1]; _local5 = (2 * m_proxyCount); _local6 = 0; while (_local6 < 2) { _local8 = m_bounds[_local6]; _local9 = _local4.lowerBounds[_local6]; _local10 = _local4.upperBounds[_local6]; _local2 = _local8[_local9]; _local11 = _local2.value; _local3 = _local8[_local10]; _local12 = _local3.value; _local13 = new Array(); _local15 = ((_local10 - _local9) - 1); _local14 = 0; while (_local14 < _local15) { _local13[_local14] = new b2Bound(); _local2 = _local13[_local14]; _local3 = _local8[int(((_local9 + 1) + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local15 = _local13.length; _local16 = _local9; _local14 = 0; while (_local14 < _local15) { _local3 = _local13[_local14]; _local2 = _local8[int((_local16 + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local13 = new Array(); _local15 = ((_local5 - _local10) - 1); _local14 = 0; while (_local14 < _local15) { _local13[_local14] = new b2Bound(); _local2 = _local13[_local14]; _local3 = _local8[int(((_local10 + 1) + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local15 = _local13.length; _local16 = (_local10 - 1); _local14 = 0; while (_local14 < _local15) { _local3 = _local13[_local14]; _local2 = _local8[int((_local16 + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local15 = (_local5 - 2); _local17 = _local9; while (_local17 < _local15) { _local2 = _local8[_local17]; _local19 = m_proxyPool[_local2.proxyId]; if (_local2.IsLower()){ _local19.lowerBounds[_local6] = _local17; } else { _local19.upperBounds[_local6] = _local17; }; _local17++; }; _local15 = (_local10 - 1); _local18 = _local9; while (_local18 < _local15) { _local2 = _local8[_local18]; _local2.stabbingCount--; _local18++; };  ([0], [0], _local11, _local12, _local8, (_local5 - 2), _local6); _local6++; }; _local7 = 0; while (_local7 <  ) { m_pairManager.RemoveBufferedPair(_arg1,  [_local7]); _local7++; }; m_pairManager.Commit();   = 0;  (); _local4.userData = null; _local4.overlapCount = b2_invalid; _local4.lowerBounds[0] = b2_invalid; _local4.lowerBounds[1] = b2_invalid; _local4.upperBounds[0] = b2_invalid; _local4.upperBounds[1] = b2_invalid; _local4.SetNext();  = _arg1; m_proxyCount--; } public function  (_arg1:b2BoundValues, _arg2:b2Proxy):Boolean{ var _local3:int; var _local4:Array; var _local5:b2Bound; _local3 = 0; while (_local3 < 2) { _local4 = m_bounds[_local3]; _local5 = _local4[_arg2.upperBounds[_local3]]; if (_arg1.lowerValues[_local3] > _local5.value){ return (false); }; _local5 = _local4[_arg2.lowerBounds[_local3]]; if (_arg1.upperValues[_local3] < _local5.value){ return (false); }; _local3++; }; return (true); } public function Validate():void{ var _local1:b2Pair; var _local2:b2Proxy; var _local3:b2Proxy; var _local4:Boolean; var _local5:int; var _local6:b2Bound; var _local7:uint; var _local8:uint; var _local9:uint; var _local10:b2Bound; _local5 = 0; while (_local5 < 2) { _local6 = m_bounds[_local5]; _local7 = (2 * m_proxyCount); _local8 = 0; _local9 = 0; while (_local9 < _local7) { _local10 = _local6[_local9]; if (_local10.IsLower() == true){ _local8++; } else { _local8--; }; _local9++; }; _local5++; }; } private function  (_arg1:uint):void{ var _local2:b2Proxy; _local2 = m_proxyPool[_arg1]; if (_local2.timeStamp <  ){ _local2.timeStamp =  ; _local2.overlapCount = 1; } else { _local2.overlapCount = 2;  [ ] = _arg1;  ++; }; } public function InRange(_arg1:b2AABB):Boolean{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local2 = _arg1.lowerBound.x; _local3 = _arg1.lowerBound.y; _local2 = (_local2 - m_worldAABB.upperBound.x); _local3 = (_local3 - m_worldAABB.upperBound.y); _local4 = m_worldAABB.lowerBound.x; _local5 = m_worldAABB.lowerBound.y; _local4 = (_local4 - _arg1.upperBound.x); _local5 = (_local5 - _arg1.upperBound.y); _local2 = b2Math.b2Max(_local2, _local4); _local3 = b2Math.b2Max(_local3, _local5); return ((b2Math.b2Max(_local2, _local3) < 0)); } public function MoveProxy(_arg1:uint, _arg2:b2AABB):void{ var _local3:Array; var _local4:int; var _local5:uint; var _local6:uint; var _local7:b2Bound; var _local8:b2Bound; var _local9:b2Bound; var _local10:uint; var _local11:b2Proxy; var _local12:uint; var _local13:b2Proxy; var _local14:b2BoundValues; var _local15:b2BoundValues; var _local16:Array; var _local17:uint; var _local18:uint; var _local19:uint; var _local20:uint; var _local21:int; var _local22:int; var _local23:uint; var _local24:b2Proxy; if ((((_arg1 == b2Pair.b2_nullProxy)) || ((b2Settings.b2_maxProxies <= _arg1)))){ return; }; if (_arg2.IsValid() == false){ return; }; _local12 = (2 * m_proxyCount); _local13 = m_proxyPool[_arg1]; _local14 = new b2BoundValues();  (_local14.lowerValues, _local14.upperValues, _arg2); _local15 = new b2BoundValues(); _local5 = 0; while (_local5 < 2) { _local7 = m_bounds[_local5][_local13.lowerBounds[_local5]]; _local15.lowerValues[_local5] = _local7.value; _local7 = m_bounds[_local5][_local13.upperBounds[_local5]]; _local15.upperValues[_local5] = _local7.value; _local5++; }; _local5 = 0; while (_local5 < 2) { _local16 = m_bounds[_local5]; _local17 = _local13.lowerBounds[_local5]; _local18 = _local13.upperBounds[_local5]; _local19 = _local14.lowerValues[_local5]; _local20 = _local14.upperValues[_local5]; _local7 = _local16[_local17]; _local21 = (_local19 - _local7.value); _local7.value = _local19; _local7 = _local16[_local18]; _local22 = (_local20 - _local7.value); _local7.value = _local20; if (_local21 < 0){ _local6 = _local17; while ((((_local6 > 0)) && ((_local19 < (_local16[int((_local6 - 1))] as b2Bound).value)))) { _local7 = _local16[_local6]; _local8 = _local16[int((_local6 - 1))]; _local23 = _local8.proxyId; _local24 = m_proxyPool[_local8.proxyId]; _local8.stabbingCount++; if (_local8.IsUpper() == true){ if ( (_local14, _local24)){ m_pairManager.AddBufferedPair(_arg1, _local23); }; _local3 = _local24.upperBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount++; } else { _local3 = _local24.lowerBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount--; }; _local3 = _local13.lowerBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.Swap(_local8); _local6--; }; }; if (_local22 > 0){ _local6 = _local18; while ((((_local6 < (_local12 - 1))) && (((_local16[int((_local6 + 1))] as b2Bound).value <= _local20)))) { _local7 = _local16[_local6]; _local9 = _local16[int((_local6 + 1))]; _local10 = _local9.proxyId; _local11 = m_proxyPool[_local10]; _local9.stabbingCount++; if (_local9.IsLower() == true){ if ( (_local14, _local11)){ m_pairManager.AddBufferedPair(_arg1, _local10); }; _local3 = _local11.lowerBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount++; } else { _local3 = _local11.upperBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount--; }; _local3 = _local13.upperBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.Swap(_local9); _local6++; }; }; if (_local21 > 0){ _local6 = _local17; while ((((_local6 < (_local12 - 1))) && (((_local16[int((_local6 + 1))] as b2Bound).value <= _local19)))) { _local7 = _local16[_local6]; _local9 = _local16[int((_local6 + 1))]; _local10 = _local9.proxyId; _local11 = m_proxyPool[_local10]; _local9.stabbingCount--; if (_local9.IsUpper()){ if ( (_local15, _local11)){ m_pairManager.RemoveBufferedPair(_arg1, _local10); }; _local3 = _local11.upperBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount--; } else { _local3 = _local11.lowerBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount++; }; _local3 = _local13.lowerBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.Swap(_local9); _local6++; }; }; if (_local22 < 0){ _local6 = _local18; while ((((_local6 > 0)) && ((_local20 < (_local16[int((_local6 - 1))] as b2Bound).value)))) { _local7 = _local16[_local6]; _local8 = _local16[int((_local6 - 1))]; _local23 = _local8.proxyId; _local24 = m_proxyPool[_local23]; _local8.stabbingCount--; if (_local8.IsLower() == true){ if ( (_local15, _local24)){ m_pairManager.RemoveBufferedPair(_arg1, _local23); }; _local3 = _local24.lowerBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount--; } else { _local3 = _local24.upperBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount++; }; _local3 = _local13.upperBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.Swap(_local8); _local6--; }; }; _local5++; }; } public static function BinarySearch(_arg1:Array, _arg2:int, _arg3:uint):uint{ var _local4:int; var _local5:int; var _local6:int; var _local7:b2Bound; _local4 = 0; _local5 = (_arg2 - 1); while (_local4 <= _local5) { _local6 = ((_local4 + _local5) / 2); _local7 = _arg1[_local6]; if (_local7.value > _arg3){ _local5 = (_local6 - 1); } else { if (_local7.value < _arg3){ _local4 = (_local6 + 1); } else { return (uint(_local6)); }; }; }; return (uint(_local4)); } } }//package Box2D.Collision
Section 13
//b2BufferedPair (Box2D.Collision.b2BufferedPair) package Box2D.Collision { public class b2BufferedPair { public var proxyId1:uint; public var proxyId2:uint; } }//package Box2D.Collision
Section 14
//b2Collision (Box2D.Collision.b2Collision) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2Collision { public static const b2_nullFeature:uint = 0xFF; private static var b2CollidePolyTempVec:b2Vec2 = new b2Vec2(); public static function EdgeSeparation(_arg1:b2PolygonShape, _arg2:b2XForm, _arg3:int, _arg4:b2PolygonShape, _arg5:b2XForm):Number{ var _local6:int; var _local7:Array; var _local8:Array; var _local9:int; var _local10:Array; var _local11:b2Mat22; var _local12:b2Vec2; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:int; var _local18:Number; var _local19:int; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; _local6 = _arg1. ; _local7 = _arg1. ; _local8 = _arg1. ; _local9 = _arg4. ; _local10 = _arg4. ; _local11 = _arg2.R; _local12 = _local8[_arg3]; _local13 = ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y)); _local14 = ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y)); _local11 = _arg5.R; _local15 = ((_local11.col1.x * _local13) + (_local11.col1.y * _local14)); _local16 = ((_local11.col2.x * _local13) + (_local11.col2.y * _local14)); _local17 = 0; _local18 = Number.MAX_VALUE; _local19 = 0; while (_local19 < _local9) { _local12 = _local10[_local19]; _local25 = ((_local12.x * _local15) + (_local12.y * _local16)); if (_local25 < _local18){ _local18 = _local25; _local17 = _local19; }; _local19++; }; _local12 = _local7[_arg3]; _local11 = _arg2.R; _local20 = (_arg2.position.x + ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y))); _local21 = (_arg2.position.y + ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y))); _local12 = _local10[_local17]; _local11 = _arg5.R; _local22 = (_arg5.position.x + ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y))); _local23 = (_arg5.position.y + ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y))); _local22 = (_local22 - _local20); _local23 = (_local23 - _local21); _local24 = ((_local22 * _local13) + (_local23 * _local14)); return (_local24); } public static function b2TestOverlap(_arg1:b2AABB, _arg2:b2AABB):Boolean{ var _local3:b2Vec2; var _local4:b2Vec2; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; _local3 = _arg2.lowerBound; _local4 = _arg1.upperBound; _local5 = (_local3.x - _local4.x); _local6 = (_local3.y - _local4.y); _local3 = _arg1.lowerBound; _local4 = _arg2.upperBound; _local7 = (_local3.x - _local4.x); _local8 = (_local3.y - _local4.y); if ((((_local5 > 0)) || ((_local6 > 0)))){ return (false); }; if ((((_local7 > 0)) || ((_local8 > 0)))){ return (false); }; return (true); } public static function FindIncidentEdge(_arg1:Array, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:int, _arg5:b2PolygonShape, _arg6:b2XForm):void{ var _local7:int; var _local8:Array; var _local9:int; var _local10:Array; var _local11:Array; var _local12:b2Mat22; var _local13:b2Vec2; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:int; var _local18:Number; var _local19:int; var _local20:ClipVertex; var _local21:int; var _local22:int; var _local23:Number; _local7 = _arg2. ; _local8 = _arg2. ; _local9 = _arg5. ; _local10 = _arg5. ; _local11 = _arg5. ; _local12 = _arg3.R; _local13 = _local8[_arg4]; _local14 = ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y)); _local15 = ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y)); _local12 = _arg6.R; _local16 = ((_local12.col1.x * _local14) + (_local12.col1.y * _local15)); _local15 = ((_local12.col2.x * _local14) + (_local12.col2.y * _local15)); _local14 = _local16; _local17 = 0; _local18 = Number.MAX_VALUE; _local19 = 0; while (_local19 < _local9) { _local13 = _local11[_local19]; _local23 = ((_local14 * _local13.x) + (_local15 * _local13.y)); if (_local23 < _local18){ _local18 = _local23; _local17 = _local19; }; _local19++; }; _local21 = _local17; _local22 = (((_local21 + 1) < _local9)) ? (_local21 + 1) : 0; _local20 = _arg1[0]; _local13 = _local10[_local21]; _local12 = _arg6.R; _local20.v.x = (_arg6.position.x + ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y))); _local20.v.y = (_arg6.position.y + ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y))); _local20.id..referenceEdge = _arg4; _local20.id..incidentEdge = _local21; _local20.id..incidentVertex = 0; _local20 = _arg1[1]; _local13 = _local10[_local22]; _local12 = _arg6.R; _local20.v.x = (_arg6.position.x + ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y))); _local20.v.y = (_arg6.position.y + ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y))); _local20.id..referenceEdge = _arg4; _local20.id..incidentEdge = _local22; _local20.id..incidentVertex = 1; } public static function b2CollidePolygons(_arg1:b2Manifold, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2PolygonShape, _arg5:b2XForm):void{ var _local6:ClipVertex; var _local7:int; var _local8:Array; var _local9:Number; var _local10:int; var _local11:Array; var _local12:Number; var _local13:b2PolygonShape; var _local14:b2PolygonShape; var _local15:b2XForm; var _local16:b2XForm; var _local17:int; var _local18:uint; var _local19:Number; var _local20:Number; var _local21:Array; var _local22:int; var _local23:Array; var _local24:b2Vec2; var _local25:b2Vec2; var _local26:b2Vec2; var _local27:b2Vec2; var _local28:b2Vec2; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Array; var _local33:Array; var _local34:int; var _local35:int; var _local36:int; var _local37:b2Vec2; var _local38:Number; var _local39:b2ManifoldPoint; _arg1.pointCount = 0; _local7 = 0; _local8 = [_local7]; _local9 = FindMaxSeparation(_local8, _arg2, _arg3, _arg4, _arg5); _local7 = _local8[0]; if (_local9 > 0){ return; }; _local10 = 0; _local11 = [_local10]; _local12 = FindMaxSeparation(_local11, _arg4, _arg5, _arg2, _arg3); _local10 = _local11[0]; if (_local12 > 0){ return; }; _local15 = new b2XForm(); _local16 = new b2XForm(); _local19 = 0.98; _local20 = 0.001; if (_local12 > ((_local19 * _local9) + _local20)){ _local13 = _arg4; _local14 = _arg2; _local15.Set(_arg5); _local16.Set(_arg3); _local17 = _local10; _local18 = 1; } else { _local13 = _arg2; _local14 = _arg4; _local15.Set(_arg3); _local16.Set(_arg5); _local17 = _local7; _local18 = 0; }; _local21 = [new ClipVertex(), new ClipVertex()]; FindIncidentEdge(_local21, _local13, _local15, _local17, _local14, _local16); _local22 = _local13. ; _local23 = _local13. ; _local24 = _local23[_local17]; _local25 = _local24.Copy(); if ((_local17 + 1) < _local22){ _local24 = _local23[int((_local17 + 1))]; _local37 = _local24.Copy(); } else { _local24 = _local23[0]; _local37 = _local24.Copy(); }; _local26 = b2Math.SubtractVV(_local37, _local25); _local27 = b2Math.b2MulMV(_local15.R, b2Math.SubtractVV(_local37, _local25)); _local27.Normalize(); _local28 = b2Math.b2CrossVF(_local27, 1); _local25 = b2Math.b2MulX(_local15, _local25); _local37 = b2Math.b2MulX(_local15, _local37); _local29 = b2Math.b2Dot(_local28, _local25); _local30 = -(b2Math.b2Dot(_local27, _local25)); _local31 = b2Math.b2Dot(_local27, _local37); _local32 = [new ClipVertex(), new ClipVertex()]; _local33 = [new ClipVertex(), new ClipVertex()]; _local34 = ClipSegmentToLine(_local32, _local21, _local27.Negative(), _local30); if (_local34 < 2){ return; }; _local34 = ClipSegmentToLine(_local33, _local32, _local27, _local31); if (_local34 < 2){ return; }; _arg1.normal = (_local18) ? _local28.Negative() : _local28.Copy(); _local35 = 0; _local36 = 0; while (_local36 < b2Settings.b2_maxManifoldPoints) { _local6 = _local33[_local36]; _local38 = (b2Math.b2Dot(_local28, _local6.v) - _local29); if (_local38 <= 0){ _local39 = _arg1.points[_local35]; _local39.separation = _local38; _local39.localPoint1 = b2Math.b2MulXT(_arg3, _local6.v); _local39.localPoint2 = b2Math.b2MulXT(_arg5, _local6.v); _local39.id.key = _local6.id._key; _local39.id..flip = _local18; _local35++; }; _local36++; }; _arg1.pointCount = _local35; } public static function FindMaxSeparation(_arg1:Array, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2PolygonShape, _arg5:b2XForm):Number{ var _local6:int; var _local7:Array; var _local8:b2Vec2; var _local9:b2Mat22; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:int; var _local15:Number; var _local16:int; var _local17:Number; var _local18:int; var _local19:Number; var _local20:int; var _local21:Number; var _local22:int; var _local23:Number; var _local24:int; var _local25:Number; _local6 = _arg2. ; _local7 = _arg2. ; _local9 = _arg5.R; _local8 = _arg4. ; _local10 = (_arg5.position.x + ((_local9.col1.x * _local8.x) + (_local9.col2.x * _local8.y))); _local11 = (_arg5.position.y + ((_local9.col1.y * _local8.x) + (_local9.col2.y * _local8.y))); _local9 = _arg3.R; _local8 = _arg2. ; _local10 = (_local10 - (_arg3.position.x + ((_local9.col1.x * _local8.x) + (_local9.col2.x * _local8.y)))); _local11 = (_local11 - (_arg3.position.y + ((_local9.col1.y * _local8.x) + (_local9.col2.y * _local8.y)))); _local12 = ((_local10 * _arg3.R.col1.x) + (_local11 * _arg3.R.col1.y)); _local13 = ((_local10 * _arg3.R.col2.x) + (_local11 * _arg3.R.col2.y)); _local14 = 0; _local15 = -(Number.MAX_VALUE); _local16 = 0; while (_local16 < _local6) { _local8 = _local7[_local16]; _local25 = ((_local8.x * _local12) + (_local8.y * _local13)); if (_local25 > _local15){ _local15 = _local25; _local14 = _local16; }; _local16++; }; _local17 = EdgeSeparation(_arg2, _arg3, _local14, _arg4, _arg5); if (_local17 > 0){ return (_local17); }; _local18 = (((_local14 - 1) >= 0)) ? (_local14 - 1) : (_local6 - 1); _local19 = EdgeSeparation(_arg2, _arg3, _local18, _arg4, _arg5); if (_local19 > 0){ return (_local19); }; _local20 = (((_local14 + 1) < _local6)) ? (_local14 + 1) : 0; _local21 = EdgeSeparation(_arg2, _arg3, _local20, _arg4, _arg5); if (_local21 > 0){ return (_local21); }; if ((((_local19 > _local17)) && ((_local19 > _local21)))){ _local24 = -1; _local22 = _local18; _local23 = _local19; } else { if (_local21 > _local17){ _local24 = 1; _local22 = _local20; _local23 = _local21; } else { _arg1[0] = _local14; return (_local17); }; }; while (true) { if (_local24 == -1){ _local14 = (((_local22 - 1) >= 0)) ? (_local22 - 1) : (_local6 - 1); } else { _local14 = (((_local22 + 1) < _local6)) ? (_local22 + 1) : 0; }; _local17 = EdgeSeparation(_arg2, _arg3, _local14, _arg4, _arg5); if (_local17 > 0){ return (_local17); }; if (_local17 > _local23){ _local22 = _local14; _local23 = _local17; } else { break; }; }; _arg1[0] = _local22; return (_local23); } public static function ClipSegmentToLine(_arg1:Array, _arg2:Array, _arg3:b2Vec2, _arg4:Number):int{ var _local5:ClipVertex; var _local6:int; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:b2Vec2; var _local13:ClipVertex; _local6 = 0; _local5 = _arg2[0]; _local7 = _local5.v; _local5 = _arg2[1]; _local8 = _local5.v; _local9 = (b2Math.b2Dot(_arg3, _local7) - _arg4); _local10 = (b2Math.b2Dot(_arg3, _local8) - _arg4); if (_local9 <= 0){ var _temp1 = _local6; _local6 = (_local6 + 1); var _local14 = _temp1; _arg1[_local14] = _arg2[0]; }; if (_local10 <= 0){ var _temp2 = _local6; _local6 = (_local6 + 1); _local14 = _temp2; _arg1[_local14] = _arg2[1]; }; if ((_local9 * _local10) < 0){ _local11 = (_local9 / (_local9 - _local10)); _local5 = _arg1[_local6]; _local12 = _local5.v; _local12.x = (_local7.x + (_local11 * (_local8.x - _local7.x))); _local12.y = (_local7.y + (_local11 * (_local8.y - _local7.y))); _local5 = _arg1[_local6]; if (_local9 > 0){ _local13 = _arg2[0]; _local5.id = _local13.id; } else { _local13 = _arg2[1]; _local5.id = _local13.id; }; _local6++; }; return (_local6); } public static function b2CollideCircles(_arg1:b2Manifold, _arg2:b2CircleShape, _arg3:b2XForm, _arg4:b2CircleShape, _arg5:b2XForm):void{ var _local6:b2Mat22; var _local7:b2Vec2; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:b2ManifoldPoint; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; _arg1.pointCount = 0; _local6 = _arg3.R; _local7 = _arg2.m_localPosition; _local8 = (_arg3.position.x + ((_local6.col1.x * _local7.x) + (_local6.col2.x * _local7.y))); _local9 = (_arg3.position.y + ((_local6.col1.y * _local7.x) + (_local6.col2.y * _local7.y))); _local6 = _arg5.R; _local7 = _arg4.m_localPosition; _local10 = (_arg5.position.x + ((_local6.col1.x * _local7.x) + (_local6.col2.x * _local7.y))); _local11 = (_arg5.position.y + ((_local6.col1.y * _local7.x) + (_local6.col2.y * _local7.y))); _local12 = (_local10 - _local8); _local13 = (_local11 - _local9); _local14 = ((_local12 * _local12) + (_local13 * _local13)); _local15 = _arg2.m_radius; _local16 = _arg4.m_radius; _local17 = (_local15 + _local16); if (_local14 > (_local17 * _local17)){ return; }; if (_local14 < Number.MIN_VALUE){ _local18 = -(_local17); _arg1.normal.Set(0, 1); } else { _local24 = Math.sqrt(_local14); _local18 = (_local24 - _local17); _local25 = (1 / _local24); _arg1.normal.x = (_local25 * _local12); _arg1.normal.y = (_local25 * _local13); }; _arg1.pointCount = 1; _local19 = _arg1.points[0]; _local19.id.key = 0; _local19.separation = _local18; _local8 = (_local8 + (_local15 * _arg1.normal.x)); _local9 = (_local9 + (_local15 * _arg1.normal.y)); _local10 = (_local10 - (_local16 * _arg1.normal.x)); _local11 = (_local11 - (_local16 * _arg1.normal.y)); _local20 = (0.5 * (_local8 + _local10)); _local21 = (0.5 * (_local9 + _local11)); _local22 = (_local20 - _arg3.position.x); _local23 = (_local21 - _arg3.position.y); _local19.localPoint1.x = ((_local22 * _arg3.R.col1.x) + (_local23 * _arg3.R.col1.y)); _local19.localPoint1.y = ((_local22 * _arg3.R.col2.x) + (_local23 * _arg3.R.col2.y)); _local22 = (_local20 - _arg5.position.x); _local23 = (_local21 - _arg5.position.y); _local19.localPoint2.x = ((_local22 * _arg5.R.col1.x) + (_local23 * _arg5.R.col1.y)); _local19.localPoint2.y = ((_local22 * _arg5.R.col2.x) + (_local23 * _arg5.R.col2.y)); } public static function b2CollidePolygonAndCircle(_arg1:b2Manifold, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2CircleShape, _arg5:b2XForm):void{ var _local6:b2ManifoldPoint; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:b2Vec2; var _local12:b2Mat22; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:int; var _local19:Number; var _local20:Number; var _local21:int; var _local22:Array; var _local23:Array; var _local24:int; var _local25:int; var _local26:int; var _local27:b2Vec2; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; _arg1.pointCount = 0; _local12 = _arg5.R; _local11 = _arg4.m_localPosition; _local13 = (_arg5.position.x + ((_local12.col1.x * _local11.x) + (_local12.col2.x * _local11.y))); _local14 = (_arg5.position.y + ((_local12.col1.y * _local11.x) + (_local12.col2.y * _local11.y))); _local7 = (_local13 - _arg3.position.x); _local8 = (_local14 - _arg3.position.y); _local12 = _arg3.R; _local15 = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local16 = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local18 = 0; _local19 = -(Number.MAX_VALUE); _local20 = _arg4.m_radius; _local21 = _arg2. ; _local22 = _arg2. ; _local23 = _arg2. ; _local24 = 0; while (_local24 < _local21) { _local11 = _local22[_local24]; _local7 = (_local15 - _local11.x); _local8 = (_local16 - _local11.y); _local11 = _local23[_local24]; _local34 = ((_local11.x * _local7) + (_local11.y * _local8)); if (_local34 > _local20){ return; }; if (_local34 > _local19){ _local19 = _local34; _local18 = _local24; }; _local24++; }; if (_local19 < Number.MIN_VALUE){ _arg1.pointCount = 1; _local11 = _local23[_local18]; _local12 = _arg3.R; _arg1.normal.x = ((_local12.col1.x * _local11.x) + (_local12.col2.x * _local11.y)); _arg1.normal.y = ((_local12.col1.y * _local11.x) + (_local12.col2.y * _local11.y)); _local6 = _arg1.points[0]; _local6.id..incidentEdge = _local18; _local6.id..incidentVertex = b2_nullFeature; _local6.id..referenceEdge = 0; _local6.id..flip = 0; _local9 = (_local13 - (_local20 * _arg1.normal.x)); _local10 = (_local14 - (_local20 * _arg1.normal.y)); _local7 = (_local9 - _arg3.position.x); _local8 = (_local10 - _arg3.position.y); _local12 = _arg3.R; _local6.localPoint1.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint1.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local7 = (_local9 - _arg5.position.x); _local8 = (_local10 - _arg5.position.y); _local12 = _arg5.R; _local6.localPoint2.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint2.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local6.separation = (_local19 - _local20); return; }; _local25 = _local18; _local26 = (((_local25 + 1) < _local21)) ? (_local25 + 1) : 0; _local11 = _local22[_local25]; _local27 = _local22[_local26]; _local28 = (_local27.x - _local11.x); _local29 = (_local27.y - _local11.y); _local30 = Math.sqrt(((_local28 * _local28) + (_local29 * _local29))); _local28 = (_local28 / _local30); _local29 = (_local29 / _local30); _local7 = (_local15 - _local11.x); _local8 = (_local16 - _local11.y); _local31 = ((_local7 * _local28) + (_local8 * _local29)); _local6 = _arg1.points[0]; if (_local31 <= 0){ _local32 = _local11.x; _local33 = _local11.y; _local6.id..incidentEdge = b2_nullFeature; _local6.id..incidentVertex = _local25; } else { if (_local31 >= _local30){ _local32 = _local27.x; _local33 = _local27.y; _local6.id..incidentEdge = b2_nullFeature; _local6.id..incidentVertex = _local26; } else { _local32 = ((_local28 * _local31) + _local11.x); _local33 = ((_local29 * _local31) + _local11.y); _local6.id..incidentEdge = _local18; _local6.id..incidentVertex = 0; }; }; _local7 = (_local15 - _local32); _local8 = (_local16 - _local33); _local17 = Math.sqrt(((_local7 * _local7) + (_local8 * _local8))); _local7 = (_local7 / _local17); _local8 = (_local8 / _local17); if (_local17 > _local20){ return; }; _arg1.pointCount = 1; _local12 = _arg3.R; _arg1.normal.x = ((_local12.col1.x * _local7) + (_local12.col2.x * _local8)); _arg1.normal.y = ((_local12.col1.y * _local7) + (_local12.col2.y * _local8)); _local9 = (_local13 - (_local20 * _arg1.normal.x)); _local10 = (_local14 - (_local20 * _arg1.normal.y)); _local7 = (_local9 - _arg3.position.x); _local8 = (_local10 - _arg3.position.y); _local12 = _arg3.R; _local6.localPoint1.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint1.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local7 = (_local9 - _arg5.position.x); _local8 = (_local10 - _arg5.position.y); _local12 = _arg5.R; _local6.localPoint2.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint2.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local6.separation = (_local17 - _local20); _local6.id..referenceEdge = 0; _local6.id..flip = 0; } } }//package Box2D.Collision
Section 15
//b2ContactID (Box2D.Collision.b2ContactID) package Box2D.Collision { public class b2ContactID { public var _key:uint; public var :Features; public function b2ContactID(){  = new Features(); super(); . = this; } public function Set(_arg1:b2ContactID):void{ key = _arg1._key; } public function Copy():b2ContactID{ var _local1:b2ContactID; _local1 = new b2ContactID(); _local1.key = key; return (_local1); } public function get key():uint{ return (_key); } public function set key(_arg1:uint):void{ _key = _arg1; . = (_key & 0xFF); . = (((_key & 0xFF00) >> 8) & 0xFF); . = (((_key & 0xFF0000) >> 16) & 0xFF); . = (((_key & 4278190080) >> 24) & 0xFF); } } }//package Box2D.Collision
Section 16
//b2ContactPoint (Box2D.Collision.b2ContactPoint) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; public class b2ContactPoint { public var separation:Number; public var normal:b2Vec2; public var position:b2Vec2; public var restitution:Number; public var shape1:b2Shape; public var shape2:b2Shape; public var id:b2ContactID; public var friction:Number; public var velocity:b2Vec2; public function b2ContactPoint(){ position = new b2Vec2(); velocity = new b2Vec2(); normal = new b2Vec2(); id = new b2ContactID(); super(); } } }//package Box2D.Collision
Section 17
//b2Distance (Box2D.Collision.b2Distance) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2Distance { private static var s_p2s:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()]; private static var s_p1s:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()]; private static var s_points:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()]; private static var gPoint:b2Point = new b2Point(); public static var g_GJK_Iterations:int = 0; public static function InPoints(_arg1:b2Vec2, _arg2:Array, _arg3:int):Boolean{ var _local4:Number; var _local5:int; var _local6:b2Vec2; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; _local4 = (100 * Number.MIN_VALUE); _local5 = 0; while (_local5 < _arg3) { _local6 = _arg2[_local5]; _local7 = Math.abs((_arg1.x - _local6.x)); _local8 = Math.abs((_arg1.y - _local6.y)); _local9 = Math.max(Math.abs(_arg1.x), Math.abs(_local6.x)); _local10 = Math.max(Math.abs(_arg1.y), Math.abs(_local6.y)); if ((((_local7 < (_local4 * (_local9 + 1)))) && ((_local8 < (_local4 * (_local10 + 1)))))){ return (true); }; _local5++; }; return (false); } public static function DistanceGeneric(_arg1:b2Vec2, _arg2:b2Vec2, _arg3, _arg4:b2XForm, _arg5, _arg6:b2XForm):Number{ var _local7:b2Vec2; var _local8:Array; var _local9:Array; var _local10:Array; var _local11:int; var _local12:Number; var _local13:int; var _local14:int; var _local15:Number; var _local16:Number; var _local17:b2Vec2; var _local18:b2Vec2; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:int; _local8 = s_p1s; _local9 = s_p2s; _local10 = s_points; _local11 = 0; _arg1.SetV(_arg3.GetFirstVertex(_arg4)); _arg2.SetV(_arg5.GetFirstVertex(_arg6)); _local12 = 0; _local13 = 20; _local14 = 0; while (_local14 < _local13) { _local15 = (_arg2.x - _arg1.x); _local16 = (_arg2.y - _arg1.y); _local17 = _arg3.Support(_arg4, _local15, _local16); _local18 = _arg5.Support(_arg6, -(_local15), -(_local16)); _local12 = ((_local15 * _local15) + (_local16 * _local16)); _local19 = (_local18.x - _local17.x); _local20 = (_local18.y - _local17.y); _local21 = ((_local15 * _local19) + (_local16 * _local20)); if ((_local12 - ((_local15 * _local19) + (_local16 * _local20))) <= (0.01 * _local12)){ if (_local11 == 0){ _arg1.SetV(_local17); _arg2.SetV(_local18); }; g_GJK_Iterations = _local14; return (Math.sqrt(_local12)); }; switch (_local11){ case 0: _local7 = _local8[0]; _local7.SetV(_local17); _local7 = _local9[0]; _local7.SetV(_local18); _local7 = _local10[0]; _local7.x = _local19; _local7.y = _local20; _arg1.SetV(_local8[0]); _arg2.SetV(_local9[0]); _local11++; break; case 1: _local7 = _local8[1]; _local7.SetV(_local17); _local7 = _local9[1]; _local7.SetV(_local18); _local7 = _local10[1]; _local7.x = _local19; _local7.y = _local20; _local11 = ProcessTwo(_arg1, _arg2, _local8, _local9, _local10); break; case 2: _local7 = _local8[2]; _local7.SetV(_local17); _local7 = _local9[2]; _local7.SetV(_local18); _local7 = _local10[2]; _local7.x = _local19; _local7.y = _local20; _local11 = ProcessThree(_arg1, _arg2, _local8, _local9, _local10); break; }; if (_local11 == 3){ g_GJK_Iterations = _local14; return (0); }; _local22 = -(Number.MAX_VALUE); _local23 = 0; while (_local23 < _local11) { _local7 = _local10[_local23]; _local22 = b2Math.b2Max(_local22, ((_local7.x * _local7.x) + (_local7.y * _local7.y))); _local23++; }; if ((((_local11 == 3)) || ((_local12 <= ((100 * Number.MIN_VALUE) * _local22))))){ g_GJK_Iterations = _local14; _local15 = (_arg2.x - _arg1.x); _local16 = (_arg2.y - _arg1.y); _local12 = ((_local15 * _local15) + (_local16 * _local16)); return (Math.sqrt(_local12)); }; _local14++; }; g_GJK_Iterations = _local13; return (Math.sqrt(_local12)); } public static function DistanceCC(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2CircleShape, _arg4:b2XForm, _arg5:b2CircleShape, _arg6:b2XForm):Number{ var _local7:b2Mat22; var _local8:b2Vec2; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; _local7 = _arg4.R; _local8 = _arg3.m_localPosition; _local9 = (_arg4.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); _local10 = (_arg4.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); _local7 = _arg6.R; _local8 = _arg5.m_localPosition; _local11 = (_arg6.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); _local12 = (_arg6.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); _local13 = (_local11 - _local9); _local14 = (_local12 - _local10); _local15 = ((_local13 * _local13) + (_local14 * _local14)); _local16 = (_arg3.m_radius - b2Settings.b2_toiSlop); _local17 = (_arg5.m_radius - b2Settings.b2_toiSlop); _local18 = (_local16 + _local17); if (_local15 > (_local18 * _local18)){ _local19 = Math.sqrt(((_local13 * _local13) + (_local14 * _local14))); _local13 = (_local13 / _local19); _local14 = (_local14 / _local19); _local20 = (_local19 - _local18); _arg1.x = (_local9 + (_local16 * _local13)); _arg1.y = (_local10 + (_local16 * _local14)); _arg2.x = (_local11 - (_local17 * _local13)); _arg2.y = (_local12 - (_local17 * _local14)); return (_local20); }; if (_local15 > (Number.MIN_VALUE * Number.MIN_VALUE)){ _local19 = Math.sqrt(((_local13 * _local13) + (_local14 * _local14))); _local13 = (_local13 / _local19); _local14 = (_local14 / _local19); _arg1.x = (_local9 + (_local16 * _local13)); _arg1.y = (_local10 + (_local16 * _local14)); _arg2.x = _arg1.x; _arg2.y = _arg1.y; return (0); }; _arg1.x = _local9; _arg1.y = _local10; _arg2.x = _arg1.x; _arg2.y = _arg1.y; return (0); } public static function ProcessThree(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:Array, _arg4:Array, _arg5:Array):int{ var _local6:b2Vec2; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:b2Vec2; var _local13:b2Vec2; var _local14:b2Vec2; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:Number; var _local38:Number; var _local39:Number; var _local40:Number; var _local41:Number; _local6 = _arg5[0]; _local7 = _arg5[1]; _local8 = _arg5[2]; _local9 = _arg3[0]; _local10 = _arg3[1]; _local11 = _arg3[2]; _local12 = _arg4[0]; _local13 = _arg4[1]; _local14 = _arg4[2]; _local15 = _local6.x; _local16 = _local6.y; _local17 = _local7.x; _local18 = _local7.y; _local19 = _local8.x; _local20 = _local8.y; _local21 = (_local17 - _local15); _local22 = (_local18 - _local16); _local23 = (_local19 - _local15); _local24 = (_local20 - _local16); _local25 = (_local19 - _local17); _local26 = (_local20 - _local18); _local27 = -(((_local15 * _local21) + (_local16 * _local22))); _local28 = ((_local17 * _local21) + (_local18 * _local22)); _local29 = -(((_local15 * _local23) + (_local16 * _local24))); _local30 = ((_local19 * _local23) + (_local20 * _local24)); _local31 = -(((_local17 * _local25) + (_local18 * _local26))); _local32 = ((_local19 * _local25) + (_local20 * _local26)); if ((((_local30 <= 0)) && ((_local32 <= 0)))){ _arg1.SetV(_local11); _arg2.SetV(_local14); _local9.SetV(_local11); _local12.SetV(_local14); _local6.SetV(_local8); return (1); }; _local33 = ((_local21 * _local24) - (_local22 * _local23)); _local34 = (_local33 * ((_local15 * _local18) - (_local16 * _local17))); _local36 = (_local33 * ((_local17 * _local20) - (_local18 * _local19))); if ((((((((_local36 <= 0)) && ((_local31 >= 0)))) && ((_local32 >= 0)))) && (((_local31 + _local32) > 0)))){ _local35 = (_local31 / (_local31 + _local32)); _arg1.x = (_local10.x + (_local35 * (_local11.x - _local10.x))); _arg1.y = (_local10.y + (_local35 * (_local11.y - _local10.y))); _arg2.x = (_local13.x + (_local35 * (_local14.x - _local13.x))); _arg2.y = (_local13.y + (_local35 * (_local14.y - _local13.y))); _local9.SetV(_local11); _local12.SetV(_local14); _local6.SetV(_local8); return (2); }; _local37 = (_local33 * ((_local19 * _local16) - (_local20 * _local15))); if ((((((((_local37 <= 0)) && ((_local29 >= 0)))) && ((_local30 >= 0)))) && (((_local29 + _local30) > 0)))){ _local35 = (_local29 / (_local29 + _local30)); _arg1.x = (_local9.x + (_local35 * (_local11.x - _local9.x))); _arg1.y = (_local9.y + (_local35 * (_local11.y - _local9.y))); _arg2.x = (_local12.x + (_local35 * (_local14.x - _local12.x))); _arg2.y = (_local12.y + (_local35 * (_local14.y - _local12.y))); _local10.SetV(_local11); _local13.SetV(_local14); _local7.SetV(_local8); return (2); }; _local38 = ((_local36 + _local37) + _local34); _local38 = (1 / _local38); _local39 = (_local36 * _local38); _local40 = (_local37 * _local38); _local41 = ((1 - _local39) - _local40); _arg1.x = (((_local39 * _local9.x) + (_local40 * _local10.x)) + (_local41 * _local11.x)); _arg1.y = (((_local39 * _local9.y) + (_local40 * _local10.y)) + (_local41 * _local11.y)); _arg2.x = (((_local39 * _local12.x) + (_local40 * _local13.x)) + (_local41 * _local14.x)); _arg2.y = (((_local39 * _local12.y) + (_local40 * _local13.y)) + (_local41 * _local14.y)); return (3); } public static function DistancePC(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2PolygonShape, _arg4:b2XForm, _arg5:b2CircleShape, _arg6:b2XForm):Number{ var _local7:b2Mat22; var _local8:b2Vec2; var _local9:b2Point; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; _local9 = gPoint; _local8 = _arg5.m_localPosition; _local7 = _arg6.R; _local9.p.x = (_arg6.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); _local9.p.y = (_arg6.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); _local10 = DistanceGeneric(_arg1, _arg2, _arg3, _arg4, _local9, b2Math.b2XForm_identity); _local11 = (_arg5.m_radius - b2Settings.b2_toiSlop); if (_local10 > _local11){ _local10 = (_local10 - _local11); _local12 = (_arg2.x - _arg1.x); _local13 = (_arg2.y - _arg1.y); _local14 = Math.sqrt(((_local12 * _local12) + (_local13 * _local13))); _local12 = (_local12 / _local14); _local13 = (_local13 / _local14); _arg2.x = (_arg2.x - (_local11 * _local12)); _arg2.y = (_arg2.y - (_local11 * _local13)); } else { _local10 = 0; _arg2.x = _arg1.x; _arg2.y = _arg1.y; }; return (_local10); } public static function Distance(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Shape, _arg4:b2XForm, _arg5:b2Shape, _arg6:b2XForm):Number{ var _local7:int; var _local8:int; _local7 = _arg3.m_type; _local8 = _arg5.m_type; if ((((_local7 == b2Shape.e_circleShape)) && ((_local8 == b2Shape.e_circleShape)))){ return (DistanceCC(_arg1, _arg2, (_arg3 as b2CircleShape), _arg4, (_arg5 as b2CircleShape), _arg6)); }; if ((((_local7 == b2Shape.e_polygonShape)) && ((_local8 == b2Shape.e_circleShape)))){ return (DistancePC(_arg1, _arg2, (_arg3 as b2PolygonShape), _arg4, (_arg5 as b2CircleShape), _arg6)); }; if ((((_local7 == b2Shape.e_circleShape)) && ((_local8 == b2Shape.e_polygonShape)))){ return (DistancePC(_arg2, _arg1, (_arg5 as b2PolygonShape), _arg6, (_arg3 as b2CircleShape), _arg4)); }; if ((((_local7 == b2Shape.e_polygonShape)) && ((_local8 == b2Shape.e_polygonShape)))){ return (DistanceGeneric(_arg1, _arg2, (_arg3 as b2PolygonShape), _arg4, (_arg5 as b2PolygonShape), _arg6)); }; return (0); } public static function ProcessTwo(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:Array, _arg4:Array, _arg5:Array):int{ var _local6:b2Vec2; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; _local6 = _arg5[0]; _local7 = _arg5[1]; _local8 = _arg3[0]; _local9 = _arg3[1]; _local10 = _arg4[0]; _local11 = _arg4[1]; _local12 = -(_local7.x); _local13 = -(_local7.y); _local14 = (_local6.x - _local7.x); _local15 = (_local6.y - _local7.y); _local16 = Math.sqrt(((_local14 * _local14) + (_local15 * _local15))); _local14 = (_local14 / _local16); _local15 = (_local15 / _local16); _local17 = ((_local12 * _local14) + (_local13 * _local15)); if ((((_local17 <= 0)) || ((_local16 < Number.MIN_VALUE)))){ _arg1.SetV(_local9); _arg2.SetV(_local11); _local8.SetV(_local9); _local10.SetV(_local11); _local6.SetV(_local7); return (1); }; _local17 = (_local17 / _local16); _arg1.x = (_local9.x + (_local17 * (_local8.x - _local9.x))); _arg1.y = (_local9.y + (_local17 * (_local8.y - _local9.y))); _arg2.x = (_local11.x + (_local17 * (_local10.x - _local11.x))); _arg2.y = (_local11.y + (_local17 * (_local10.y - _local11.y))); return (2); } } }//package Box2D.Collision
Section 18
//b2Manifold (Box2D.Collision.b2Manifold) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2Manifold { public var points:Array; public var pointCount:int;// = 0 public var normal:b2Vec2; public function b2Manifold(){ var _local1:int; pointCount = 0; super(); points = new Array(b2Settings.b2_maxManifoldPoints); _local1 = 0; while (_local1 < b2Settings.b2_maxManifoldPoints) { points[_local1] = new b2ManifoldPoint(); _local1++; }; normal = new b2Vec2(); } public function Set(_arg1:b2Manifold):void{ var _local2:int; pointCount = _arg1.pointCount; _local2 = 0; while (_local2 < b2Settings.b2_maxManifoldPoints) { (points[_local2] as b2ManifoldPoint).Set(_arg1.points[_local2]); _local2++; }; normal.SetV(_arg1.normal); } public function Reset():void{ var _local1:int; _local1 = 0; while (_local1 < b2Settings.b2_maxManifoldPoints) { (points[_local1] as b2ManifoldPoint).Reset(); _local1++; }; normal.SetZero(); pointCount = 0; } } }//package Box2D.Collision
Section 19
//b2ManifoldPoint (Box2D.Collision.b2ManifoldPoint) package Box2D.Collision { import Box2D.Common.Math.*; public class b2ManifoldPoint { public var separation:Number; public var localPoint2:b2Vec2; public var normalImpulse:Number; public var tangentImpulse:Number; public var localPoint1:b2Vec2; public var id:b2ContactID; public function b2ManifoldPoint(){ localPoint1 = new b2Vec2(); localPoint2 = new b2Vec2(); id = new b2ContactID(); super(); } public function Set(_arg1:b2ManifoldPoint):void{ localPoint1.SetV(_arg1.localPoint1); localPoint2.SetV(_arg1.localPoint2); separation = _arg1.separation; normalImpulse = _arg1.normalImpulse; tangentImpulse = _arg1.tangentImpulse; id.key = _arg1.id.key; } public function Reset():void{ localPoint1.SetZero(); localPoint2.SetZero(); separation = 0; normalImpulse = 0; tangentImpulse = 0; id.key = 0; } } }//package Box2D.Collision
Section 20
//b2OBB (Box2D.Collision.b2OBB) package Box2D.Collision { import Box2D.Common.Math.*; public class b2OBB { public var R:b2Mat22; public var center:b2Vec2; public var extents:b2Vec2; public function b2OBB(){ R = new b2Mat22(); center = new b2Vec2(); extents = new b2Vec2(); super(); } } }//package Box2D.Collision
Section 21
//b2Pair (Box2D.Collision.b2Pair) package Box2D.Collision { import Box2D.Common.*; public class b2Pair { public var userData;// = null public var proxyId1:uint; public var proxyId2:uint; public var status:uint; public var next:uint; public static var e_pairFinal:uint = 4; public static var b2_tableMask:int = (b2_tableCapacity - 1); public static var e_pairRemoved:uint = 2; public static var b2_nullPair:uint = b2Settings.USHRT_MAX; public static var e_pairBuffered:uint = 1; public static var b2_nullProxy:uint = b2Settings.USHRT_MAX; public static var b2_tableCapacity:int = b2Settings.b2_maxPairs; public function b2Pair(){ userData = null; super(); } public function SetBuffered():void{ status = (status | e_pairBuffered); } public function IsBuffered():Boolean{ return (((status & e_pairBuffered) == e_pairBuffered)); } public function IsFinal():Boolean{ return (((status & e_pairFinal) == e_pairFinal)); } public function ClearRemoved():void{ status = (status & ~(e_pairRemoved)); } public function SetFinal():void{ status = (status | e_pairFinal); } public function IsRemoved():Boolean{ return (((status & e_pairRemoved) == e_pairRemoved)); } public function ClearBuffered():void{ status = (status & ~(e_pairBuffered)); } public function SetRemoved():void{ status = (status | e_pairRemoved); } } }//package Box2D.Collision
Section 22
//b2PairCallback (Box2D.Collision.b2PairCallback) package Box2D.Collision { public class b2PairCallback { public function PairRemoved(_arg1, _arg2, _arg3):void{ } public function PairAdded(_arg1, _arg2){ return (null); } } }//package Box2D.Collision
Section 23
//b2PairManager (Box2D.Collision.b2PairManager) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2PairManager { public var m_pairCount:int; public var :Array; public var :b2PairCallback; public var m_pairs:Array; public var  :int; public var m_hashTable:Array; public var m_broadPhase:b2BroadPhase; public var :uint; public function b2PairManager(){ var _local1:uint; super(); m_hashTable = new Array(b2Pair.b2_tableCapacity); _local1 = 0; while (_local1 < b2Pair.b2_tableCapacity) { m_hashTable[_local1] = b2Pair.b2_nullPair; _local1++; }; m_pairs = new Array(b2Settings.b2_maxPairs); _local1 = 0; while (_local1 < b2Settings.b2_maxPairs) { m_pairs[_local1] = new b2Pair(); _local1++; };  = new Array(b2Settings.b2_maxPairs); _local1 = 0; while (_local1 < b2Settings.b2_maxPairs) { [_local1] = new b2BufferedPair(); _local1++; }; _local1 = 0; while (_local1 < b2Settings.b2_maxPairs) { m_pairs[_local1].proxyId1 = b2Pair.b2_nullProxy; m_pairs[_local1].proxyId2 = b2Pair.b2_nullProxy; m_pairs[_local1].userData = null; m_pairs[_local1].status = 0; m_pairs[_local1].next = (_local1 + 1); _local1++; }; m_pairs[int((b2Settings.b2_maxPairs - 1))].next = b2Pair.b2_nullPair; m_pairCount = 0;  = 0; } private function (_arg1:uint, _arg2:uint, _arg3:uint):b2Pair{ var _local4:b2Pair; var _local5:uint; _local5 = m_hashTable[_arg3]; _local4 = m_pairs[_local5]; while (((!((_local5 == b2Pair.b2_nullPair))) && ((Equals(_local4, _arg1, _arg2) == false)))) { _local5 = _local4.next; _local4 = m_pairs[_local5]; }; if (_local5 == b2Pair.b2_nullPair){ return (null); }; return (_local4); } private function  (_arg1:uint, _arg2:uint):b2Pair{ var _local3:uint; var _local4:uint; if (_arg1 > _arg2){ _local4 = _arg1; _arg1 = _arg2; _arg2 = _local4; }; _local3 = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask); return ((_arg1, _arg2, _local3)); } private function  ():void{ } public function Commit():void{ var _local1:b2BufferedPair; var _local2:int; var _local3:int; var _local4:Array; var _local5:b2Pair; var _local6:b2Proxy; var _local7:b2Proxy; _local3 = 0; _local4 = m_broadPhase.m_proxyPool; _local2 = 0; while (_local2 <  ) { _local1 = [_local2]; _local5 =  (_local1.proxyId1, _local1.proxyId2); _local5.ClearBuffered(); _local6 = _local4[_local5.proxyId1]; _local7 = _local4[_local5.proxyId2]; if (_local5.IsRemoved()){ if (_local5.IsFinal() == true){ .PairRemoved(_local6.userData, _local7.userData, _local5.userData); }; _local1 = [_local3]; _local1.proxyId1 = _local5.proxyId1; _local1.proxyId2 = _local5.proxyId2; _local3++; } else { if (_local5.IsFinal() == false){ _local5.userData = .PairAdded(_local6.userData, _local7.userData); _local5.SetFinal(); }; }; _local2++; }; _local2 = 0; while (_local2 < _local3) { _local1 = [_local2]; (_local1.proxyId1, _local1.proxyId2); _local2++; };  = 0; if (b2BroadPhase.s_validate){ (); }; } public function RemoveBufferedPair(_arg1:int, _arg2:int):void{ var _local3:b2BufferedPair; var _local4:b2Pair; _local4 =  (_arg1, _arg2); if (_local4 == null){ return; }; if (_local4.IsBuffered() == false){ _local4.SetBuffered(); _local3 = [ ]; _local3.proxyId1 = _local4.proxyId1; _local3.proxyId2 = _local4.proxyId2;  ++; }; _local4.SetRemoved(); if (b2BroadPhase.s_validate){  (); }; } private function (_arg1:uint, _arg2:uint){ var _local3:b2Pair; var _local4:uint; var _local5:uint; var _local6:b2Pair; var _local7:uint; var _local8:uint; var _local9:*; if (_arg1 > _arg2){ _local7 = _arg1; _arg1 = _arg2; _arg2 = _local7; }; _local4 = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask); _local5 = m_hashTable[_local4]; _local6 = null; while (_local5 != b2Pair.b2_nullPair) { if (Equals(m_pairs[_local5], _arg1, _arg2)){ _local8 = _local5; _local3 = m_pairs[_local5]; if (_local6){ _local6.next = _local3.next; } else { m_hashTable[_local4] = _local3.next; }; _local3 = m_pairs[_local8]; _local9 = _local3.userData; _local3.next = ; _local3.proxyId1 = b2Pair.b2_nullProxy; _local3.proxyId2 = b2Pair.b2_nullProxy; _local3.userData = null; _local3.status = 0;  = _local8; m_pairCount--; return (_local9); } else { _local6 = m_pairs[_local5]; _local5 = _local6.next; }; }; return (null); } public function Initialize(_arg1:b2BroadPhase, _arg2:b2PairCallback):void{ m_broadPhase = _arg1;  = _arg2; } public function AddBufferedPair(_arg1:int, _arg2:int):void{ var _local3:b2BufferedPair; var _local4:b2Pair; _local4 = (_arg1, _arg2); if (_local4.IsBuffered() == false){ _local4.SetBuffered(); _local3 = [ ]; _local3.proxyId1 = _local4.proxyId1; _local3.proxyId2 = _local4.proxyId2;  ++; }; _local4.ClearRemoved(); if (b2BroadPhase.s_validate){  (); }; } private function (_arg1:uint, _arg2:uint):b2Pair{ var _local3:uint; var _local4:b2Pair; var _local5:uint; var _local6:uint; if (_arg1 > _arg2){ _local6 = _arg1; _arg1 = _arg2; _arg2 = _local6; }; _local3 = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask); _local4 = (_arg1, _arg2, _local3); if (_local4 != null){ return (_local4); }; _local5 = ; _local4 = m_pairs[_local5];  = _local4.next; _local4.proxyId1 = _arg1; _local4.proxyId2 = _arg2; _local4.status = 0; _local4.userData = null; _local4.next = m_hashTable[_local3]; m_hashTable[_local3] = _local5; m_pairCount++; return (_local4); } private function ():void{ } public static function EqualsPair(_arg1:b2BufferedPair, _arg2:b2BufferedPair):Boolean{ return ((((_arg1.proxyId1 == _arg2.proxyId1)) && ((_arg1.proxyId2 == _arg2.proxyId2)))); } public static function Hash(_arg1:uint, _arg2:uint):uint{ var _local3:uint; _local3 = (((_arg2 << 16) & 4294901760) | _arg1); _local3 = (~(_local3) + ((_local3 << 15) & 4294934528)); _local3 = (_local3 ^ ((_local3 >> 12) & 1048575)); _local3 = (_local3 + ((_local3 << 2) & 4294967292)); _local3 = (_local3 ^ ((_local3 >> 4) & 268435455)); _local3 = (_local3 * 2057); _local3 = (_local3 ^ ((_local3 >> 16) & 0xFFFF)); return (_local3); } public static function Equals(_arg1:b2Pair, _arg2:uint, _arg3:uint):Boolean{ return ((((_arg1.proxyId1 == _arg2)) && ((_arg1.proxyId2 == _arg3)))); } } }//package Box2D.Collision
Section 24
//b2Point (Box2D.Collision.b2Point) package Box2D.Collision { import Box2D.Common.Math.*; public class b2Point { public var p:b2Vec2; public function b2Point(){ p = new b2Vec2(); super(); } public function GetFirstVertex(_arg1:b2XForm):b2Vec2{ return (p); } public function Support(_arg1:b2XForm, _arg2:Number, _arg3:Number):b2Vec2{ return (p); } } }//package Box2D.Collision
Section 25
//b2Proxy (Box2D.Collision.b2Proxy) package Box2D.Collision { public class b2Proxy { public var overlapCount:uint; public var lowerBounds:Array; public var upperBounds:Array; public var userData;// = null public var timeStamp:uint; public function b2Proxy(){ lowerBounds = [uint(0), uint(0)]; upperBounds = [uint(0), uint(0)]; userData = null; super(); } public function GetNext():uint{ return (lowerBounds[0]); } public function IsValid():Boolean{ return (!((overlapCount == b2BroadPhase.b2_invalid))); } public function SetNext(_arg1:uint):void{ lowerBounds[0] = (_arg1 & 0xFFFF); } } }//package Box2D.Collision
Section 26
//b2Segment (Box2D.Collision.b2Segment) package Box2D.Collision { import Box2D.Common.Math.*; public class b2Segment { public var p1:b2Vec2; public var p2:b2Vec2; public function b2Segment(){ p1 = new b2Vec2(); p2 = new b2Vec2(); super(); } public function TestSegment(_arg1:Array, _arg2:b2Vec2, _arg3:b2Segment, _arg4:Number):Boolean{ var _local5:b2Vec2; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; _local5 = _arg3.p1; _local6 = (_arg3.p2.x - _local5.x); _local7 = (_arg3.p2.y - _local5.y); _local8 = (p2.x - p1.x); _local9 = (p2.y - p1.y); _local10 = _local9; _local11 = -(_local8); _local12 = (100 * Number.MIN_VALUE); _local13 = -(((_local6 * _local10) + (_local7 * _local11))); if (_local13 > _local12){ _local14 = (_local5.x - p1.x); _local15 = (_local5.y - p1.y); _local16 = ((_local14 * _local10) + (_local15 * _local11)); if ((((0 <= _local16)) && ((_local16 <= (_arg4 * _local13))))){ _local17 = ((-(_local7) * _local15) + (_local7 * _local14)); if (((((-(_local12) * _local13) <= _local17)) && ((_local17 <= (_local13 * (1 + _local12)))))){ _local16 = (_local16 / _local13); _local18 = Math.sqrt(((_local10 * _local10) + (_local11 * _local11))); _local10 = (_local10 / _local18); _local11 = (_local11 / _local18); _arg1[0] = _local16; _arg2.Set(_local10, _local11); return (true); }; }; }; return (false); } } }//package Box2D.Collision
Section 27
//b2TimeOfImpact (Box2D.Collision.b2TimeOfImpact) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Common.*; public class b2TimeOfImpact { public static var s_xf1:b2XForm = new b2XForm(); public static var s_xf2:b2XForm = new b2XForm(); public static var s_p1:b2Vec2 = new b2Vec2(); public static var s_p2:b2Vec2 = new b2Vec2(); public static function TimeOfImpact(_arg1:b2Shape, _arg2:b2Sweep, _arg3:b2Shape, _arg4:b2Sweep):Number{ var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:b2Vec2; var _local18:b2Vec2; var _local19:int; var _local20:int; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:b2XForm; var _local27:b2XForm; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; _local7 = _arg1.m_sweepRadius; _local8 = _arg3.m_sweepRadius; _local9 = _arg2.t0; _local10 = (_arg2.c.x - _arg2.c0.x); _local11 = (_arg2.c.y - _arg2.c0.y); _local12 = (_arg4.c.x - _arg4.c0.x); _local13 = (_arg4.c.y - _arg4.c0.y); _local14 = (_arg2.a - _arg2.a0); _local15 = (_arg4.a - _arg4.a0); _local16 = 0; _local17 = s_p1; _local18 = s_p2; _local19 = 20; _local20 = 0; _local21 = 0; _local22 = 0; _local23 = 0; _local24 = 0; while (true) { _local25 = (((1 - _local16) * _local9) + _local16); _local26 = s_xf1; _local27 = s_xf2; _arg2.GetXForm(_local26, _local25); _arg4.GetXForm(_local27, _local25); _local23 = b2Distance.Distance(_local17, _local18, _arg1, _local26, _arg3, _local27); if (_local20 == 0){ if (_local23 > (2 * b2Settings.b2_toiSlop)){ _local24 = (1.5 * b2Settings.b2_toiSlop); } else { _local5 = (0.05 * b2Settings.b2_toiSlop); _local6 = (_local23 - (0.5 * b2Settings.b2_toiSlop)); _local24 = ((_local5 > _local6)) ? _local5 : _local6; }; }; if (((((_local23 - _local24) < (0.05 * b2Settings.b2_toiSlop))) || ((_local20 == _local19)))){ break; }; _local21 = (_local18.x - _local17.x); _local22 = (_local18.y - _local17.y); _local28 = Math.sqrt(((_local21 * _local21) + (_local22 * _local22))); _local21 = (_local21 / _local28); _local22 = (_local22 / _local28); _local29 = ((((_local21 * (_local10 - _local12)) + (_local22 * (_local11 - _local13))) + (((_local14 < 0)) ? -(_local14) : _local14 * _local7)) + (((_local15 < 0)) ? -(_local15) : _local15 * _local8)); if (_local29 == 0){ _local16 = 1; break; }; _local30 = ((_local23 - _local24) / _local29); _local31 = (_local16 + _local30); if ((((_local31 < 0)) || ((1 < _local31)))){ _local16 = 1; break; }; if (_local31 < ((1 + (100 * Number.MIN_VALUE)) * _local16)){ break; }; _local16 = _local31; _local20++; }; return (_local16); } } }//package Box2D.Collision
Section 28
//ClipVertex (Box2D.Collision.ClipVertex) package Box2D.Collision { import Box2D.Common.Math.*; public class ClipVertex { public var v:b2Vec2; public var id:b2ContactID; public function ClipVertex(){ v = new b2Vec2(); id = new b2ContactID(); super(); } } }//package Box2D.Collision
Section 29
//Features (Box2D.Collision.Features) package Box2D.Collision { public class Features { public var :int; public var :int; public var :int; public var  :int; public var  :b2ContactID; public function get referenceEdge():int{ return (); } public function set incidentVertex(_arg1:int):void{  = _arg1;  ._key = (( ._key & 4278255615) | (( << 16) & 0xFF0000)); } public function get flip():int{ return (); } public function get incidentEdge():int{ return (); } public function set referenceEdge(_arg1:int):void{  = _arg1;  ._key = (( ._key & 4294967040) | ( & 0xFF)); } public function set flip(_arg1:int):void{  = _arg1;  ._key = (( ._key & 0xFFFFFF) | (( << 24) & 4278190080)); } public function get incidentVertex():int{ return ( ); } public function set incidentEdge(_arg1:int):void{  = _arg1;  ._key = (( ._key & 4294902015) | (( << 8) & 0xFF00)); } } }//package Box2D.Collision
Section 30
//b2Mat22 (Box2D.Common.Math.b2Mat22) package Box2D.Common.Math { public class b2Mat22 { public var col1:b2Vec2; public var col2:b2Vec2; public function b2Mat22(_arg1:Number=0, _arg2:b2Vec2=null, _arg3:b2Vec2=null){ var _local4:Number; var _local5:Number; col1 = new b2Vec2(); col2 = new b2Vec2(); super(); if (((!((_arg2 == null))) && (!((_arg3 == null))))){ col1.SetV(_arg2); col2.SetV(_arg3); } else { _local4 = Math.cos(_arg1); _local5 = Math.sin(_arg1); col1.x = _local4; col2.x = -(_local5); col1.y = _local5; col2.y = _local4; }; } public function SetIdentity():void{ col1.x = 1; col2.x = 0; col1.y = 0; col2.y = 1; } public function Set(_arg1:Number):void{ var _local2:Number; var _local3:Number; _local2 = Math.cos(_arg1); _local3 = Math.sin(_arg1); col1.x = _local2; col2.x = -(_local3); col1.y = _local3; col2.y = _local2; } public function  (_arg1:b2Vec2, _arg2:b2Vec2):void{ col1.SetV(_arg1); col2.SetV(_arg2); } public function SetZero():void{ col1.x = 0; col2.x = 0; col1.y = 0; col2.y = 0; } public function SetM(_arg1:b2Mat22):void{ col1.SetV(_arg1.col1); col2.SetV(_arg1.col2); } public function AddM(_arg1:b2Mat22):void{ col1.x = (col1.x + _arg1.col1.x); col1.y = (col1.y + _arg1.col1.y); col2.x = (col2.x + _arg1.col2.x); col2.y = (col2.y + _arg1.col2.y); } public function Abs():void{ col1.Abs(); col2.Abs(); } public function Copy():b2Mat22{ return (new b2Mat22(0, col1, col2)); } public function Invert(_arg1:b2Mat22):b2Mat22{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; _local2 = col1.x; _local3 = col2.x; _local4 = col1.y; _local5 = col2.y; _local6 = ((_local2 * _local5) - (_local3 * _local4)); _local6 = (1 / _local6); _arg1.col1.x = (_local6 * _local5); _arg1.col2.x = (-(_local6) * _local3); _arg1.col1.y = (-(_local6) * _local4); _arg1.col2.y = (_local6 * _local2); return (_arg1); } public function GetAngle():Number{ return (Math.atan2(col1.y, col1.x)); } public function Solve(_arg1:b2Vec2, _arg2:Number, _arg3:Number):b2Vec2{ var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; _local4 = col1.x; _local5 = col2.x; _local6 = col1.y; _local7 = col2.y; _local8 = ((_local4 * _local7) - (_local5 * _local6)); _local8 = (1 / _local8); _arg1.x = (_local8 * ((_local7 * _arg2) - (_local5 * _arg3))); _arg1.y = (_local8 * ((_local4 * _arg3) - (_local6 * _arg2))); return (_arg1); } } }//package Box2D.Common.Math
Section 31
//b2Math (Box2D.Common.Math.b2Math) package Box2D.Common.Math { public class b2Math { public static const b2Mat22_identity:b2Mat22 = new b2Mat22(0, new b2Vec2(1, 0), new b2Vec2(0, 1)); public static const b2XForm_identity:b2XForm = new b2XForm(b2Vec2_zero, b2Mat22_identity); public static const b2Vec2_zero:b2Vec2 = new b2Vec2(0, 0); public static function b2CrossVF(_arg1:b2Vec2, _arg2:Number):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((_arg2 * _arg1.y), (-(_arg2) * _arg1.x)); return (_local3); } public static function AddVV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((_arg1.x + _arg2.x), (_arg1.y + _arg2.y)); return (_local3); } public static function b2IsValid(_arg1:Number):Boolean{ return (isFinite(_arg1)); } public static function b2MinV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2(b2Min(_arg1.x, _arg2.x), b2Min(_arg1.y, _arg2.y)); return (_local3); } public static function b2MulX(_arg1:b2XForm, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = b2MulMV(_arg1.R, _arg2); _local3.x = (_local3.x + _arg1.position.x); _local3.y = (_local3.y + _arg1.position.y); return (_local3); } public static function b2DistanceSquared(_arg1:b2Vec2, _arg2:b2Vec2):Number{ var _local3:Number; var _local4:Number; _local3 = (_arg1.x - _arg2.x); _local4 = (_arg1.y - _arg2.y); return (((_local3 * _local3) + (_local4 * _local4))); } public static function b2Swap(_arg1:Array, _arg2:Array):void{ var _local3:*; _local3 = _arg1[0]; _arg1[0] = _arg2[0]; _arg2[0] = _local3; } public static function b2AbsM(_arg1:b2Mat22):b2Mat22{ var _local2:b2Mat22; _local2 = new b2Mat22(0, b2AbsV(_arg1.col1), b2AbsV(_arg1.col2)); return (_local2); } public static function SubtractVV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((_arg1.x - _arg2.x), (_arg1.y - _arg2.y)); return (_local3); } public static function b2MulXT(_arg1:b2XForm, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; var _local4:Number; _local3 = SubtractVV(_arg2, _arg1.position); _local4 = ((_local3.x * _arg1.R.col1.x) + (_local3.y * _arg1.R.col1.y)); _local3.y = ((_local3.x * _arg1.R.col2.x) + (_local3.y * _arg1.R.col2.y)); _local3.x = _local4; return (_local3); } public static function b2Abs(_arg1:Number):Number{ return (((_arg1 > 0)) ? _arg1 : -(_arg1)); } public static function b2Clamp(_arg1:Number, _arg2:Number, _arg3:Number):Number{ return (b2Max(_arg2, b2Min(_arg1, _arg3))); } public static function b2AbsV(_arg1:b2Vec2):b2Vec2{ var _local2:b2Vec2; _local2 = new b2Vec2(b2Abs(_arg1.x), b2Abs(_arg1.y)); return (_local2); } public static function MulFV(_arg1:Number, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((_arg1 * _arg2.x), (_arg1 * _arg2.y)); return (_local3); } public static function b2CrossVV(_arg1:b2Vec2, _arg2:b2Vec2):Number{ return (((_arg1.x * _arg2.y) - (_arg1.y * _arg2.x))); } public static function b2Dot(_arg1:b2Vec2, _arg2:b2Vec2):Number{ return (((_arg1.x * _arg2.x) + (_arg1.y * _arg2.y))); } public static function b2CrossFV(_arg1:Number, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((-(_arg1) * _arg2.y), (_arg1 * _arg2.x)); return (_local3); } public static function AddMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Mat22; _local3 = new b2Mat22(0, AddVV(_arg1.col1, _arg2.col1), AddVV(_arg1.col2, _arg2.col2)); return (_local3); } public static function b2Distance(_arg1:b2Vec2, _arg2:b2Vec2):Number{ var _local3:Number; var _local4:Number; _local3 = (_arg1.x - _arg2.x); _local4 = (_arg1.y - _arg2.y); return (Math.sqrt(((_local3 * _local3) + (_local4 * _local4)))); } public static function b2MulTMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Vec2; var _local4:b2Vec2; var _local5:b2Mat22; _local3 = new b2Vec2(b2Dot(_arg1.col1, _arg2.col1), b2Dot(_arg1.col2, _arg2.col1)); _local4 = new b2Vec2(b2Dot(_arg1.col1, _arg2.col2), b2Dot(_arg1.col2, _arg2.col2)); _local5 = new b2Mat22(0, _local3, _local4); return (_local5); } public static function b2MaxV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2(b2Max(_arg1.x, _arg2.x), b2Max(_arg1.y, _arg2.y)); return (_local3); } public static function b2IsPowerOfTwo(_arg1:uint):Boolean{ var _local2:Boolean; _local2 = (((_arg1 > 0)) && (((_arg1 & (_arg1 - 1)) == 0))); return (_local2); } public static function b2ClampV(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2):b2Vec2{ return (b2MaxV(_arg2, b2MinV(_arg1, _arg3))); } public static function b2RandomRange(_arg1:Number, _arg2:Number):Number{ var _local3:Number; _local3 = Math.random(); _local3 = (((_arg2 - _arg1) * _local3) + _arg1); return (_local3); } public static function b2MulTMV(_arg1:b2Mat22, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2(b2Dot(_arg2, _arg1.col1), b2Dot(_arg2, _arg1.col2)); return (_local3); } public static function b2Min(_arg1:Number, _arg2:Number):Number{ return (((_arg1 < _arg2)) ? _arg1 : _arg2); } public static function b2Random():Number{ return (((Math.random() * 2) - 1)); } public static function b2MulMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Mat22; _local3 = new b2Mat22(0, b2MulMV(_arg1, _arg2.col1), b2MulMV(_arg1, _arg2.col2)); return (_local3); } public static function b2NextPowerOfTwo(_arg1:uint):uint{ _arg1 = (_arg1 | ((_arg1 >> 1) & 2147483647)); _arg1 = (_arg1 | ((_arg1 >> 2) & 1073741823)); _arg1 = (_arg1 | ((_arg1 >> 4) & 268435455)); _arg1 = (_arg1 | ((_arg1 >> 8) & 0xFFFFFF)); _arg1 = (_arg1 | ((_arg1 >> 16) & 0xFFFF)); return ((_arg1 + 1)); } public static function b2Max(_arg1:Number, _arg2:Number):Number{ return (((_arg1 > _arg2)) ? _arg1 : _arg2); } public static function b2MulMV(_arg1:b2Mat22, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2(((_arg1.col1.x * _arg2.x) + (_arg1.col2.x * _arg2.y)), ((_arg1.col1.y * _arg2.x) + (_arg1.col2.y * _arg2.y))); return (_local3); } } }//package Box2D.Common.Math
Section 32
//b2Sweep (Box2D.Common.Math.b2Sweep) package Box2D.Common.Math { public class b2Sweep { public var localCenter:b2Vec2; public var c:b2Vec2; public var a:Number; public var c0:b2Vec2; public var a0:Number; public var t0:Number; public function b2Sweep(){ localCenter = new b2Vec2(); c0 = new b2Vec2(); c = new b2Vec2(); super(); } public function Advance(_arg1:Number):void{ var _local2:Number; if ((((t0 < _arg1)) && (((1 - t0) > Number.MIN_VALUE)))){ _local2 = ((_arg1 - t0) / (1 - t0)); c0.x = (((1 - _local2) * c0.x) + (_local2 * c.x)); c0.y = (((1 - _local2) * c0.y) + (_local2 * c.y)); a0 = (((1 - _local2) * a0) + (_local2 * a)); t0 = _arg1; }; } public function GetXForm(_arg1:b2XForm, _arg2:Number):void{ var _local3:b2Mat22; var _local4:Number; var _local5:Number; if ((1 - t0) > Number.MIN_VALUE){ _local4 = ((_arg2 - t0) / (1 - t0)); _arg1.position.x = (((1 - _local4) * c0.x) + (_local4 * c.x)); _arg1.position.y = (((1 - _local4) * c0.y) + (_local4 * c.y)); _local5 = (((1 - _local4) * a0) + (_local4 * a)); _arg1.R.Set(_local5); } else { _arg1.position.SetV(c); _arg1.R.Set(a); }; _local3 = _arg1.R; _arg1.position.x = (_arg1.position.x - ((_local3.col1.x * localCenter.x) + (_local3.col2.x * localCenter.y))); _arg1.position.y = (_arg1.position.y - ((_local3.col1.y * localCenter.x) + (_local3.col2.y * localCenter.y))); } } }//package Box2D.Common.Math
Section 33
//b2Vec2 (Box2D.Common.Math.b2Vec2) package Box2D.Common.Math { public class b2Vec2 { public var x:Number; public var y:Number; public function b2Vec2(_arg1:Number=0, _arg2:Number=0):void{ x = _arg1; y = _arg2; } public function Set(_arg1:Number=0, _arg2:Number=0):void{ x = _arg1; y = _arg2; } public function Multiply(_arg1:Number):void{ x = (x * _arg1); y = (y * _arg1); } public function Length():Number{ return (Math.sqrt(((x * x) + (y * y)))); } public function LengthSquared():Number{ return (((x * x) + (y * y))); } public function SetZero():void{ x = 0; y = 0; } public function Add(_arg1:b2Vec2):void{ x = (x + _arg1.x); y = (y + _arg1.y); } public function  (_arg1:b2Vec2):void{ x = ((x > _arg1.x)) ? x : _arg1.x; y = ((y > _arg1.y)) ? y : _arg1.y; } public function SetV(_arg1:b2Vec2):void{ x = _arg1.x; y = _arg1.y; } public function Negative():b2Vec2{ return (new b2Vec2(-(x), -(y))); } public function  (_arg1:Number):void{ var _local2:Number; _local2 = x; x = (_arg1 * y); y = (-(_arg1) * _local2); } public function Abs():void{ if (x < 0){ x = -(x); }; if (y < 0){ y = -(y); }; } public function Copy():b2Vec2{ return (new b2Vec2(x, y)); } public function  (_arg1:b2Mat22):void{ var _local2:Number; _local2 = b2Math.b2Dot(this, _arg1.col1); y = b2Math.b2Dot(this, _arg1.col2); x = _local2; } public function IsValid():Boolean{ return (((b2Math.b2IsValid(x)) && (b2Math.b2IsValid(y)))); } public function  (_arg1:b2Vec2):void{ x = ((x < _arg1.x)) ? x : _arg1.x; y = ((y < _arg1.y)) ? y : _arg1.y; } public function  (_arg1:b2Mat22):void{ var _local2:Number; _local2 = x; x = ((_arg1.col1.x * _local2) + (_arg1.col2.x * y)); y = ((_arg1.col1.y * _local2) + (_arg1.col2.y * y)); } public function Normalize():Number{ var _local1:Number; var _local2:Number; _local1 = Math.sqrt(((x * x) + (y * y))); if (_local1 < Number.MIN_VALUE){ return (0); }; _local2 = (1 / _local1); x = (x * _local2); y = (y * _local2); return (_local1); } public function Subtract(_arg1:b2Vec2):void{ x = (x - _arg1.x); y = (y - _arg1.y); } public function  (_arg1:Number):void{ var _local2:Number; _local2 = x; x = (-(_arg1) * y); y = (_arg1 * _local2); } public static function Make(_arg1:Number, _arg2:Number):b2Vec2{ return (new b2Vec2(_arg1, _arg2)); } } }//package Box2D.Common.Math
Section 34
//b2XForm (Box2D.Common.Math.b2XForm) package Box2D.Common.Math { public class b2XForm { public var R:b2Mat22; public var position:b2Vec2; public function b2XForm(_arg1:b2Vec2=null, _arg2:b2Mat22=null):void{ position = new b2Vec2(); R = new b2Mat22(); super(); if (_arg1){ position.SetV(_arg1); R.SetM(_arg2); }; } public function Initialize(_arg1:b2Vec2, _arg2:b2Mat22):void{ position.SetV(_arg1); R.SetM(_arg2); } public function Set(_arg1:b2XForm):void{ position.SetV(_arg1.position); R.SetM(_arg1.R); } public function SetIdentity():void{ position.SetZero(); R.SetIdentity(); } } }//package Box2D.Common.Math
Section 35
//b2Color (Box2D.Common.b2Color) package Box2D.Common { import Box2D.Common.Math.*; public class b2Color { private var :uint;// = 0 private var :uint;// = 0 private var :uint;// = 0 public function b2Color(_arg1:Number, _arg2:Number, _arg3:Number){  = 0;  = 0;  = 0; super();  = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1)));  = uint((0xFF * b2Math.b2Clamp(_arg2, 0, 1)));  = uint((0xFF * b2Math.b2Clamp(_arg3, 0, 1))); } public function Set(_arg1:Number, _arg2:Number, _arg3:Number):void{  = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1)));  = uint((0xFF * b2Math.b2Clamp(_arg2, 0, 1)));  = uint((0xFF * b2Math.b2Clamp(_arg3, 0, 1))); } public function get color():uint{ return ((( | ( << 8)) | ( << 16))); } public function set r(_arg1:Number):void{  = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); } public function set b(_arg1:Number):void{  = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); } public function set g(_arg1:Number):void{  = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); } } }//package Box2D.Common
Section 36
//b2Settings (Box2D.Common.b2Settings) package Box2D.Common { import Box2D.Common.Math.*; public class b2Settings { public static const b2_angularSleepTolerance:Number = 0.0111111111111111; public static const b2_linearSleepTolerance:Number = 0.01; public static const b2_angularSlop:Number = 0.0349065850398866; public static const b2_linearSlop:Number = 0.005; public static const b2_pi:Number = 3.14159265358979; public static const b2_maxProxies:int = 0x0800; public static const b2_maxAngularVelocitySquared:Number = 62500; public static const b2_maxPolygonVertices:int = 8; public static const b2_velocityThreshold:Number = 1; public static const b2_contactBaumgarte:Number = 0.2; public static const b2_maxPairs:int = 16384; public static const b2_maxTOIContactsPerIsland:int = 32; public static const b2_timeToSleep:Number = 0.5; public static const b2_maxManifoldPoints:int = 2; public static const b2_maxAngularVelocity:Number = 250; public static const b2_maxAngularCorrection:Number = 0.139626340159546; public static const USHRT_MAX:int = 0xFFFF; public static const b2_maxLinearVelocity:Number = 200; public static const b2_maxLinearCorrection:Number = 0.2; public static const b2_toiSlop:Number = 0.04; public static const b2_maxLinearVelocitySquared:Number = 40000; public static function b2Assert(_arg1:Boolean):void{ var _local2:b2Vec2; if (!_arg1){ _local2.x++; }; } } }//package Box2D.Common
Section 37
//b2CircleContact (Box2D.Dynamics.Contacts.b2CircleContact) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; public class b2CircleContact extends b2Contact { private var  :Array; private var :b2Manifold; public var m_manifold:b2Manifold; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2CircleContact(_arg1:b2Shape, _arg2:b2Shape){ var _local3:b2ManifoldPoint;  = [new b2Manifold()];  = new b2Manifold(); super(_arg1, _arg2); m_manifold =  [0]; m_manifold.pointCount = 0; _local3 = m_manifold.points[0]; _local3.normalImpulse = 0; _local3.tangentImpulse = 0; } override public function GetManifolds():Array{ return ( ); } override public function Evaluate(_arg1:b2ContactListener):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2ManifoldPoint; var _local5:b2Body; var _local6:b2Body; var _local7:b2ContactPoint; var _local8:b2ManifoldPoint; _local5 = m_shape1.m_body; _local6 = m_shape2.m_body; .Set(m_manifold); b2Collision.b2CollideCircles(m_manifold, (m_shape1 as b2CircleShape), _local5.m_xf, (m_shape2 as b2CircleShape), _local6.m_xf); _local7 = s_evalCP; _local7.shape1 = m_shape1; _local7.shape2 = m_shape2; _local7.friction = m_friction; _local7.restitution = m_restitution; if (m_manifold.pointCount > 0){ m_manifoldCount = 1; _local8 = m_manifold.points[0]; if (.pointCount == 0){ _local8.normalImpulse = 0; _local8.tangentImpulse = 0; if (_arg1){ _local7.position = _local5.GetWorldPoint(_local8.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local8.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local8.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local8.separation; _local7.id.key = _local8.id._key; _arg1.Add(_local7); }; } else { _local4 = .points[0]; _local8.normalImpulse = _local4.normalImpulse; _local8.tangentImpulse = _local4.tangentImpulse; if (_arg1){ _local7.position = _local5.GetWorldPoint(_local8.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local8.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local8.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local8.separation; _local7.id.key = _local8.id._key; _arg1.Persist(_local7); }; }; } else { m_manifoldCount = 0; if ((((.pointCount > 0)) && (_arg1))){ _local4 = .points[0]; _local7.position = _local5.GetWorldPoint(_local4.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local4.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local4.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(.normal); _local7.separation = _local4.separation; _local7.id.key = _local4.id._key; _arg1.Remove(_local7); }; }; } public static function Destroy(_arg1:b2Contact, _arg2):void{ } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2CircleContact(_arg1, _arg2)); } } }//package Box2D.Dynamics.Contacts
Section 38
//b2Contact (Box2D.Dynamics.Contacts.b2Contact) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Common.*; public class b2Contact { public var m_shape1:b2Shape; public var m_shape2:b2Shape; public var m_prev:b2Contact; public var m_toi:Number; public var m_next:b2Contact; public var m_friction:Number; public var m_manifoldCount:int; public var m_node1:b2ContactEdge; public var m_node2:b2ContactEdge; public var m_restitution:Number; public var m_flags:uint; public static var e_toiFlag:uint = 8; public static var e_nonSolidFlag:uint = 1; public static var e_slowFlag:uint = 2; public static var e_islandFlag:uint = 4; public static var s_registers:Array; public static var s_initialized:Boolean = false; public function b2Contact(_arg1:b2Shape=null, _arg2:b2Shape=null){ m_node1 = new b2ContactEdge(); m_node2 = new b2ContactEdge(); super(); m_flags = 0; if (((!(_arg1)) || (!(_arg2)))){ m_shape1 = null; m_shape2 = null; return; }; if (((_arg1.()) || (_arg2.()))){ m_flags = (m_flags | e_nonSolidFlag); }; m_shape1 = _arg1; m_shape2 = _arg2; m_manifoldCount = 0; m_friction = Math.sqrt((m_shape1.m_friction * m_shape2.m_friction)); m_restitution = b2Math.b2Max(m_shape1.m_restitution, m_shape2.m_restitution); m_prev = null; m_next = null; m_node1.contact = null; m_node1.prev = null; m_node1.next = null; m_node1.other = null; m_node2.contact = null; m_node2.prev = null; m_node2.next = null; m_node2.other = null; } public function ():b2Shape{ return (m_shape1); } public function ():Boolean{ return (((m_flags & e_nonSolidFlag) == 0)); } public function GetNext():b2Contact{ return (m_next); } public function GetManifolds():Array{ return (null); } public function ():b2Shape{ return (m_shape2); } public function ():int{ return (m_manifoldCount); } public function Update(_arg1:b2ContactListener):void{ var _local2:int; var _local3:int; var _local4:b2Body; var _local5:b2Body; _local2 = m_manifoldCount; Evaluate(_arg1); _local3 = m_manifoldCount; _local4 = m_shape1.m_body; _local5 = m_shape2.m_body; if ((((_local3 == 0)) && ((_local2 > 0)))){ _local4.WakeUp(); _local5.WakeUp(); }; if (((((((_local4.IsStatic()) || (_local4.IsBullet()))) || (_local5.IsStatic()))) || (_local5.IsBullet()))){ m_flags = (m_flags & ~(e_slowFlag)); } else { m_flags = (m_flags | e_slowFlag); }; } public function Evaluate(_arg1:b2ContactListener):void{ } public static function InitializeRegisters():void{ var _local1:int; var _local2:int; s_registers = new Array(b2Shape.e_shapeTypeCount); _local1 = 0; while (_local1 < b2Shape.e_shapeTypeCount) { s_registers[_local1] = new Array(b2Shape.e_shapeTypeCount); _local2 = 0; while (_local2 < b2Shape.e_shapeTypeCount) { s_registers[_local1][_local2] = new b2ContactRegister(); _local2++; }; _local1++; }; AddType(b2CircleContact.Create, b2CircleContact.Destroy, b2Shape.e_circleShape, b2Shape.e_circleShape); AddType(b2PolyAndCircleContact.Create, b2PolyAndCircleContact.Destroy, b2Shape.e_polygonShape, b2Shape.e_circleShape); AddType(b2PolygonContact.Create, b2PolygonContact.Destroy, b2Shape.e_polygonShape, b2Shape.e_polygonShape); } public static function Destroy(_arg1:b2Contact, _arg2):void{ var _local3:int; var _local4:int; var _local5:b2ContactRegister; var _local6:Function; if (_arg1.m_manifoldCount > 0){ _arg1.m_shape1.m_body.WakeUp(); _arg1.m_shape2.m_body.WakeUp(); }; _local3 = _arg1.m_shape1.m_type; _local4 = _arg1.m_shape2.m_type; _local5 = s_registers[_local3][_local4]; _local6 = _local5.destroyFcn; _local6(_arg1, _arg2); } public static function AddType(_arg1:Function, _arg2:Function, _arg3:int, _arg4:int):void{ s_registers[_arg3][_arg4].createFcn = _arg1; s_registers[_arg3][_arg4].destroyFcn = _arg2; s_registers[_arg3][_arg4].primary = true; if (_arg3 != _arg4){ s_registers[_arg4][_arg3].createFcn = _arg1; s_registers[_arg4][_arg3].destroyFcn = _arg2; s_registers[_arg4][_arg3].primary = false; }; } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ var _local4:int; var _local5:int; var _local6:b2ContactRegister; var _local7:Function; var _local8:b2Contact; var _local9:int; var _local10:b2Manifold; if (s_initialized == false){ InitializeRegisters(); s_initialized = true; }; _local4 = _arg1.m_type; _local5 = _arg2.m_type; _local6 = s_registers[_local4][_local5]; _local7 = _local6.createFcn; if (_local7 != null){ if (_local6.primary){ return (_local7(_arg1, _arg2, _arg3)); }; _local8 = _local7(_arg2, _arg1, _arg3); _local9 = 0; while (_local9 < _local8.m_manifoldCount) { _local10 = _local8.GetManifolds()[_local9]; _local8.GetManifolds()[_local9].normal = _local10.normal.Negative(); _local9++; }; return (_local8); //unresolved jump }; return (null); } } }//package Box2D.Dynamics.Contacts
Section 39
//b2ContactConstraint (Box2D.Dynamics.Contacts.b2ContactConstraint) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.*; import Box2D.Common.*; public class b2ContactConstraint { public var points:Array; public var restitution:Number; public var body1:b2Body; public var manifold:b2Manifold; public var normal:b2Vec2; public var body2:b2Body; public var friction:Number; public var pointCount:int; public function b2ContactConstraint(){ var _local1:int; normal = new b2Vec2(); super(); points = new Array(b2Settings.b2_maxManifoldPoints); _local1 = 0; while (_local1 < b2Settings.b2_maxManifoldPoints) { points[_local1] = new b2ContactConstraintPoint(); _local1++; }; } } }//package Box2D.Dynamics.Contacts
Section 40
//b2ContactConstraintPoint (Box2D.Dynamics.Contacts.b2ContactConstraintPoint) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; public class b2ContactConstraintPoint { public var r2:b2Vec2; public var separation:Number; public var positionImpulse:Number; public var normalImpulse:Number; public var equalizedMass:Number; public var tangentMass:Number; public var tangentImpulse:Number; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var normalMass:Number; public var velocityBias:Number; public var r1:b2Vec2; public function b2ContactConstraintPoint(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); r1 = new b2Vec2(); r2 = new b2Vec2(); super(); } } }//package Box2D.Dynamics.Contacts
Section 41
//b2ContactEdge (Box2D.Dynamics.Contacts.b2ContactEdge) package Box2D.Dynamics.Contacts { import Box2D.Dynamics.*; public class b2ContactEdge { public var next:b2ContactEdge; public var other:b2Body; public var contact:b2Contact; public var prev:b2ContactEdge; } }//package Box2D.Dynamics.Contacts
Section 42
//b2ContactRegister (Box2D.Dynamics.Contacts.b2ContactRegister) package Box2D.Dynamics.Contacts { public class b2ContactRegister { public var primary:Boolean; public var createFcn:Function; public var destroyFcn:Function; } }//package Box2D.Dynamics.Contacts
Section 43
//b2ContactResult (Box2D.Dynamics.Contacts.b2ContactResult) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; public class b2ContactResult { public var normal:b2Vec2; public var position:b2Vec2; public var shape1:b2Shape; public var shape2:b2Shape; public var normalImpulse:Number; public var tangentImpulse:Number; public var id:b2ContactID; public function b2ContactResult(){ position = new b2Vec2(); normal = new b2Vec2(); id = new b2ContactID(); super(); } } }//package Box2D.Dynamics.Contacts
Section 44
//b2ContactSolver (Box2D.Dynamics.Contacts.b2ContactSolver) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.*; import Box2D.Common.*; public class b2ContactSolver { public var :int; public var m_constraints:Array; public var m_allocator; public var :b2TimeStep; public function b2ContactSolver(_arg1:b2TimeStep, _arg2:Array, _arg3:int, _arg4){ var _local5:b2Contact; var _local6:int; var _local7:b2Vec2; var _local8:b2Mat22; var _local9:int; var _local10:b2Body; var _local11:b2Body; var _local12:int; var _local13:Array; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:int; var _local23:b2Manifold; var _local24:Number; var _local25:Number; var _local26:b2ContactConstraint; var _local27:uint; var _local28:b2ManifoldPoint; var _local29:b2ContactConstraintPoint; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:Number; var _local38:Number; var _local39:Number; var _local40:Number; var _local41:Number; var _local42:Number; var _local43:Number; var _local44:Number; var _local45:Number; var _local46:Number; var _local47:Number;  = new b2TimeStep(); m_constraints = new Array(); super(); .dt = _arg1.dt; .inv_dt = _arg1.inv_dt; .maxIterations = _arg1.maxIterations; m_allocator = _arg4;  = 0; _local6 = 0; while (_local6 < _arg3) { _local5 = _arg2[_local6];  = ( + _local5.m_manifoldCount); _local6++; }; _local6 = 0; while (_local6 < ) { m_constraints[_local6] = new b2ContactConstraint(); _local6++; }; _local9 = 0; _local6 = 0; while (_local6 < _arg3) { _local5 = _arg2[_local6]; _local10 = _local5.m_shape1.m_body; _local11 = _local5.m_shape2.m_body; _local12 = _local5.m_manifoldCount; _local13 = _local5.GetManifolds(); _local14 = _local5.m_friction; _local15 = _local5.m_restitution; _local16 = _local10.m_linearVelocity.x; _local17 = _local10.m_linearVelocity.y; _local18 = _local11.m_linearVelocity.x; _local19 = _local11.m_linearVelocity.y; _local20 = _local10.m_angularVelocity; _local21 = _local11.m_angularVelocity; _local22 = 0; while (_local22 < _local12) { _local23 = _local13[_local22]; _local24 = _local23.normal.x; _local25 = _local23.normal.y; _local26 = m_constraints[_local9]; _local26.body1 = _local10; _local26.body2 = _local11; _local26.manifold = _local23; _local26.normal.x = _local24; _local26.normal.y = _local25; _local26.pointCount = _local23.pointCount; _local26.friction = _local14; _local26.restitution = _local15; _local27 = 0; while (_local27 < _local26.pointCount) { _local28 = _local23.points[_local27]; _local29 = _local26.points[_local27]; _local29.normalImpulse = _local28.normalImpulse; _local29.tangentImpulse = _local28.tangentImpulse; _local29.separation = _local28.separation; _local29.positionImpulse = 0; _local29.localAnchor1.SetV(_local28.localPoint1); _local29.localAnchor2.SetV(_local28.localPoint2); _local8 = _local10.m_xf.R; _local32 = (_local28.localPoint1.x - _local10.m_sweep.localCenter.x); _local33 = (_local28.localPoint1.y - _local10.m_sweep.localCenter.y); _local30 = ((_local8.col1.x * _local32) + (_local8.col2.x * _local33)); _local33 = ((_local8.col1.y * _local32) + (_local8.col2.y * _local33)); _local32 = _local30; _local29.r1.Set(_local32, _local33); _local8 = _local11.m_xf.R; _local34 = (_local28.localPoint2.x - _local11.m_sweep.localCenter.x); _local35 = (_local28.localPoint2.y - _local11.m_sweep.localCenter.y); _local30 = ((_local8.col1.x * _local34) + (_local8.col2.x * _local35)); _local35 = ((_local8.col1.y * _local34) + (_local8.col2.y * _local35)); _local34 = _local30; _local29.r2.Set(_local34, _local35); _local36 = ((_local32 * _local32) + (_local33 * _local33)); _local37 = ((_local34 * _local34) + (_local35 * _local35)); _local38 = ((_local32 * _local24) + (_local33 * _local25)); _local39 = ((_local34 * _local24) + (_local35 * _local25)); _local40 = (_local10.m_invMass + _local11.m_invMass); _local40 = (_local40 + ((_local10.m_invI * (_local36 - (_local38 * _local38))) + (_local11.m_invI * (_local37 - (_local39 * _local39))))); _local29.normalMass = (1 / _local40); _local41 = ((_local10.m_mass * _local10.m_invMass) + (_local11.m_mass * _local11.m_invMass)); _local41 = (_local41 + (((_local10.m_mass * _local10.m_invI) * (_local36 - (_local38 * _local38))) + ((_local11.m_mass * _local11.m_invI) * (_local37 - (_local39 * _local39))))); _local29.equalizedMass = (1 / _local41); _local42 = _local25; _local43 = -(_local24); _local44 = ((_local32 * _local42) + (_local33 * _local43)); _local45 = ((_local34 * _local42) + (_local35 * _local43)); _local46 = (_local10.m_invMass + _local11.m_invMass); _local46 = (_local46 + ((_local10.m_invI * (_local36 - (_local44 * _local44))) + (_local11.m_invI * (_local37 - (_local45 * _local45))))); _local29.tangentMass = (1 / _local46); _local29.velocityBias = 0; if (_local29.separation > 0){ _local29.velocityBias = (-60 * _local29.separation); }; _local30 = (((_local18 + (-(_local21) * _local35)) - _local16) - (-(_local20) * _local33)); _local31 = (((_local19 + (_local21 * _local34)) - _local17) - (_local20 * _local32)); _local47 = ((_local26.normal.x * _local30) + (_local26.normal.y * _local31)); if (_local47 < -(b2Settings.b2_velocityThreshold)){ _local29.velocityBias = (_local29.velocityBias + (-(_local26.restitution) * _local47)); }; _local27++; }; _local9++; _local22++; }; _local6++; }; } public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2Mat22; var _local5:int; var _local6:b2ContactConstraint; var _local7:b2Body; var _local8:b2Body; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:int; var _local19:int; var _local20:b2ContactConstraintPoint; var _local21:Number; var _local22:Number; var _local23:b2ContactConstraintPoint; _local5 = 0; while (_local5 < ) { _local6 = m_constraints[_local5]; _local7 = _local6.body1; _local8 = _local6.body2; _local9 = _local7.m_invMass; _local10 = _local7.m_invI; _local11 = _local8.m_invMass; _local12 = _local8.m_invI; _local13 = _local6.normal.x; _local14 = _local6.normal.y; _local15 = _local14; _local16 = -(_local13); if (_arg1.warmStarting){ _local19 = _local6.pointCount; _local18 = 0; while (_local18 < _local19) { _local20 = _local6.points[_local18]; _local6.points[_local18].normalImpulse = (_local20.normalImpulse * _arg1.dtRatio); _local20.tangentImpulse = (_local20.tangentImpulse * _arg1.dtRatio); _local21 = ((_local20.normalImpulse * _local13) + (_local20.tangentImpulse * _local15)); _local22 = ((_local20.normalImpulse * _local14) + (_local20.tangentImpulse * _local16)); _local7.m_angularVelocity = (_local7.m_angularVelocity - (_local10 * ((_local20.r1.x * _local22) - (_local20.r1.y * _local21)))); _local7.m_linearVelocity.x = (_local7.m_linearVelocity.x - (_local9 * _local21)); _local7.m_linearVelocity.y = (_local7.m_linearVelocity.y - (_local9 * _local22)); _local8.m_angularVelocity = (_local8.m_angularVelocity + (_local12 * ((_local20.r2.x * _local22) - (_local20.r2.y * _local21)))); _local8.m_linearVelocity.x = (_local8.m_linearVelocity.x + (_local11 * _local21)); _local8.m_linearVelocity.y = (_local8.m_linearVelocity.y + (_local11 * _local22)); _local18++; }; } else { _local19 = _local6.pointCount; _local18 = 0; while (_local18 < _local19) { _local23 = _local6.points[_local18]; _local23.normalImpulse = 0; _local23.tangentImpulse = 0; _local18++; }; }; _local5++; }; } public function SolvePositionConstraints(_arg1:Number):Boolean{ var _local2:Number; var _local3:b2Mat22; var _local4:b2Vec2; var _local5:int; var _local6:b2ContactConstraint; var _local7:b2Body; var _local8:b2Body; var _local9:b2Vec2; var _local10:Number; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:int; var _local20:int; var _local21:b2ContactConstraintPoint; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:Number; var _local38:Number; _local2 = 0; _local5 = 0; while (_local5 < ) { _local6 = m_constraints[_local5]; _local7 = _local6.body1; _local8 = _local6.body2; _local9 = _local7.m_sweep.c; _local10 = _local7.m_sweep.a; _local11 = _local8.m_sweep.c; _local12 = _local8.m_sweep.a; _local13 = (_local7.m_mass * _local7.m_invMass); _local14 = (_local7.m_mass * _local7.m_invI); _local15 = (_local8.m_mass * _local8.m_invMass); _local16 = (_local8.m_mass * _local8.m_invI); _local17 = _local6.normal.x; _local18 = _local6.normal.y; _local19 = _local6.pointCount; _local20 = 0; while (_local20 < _local19) { _local21 = _local6.points[_local20]; _local3 = _local7.m_xf.R; _local4 = _local7.m_sweep.localCenter; _local22 = (_local21.localAnchor1.x - _local4.x); _local23 = (_local21.localAnchor1.y - _local4.y); _local26 = ((_local3.col1.x * _local22) + (_local3.col2.x * _local23)); _local23 = ((_local3.col1.y * _local22) + (_local3.col2.y * _local23)); _local22 = _local26; _local3 = _local8.m_xf.R; _local4 = _local8.m_sweep.localCenter; _local24 = (_local21.localAnchor2.x - _local4.x); _local25 = (_local21.localAnchor2.y - _local4.y); _local26 = ((_local3.col1.x * _local24) + (_local3.col2.x * _local25)); _local25 = ((_local3.col1.y * _local24) + (_local3.col2.y * _local25)); _local24 = _local26; _local27 = (_local9.x + _local22); _local28 = (_local9.y + _local23); _local29 = (_local11.x + _local24); _local30 = (_local11.y + _local25); _local31 = (_local29 - _local27); _local32 = (_local30 - _local28); _local33 = (((_local31 * _local17) + (_local32 * _local18)) + _local21.separation); _local2 = b2Math.b2Min(_local2, _local33); _local34 = (_arg1 * b2Math.b2Clamp((_local33 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0)); _local35 = (-(_local21.equalizedMass) * _local34); _local36 = _local21.positionImpulse; _local21.positionImpulse = b2Math.b2Max((_local36 + _local35), 0); _local35 = (_local21.positionImpulse - _local36); _local37 = (_local35 * _local17); _local38 = (_local35 * _local18); _local9.x = (_local9.x - (_local13 * _local37)); _local9.y = (_local9.y - (_local13 * _local38)); _local10 = (_local10 - (_local14 * ((_local22 * _local38) - (_local23 * _local37)))); _local7.m_sweep.a = _local10; _local7.SynchronizeTransform(); _local11.x = (_local11.x + (_local15 * _local37)); _local11.y = (_local11.y + (_local15 * _local38)); _local12 = (_local12 + (_local16 * ((_local24 * _local38) - (_local25 * _local37)))); _local8.m_sweep.a = _local12; _local8.SynchronizeTransform(); _local20++; }; _local5++; }; return ((_local2 >= (-1.5 * b2Settings.b2_linearSlop))); } public function SolveVelocityConstraints():void{ var _local1:int; var _local2:b2ContactConstraintPoint; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:b2Mat22; var _local18:b2Vec2; var _local19:int; var _local20:b2ContactConstraint; var _local21:b2Body; var _local22:b2Body; var _local23:Number; var _local24:Number; var _local25:b2Vec2; var _local26:b2Vec2; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:int; var _local38:Number; _local19 = 0; while (_local19 < ) { _local20 = m_constraints[_local19]; _local21 = _local20.body1; _local22 = _local20.body2; _local23 = _local21.m_angularVelocity; _local24 = _local22.m_angularVelocity; _local25 = _local21.m_linearVelocity; _local26 = _local22.m_linearVelocity; _local27 = _local21.m_invMass; _local28 = _local21.m_invI; _local29 = _local22.m_invMass; _local30 = _local22.m_invI; _local31 = _local20.normal.x; _local32 = _local20.normal.y; _local33 = _local32; _local34 = -(_local31); _local35 = _local20.friction; _local37 = _local20.pointCount; _local1 = 0; while (_local1 < _local37) { _local2 = _local20.points[_local1]; _local7 = (((_local26.x + (-(_local24) * _local2.r2.y)) - _local25.x) - (-(_local23) * _local2.r1.y)); _local8 = (((_local26.y + (_local24 * _local2.r2.x)) - _local25.y) - (_local23 * _local2.r1.x)); _local9 = ((_local7 * _local31) + (_local8 * _local32)); _local11 = (-(_local2.normalMass) * (_local9 - _local2.velocityBias)); _local10 = ((_local7 * _local33) + (_local8 * _local34)); _local12 = (_local2.tangentMass * -(_local10)); _local13 = b2Math.b2Max((_local2.normalImpulse + _local11), 0); _local11 = (_local13 - _local2.normalImpulse); _local38 = (_local35 * _local2.normalImpulse); _local14 = b2Math.b2Clamp((_local2.tangentImpulse + _local12), -(_local38), _local38); _local12 = (_local14 - _local2.tangentImpulse); _local15 = ((_local11 * _local31) + (_local12 * _local33)); _local16 = ((_local11 * _local32) + (_local12 * _local34)); _local25.x = (_local25.x - (_local27 * _local15)); _local25.y = (_local25.y - (_local27 * _local16)); _local23 = (_local23 - (_local28 * ((_local2.r1.x * _local16) - (_local2.r1.y * _local15)))); _local26.x = (_local26.x + (_local29 * _local15)); _local26.y = (_local26.y + (_local29 * _local16)); _local24 = (_local24 + (_local30 * ((_local2.r2.x * _local16) - (_local2.r2.y * _local15)))); _local2.normalImpulse = _local13; _local2.tangentImpulse = _local14; _local1++; }; _local21.m_angularVelocity = _local23; _local22.m_angularVelocity = _local24; _local19++; }; } public function FinalizeVelocityConstraints():void{ var _local1:int; var _local2:b2ContactConstraint; var _local3:b2Manifold; var _local4:int; var _local5:b2ManifoldPoint; var _local6:b2ContactConstraintPoint; _local1 = 0; while (_local1 < ) { _local2 = m_constraints[_local1]; _local3 = _local2.manifold; _local4 = 0; while (_local4 < _local2.pointCount) { _local5 = _local3.points[_local4]; _local6 = _local2.points[_local4]; _local5.normalImpulse = _local6.normalImpulse; _local5.tangentImpulse = _local6.tangentImpulse; _local4++; }; _local1++; }; } } }//package Box2D.Dynamics.Contacts
Section 45
//b2NullContact (Box2D.Dynamics.Contacts.b2NullContact) package Box2D.Dynamics.Contacts { import Box2D.Dynamics.*; public class b2NullContact extends b2Contact { override public function GetManifolds():Array{ return (null); } override public function Evaluate(_arg1:b2ContactListener):void{ } } }//package Box2D.Dynamics.Contacts
Section 46
//b2PolyAndCircleContact (Box2D.Dynamics.Contacts.b2PolyAndCircleContact) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Common.*; public class b2PolyAndCircleContact extends b2Contact { private var  :Array; private var :b2Manifold; public var m_manifold:b2Manifold; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2PolyAndCircleContact(_arg1:b2Shape, _arg2:b2Shape){ var _local3:b2ManifoldPoint;  = [new b2Manifold()];  = new b2Manifold(); super(_arg1, _arg2); m_manifold =  [0]; b2Settings.b2Assert((m_shape1.m_type == b2Shape.e_polygonShape)); b2Settings.b2Assert((m_shape2.m_type == b2Shape.e_circleShape)); m_manifold.pointCount = 0; _local3 = m_manifold.points[0]; _local3.normalImpulse = 0; _local3.tangentImpulse = 0; } override public function GetManifolds():Array{ return ( ); } override public function Evaluate(_arg1:b2ContactListener):void{ var _local2:int; var _local3:b2Vec2; var _local4:b2Vec2; var _local5:b2ManifoldPoint; var _local6:b2Body; var _local7:b2Body; var _local8:Array; var _local9:b2ContactPoint; var _local10:b2ManifoldPoint; var _local11:Boolean; var _local12:uint; var _local13:int; _local6 = m_shape1.m_body; _local7 = m_shape2.m_body; .Set(m_manifold); b2Collision.b2CollidePolygonAndCircle(m_manifold, (m_shape1 as b2PolygonShape), _local6.m_xf, (m_shape2 as b2CircleShape), _local7.m_xf); _local8 = [false, false]; _local9 = s_evalCP; _local9.shape1 = m_shape1; _local9.shape2 = m_shape2; _local9.friction = m_friction; _local9.restitution = m_restitution; if (m_manifold.pointCount > 0){ _local2 = 0; while (_local2 < m_manifold.pointCount) { _local10 = m_manifold.points[_local2]; _local10.normalImpulse = 0; _local10.tangentImpulse = 0; _local11 = false; _local12 = _local10.id._key; _local13 = 0; while (_local13 < .pointCount) { if (_local8[_local13] == true){ } else { _local5 = .points[_local13]; if (_local5.id._key == _local12){ _local8[_local13] = true; _local10.normalImpulse = _local5.normalImpulse; _local10.tangentImpulse = _local5.tangentImpulse; _local11 = true; if (_arg1 != null){ _local9.position = _local6.GetWorldPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local4 = _local7.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local9.velocity.Set((_local4.x - _local3.x), (_local4.y - _local3.y)); _local9.normal.SetV(m_manifold.normal); _local9.separation = _local10.separation; _local9.id.key = _local12; _arg1.Persist(_local9); }; break; }; }; _local13++; }; if ((((_local11 == false)) && (!((_arg1 == null))))){ _local9.position = _local6.GetWorldPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local4 = _local7.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local9.velocity.Set((_local4.x - _local3.x), (_local4.y - _local3.y)); _local9.normal.SetV(m_manifold.normal); _local9.separation = _local10.separation; _local9.id.key = _local12; _arg1.Add(_local9); }; _local2++; }; m_manifoldCount = 1; } else { m_manifoldCount = 0; }; if (_arg1 == null){ return; }; _local2 = 0; while (_local2 < .pointCount) { if (_local8[_local2]){ } else { _local5 = .points[_local2]; _local9.position = _local6.GetWorldPoint(_local5.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local5.localPoint1); _local4 = _local7.GetLinearVelocityFromLocalPoint(_local5.localPoint2); _local9.velocity.Set((_local4.x - _local3.x), (_local4.y - _local3.y)); _local9.normal.SetV(.normal); _local9.separation = _local5.separation; _local9.id.key = _local5.id._key; _arg1.Remove(_local9); }; _local2++; }; } public static function Destroy(_arg1:b2Contact, _arg2):void{ } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2PolyAndCircleContact(_arg1, _arg2)); } } }//package Box2D.Dynamics.Contacts
Section 47
//b2PolygonContact (Box2D.Dynamics.Contacts.b2PolygonContact) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; public class b2PolygonContact extends b2Contact { private var  :Array; private var :b2Manifold; public var m_manifold:b2Manifold; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2PolygonContact(_arg1:b2Shape, _arg2:b2Shape):void{  = new b2Manifold();  = [new b2Manifold()]; super(_arg1, _arg2); m_manifold =  [0]; m_manifold.pointCount = 0; } override public function GetManifolds():Array{ return ( ); } override public function Evaluate(_arg1:b2ContactListener):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2ManifoldPoint; var _local5:b2Body; var _local6:b2Body; var _local7:b2ContactPoint; var _local8:int; var _local9:Array; var _local10:b2ManifoldPoint; var _local11:Boolean; var _local12:uint; var _local13:int; _local5 = m_shape1.m_body; _local6 = m_shape2.m_body; .Set(m_manifold); b2Collision.b2CollidePolygons(m_manifold, (m_shape1 as b2PolygonShape), _local5.m_xf, (m_shape2 as b2PolygonShape), _local6.m_xf); _local9 = [false, false]; _local7 = s_evalCP; _local7.shape1 = m_shape1; _local7.shape2 = m_shape2; _local7.friction = m_friction; _local7.restitution = m_restitution; if (m_manifold.pointCount > 0){ _local8 = 0; while (_local8 < m_manifold.pointCount) { _local10 = m_manifold.points[_local8]; _local10.normalImpulse = 0; _local10.tangentImpulse = 0; _local11 = false; _local12 = _local10.id._key; _local13 = 0; while (_local13 < .pointCount) { if (_local9[_local13] == true){ } else { _local4 = .points[_local13]; if (_local4.id._key == _local12){ _local9[_local13] = true; _local10.normalImpulse = _local4.normalImpulse; _local10.tangentImpulse = _local4.tangentImpulse; _local11 = true; if (_arg1 != null){ _local7.position = _local5.GetWorldPoint(_local10.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local10.separation; _local7.id.key = _local12; _arg1.Persist(_local7); }; break; }; }; _local13++; }; if ((((_local11 == false)) && (!((_arg1 == null))))){ _local7.position = _local5.GetWorldPoint(_local10.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local10.separation; _local7.id.key = _local12; _arg1.Add(_local7); }; _local8++; }; m_manifoldCount = 1; } else { m_manifoldCount = 0; }; if (_arg1 == null){ return; }; _local8 = 0; while (_local8 < .pointCount) { if (_local9[_local8]){ } else { _local4 = .points[_local8]; _local7.position = _local5.GetWorldPoint(_local4.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local4.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local4.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(.normal); _local7.separation = _local4.separation; _local7.id.key = _local4.id._key; _arg1.Remove(_local7); }; _local8++; }; } public static function Destroy(_arg1:b2Contact, _arg2):void{ } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2PolygonContact(_arg1, _arg2)); } } }//package Box2D.Dynamics.Contacts
Section 48
//b2DistanceJoint (Box2D.Dynamics.Joints.b2DistanceJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2DistanceJoint extends b2Joint { public var m_mass:Number; public var :b2Vec2; public var m_impulse:Number; public var :Number; public var :Number; public var m_localAnchor2:b2Vec2; public var m_localAnchor1:b2Vec2; public var :Number; public var m_gamma:Number; public var  :Number; public function b2DistanceJoint(_arg1:b2DistanceJointDef){ var _local2:b2Mat22; var _local3:Number; var _local4:Number; m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2();  = new b2Vec2(); super(_arg1); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2);  = _arg1.length;  = _arg1.frequencyHz;  = _arg1.dampingRatio; m_impulse = 0; m_gamma = 0;  = 0; m_inv_dt = 0; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce():b2Vec2{ var _local1:b2Vec2; _local1 = new b2Vec2(); _local1.SetV(); _local1.Multiply((m_inv_dt * m_impulse)); return (_local1); } override public function SolvePositionConstraints():Boolean{ var _local1:b2Mat22; var _local2:b2Body; var _local3:b2Body; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; if ( > 0){ return (true); }; _local2 = m_body1; _local3 = m_body2; _local1 = _local2.m_xf.R; _local4 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local5 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local6 = ((_local1.col1.x * _local4) + (_local1.col2.x * _local5)); _local5 = ((_local1.col1.y * _local4) + (_local1.col2.y * _local5)); _local4 = _local6; _local1 = _local3.m_xf.R; _local7 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local8 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local6 = ((_local1.col1.x * _local7) + (_local1.col2.x * _local8)); _local8 = ((_local1.col1.y * _local7) + (_local1.col2.y * _local8)); _local7 = _local6; _local9 = (((_local3.m_sweep.c.x + _local7) - _local2.m_sweep.c.x) - _local4); _local10 = (((_local3.m_sweep.c.y + _local8) - _local2.m_sweep.c.y) - _local5); _local11 = Math.sqrt(((_local9 * _local9) + (_local10 * _local10))); _local9 = (_local9 / _local11); _local10 = (_local10 / _local11); _local12 = (_local11 -  ); _local12 = b2Math.b2Clamp(_local12, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); _local13 = (-(m_mass) * _local12); .Set(_local9, _local10); _local14 = (_local13 * .x); _local15 = (_local13 * .y); _local2.m_sweep.c.x = (_local2.m_sweep.c.x - (_local2.m_invMass * _local14)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y - (_local2.m_invMass * _local15)); _local2.m_sweep.a = (_local2.m_sweep.a - (_local2.m_invI * ((_local4 * _local15) - (_local5 * _local14)))); _local3.m_sweep.c.x = (_local3.m_sweep.c.x + (_local3.m_invMass * _local14)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + (_local3.m_invMass * _local15)); _local3.m_sweep.a = (_local3.m_sweep.a + (_local3.m_invI * ((_local7 * _local15) - (_local8 * _local14)))); _local2.SynchronizeTransform(); _local3.SynchronizeTransform(); return ((b2Math.b2Abs(_local12) < b2Settings.b2_linearSlop)); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Mat22; var _local3:Number; var _local4:b2Body; var _local5:b2Body; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; m_inv_dt = _arg1.inv_dt; _local4 = m_body1; _local5 = m_body2; _local2 = _local4.m_xf.R; _local6 = (m_localAnchor1.x - _local4.m_sweep.localCenter.x); _local7 = (m_localAnchor1.y - _local4.m_sweep.localCenter.y); _local3 = ((_local2.col1.x * _local6) + (_local2.col2.x * _local7)); _local7 = ((_local2.col1.y * _local6) + (_local2.col2.y * _local7)); _local6 = _local3; _local2 = _local5.m_xf.R; _local8 = (m_localAnchor2.x - _local5.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local5.m_sweep.localCenter.y); _local3 = ((_local2.col1.x * _local8) + (_local2.col2.x * _local9)); _local9 = ((_local2.col1.y * _local8) + (_local2.col2.y * _local9)); _local8 = _local3; .x = (((_local5.m_sweep.c.x + _local8) - _local4.m_sweep.c.x) - _local6); .y = (((_local5.m_sweep.c.y + _local9) - _local4.m_sweep.c.y) - _local7); _local10 = Math.sqrt(((.x * .x) + (.y * .y))); if (_local10 > b2Settings.b2_linearSlop){ .Multiply((1 / _local10)); } else { .SetZero(); }; _local11 = ((_local6 * .y) - (_local7 * .x)); _local12 = ((_local8 * .y) - (_local9 * .x)); _local13 = (((_local4.m_invMass + ((_local4.m_invI * _local11) * _local11)) + _local5.m_invMass) + ((_local5.m_invI * _local12) * _local12)); m_mass = (1 / _local13); if ( > 0){ _local14 = (_local10 -  ); _local15 = ((2 * Math.PI) * ); _local16 = (((2 * m_mass) * ) * _local15); _local17 = ((m_mass * _local15) * _local15); m_gamma = (1 / (_arg1.dt * (_local16 + (_arg1.dt * _local17))));  = (((_local14 * _arg1.dt) * _local17) * m_gamma); m_mass = (1 / (_local13 + m_gamma)); }; if (_arg1.warmStarting){ m_impulse = (m_impulse * _arg1.dtRatio); _local18 = (m_impulse * .x); _local19 = (m_impulse * .y); _local4.m_linearVelocity.x = (_local4.m_linearVelocity.x - (_local4.m_invMass * _local18)); _local4.m_linearVelocity.y = (_local4.m_linearVelocity.y - (_local4.m_invMass * _local19)); _local4.m_angularVelocity = (_local4.m_angularVelocity - (_local4.m_invI * ((_local6 * _local19) - (_local7 * _local18)))); _local5.m_linearVelocity.x = (_local5.m_linearVelocity.x + (_local5.m_invMass * _local18)); _local5.m_linearVelocity.y = (_local5.m_linearVelocity.y + (_local5.m_invMass * _local19)); _local5.m_angularVelocity = (_local5.m_angularVelocity + (_local5.m_invI * ((_local8 * _local19) - (_local9 * _local18)))); } else { m_impulse = 0; }; } override public function GetReactionTorque():Number{ return (0); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Mat22; var _local3:b2Body; var _local4:b2Body; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; _local3 = m_body1; _local4 = m_body2; _local2 = _local3.m_xf.R; _local5 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); _local6 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); _local7 = ((_local2.col1.x * _local5) + (_local2.col2.x * _local6)); _local6 = ((_local2.col1.y * _local5) + (_local2.col2.y * _local6)); _local5 = _local7; _local2 = _local4.m_xf.R; _local8 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local7 = ((_local2.col1.x * _local8) + (_local2.col2.x * _local9)); _local9 = ((_local2.col1.y * _local8) + (_local2.col2.y * _local9)); _local8 = _local7; _local10 = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local6)); _local11 = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local5)); _local12 = (_local4.m_linearVelocity.x + (-(_local4.m_angularVelocity) * _local9)); _local13 = (_local4.m_linearVelocity.y + (_local4.m_angularVelocity * _local8)); _local14 = ((.x * (_local12 - _local10)) + (.y * (_local13 - _local11))); _local15 = (-(m_mass) * ((_local14 + ) + (m_gamma * m_impulse))); m_impulse = (m_impulse + _local15); _local16 = (_local15 * .x); _local17 = (_local15 * .y); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x - (_local3.m_invMass * _local16)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y - (_local3.m_invMass * _local17)); _local3.m_angularVelocity = (_local3.m_angularVelocity - (_local3.m_invI * ((_local5 * _local17) - (_local6 * _local16)))); _local4.m_linearVelocity.x = (_local4.m_linearVelocity.x + (_local4.m_invMass * _local16)); _local4.m_linearVelocity.y = (_local4.m_linearVelocity.y + (_local4.m_invMass * _local17)); _local4.m_angularVelocity = (_local4.m_angularVelocity + (_local4.m_invI * ((_local8 * _local17) - (_local9 * _local16)))); } } }//package Box2D.Dynamics.Joints
Section 49
//b2DistanceJointDef (Box2D.Dynamics.Joints.b2DistanceJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2DistanceJointDef extends b2JointDef { public var length:Number; public var dampingRatio:Number; public var frequencyHz:Number; public var localAnchor2:b2Vec2; public var localAnchor1:b2Vec2; public function b2DistanceJointDef(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); super(); type = b2Joint.e_distanceJoint; length = 1; frequencyHz = 0; dampingRatio = 0; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2):void{ var _local5:Number; var _local6:Number; body1 = _arg1; body2 = _arg2; localAnchor1.SetV(body1.GetLocalPoint(_arg3)); localAnchor2.SetV(body2.GetLocalPoint(_arg4)); _local5 = (_arg4.x - _arg3.x); _local6 = (_arg4.y - _arg3.y); length = Math.sqrt(((_local5 * _local5) + (_local6 * _local6))); frequencyHz = 0; dampingRatio = 0; } } }//package Box2D.Dynamics.Joints
Section 50
//b2GearJoint (Box2D.Dynamics.Joints.b2GearJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2GearJoint extends b2Joint { public var m_force:Number; public var m_mass:Number; public var  :b2PrismaticJoint; public var  :b2PrismaticJoint; public var  :b2Body; public var :b2Body; public var m_constant:Number; public var :b2RevoluteJoint; public var :b2RevoluteJoint; public var m_groundAnchor1:b2Vec2; public var m_groundAnchor2:b2Vec2; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_ratio:Number; public var :b2Jacobian; public function b2GearJoint(_arg1:b2GearJointDef){ var _local2:int; var _local3:int; var _local4:Number; var _local5:Number; m_groundAnchor1 = new b2Vec2(); m_groundAnchor2 = new b2Vec2(); m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2();  = new b2Jacobian(); super(_arg1); _local2 = _arg1. .m_type; _local3 = _arg1. .m_type;  = null;  = null;  = null;  = null;  = _arg1. .m_body1; m_body1 = _arg1. .m_body2; if (_local2 == b2Joint.e_revoluteJoint){  = (_arg1. as b2RevoluteJoint); m_groundAnchor1.SetV(.m_localAnchor1); m_localAnchor1.SetV(.m_localAnchor2); _local4 = .GetJointAngle(); } else {  = (_arg1. as b2PrismaticJoint); m_groundAnchor1.SetV( .m_localAnchor1); m_localAnchor1.SetV( .m_localAnchor2); _local4 =  .GetJointTranslation(); };  = _arg1. .m_body1; m_body2 = _arg1. .m_body2; if (_local3 == b2Joint.e_revoluteJoint){  = (_arg1. as b2RevoluteJoint); m_groundAnchor2.SetV(.m_localAnchor1); m_localAnchor2.SetV(.m_localAnchor2); _local5 = .GetJointAngle(); } else {  = (_arg1. as b2PrismaticJoint); m_groundAnchor2.SetV( .m_localAnchor1); m_localAnchor2.SetV( .m_localAnchor2); _local5 =  .GetJointTranslation(); }; m_ratio = _arg1.ratio; m_constant = (_local4 + (m_ratio * _local5)); m_force = 0; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce():b2Vec2{ var _local1:b2Vec2; _local1 = new b2Vec2((m_force * .linear2.x), (m_force * .linear2.y)); return (_local1); } override public function SolvePositionConstraints():Boolean{ var _local1:Number; var _local2:b2Body; var _local3:b2Body; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; _local1 = 0; _local2 = m_body1; _local3 = m_body2; if (){ _local4 = .GetJointAngle(); } else { _local4 =  .GetJointTranslation(); }; if (){ _local5 = .GetJointAngle(); } else { _local5 =  .GetJointTranslation(); }; _local6 = (m_constant - (_local4 + (m_ratio * _local5))); _local7 = (-(m_mass) * _local6); _local2.m_sweep.c.x = (_local2.m_sweep.c.x + ((_local2.m_invMass * _local7) * .linear1.x)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y + ((_local2.m_invMass * _local7) * .linear1.y)); _local2.m_sweep.a = (_local2.m_sweep.a + ((_local2.m_invI * _local7) * .angular1)); _local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local3.m_invMass * _local7) * .linear2.x)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local3.m_invMass * _local7) * .linear2.y)); _local3.m_sweep.a = (_local3.m_sweep.a + ((_local3.m_invI * _local7) * .angular2)); _local2.SynchronizeTransform(); _local3.SynchronizeTransform(); return ((_local1 < b2Settings.b2_linearSlop)); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Body; var _local5:b2Body; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:b2Mat22; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; _local2 =  ; _local3 = ; _local4 = m_body1; _local5 = m_body2; _local14 = 0; .SetZero(); if (){ .angular1 = -1; _local14 = (_local14 + _local4.m_invI); } else { _local10 = _local2.m_xf.R; _local11 =  .m_localXAxis1; _local6 = ((_local10.col1.x * _local11.x) + (_local10.col2.x * _local11.y)); _local7 = ((_local10.col1.y * _local11.x) + (_local10.col2.y * _local11.y)); _local10 = _local4.m_xf.R; _local8 = (m_localAnchor1.x - _local4.m_sweep.localCenter.x); _local9 = (m_localAnchor1.y - _local4.m_sweep.localCenter.y); _local13 = ((_local10.col1.x * _local8) + (_local10.col2.x * _local9)); _local9 = ((_local10.col1.y * _local8) + (_local10.col2.y * _local9)); _local8 = _local13; _local12 = ((_local8 * _local7) - (_local9 * _local6)); .linear1.Set(-(_local6), -(_local7)); .angular1 = -(_local12); _local14 = (_local14 + (_local4.m_invMass + ((_local4.m_invI * _local12) * _local12))); }; if (){ .angular2 = -(m_ratio); _local14 = (_local14 + ((m_ratio * m_ratio) * _local5.m_invI)); } else { _local10 = _local3.m_xf.R; _local11 =  .m_localXAxis1; _local6 = ((_local10.col1.x * _local11.x) + (_local10.col2.x * _local11.y)); _local7 = ((_local10.col1.y * _local11.x) + (_local10.col2.y * _local11.y)); _local10 = _local5.m_xf.R; _local8 = (m_localAnchor2.x - _local5.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local5.m_sweep.localCenter.y); _local13 = ((_local10.col1.x * _local8) + (_local10.col2.x * _local9)); _local9 = ((_local10.col1.y * _local8) + (_local10.col2.y * _local9)); _local8 = _local13; _local12 = ((_local8 * _local7) - (_local9 * _local6)); .linear2.Set((-(m_ratio) * _local6), (-(m_ratio) * _local7)); .angular2 = (-(m_ratio) * _local12); _local14 = (_local14 + ((m_ratio * m_ratio) * (_local5.m_invMass + ((_local5.m_invI * _local12) * _local12)))); }; m_mass = (1 / _local14); if (_arg1.warmStarting){ _local15 = (_arg1.dt * m_force); _local4.m_linearVelocity.x = (_local4.m_linearVelocity.x + ((_local4.m_invMass * _local15) * .linear1.x)); _local4.m_linearVelocity.y = (_local4.m_linearVelocity.y + ((_local4.m_invMass * _local15) * .linear1.y)); _local4.m_angularVelocity = (_local4.m_angularVelocity + ((_local4.m_invI * _local15) * .angular1)); _local5.m_linearVelocity.x = (_local5.m_linearVelocity.x + ((_local5.m_invMass * _local15) * .linear2.x)); _local5.m_linearVelocity.y = (_local5.m_linearVelocity.y + ((_local5.m_invMass * _local15) * .linear2.y)); _local5.m_angularVelocity = (_local5.m_angularVelocity + ((_local5.m_invI * _local15) * .angular2)); } else { m_force = 0; }; } override public function GetReactionTorque():Number{ var _local1:b2Mat22; var _local2:Number; var _local3:Number; var _local4:Number; _local1 = m_body2.m_xf.R; _local2 = (m_localAnchor1.x - m_body2.m_sweep.localCenter.x); _local3 = (m_localAnchor1.y - m_body2.m_sweep.localCenter.y); _local4 = ((_local1.col1.x * _local2) + (_local1.col2.x * _local3)); _local3 = ((_local1.col1.y * _local2) + (_local1.col2.y * _local3)); _local2 = _local4; _local4 = ((m_force * .angular2) - ((_local2 * (m_force * .linear2.y)) - (_local3 * (m_force * .linear2.x)))); return (_local4); } public function GetRatio():Number{ return (m_ratio); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:Number; var _local5:Number; var _local6:Number; _local2 = m_body1; _local3 = m_body2; _local4 = .Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity); _local5 = ((-(_arg1.inv_dt) * m_mass) * _local4); m_force = (m_force + _local5); _local6 = (_arg1.dt * _local5); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local2.m_invMass * _local6) * .linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local2.m_invMass * _local6) * .linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local2.m_invI * _local6) * .angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local3.m_invMass * _local6) * .linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local3.m_invMass * _local6) * .linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3.m_invI * _local6) * .angular2)); } } }//package Box2D.Dynamics.Joints
Section 51
//b2GearJointDef (Box2D.Dynamics.Joints.b2GearJointDef) package Box2D.Dynamics.Joints { public class b2GearJointDef extends b2JointDef { public var  :b2Joint; public var  :b2Joint; public var ratio:Number; public function b2GearJointDef(){ type = b2Joint.e_gearJoint;  = null;  = null; ratio = 1; } } }//package Box2D.Dynamics.Joints
Section 52
//b2Jacobian (Box2D.Dynamics.Joints.b2Jacobian) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; public class b2Jacobian { public var linear1:b2Vec2; public var linear2:b2Vec2; public var angular2:Number; public var angular1:Number; public function b2Jacobian(){ linear1 = new b2Vec2(); linear2 = new b2Vec2(); super(); } public function Set(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:Number):void{ linear1.SetV(_arg1); angular1 = _arg2; linear2.SetV(_arg3); angular2 = _arg4; } public function SetZero():void{ linear1.SetZero(); angular1 = 0; linear2.SetZero(); angular2 = 0; } public function Compute(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:Number):Number{ return ((((((linear1.x * _arg1.x) + (linear1.y * _arg1.y)) + (angular1 * _arg2)) + ((linear2.x * _arg3.x) + (linear2.y * _arg3.y))) + (angular2 * _arg4))); } } }//package Box2D.Dynamics.Joints
Section 53
//b2Joint (Box2D.Dynamics.Joints.b2Joint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2Joint { public var m_islandFlag:Boolean; public var m_body1:b2Body; public var m_prev:b2Joint; public var m_next:b2Joint; public var m_type:int; public var m_collideConnected:Boolean; public var m_node1:b2JointEdge; public var m_node2:b2JointEdge; public var m_inv_dt:Number; public var m_userData; public var m_body2:b2Body; public static const e_unknownJoint:int = 0; public static const e_inactiveLimit:int = 0; public static const e_atUpperLimit:int = 2; public static const e_atLowerLimit:int = 1; public static const e_gearJoint:int = 6; public static const e_revoluteJoint:int = 1; public static const e_equalLimits:int = 3; public static const e_distanceJoint:int = 3; public static const e_pulleyJoint:int = 4; public static const e_prismaticJoint:int = 2; public static const e_mouseJoint:int = 5; public function b2Joint(_arg1:b2JointDef){ m_node1 = new b2JointEdge(); m_node2 = new b2JointEdge(); super(); m_type = _arg1.type; m_prev = null; m_next = null; m_body1 = _arg1.body1; m_body2 = _arg1.body2; m_collideConnected = _arg1.collideConnected; m_islandFlag = false; m_userData = _arg1.userData; } public function GetAnchor1():b2Vec2{ return (null); } public function GetAnchor2():b2Vec2{ return (null); } public function InitVelocityConstraints(_arg1:b2TimeStep):void{ } public function GetType():int{ return (m_type); } public function  ():b2Body{ return (m_body2); } public function GetNext():b2Joint{ return (m_next); } public function GetReactionTorque():Number{ return (0); } public function GetUserData(){ return (m_userData); } public function GetReactionForce():b2Vec2{ return (null); } public function SolvePositionConstraints():Boolean{ return (false); } public function SetUserData(_arg1):void{ m_userData = _arg1; } public function ():b2Body{ return (m_body1); } public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ } public function InitPositionConstraints():void{ } public static function Destroy(_arg1:b2Joint, _arg2):void{ } public static function Create(_arg1:b2JointDef, _arg2):b2Joint{ var _local3:b2Joint; _local3 = null; switch (_arg1.type){ case e_distanceJoint: _local3 = new b2DistanceJoint((_arg1 as b2DistanceJointDef)); break; case e_mouseJoint: _local3 = new b2MouseJoint((_arg1 as b2MouseJointDef)); break; case e_prismaticJoint: _local3 = new b2PrismaticJoint((_arg1 as b2PrismaticJointDef)); break; case e_revoluteJoint: _local3 = new b2RevoluteJoint((_arg1 as b2RevoluteJointDef)); break; case e_pulleyJoint: _local3 = new b2PulleyJoint((_arg1 as b2PulleyJointDef)); break; case e_gearJoint: _local3 = new b2GearJoint((_arg1 as b2GearJointDef)); break; default: break; }; return (_local3); } } }//package Box2D.Dynamics.Joints
Section 54
//b2JointDef (Box2D.Dynamics.Joints.b2JointDef) package Box2D.Dynamics.Joints { import Box2D.Dynamics.*; public class b2JointDef { public var collideConnected:Boolean; public var body1:b2Body; public var body2:b2Body; public var userData; public var type:int; public function b2JointDef(){ type = b2Joint.e_unknownJoint; userData = null; body1 = null; body2 = null; collideConnected = false; } } }//package Box2D.Dynamics.Joints
Section 55
//b2JointEdge (Box2D.Dynamics.Joints.b2JointEdge) package Box2D.Dynamics.Joints { import Box2D.Dynamics.*; public class b2JointEdge { public var joint:b2Joint; public var other:b2Body; public var next:b2JointEdge; public var prev:b2JointEdge; } }//package Box2D.Dynamics.Joints
Section 56
//b2MouseJoint (Box2D.Dynamics.Joints.b2MouseJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2MouseJoint extends b2Joint { public var  :Number; public var m_mass:b2Mat22; public var :b2Vec2; public var m_impulse:b2Vec2; public var :b2Vec2; private var :b2Mat22; private var :b2Mat22; private var K:b2Mat22; public var m_gamma:Number; public var :b2Vec2; public var  :Number; public function b2MouseJoint(_arg1:b2MouseJointDef){ var _local2:Number; var _local3:Number; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; K = new b2Mat22();  = new b2Mat22();  = new b2Mat22();  = new b2Vec2();  = new b2Vec2(); m_impulse = new b2Vec2(); m_mass = new b2Mat22();  = new b2Vec2(); super(_arg1); .SetV(_arg1.target); _local2 = (.x - m_body2.m_xf.position.x); _local3 = (.y - m_body2.m_xf.position.y); _local4 = m_body2.m_xf.R; .x = ((_local2 * _local4.col1.x) + (_local3 * _local4.col1.y)); .y = ((_local2 * _local4.col2.x) + (_local3 * _local4.col2.y));  = _arg1.maxForce; m_impulse.SetZero(); _local5 = m_body2.m_mass; _local6 = ((2 * b2Settings.b2_pi) * _arg1.frequencyHz); _local7 = (((2 * _local5) * _arg1.dampingRatio) * _local6); _local8 = ((_arg1.timeStep * _local5) * (_local6 * _local6)); m_gamma = (1 / (_local7 + _local8));   = (_local8 / (_local7 + _local8)); } override public function GetAnchor1():b2Vec2{ return (); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint()); } override public function GetReactionForce():b2Vec2{ return (m_impulse); } override public function SolvePositionConstraints():Boolean{ return (true); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; _local2 = m_body2; _local3 = _local2.m_xf.R; _local4 = (.x - _local2.m_sweep.localCenter.x); _local5 = (.y - _local2.m_sweep.localCenter.y); _local6 = ((_local3.col1.x * _local4) + (_local3.col2.x * _local5)); _local5 = ((_local3.col1.y * _local4) + (_local3.col2.y * _local5)); _local4 = _local6; _local7 = _local2.m_invMass; _local8 = _local2.m_invI; .col1.x = _local7; .col2.x = 0; .col1.y = 0; .col2.y = _local7; .col1.x = ((_local8 * _local5) * _local5); .col2.x = ((-(_local8) * _local4) * _local5); .col1.y = ((-(_local8) * _local4) * _local5); .col2.y = ((_local8 * _local4) * _local4); K.SetM(); K.AddM(); K.col1.x = (K.col1.x + m_gamma); K.col2.y = (K.col2.y + m_gamma); K.Invert(m_mass); .x = ((_local2.m_sweep.c.x + _local4) - .x); .y = ((_local2.m_sweep.c.y + _local5) - .y); _local2.m_angularVelocity = (_local2.m_angularVelocity * 0.98); _local9 = (_arg1.dt * m_impulse.x); _local10 = (_arg1.dt * m_impulse.y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local7 * _local9)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local7 * _local10)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local8 * ((_local4 * _local10) - (_local5 * _local9)))); } override public function GetReactionTorque():Number{ return (0); } public function SetTarget(_arg1:b2Vec2):void{ if (m_body2.IsSleeping()){ m_body2.WakeUp(); };  = _arg1; } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; _local2 = m_body2; _local3 = _local2.m_xf.R; _local6 = (.x - _local2.m_sweep.localCenter.x); _local7 = (.y - _local2.m_sweep.localCenter.y); _local4 = ((_local3.col1.x * _local6) + (_local3.col2.x * _local7)); _local7 = ((_local3.col1.y * _local6) + (_local3.col2.y * _local7)); _local6 = _local4; _local8 = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local7)); _local9 = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local6)); _local3 = m_mass; _local4 = ((_local8 + ((  * _arg1.inv_dt) * .x)) + ((m_gamma * _arg1.dt) * m_impulse.x)); _local5 = ((_local9 + ((  * _arg1.inv_dt) * .y)) + ((m_gamma * _arg1.dt) * m_impulse.y)); _local10 = (-(_arg1.inv_dt) * ((_local3.col1.x * _local4) + (_local3.col2.x * _local5))); _local11 = (-(_arg1.inv_dt) * ((_local3.col1.y * _local4) + (_local3.col2.y * _local5))); _local12 = m_impulse.x; _local13 = m_impulse.y; m_impulse.x = (m_impulse.x + _local10); m_impulse.y = (m_impulse.y + _local11); _local14 = m_impulse.Length(); if (_local14 >  ){ m_impulse.Multiply(( / _local14)); }; _local10 = (m_impulse.x - _local12); _local11 = (m_impulse.y - _local13); _local15 = (_arg1.dt * _local10); _local16 = (_arg1.dt * _local11); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local15)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local16)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local6 * _local16) - (_local7 * _local15)))); } } }//package Box2D.Dynamics.Joints
Section 57
//b2MouseJointDef (Box2D.Dynamics.Joints.b2MouseJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; public class b2MouseJointDef extends b2JointDef { public var frequencyHz:Number; public var dampingRatio:Number; public var maxForce:Number; public var target:b2Vec2; public var timeStep:Number; public function b2MouseJointDef(){ target = new b2Vec2(); super(); type = b2Joint.e_mouseJoint; maxForce = 0; frequencyHz = 5; dampingRatio = 0.7; timeStep = (1 / 60); } } }//package Box2D.Dynamics.Joints
Section 58
//b2PrismaticJoint (Box2D.Dynamics.Joints.b2PrismaticJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2PrismaticJoint extends b2Joint { public var m_limitForce:Number; public var :Number; public var  :Number; public var m_localXAxis1:b2Vec2; public var m_torque:Number; public var m_enableLimit:Boolean; public var m_motorForce:Number; public var m_force:Number; public var  :b2Vec2; public var m_motorMass:Number; public var  :Number; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var :Number; public var m_limitState:int; public var :Number; public var :Number; public var :b2Jacobian; public var m_limitPositionImpulse:Number; public var m_motorSpeed:Number; public var :b2Jacobian; public var m_enableMotor:Boolean; public function b2PrismaticJoint(_arg1:b2PrismaticJointDef){ var _local2:b2Mat22; var _local3:Number; var _local4:Number; m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_localXAxis1 = new b2Vec2();  = new b2Vec2();  = new b2Jacobian();  = new b2Jacobian(); super(_arg1); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2); m_localXAxis1.SetV(_arg1. );  .x = -(m_localXAxis1.y);  .y = m_localXAxis1.x;  = _arg1.referenceAngle; .SetZero();  = 0; m_force = 0;  = 0; m_torque = 0; .SetZero(); m_motorMass = 0; m_motorForce = 0; m_limitForce = 0; m_limitPositionImpulse = 0;  = _arg1. ;  = _arg1. ;  = _arg1. ; m_motorSpeed = _arg1.motorSpeed; m_enableLimit = _arg1.enableLimit; m_enableMotor = _arg1.enableMotor; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } public function EnableMotor(_arg1:Boolean):void{ m_enableMotor = _arg1; } public function GetUpperLimit():Number{ return (); } public function GetLowerLimit():Number{ return ( ); } public function GetJointTranslation():Number{ var _local1:b2Body; var _local2:b2Body; var _local3:b2Mat22; var _local4:b2Vec2; var _local5:b2Vec2; var _local6:Number; var _local7:Number; var _local8:b2Vec2; var _local9:Number; _local1 = m_body1; _local2 = m_body2; _local4 = _local1.GetWorldPoint(m_localAnchor1); _local5 = _local2.GetWorldPoint(m_localAnchor2); _local6 = (_local5.x - _local4.x); _local7 = (_local5.y - _local4.y); _local8 = _local1.GetWorldVector(m_localXAxis1); _local9 = ((_local8.x * _local6) + (_local8.y * _local7)); return (_local9); } public function SetLimits(_arg1:Number, _arg2:Number):void{  = _arg1;  = _arg2; } public function GetMotorSpeed():Number{ return (m_motorSpeed); } override public function GetReactionForce():b2Vec2{ var _local1:b2Mat22; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local1 = m_body1.m_xf.R; _local2 = (m_limitForce * ((_local1.col1.x * m_localXAxis1.x) + (_local1.col2.x * m_localXAxis1.y))); _local3 = (m_limitForce * ((_local1.col1.y * m_localXAxis1.x) + (_local1.col2.y * m_localXAxis1.y))); _local4 = (m_force * ((_local1.col1.x *  .x) + (_local1.col2.x *  .y))); _local5 = (m_force * ((_local1.col1.y *  .x) + (_local1.col2.y *  .y))); return (new b2Vec2(((m_limitForce * _local2) + (m_force * _local4)), ((m_limitForce * _local3) + (m_force * _local5)))); } override public function SolvePositionConstraints():Boolean{ var _local1:Number; var _local2:Number; var _local3:b2Body; var _local4:b2Body; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:b2Mat22; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; _local3 = m_body1; _local4 = m_body2; _local5 = _local3.m_invMass; _local6 = _local4.m_invMass; _local7 = _local3.m_invI; _local8 = _local4.m_invI; _local9 = _local3.m_xf.R; _local11 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); _local12 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local11) + (_local9.col2.x * _local12)); _local12 = ((_local9.col1.y * _local11) + (_local9.col2.y * _local12)); _local11 = _local10; _local9 = _local4.m_xf.R; _local13 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); _local14 = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local13) + (_local9.col2.x * _local14)); _local14 = ((_local9.col1.y * _local13) + (_local9.col2.y * _local14)); _local13 = _local10; _local15 = (_local3.m_sweep.c.x + _local11); _local16 = (_local3.m_sweep.c.y + _local12); _local17 = (_local4.m_sweep.c.x + _local13); _local18 = (_local4.m_sweep.c.y + _local14); _local19 = (_local17 - _local15); _local20 = (_local18 - _local16); _local9 = _local3.m_xf.R; _local21 = ((_local9.col1.x *  .x) + (_local9.col2.x *  .y)); _local22 = ((_local9.col1.y *  .x) + (_local9.col2.y *  .y)); _local23 = ((_local21 * _local19) + (_local22 * _local20)); _local23 = b2Math.b2Clamp(_local23, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); _local24 = (-() * _local23); _local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local5 * _local24) * .linear1.x)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local5 * _local24) * .linear1.y)); _local3.m_sweep.a = (_local3.m_sweep.a + ((_local7 * _local24) * .angular1)); _local4.m_sweep.c.x = (_local4.m_sweep.c.x + ((_local6 * _local24) * .linear2.x)); _local4.m_sweep.c.y = (_local4.m_sweep.c.y + ((_local6 * _local24) * .linear2.y)); _local4.m_sweep.a = (_local4.m_sweep.a + ((_local8 * _local24) * .angular2)); _local25 = b2Math.b2Abs(_local23); _local26 = ((_local4.m_sweep.a - _local3.m_sweep.a) - ); _local26 = b2Math.b2Clamp(_local26, -(b2Settings.b2_maxAngularCorrection), b2Settings.b2_maxAngularCorrection); _local27 = (-() * _local26); _local3.m_sweep.a = (_local3.m_sweep.a - (_local3.m_invI * _local27)); _local4.m_sweep.a = (_local4.m_sweep.a + (_local4.m_invI * _local27)); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); _local28 = b2Math.b2Abs(_local26); if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local9 = _local3.m_xf.R; _local11 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); _local12 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local11) + (_local9.col2.x * _local12)); _local12 = ((_local9.col1.y * _local11) + (_local9.col2.y * _local12)); _local11 = _local10; _local9 = _local4.m_xf.R; _local13 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); _local14 = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local13) + (_local9.col2.x * _local14)); _local14 = ((_local9.col1.y * _local13) + (_local9.col2.y * _local14)); _local13 = _local10; _local15 = (_local3.m_sweep.c.x + _local11); _local16 = (_local3.m_sweep.c.y + _local12); _local17 = (_local4.m_sweep.c.x + _local13); _local18 = (_local4.m_sweep.c.y + _local14); _local19 = (_local17 - _local15); _local20 = (_local18 - _local16); _local9 = _local3.m_xf.R; _local29 = ((_local9.col1.x * m_localXAxis1.x) + (_local9.col2.x * m_localXAxis1.y)); _local30 = ((_local9.col1.y * m_localXAxis1.x) + (_local9.col2.y * m_localXAxis1.y)); _local31 = ((_local29 * _local19) + (_local30 * _local20)); _local32 = 0; if (m_limitState == e_equalLimits){ _local1 = b2Math.b2Clamp(_local31, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); _local32 = (-(m_motorMass) * _local1); _local25 = b2Math.b2Max(_local25, b2Math.b2Abs(_local26)); } else { if (m_limitState == e_atLowerLimit){ _local1 = (_local31 -  ); _local25 = b2Math.b2Max(_local25, -(_local1)); _local1 = b2Math.b2Clamp((_local1 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local32 = (-(m_motorMass) * _local1); _local2 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Max((m_limitPositionImpulse + _local32), 0); _local32 = (m_limitPositionImpulse - _local2); } else { if (m_limitState == e_atUpperLimit){ _local1 = (_local31 - ); _local25 = b2Math.b2Max(_local25, _local1); _local1 = b2Math.b2Clamp((_local1 - b2Settings.b2_linearSlop), 0, b2Settings.b2_maxLinearCorrection); _local32 = (-(m_motorMass) * _local1); _local2 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Min((m_limitPositionImpulse + _local32), 0); _local32 = (m_limitPositionImpulse - _local2); }; }; }; _local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local5 * _local32) * .linear1.x)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local5 * _local32) * .linear1.y)); _local3.m_sweep.a = (_local3.m_sweep.a + ((_local7 * _local32) * .angular1)); _local4.m_sweep.c.x = (_local4.m_sweep.c.x + ((_local6 * _local32) * .linear2.x)); _local4.m_sweep.c.y = (_local4.m_sweep.c.y + ((_local6 * _local32) * .linear2.y)); _local4.m_sweep.a = (_local4.m_sweep.a + ((_local8 * _local32) * .angular2)); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); }; return ((((_local25 <= b2Settings.b2_linearSlop)) && ((_local28 <= b2Settings.b2_angularSlop)))); } public function GetJointSpeed():Number{ var _local1:b2Body; var _local2:b2Body; var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:b2Vec2; var _local16:b2Vec2; var _local17:b2Vec2; var _local18:Number; var _local19:Number; var _local20:Number; _local1 = m_body1; _local2 = m_body2; _local3 = _local1.m_xf.R; _local4 = (m_localAnchor1.x - _local1.m_sweep.localCenter.x); _local5 = (m_localAnchor1.y - _local1.m_sweep.localCenter.y); _local6 = ((_local3.col1.x * _local4) + (_local3.col2.x * _local5)); _local5 = ((_local3.col1.y * _local4) + (_local3.col2.y * _local5)); _local4 = _local6; _local3 = _local2.m_xf.R; _local7 = (m_localAnchor2.x - _local2.m_sweep.localCenter.x); _local8 = (m_localAnchor2.y - _local2.m_sweep.localCenter.y); _local6 = ((_local3.col1.x * _local7) + (_local3.col2.x * _local8)); _local8 = ((_local3.col1.y * _local7) + (_local3.col2.y * _local8)); _local7 = _local6; _local9 = (_local1.m_sweep.c.x + _local4); _local10 = (_local1.m_sweep.c.y + _local5); _local11 = (_local2.m_sweep.c.x + _local7); _local12 = (_local2.m_sweep.c.y + _local8); _local13 = (_local11 - _local9); _local14 = (_local12 - _local10); _local15 = _local1.GetWorldVector(m_localXAxis1); _local16 = _local1.m_linearVelocity; _local17 = _local2.m_linearVelocity; _local18 = _local1.m_angularVelocity; _local19 = _local2.m_angularVelocity; _local20 = (((_local13 * (-(_local18) * _local15.y)) + (_local14 * (_local18 * _local15.x))) + ((_local15.x * (((_local17.x + (-(_local19) * _local8)) - _local16.x) - (-(_local18) * _local5))) + (_local15.y * (((_local17.y + (_local19 * _local7)) - _local16.y) - (_local18 * _local4))))); return (_local20); } public function SetMotorSpeed(_arg1:Number):void{ m_motorSpeed = _arg1; } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local6 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local7 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7)); _local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7)); _local6 = _local5; _local4 = _local3.m_xf.R; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local5; _local10 = _local2.m_invMass; _local11 = _local3.m_invMass; _local12 = _local2.m_invI; _local13 = _local3.m_invI; _local4 = _local2.m_xf.R; _local14 = ((_local4.col1.x *  .x) + (_local4.col2.x *  .y)); _local15 = ((_local4.col1.y *  .x) + (_local4.col2.y *  .y)); _local16 = ((_local3.m_sweep.c.x + _local8) - _local2.m_sweep.c.x); _local17 = ((_local3.m_sweep.c.y + _local9) - _local2.m_sweep.c.y); .linear1.x = -(_local14); .linear1.y = -(_local15); .linear2.x = _local14; .linear2.y = _local15; .angular1 = -(((_local16 * _local15) - (_local17 * _local14))); .angular2 = ((_local8 * _local15) - (_local9 * _local14));  = (((_local10 + ((_local12 * .angular1) * .angular1)) + _local11) + ((_local13 * .angular2) * .angular2));  = (1 / );  = (_local12 + _local13); if ( > Number.MIN_VALUE){  = (1 / ); }; if (((m_enableLimit) || (m_enableMotor))){ _local4 = _local2.m_xf.R; _local18 = ((_local4.col1.x * m_localXAxis1.x) + (_local4.col2.x * m_localXAxis1.y)); _local19 = ((_local4.col1.y * m_localXAxis1.x) + (_local4.col2.y * m_localXAxis1.y)); .linear1.x = -(_local18); .linear1.y = -(_local19); .linear2.x = _local18; .linear2.y = _local19; .angular1 = -(((_local16 * _local19) - (_local17 * _local18))); .angular2 = ((_local8 * _local19) - (_local9 * _local18)); m_motorMass = (((_local10 + ((_local12 * .angular1) * .angular1)) + _local11) + ((_local13 * .angular2) * .angular2)); m_motorMass = (1 / m_motorMass); if (m_enableLimit){ _local20 = (_local16 - _local6); _local21 = (_local17 - _local7); _local22 = ((_local18 * _local20) + (_local19 * _local21)); if (b2Math.b2Abs(( -  )) < (2 * b2Settings.b2_linearSlop)){ m_limitState = e_equalLimits; } else { if (_local22 <=  ){ if (m_limitState != e_atLowerLimit){ m_limitForce = 0; }; m_limitState = e_atLowerLimit; } else { if (_local22 >= ){ if (m_limitState != e_atUpperLimit){ m_limitForce = 0; }; m_limitState = e_atUpperLimit; } else { m_limitState = e_inactiveLimit; m_limitForce = 0; }; }; }; }; }; if (m_enableMotor == false){ m_motorForce = 0; }; if (m_enableLimit == false){ m_limitForce = 0; }; if (_arg1.warmStarting){ _local23 = (_arg1.dt * ((m_force * .linear1.x) + ((m_motorForce + m_limitForce) * .linear1.x))); _local24 = (_arg1.dt * ((m_force * .linear1.y) + ((m_motorForce + m_limitForce) * .linear1.y))); _local25 = (_arg1.dt * ((m_force * .linear2.x) + ((m_motorForce + m_limitForce) * .linear2.x))); _local26 = (_arg1.dt * ((m_force * .linear2.y) + ((m_motorForce + m_limitForce) * .linear2.y))); _local27 = (_arg1.dt * (((m_force * .angular1) - m_torque) + ((m_motorForce + m_limitForce) * .angular1))); _local28 = (_arg1.dt * (((m_force * .angular2) + m_torque) + ((m_motorForce + m_limitForce) * .angular2))); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local10 * _local23)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local10 * _local24)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local12 * _local27)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local11 * _local25)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local11 * _local26)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local13 * _local28)); } else { m_force = 0; m_torque = 0; m_limitForce = 0; m_motorForce = 0; }; m_limitPositionImpulse = 0; } public function ():Number{ return (m_motorForce); } public function (_arg1:Number):void{  = _arg1; } public function EnableLimit(_arg1:Boolean):void{ m_enableLimit = _arg1; } override public function GetReactionTorque():Number{ return (m_torque); } public function IsLimitEnabled():Boolean{ return (m_enableLimit); } public function IsMotorEnabled():Boolean{ return (m_enableMotor); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_invMass; _local5 = _local3.m_invMass; _local6 = _local2.m_invI; _local7 = _local3.m_invI; _local9 = .Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity); _local10 = ((-(_arg1.inv_dt) * ) * _local9); m_force = (m_force + _local10); _local11 = (_arg1.dt * _local10); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local4 * _local11) * .linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local4 * _local11) * .linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * .angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local5 * _local11) * .linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local5 * _local11) * .linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * .angular2)); _local12 = (_local3.m_angularVelocity - _local2.m_angularVelocity); _local13 = ((-(_arg1.inv_dt) * ) * _local12); m_torque = (m_torque + _local13); _local14 = (_arg1.dt * _local13); _local2.m_angularVelocity = (_local2.m_angularVelocity - (_local6 * _local14)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local7 * _local14)); if (((m_enableMotor) && (!((m_limitState == e_equalLimits))))){ _local15 = (.Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity) - m_motorSpeed); _local16 = ((-(_arg1.inv_dt) * m_motorMass) * _local15); _local17 = m_motorForce; m_motorForce = b2Math.b2Clamp((m_motorForce + _local16), -( ),  ); _local16 = (m_motorForce - _local17); _local11 = (_arg1.dt * _local16); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local4 * _local11) * .linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local4 * _local11) * .linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * .angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local5 * _local11) * .linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local5 * _local11) * .linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * .angular2)); }; if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local18 = .Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity); _local19 = ((-(_arg1.inv_dt) * m_motorMass) * _local18); if (m_limitState == e_equalLimits){ m_limitForce = (m_limitForce + _local19); } else { if (m_limitState == e_atLowerLimit){ _local8 = m_limitForce; m_limitForce = b2Math.b2Max((m_limitForce + _local19), 0); _local19 = (m_limitForce - _local8); } else { if (m_limitState == e_atUpperLimit){ _local8 = m_limitForce; m_limitForce = b2Math.b2Min((m_limitForce + _local19), 0); _local19 = (m_limitForce - _local8); }; }; }; _local11 = (_arg1.dt * _local19); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local4 * _local11) * .linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local4 * _local11) * .linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * .angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local5 * _local11) * .linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local5 * _local11) * .linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * .angular2)); }; } } }//package Box2D.Dynamics.Joints
Section 59
//b2PrismaticJointDef (Box2D.Dynamics.Joints.b2PrismaticJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2PrismaticJointDef extends b2JointDef { public var  :b2Vec2; public var referenceAngle:Number; public var  :Number; public var motorSpeed:Number; public var  :Number; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var enableLimit:Boolean; public var enableMotor:Boolean; public var  :Number; public function b2PrismaticJointDef(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2();   = new b2Vec2(); super(); type = b2Joint.e_prismaticJoint;  .Set(1, 0); referenceAngle = 0; enableLimit = false;   = 0;   = 0; enableMotor = false;   = 0; motorSpeed = 0; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2):void{ body1 = _arg1; body2 = _arg2; localAnchor1 = body1.GetLocalPoint(_arg3); localAnchor2 = body2.GetLocalPoint(_arg3);   = body1.GetLocalVector(_arg4); referenceAngle = (body2.GetAngle() - body1.GetAngle()); } } }//package Box2D.Dynamics.Joints
Section 60
//b2PulleyJoint (Box2D.Dynamics.Joints.b2PulleyJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2PulleyJoint extends b2Joint { public var :b2Body; public var :Number; public var :Number; public var :Number; public var :int; public var :int; public var :Number; public var m_force:Number; public var :Number; public var m_constant:Number; public var :int; public var m_ratio:Number; public var m_groundAnchor1:b2Vec2; public var m_groundAnchor2:b2Vec2; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var  :Number; public var :Number; public var :Number; public var :Number; public var :b2Vec2; public var :b2Vec2; public var :Number; public static const b2_minPulleyLength:Number = 2; public function b2PulleyJoint(_arg1:b2PulleyJointDef){ var _local2:b2Mat22; var _local3:Number; var _local4:Number; m_groundAnchor1 = new b2Vec2(); m_groundAnchor2 = new b2Vec2(); m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2();  = new b2Vec2();  = new b2Vec2(); super(_arg1);  = m_body1.m_world. ; m_groundAnchor1.x = (_arg1. .x - .m_xf.position.x); m_groundAnchor1.y = (_arg1. .y - .m_xf.position.y); m_groundAnchor2.x = (_arg1. .x - .m_xf.position.x); m_groundAnchor2.y = (_arg1. .y - .m_xf.position.y); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2); m_ratio = _arg1.ratio; m_constant = (_arg1.  + (m_ratio * _arg1. ));  = b2Math.b2Min(_arg1. , (m_constant - (m_ratio * b2_minPulleyLength)));  = b2Math.b2Min(_arg1. , ((m_constant - b2_minPulleyLength) / m_ratio)); m_force = 0;  = 0;  = 0; } public function GetGroundAnchor2():b2Vec2{ var _local1:b2Vec2; _local1 = .m_xf.position.Copy(); _local1.Add(m_groundAnchor2); return (_local1); } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce():b2Vec2{ var _local1:b2Vec2; _local1 = .Copy(); _local1.Multiply(m_force); return (_local1); } override public function SolvePositionConstraints():Boolean{ var _local1:b2Body; var _local2:b2Body; var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; _local1 = m_body1; _local2 = m_body2; _local4 = (.m_xf.position.x + m_groundAnchor1.x); _local5 = (.m_xf.position.y + m_groundAnchor1.y); _local6 = (.m_xf.position.x + m_groundAnchor2.x); _local7 = (.m_xf.position.y + m_groundAnchor2.y); _local23 = 0; if ( == e_atUpperLimit){ _local3 = _local1.m_xf.R; _local8 = (m_localAnchor1.x - _local1.m_sweep.localCenter.x); _local9 = (m_localAnchor1.y - _local1.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local8) + (_local3.col2.x * _local9)); _local9 = ((_local3.col1.y * _local8) + (_local3.col2.y * _local9)); _local8 = _local22; _local3 = _local2.m_xf.R; _local10 = (m_localAnchor2.x - _local2.m_sweep.localCenter.x); _local11 = (m_localAnchor2.y - _local2.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local10) + (_local3.col2.x * _local11)); _local11 = ((_local3.col1.y * _local10) + (_local3.col2.y * _local11)); _local10 = _local22; _local12 = (_local1.m_sweep.c.x + _local8); _local13 = (_local1.m_sweep.c.y + _local9); _local14 = (_local2.m_sweep.c.x + _local10); _local15 = (_local2.m_sweep.c.y + _local11); .Set((_local12 - _local4), (_local13 - _local5)); .Set((_local14 - _local6), (_local15 - _local7)); _local16 = .Length(); _local17 = .Length(); if (_local16 > b2Settings.b2_linearSlop){ .Multiply((1 / _local16)); } else { .SetZero(); }; if (_local17 > b2Settings.b2_linearSlop){ .Multiply((1 / _local17)); } else { .SetZero(); }; _local18 = ((m_constant - _local16) - (m_ratio * _local17)); _local23 = b2Math.b2Max(_local23, -(_local18)); _local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local19 = (-() * _local18); _local20 =  ;  = b2Math.b2Max(0, ( + _local19)); _local19 = ( - _local20); _local12 = (-(_local19) * .x); _local13 = (-(_local19) * .y); _local14 = ((-(m_ratio) * _local19) * .x); _local15 = ((-(m_ratio) * _local19) * .y); _local1.m_sweep.c.x = (_local1.m_sweep.c.x + (_local1.m_invMass * _local12)); _local1.m_sweep.c.y = (_local1.m_sweep.c.y + (_local1.m_invMass * _local13)); _local1.m_sweep.a = (_local1.m_sweep.a + (_local1.m_invI * ((_local8 * _local13) - (_local9 * _local12)))); _local2.m_sweep.c.x = (_local2.m_sweep.c.x + (_local2.m_invMass * _local14)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y + (_local2.m_invMass * _local15)); _local2.m_sweep.a = (_local2.m_sweep.a + (_local2.m_invI * ((_local10 * _local15) - (_local11 * _local14)))); _local1.SynchronizeTransform(); _local2.SynchronizeTransform(); }; if ( == e_atUpperLimit){ _local3 = _local1.m_xf.R; _local8 = (m_localAnchor1.x - _local1.m_sweep.localCenter.x); _local9 = (m_localAnchor1.y - _local1.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local8) + (_local3.col2.x * _local9)); _local9 = ((_local3.col1.y * _local8) + (_local3.col2.y * _local9)); _local8 = _local22; _local12 = (_local1.m_sweep.c.x + _local8); _local13 = (_local1.m_sweep.c.y + _local9); .Set((_local12 - _local4), (_local13 - _local5)); _local16 = .Length(); if (_local16 > b2Settings.b2_linearSlop){ .x = (.x * (1 / _local16)); .y = (.y * (1 / _local16)); } else { .SetZero(); }; _local18 = ( - _local16); _local23 = b2Math.b2Max(_local23, -(_local18)); _local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local19 = (-() * _local18); _local21 = ;  = b2Math.b2Max(0, ( + _local19)); _local19 = ( - _local21); _local12 = (-(_local19) * .x); _local13 = (-(_local19) * .y); _local1.m_sweep.c.x = (_local1.m_sweep.c.x + (_local1.m_invMass * _local12)); _local1.m_sweep.c.y = (_local1.m_sweep.c.y + (_local1.m_invMass * _local13)); _local1.m_sweep.a = (_local1.m_sweep.a + (_local1.m_invI * ((_local8 * _local13) - (_local9 * _local12)))); _local1.SynchronizeTransform(); }; if ( == e_atUpperLimit){ _local3 = _local2.m_xf.R; _local10 = (m_localAnchor2.x - _local2.m_sweep.localCenter.x); _local11 = (m_localAnchor2.y - _local2.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local10) + (_local3.col2.x * _local11)); _local11 = ((_local3.col1.y * _local10) + (_local3.col2.y * _local11)); _local10 = _local22; _local14 = (_local2.m_sweep.c.x + _local10); _local15 = (_local2.m_sweep.c.y + _local11); .Set((_local14 - _local6), (_local15 - _local7)); _local17 = .Length(); if (_local17 > b2Settings.b2_linearSlop){ .x = (.x * (1 / _local17)); .y = (.y * (1 / _local17)); } else { .SetZero(); }; _local18 = ( - _local17); _local23 = b2Math.b2Max(_local23, -(_local18)); _local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local19 = (-() * _local18); _local21 = ;  = b2Math.b2Max(0, ( + _local19)); _local19 = ( - _local21); _local14 = (-(_local19) * .x); _local15 = (-(_local19) * .y); _local2.m_sweep.c.x = (_local2.m_sweep.c.x + (_local2.m_invMass * _local14)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y + (_local2.m_invMass * _local15)); _local2.m_sweep.a = (_local2.m_sweep.a + (_local2.m_invI * ((_local10 * _local15) - (_local11 * _local14)))); _local2.SynchronizeTransform(); }; return ((_local23 < b2Settings.b2_linearSlop)); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local5 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local6 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local5) + (_local4.col2.x * _local6)); _local6 = ((_local4.col1.y * _local5) + (_local4.col2.y * _local6)); _local5 = _local7; _local4 = _local3.m_xf.R; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local7; _local10 = (_local2.m_sweep.c.x + _local5); _local11 = (_local2.m_sweep.c.y + _local6); _local12 = (_local3.m_sweep.c.x + _local8); _local13 = (_local3.m_sweep.c.y + _local9); _local14 = (.m_xf.position.x + m_groundAnchor1.x); _local15 = (.m_xf.position.y + m_groundAnchor1.y); _local16 = (.m_xf.position.x + m_groundAnchor2.x); _local17 = (.m_xf.position.y + m_groundAnchor2.y); .Set((_local10 - _local14), (_local11 - _local15)); .Set((_local12 - _local16), (_local13 - _local17)); _local18 = .Length(); _local19 = .Length(); if (_local18 > b2Settings.b2_linearSlop){ .Multiply((1 / _local18)); } else { .SetZero(); }; if (_local19 > b2Settings.b2_linearSlop){ .Multiply((1 / _local19)); } else { .SetZero(); }; _local20 = ((m_constant - _local18) - (m_ratio * _local19)); if (_local20 > 0){  = e_inactiveLimit; m_force = 0; } else {  = e_atUpperLimit;  = 0; }; if (_local18 < ){  = e_inactiveLimit;  = 0; } else {  = e_atUpperLimit;  = 0; }; if (_local19 < ){  = e_inactiveLimit;  = 0; } else {  = e_atUpperLimit;  = 0; }; _local21 = ((_local5 * .y) - (_local6 * .x)); _local22 = ((_local8 * .y) - (_local9 * .x));  = (_local2.m_invMass + ((_local2.m_invI * _local21) * _local21));  = (_local3.m_invMass + ((_local3.m_invI * _local22) * _local22));  = ( + ((m_ratio * m_ratio) * ));  = (1 / );  = (1 / );  = (1 / ); if (_arg1.warmStarting){ _local23 = ((_arg1.dt * (-(m_force) - )) * .x); _local24 = ((_arg1.dt * (-(m_force) - )) * .y); _local25 = ((_arg1.dt * ((-(m_ratio) * m_force) - )) * .x); _local26 = ((_arg1.dt * ((-(m_ratio) * m_force) - )) * .y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local23)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local24)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local5 * _local24) - (_local6 * _local23)))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local25)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local26)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local26) - (_local9 * _local25)))); } else { m_force = 0;  = 0;  = 0; }; } override public function GetReactionTorque():Number{ return (0); } public function GetRatio():Number{ return (m_ratio); } public function ():Number{ var _local1:b2Vec2; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local1 = m_body2.GetWorldPoint(m_localAnchor2); _local2 = (.m_xf.position.x + m_groundAnchor2.x); _local3 = (.m_xf.position.y + m_groundAnchor2.y); _local4 = (_local1.x - _local2); _local5 = (_local1.y - _local3); return (Math.sqrt(((_local4 * _local4) + (_local5 * _local5)))); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local5 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local6 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local5) + (_local4.col2.x * _local6)); _local6 = ((_local4.col1.y * _local5) + (_local4.col2.y * _local6)); _local5 = _local7; _local4 = _local3.m_xf.R; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local7; if ( == e_atUpperLimit){ _local10 = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local6)); _local11 = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local5)); _local12 = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9)); _local13 = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8)); _local18 = (-(((.x * _local10) + (.y * _local11))) - (m_ratio * ((.x * _local12) + (.y * _local13)))); _local19 = ((-(_arg1.inv_dt) * ) * _local18); _local20 = m_force; m_force = b2Math.b2Max(0, (m_force + _local19)); _local19 = (m_force - _local20); _local14 = ((-(_arg1.dt) * _local19) * .x); _local15 = ((-(_arg1.dt) * _local19) * .y); _local16 = (((-(_arg1.dt) * m_ratio) * _local19) * .x); _local17 = (((-(_arg1.dt) * m_ratio) * _local19) * .y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local14)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local15)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local5 * _local15) - (_local6 * _local14)))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local16)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local17)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local17) - (_local9 * _local16)))); }; if ( == e_atUpperLimit){ _local10 = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local6)); _local11 = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local5)); _local18 = -(((.x * _local10) + (.y * _local11))); _local19 = ((-(_arg1.inv_dt) * ) * _local18); _local20 = ;  = b2Math.b2Max(0, ( + _local19)); _local19 = ( - _local20); _local14 = ((-(_arg1.dt) * _local19) * .x); _local15 = ((-(_arg1.dt) * _local19) * .y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local14)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local15)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local5 * _local15) - (_local6 * _local14)))); }; if ( == e_atUpperLimit){ _local12 = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9)); _local13 = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8)); _local18 = -(((.x * _local12) + (.y * _local13))); _local19 = ((-(_arg1.inv_dt) * ) * _local18); _local20 = ;  = b2Math.b2Max(0, ( + _local19)); _local19 = ( - _local20); _local16 = ((-(_arg1.dt) * _local19) * .x); _local17 = ((-(_arg1.dt) * _local19) * .y); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local16)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local17)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local17) - (_local9 * _local16)))); }; } public function ():Number{ var _local1:b2Vec2; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local1 = m_body1.GetWorldPoint(m_localAnchor1); _local2 = (.m_xf.position.x + m_groundAnchor1.x); _local3 = (.m_xf.position.y + m_groundAnchor1.y); _local4 = (_local1.x - _local2); _local5 = (_local1.y - _local3); return (Math.sqrt(((_local4 * _local4) + (_local5 * _local5)))); } public function GetGroundAnchor1():b2Vec2{ var _local1:b2Vec2; _local1 = .m_xf.position.Copy(); _local1.Add(m_groundAnchor1); return (_local1); } } }//package Box2D.Dynamics.Joints
Section 61
//b2PulleyJointDef (Box2D.Dynamics.Joints.b2PulleyJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2PulleyJointDef extends b2JointDef { public var  :Number; public var  :Number; public var  :Number; public var  :Number; public var ratio:Number; public var  :b2Vec2; public var  :b2Vec2; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public function b2PulleyJointDef(){   = new b2Vec2();   = new b2Vec2(); localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); super(); type = b2Joint.e_pulleyJoint;  .Set(-1, 1);  .Set(1, 1); localAnchor1.Set(-1, 0); localAnchor2.Set(1, 0);   = 0;   = 0;   = 0;   = 0; ratio = 1; collideConnected = true; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2, _arg5:b2Vec2, _arg6:b2Vec2, _arg7:Number):void{ var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; body1 = _arg1; body2 = _arg2;  .SetV(_arg3);  .SetV(_arg4); localAnchor1 = body1.GetLocalPoint(_arg5); localAnchor2 = body2.GetLocalPoint(_arg6); _local8 = (_arg5.x - _arg3.x); _local9 = (_arg5.y - _arg3.y);   = Math.sqrt(((_local8 * _local8) + (_local9 * _local9))); _local10 = (_arg6.x - _arg4.x); _local11 = (_arg6.y - _arg4.y);   = Math.sqrt(((_local10 * _local10) + (_local11 * _local11))); ratio = _arg7; _local12 = (  + (ratio *  ));   = (_local12 - (ratio * b2PulleyJoint.b2_minPulleyLength));   = ((_local12 - b2PulleyJoint.b2_minPulleyLength) / ratio); } } }//package Box2D.Dynamics.Joints
Section 62
//b2RevoluteJoint (Box2D.Dynamics.Joints.b2RevoluteJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2RevoluteJoint extends b2Joint { public var m_limitForce:Number; public var m_motorForce:Number; public var :b2Mat22; public var m_enableLimit:Boolean; public var m_limitState:int; public var m_motorMass:Number; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; private var :b2Mat22; private var :b2Mat22; private var  :b2Mat22; private var K:b2Mat22; public var  :b2Vec2; public var m_motorSpeed:Number; public var m_enableMotor:Boolean; public var m_limitPositionImpulse:Number; public var :Number; public var :Number; public var :Number; public var :Number; public static var tImpulse:b2Vec2 = new b2Vec2(); public function b2RevoluteJoint(_arg1:b2RevoluteJointDef){ K = new b2Mat22();  = new b2Mat22();  = new b2Mat22();  = new b2Mat22(); m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2();  = new b2Vec2();  = new b2Mat22(); super(_arg1); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2);  = _arg1.referenceAngle;  .Set(0, 0); m_motorForce = 0; m_limitForce = 0; m_limitPositionImpulse = 0;  = _arg1. ;  = _arg1. ;  = _arg1. ; m_motorSpeed = _arg1.motorSpeed; m_enableLimit = _arg1.enableLimit; m_enableMotor = _arg1.enableMotor; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } public function EnableMotor(_arg1:Boolean):void{ m_enableMotor = _arg1; } public function GetUpperLimit():Number{ return (); } public function GetLowerLimit():Number{ return (); } public function SetLimits(_arg1:Number, _arg2:Number):void{  = _arg1;  = _arg2; } public function GetMotorSpeed():Number{ return (m_motorSpeed); } override public function GetReactionForce():b2Vec2{ return ( ); } override public function SolvePositionConstraints():Boolean{ var _local1:Number; var _local2:Number; var _local3:b2Body; var _local4:b2Body; var _local5:Number; var _local6:b2Mat22; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; _local3 = m_body1; _local4 = m_body2; _local5 = 0; _local6 = _local3.m_xf.R; _local7 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); _local8 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); _local9 = ((_local6.col1.x * _local7) + (_local6.col2.x * _local8)); _local8 = ((_local6.col1.y * _local7) + (_local6.col2.y * _local8)); _local7 = _local9; _local6 = _local4.m_xf.R; _local10 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); _local11 = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local9 = ((_local6.col1.x * _local10) + (_local6.col2.x * _local11)); _local11 = ((_local6.col1.y * _local10) + (_local6.col2.y * _local11)); _local10 = _local9; _local12 = (_local3.m_sweep.c.x + _local7); _local13 = (_local3.m_sweep.c.y + _local8); _local14 = (_local4.m_sweep.c.x + _local10); _local15 = (_local4.m_sweep.c.y + _local11); _local16 = (_local14 - _local12); _local17 = (_local15 - _local13); _local5 = Math.sqrt(((_local16 * _local16) + (_local17 * _local17))); _local18 = _local3.m_invMass; _local19 = _local4.m_invMass; _local20 = _local3.m_invI; _local21 = _local4.m_invI; .col1.x = (_local18 + _local19); .col2.x = 0; .col1.y = 0; .col2.y = (_local18 + _local19); .col1.x = ((_local20 * _local8) * _local8); .col2.x = ((-(_local20) * _local7) * _local8); .col1.y = ((-(_local20) * _local7) * _local8); .col2.y = ((_local20 * _local7) * _local7);  .col1.x = ((_local21 * _local11) * _local11);  .col2.x = ((-(_local21) * _local10) * _local11);  .col1.y = ((-(_local21) * _local10) * _local11);  .col2.y = ((_local21 * _local10) * _local10); K.SetM(); K.AddM(); K.AddM( ); K.Solve(tImpulse, -(_local16), -(_local17)); _local22 = tImpulse.x; _local23 = tImpulse.y; _local3.m_sweep.c.x = (_local3.m_sweep.c.x - (_local3.m_invMass * _local22)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y - (_local3.m_invMass * _local23)); _local3.m_sweep.a = (_local3.m_sweep.a - (_local3.m_invI * ((_local7 * _local23) - (_local8 * _local22)))); _local4.m_sweep.c.x = (_local4.m_sweep.c.x + (_local4.m_invMass * _local22)); _local4.m_sweep.c.y = (_local4.m_sweep.c.y + (_local4.m_invMass * _local23)); _local4.m_sweep.a = (_local4.m_sweep.a + (_local4.m_invI * ((_local10 * _local23) - (_local11 * _local22)))); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); _local24 = 0; if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local25 = ((_local4.m_sweep.a - _local3.m_sweep.a) - ); _local26 = 0; if (m_limitState == e_equalLimits){ _local2 = b2Math.b2Clamp(_local25, -(b2Settings.b2_maxAngularCorrection), b2Settings.b2_maxAngularCorrection); _local26 = (-(m_motorMass) * _local2); _local24 = b2Math.b2Abs(_local2); } else { if (m_limitState == e_atLowerLimit){ _local2 = (_local25 - ); _local24 = b2Math.b2Max(0, -(_local2)); _local2 = b2Math.b2Clamp((_local2 + b2Settings.b2_angularSlop), -(b2Settings.b2_maxAngularCorrection), 0); _local26 = (-(m_motorMass) * _local2); _local1 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Max((m_limitPositionImpulse + _local26), 0); _local26 = (m_limitPositionImpulse - _local1); } else { if (m_limitState == e_atUpperLimit){ _local2 = (_local25 - ); _local24 = b2Math.b2Max(0, _local2); _local2 = b2Math.b2Clamp((_local2 - b2Settings.b2_angularSlop), 0, b2Settings.b2_maxAngularCorrection); _local26 = (-(m_motorMass) * _local2); _local1 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Min((m_limitPositionImpulse + _local26), 0); _local26 = (m_limitPositionImpulse - _local1); }; }; }; _local3.m_sweep.a = (_local3.m_sweep.a - (_local3.m_invI * _local26)); _local4.m_sweep.a = (_local4.m_sweep.a + (_local4.m_invI * _local26)); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); }; return ((((_local5 <= b2Settings.b2_linearSlop)) && ((_local24 <= b2Settings.b2_angularSlop)))); } public function GetJointSpeed():Number{ return ((m_body2.m_angularVelocity - m_body1.m_angularVelocity)); } public function SetMotorSpeed(_arg1:Number):void{ m_motorSpeed = _arg1; } public function (_arg1:Number):void{  = _arg1; } public function GetJointAngle():Number{ return (((m_body2.m_sweep.a - m_body1.m_sweep.a) - )); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local6 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local7 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7)); _local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7)); _local6 = _local5; _local4 = _local3.m_xf.R; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local5; _local10 = _local2.m_invMass; _local11 = _local3.m_invMass; _local12 = _local2.m_invI; _local13 = _local3.m_invI; .col1.x = (_local10 + _local11); .col2.x = 0; .col1.y = 0; .col2.y = (_local10 + _local11); .col1.x = ((_local12 * _local7) * _local7); .col2.x = ((-(_local12) * _local6) * _local7); .col1.y = ((-(_local12) * _local6) * _local7); .col2.y = ((_local12 * _local6) * _local6);  .col1.x = ((_local13 * _local9) * _local9);  .col2.x = ((-(_local13) * _local8) * _local9);  .col1.y = ((-(_local13) * _local8) * _local9);  .col2.y = ((_local13 * _local8) * _local8); K.SetM(); K.AddM(); K.AddM( ); K.Invert(); m_motorMass = (1 / (_local12 + _local13)); if (m_enableMotor == false){ m_motorForce = 0; }; if (m_enableLimit){ _local14 = ((_local3.m_sweep.a - _local2.m_sweep.a) - ); if (b2Math.b2Abs(( - )) < (2 * b2Settings.b2_angularSlop)){ m_limitState = e_equalLimits; } else { if (_local14 <= ){ if (m_limitState != e_atLowerLimit){ m_limitForce = 0; }; m_limitState = e_atLowerLimit; } else { if (_local14 >= ){ if (m_limitState != e_atUpperLimit){ m_limitForce = 0; }; m_limitState = e_atUpperLimit; } else { m_limitState = e_inactiveLimit; m_limitForce = 0; }; }; }; } else { m_limitForce = 0; }; if (_arg1.warmStarting){ _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x - ((_arg1.dt * _local10) *  .x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y - ((_arg1.dt * _local10) *  .y)); _local2.m_angularVelocity = (_local2.m_angularVelocity - ((_arg1.dt * _local12) * ((((_local6 *  .y) - (_local7 *  .x)) + m_motorForce) + m_limitForce))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_arg1.dt * _local11) *  .x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_arg1.dt * _local11) *  .y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_arg1.dt * _local13) * ((((_local8 *  .y) - (_local9 *  .x)) + m_motorForce) + m_limitForce))); } else {  .SetZero(); m_motorForce = 0; m_limitForce = 0; }; m_limitPositionImpulse = 0; } public function EnableLimit(_arg1:Boolean):void{ m_enableLimit = _arg1; } public function  ():Number{ return (m_motorForce); } override public function GetReactionTorque():Number{ return (m_limitForce); } public function IsLimitEnabled():Boolean{ return (m_enableLimit); } public function IsMotorEnabled():Boolean{ return (m_enableMotor); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local6 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local7 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7)); _local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7)); _local6 = _local5; _local4 = _local3.m_xf.R; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local5; _local11 = (((_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9)) - _local2.m_linearVelocity.x) - (-(_local2.m_angularVelocity) * _local7)); _local12 = (((_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8)) - _local2.m_linearVelocity.y) - (_local2.m_angularVelocity * _local6)); _local13 = (-(_arg1.inv_dt) * ((.col1.x * _local11) + (.col2.x * _local12))); _local14 = (-(_arg1.inv_dt) * ((.col1.y * _local11) + (.col2.y * _local12)));  .x = ( .x + _local13);  .y = ( .y + _local14); _local15 = (_arg1.dt * _local13); _local16 = (_arg1.dt * _local14); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x - (_local2.m_invMass * _local15)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y - (_local2.m_invMass * _local16)); _local2.m_angularVelocity = (_local2.m_angularVelocity - (_local2.m_invI * ((_local6 * _local16) - (_local7 * _local15)))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local15)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local16)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local16) - (_local9 * _local15)))); if (((m_enableMotor) && (!((m_limitState == e_equalLimits))))){ _local17 = ((_local3.m_angularVelocity - _local2.m_angularVelocity) - m_motorSpeed); _local18 = ((-(_arg1.inv_dt) * m_motorMass) * _local17); _local19 = m_motorForce; m_motorForce = b2Math.b2Clamp((m_motorForce + _local18), -(), ); _local18 = (m_motorForce - _local19); _local2.m_angularVelocity = (_local2.m_angularVelocity - ((_local2.m_invI * _arg1.dt) * _local18)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3.m_invI * _arg1.dt) * _local18)); }; if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local20 = (_local3.m_angularVelocity - _local2.m_angularVelocity); _local21 = ((-(_arg1.inv_dt) * m_motorMass) * _local20); if (m_limitState == e_equalLimits){ m_limitForce = (m_limitForce + _local21); } else { if (m_limitState == e_atLowerLimit){ _local10 = m_limitForce; m_limitForce = b2Math.b2Max((m_limitForce + _local21), 0); _local21 = (m_limitForce - _local10); } else { if (m_limitState == e_atUpperLimit){ _local10 = m_limitForce; m_limitForce = b2Math.b2Min((m_limitForce + _local21), 0); _local21 = (m_limitForce - _local10); }; }; }; _local2.m_angularVelocity = (_local2.m_angularVelocity - ((_local2.m_invI * _arg1.dt) * _local21)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3.m_invI * _arg1.dt) * _local21)); }; } } }//package Box2D.Dynamics.Joints
Section 63
//b2RevoluteJointDef (Box2D.Dynamics.Joints.b2RevoluteJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2RevoluteJointDef extends b2JointDef { public var referenceAngle:Number; public var  :Number; public var  :Number; public var motorSpeed:Number; public var  :Number; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var enableLimit:Boolean; public var enableMotor:Boolean; public function b2RevoluteJointDef(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); super(); type = b2Joint.e_revoluteJoint; localAnchor1.Set(0, 0); localAnchor2.Set(0, 0); referenceAngle = 0;  = 0;  = 0;   = 0; motorSpeed = 0; enableLimit = false; enableMotor = false; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2):void{ body1 = _arg1; body2 = _arg2; localAnchor1 = body1.GetLocalPoint(_arg3); localAnchor2 = body2.GetLocalPoint(_arg3); referenceAngle = (body2.GetAngle() - body1.GetAngle()); } } }//package Box2D.Dynamics.Joints
Section 64
//b2Body (Box2D.Dynamics.b2Body) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Dynamics.Joints.*; import Box2D.Dynamics.Contacts.*; public class b2Body { public var m_next:b2Body; public var m_contactList:b2ContactEdge; public var m_angularVelocity:Number; public var m_shapeList:b2Shape; public var m_force:b2Vec2; public var m_mass:Number; public var m_sweep:b2Sweep; public var m_xf:b2XForm; public var m_torque:Number; public var m_userData; public var m_flags:uint; public var m_world:b2World; public var m_prev:b2Body; public var m_invMass:Number; public var m_type:int; public var m_linearDamping:Number; public var m_angularDamping:Number; public var m_invI:Number; public var m_linearVelocity:b2Vec2; public var m_sleepTime:Number; public var m_shapeCount:int; public var m_jointList:b2JointEdge; public var :Number; public static var e_fixedRotationFlag:uint = 64; public static var e_frozenFlag:uint = 2; public static var e_maxTypes:uint = 3; public static var e_sleepFlag:uint = 8; private static var s_massData:b2MassData = new b2MassData(); public static var e_bulletFlag:uint = 32; public static var e_staticType:uint = 1; public static var e_islandFlag:uint = 4; public static var e_allowSleepFlag:uint = 16; private static var s_xf1:b2XForm = new b2XForm(); public static var e_dynamicType:uint = 2; public function b2Body(_arg1:b2BodyDef, _arg2:b2World){ var _local3:b2Mat22; var _local4:b2Vec2; m_xf = new b2XForm(); m_sweep = new b2Sweep(); m_linearVelocity = new b2Vec2(); m_force = new b2Vec2(); super(); m_flags = 0; if (_arg1. ){ m_flags = (m_flags | e_bulletFlag); }; if (_arg1.){ m_flags = (m_flags | e_fixedRotationFlag); }; if (_arg1. ){ m_flags = (m_flags | e_allowSleepFlag); }; if (_arg1. ){ m_flags = (m_flags | e_sleepFlag); }; m_world = _arg2; m_xf.position.SetV(_arg1.position); m_xf.R.Set(_arg1.); m_sweep.localCenter.SetV(_arg1..center); m_sweep.t0 = 1; m_sweep.a0 = (m_sweep.a = _arg1.); _local3 = m_xf.R; _local4 = m_sweep.localCenter; m_sweep.c.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); m_sweep.c.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); m_jointList = null; m_contactList = null; m_prev = null; m_next = null; m_linearDamping = _arg1.linearDamping; m_angularDamping = _arg1. ; m_force.Set(0, 0); m_torque = 0; m_linearVelocity.SetZero(); m_angularVelocity = 0; m_sleepTime = 0; m_invMass = 0;  = 0; m_invI = 0; m_mass = _arg1..mass; if (m_mass > 0){ m_invMass = (1 / m_mass); }; if ((m_flags & b2Body.e_fixedRotationFlag) == 0){  = _arg1..I; }; if ( > 0){ m_invI = (1 / ); }; if ((((m_invMass == 0)) && ((m_invI == 0)))){ m_type = e_staticType; } else { m_type = e_dynamicType; }; m_userData = _arg1.userData; m_shapeList = null; m_shapeCount = 0; } public function (_arg1:b2Vec2):b2Vec2{ return (new b2Vec2((m_linearVelocity.x - (m_angularVelocity * (_arg1.y - m_sweep.c.y))), (m_linearVelocity.y + (m_angularVelocity * (_arg1.x - m_sweep.c.x))))); } public function SetLinearVelocity(_arg1:b2Vec2):void{ m_linearVelocity.SetV(_arg1); } public function WakeUp():void{ m_flags = (m_flags & ~(e_sleepFlag)); m_sleepTime = 0; } public function ():b2Vec2{ return (m_sweep.localCenter); } public function ApplyTorque(_arg1:Number):void{ if (IsSleeping()){ WakeUp(); }; m_torque = (m_torque + _arg1); } public function ():Boolean{ return (((m_flags & e_frozenFlag) == e_frozenFlag)); } public function  ():Boolean{ return ((m_type == e_dynamicType)); } public function GetLinearVelocity():b2Vec2{ return (m_linearVelocity); } public function SynchronizeTransform():void{ var _local1:b2Mat22; var _local2:b2Vec2; m_xf.R.Set(m_sweep.a); _local1 = m_xf.R; _local2 = m_sweep.localCenter; m_xf.position.x = (m_sweep.c.x - ((_local1.col1.x * _local2.x) + (_local1.col2.x * _local2.y))); m_xf.position.y = (m_sweep.c.y - ((_local1.col1.y * _local2.x) + (_local1.col2.y * _local2.y))); } public function ():Number{ return (); } public function IsSleeping():Boolean{ return (((m_flags & e_sleepFlag) == e_sleepFlag)); } public function SetMassFromShapes():void{ var _local1:b2Shape; var _local2:Number; var _local3:Number; var _local4:b2MassData; var _local5:b2Mat22; var _local6:b2Vec2; var _local7:int; if (m_world.m_lock == true){ return; }; m_mass = 0; m_invMass = 0;  = 0; m_invI = 0; _local2 = 0; _local3 = 0; _local4 = s_massData; _local1 = m_shapeList; while (_local1) { _local1.ComputeMass(_local4); m_mass = (m_mass + _local4.mass); _local2 = (_local2 + (_local4.mass * _local4.center.x)); _local3 = (_local3 + (_local4.mass * _local4.center.y));  = ( + _local4.I); _local1 = _local1.m_next; }; if (m_mass > 0){ m_invMass = (1 / m_mass); _local2 = (_local2 * m_invMass); _local3 = (_local3 * m_invMass); }; if (((( > 0)) && (((m_flags & e_fixedRotationFlag) == 0)))){  = ( - (m_mass * ((_local2 * _local2) + (_local3 * _local3)))); m_invI = (1 / ); } else {  = 0; m_invI = 0; }; m_sweep.localCenter.Set(_local2, _local3); _local5 = m_xf.R; _local6 = m_sweep.localCenter; m_sweep.c.x = ((_local5.col1.x * _local6.x) + (_local5.col2.x * _local6.y)); m_sweep.c.y = ((_local5.col1.y * _local6.x) + (_local5.col2.y * _local6.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); _local1 = m_shapeList; while (_local1) { _local1.UpdateSweepRadius(m_sweep.localCenter); _local1 = _local1.m_next; }; _local7 = m_type; if ((((m_invMass == 0)) && ((m_invI == 0)))){ m_type = e_staticType; } else { m_type = e_dynamicType; }; if (_local7 != m_type){ _local1 = m_shapeList; while (_local1) { _local1.RefilterProxy(m_world.m_broadPhase, m_xf); _local1 = _local1.m_next; }; }; } public function ():void{ m_flags = (m_flags | e_sleepFlag); m_sleepTime = 0; m_linearVelocity.SetZero(); m_angularVelocity = 0; m_force.SetZero(); m_torque = 0; } public function GetJointList():b2JointEdge{ return (m_jointList); } public function SetXForm(_arg1:b2Vec2, _arg2:Number):Boolean{ var _local3:b2Shape; var _local4:b2Mat22; var _local5:b2Vec2; var _local6:Boolean; var _local7:Boolean; if (m_world.m_lock == true){ return (true); }; if (()){ return (false); }; m_xf.R.Set(_arg2); m_xf.position.SetV(_arg1); _local4 = m_xf.R; _local5 = m_sweep.localCenter; m_sweep.c.x = ((_local4.col1.x * _local5.x) + (_local4.col2.x * _local5.y)); m_sweep.c.y = ((_local4.col1.y * _local5.x) + (_local4.col2.y * _local5.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); m_sweep.a0 = (m_sweep.a = _arg2); _local6 = false; _local3 = m_shapeList; while (_local3) { _local7 = _local3.Synchronize(m_world.m_broadPhase, m_xf, m_xf); if (_local7 == false){ _local6 = true; break; }; _local3 = _local3.m_next; }; if (_local6 == true){ m_flags = (m_flags | e_frozenFlag); m_linearVelocity.SetZero(); m_angularVelocity = 0; _local3 = m_shapeList; while (_local3) { _local3.DestroyProxy(m_world.m_broadPhase); _local3 = _local3.m_next; }; return (false); }; m_world.m_broadPhase.Commit(); return (true); } public function GetLocalPoint(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulXT(m_xf, _arg1)); } public function ApplyForce(_arg1:b2Vec2, _arg2:b2Vec2):void{ if (IsSleeping()){ WakeUp(); }; m_force.x = (m_force.x + _arg1.x); m_force.y = (m_force.y + _arg1.y); m_torque = (m_torque + (((_arg2.x - m_sweep.c.x) * _arg1.y) - ((_arg2.y - m_sweep.c.y) * _arg1.x))); } public function SynchronizeShapes():Boolean{ var _local1:b2XForm; var _local2:b2Mat22; var _local3:b2Vec2; var _local4:b2Shape; var _local5:Boolean; _local1 = s_xf1; _local1.R.Set(m_sweep.a0); _local2 = _local1.R; _local3 = m_sweep.localCenter; _local1.position.x = (m_sweep.c0.x - ((_local2.col1.x * _local3.x) + (_local2.col2.x * _local3.y))); _local1.position.y = (m_sweep.c0.y - ((_local2.col1.y * _local3.x) + (_local2.col2.y * _local3.y))); _local5 = true; _local4 = m_shapeList; while (_local4) { _local5 = _local4.Synchronize(m_world.m_broadPhase, _local1, m_xf); if (_local5 == false){ break; }; _local4 = _local4.m_next; }; if (_local5 == false){ m_flags = (m_flags | e_frozenFlag); m_linearVelocity.SetZero(); m_angularVelocity = 0; _local4 = m_shapeList; while (_local4) { _local4.DestroyProxy(m_world.m_broadPhase); _local4 = _local4.m_next; }; return (false); }; return (true); } public function GetAngle():Number{ return (m_sweep.a); } public function GetXForm():b2XForm{ return (m_xf); } public function ApplyImpulse(_arg1:b2Vec2, _arg2:b2Vec2):void{ if (IsSleeping()){ WakeUp(); }; m_linearVelocity.x = (m_linearVelocity.x + (m_invMass * _arg1.x)); m_linearVelocity.y = (m_linearVelocity.y + (m_invMass * _arg1.y)); m_angularVelocity = (m_angularVelocity + (m_invI * (((_arg2.x - m_sweep.c.x) * _arg1.y) - ((_arg2.y - m_sweep.c.y) * _arg1.x)))); } public function GetNext():b2Body{ return (m_next); } public function GetMass():Number{ return (m_mass); } public function GetLinearVelocityFromLocalPoint(_arg1:b2Vec2):b2Vec2{ var _local2:b2Mat22; var _local3:b2Vec2; _local2 = m_xf.R; _local3 = new b2Vec2(((_local2.col1.x * _arg1.x) + (_local2.col2.x * _arg1.y)), ((_local2.col1.y * _arg1.x) + (_local2.col2.y * _arg1.y))); _local3.x = (_local3.x + m_xf.position.x); _local3.y = (_local3.y + m_xf.position.y); return (new b2Vec2((m_linearVelocity.x - (m_angularVelocity * (_local3.y - m_sweep.c.y))), (m_linearVelocity.y + (m_angularVelocity * (_local3.x - m_sweep.c.x))))); } public function GetAngularVelocity():Number{ return (m_angularVelocity); } public function SetAngularVelocity(_arg1:Number):void{ m_angularVelocity = _arg1; } public function SetMass(_arg1:b2MassData):void{ var _local2:b2Shape; var _local3:b2Mat22; var _local4:b2Vec2; var _local5:int; if (m_world.m_lock == true){ return; }; m_invMass = 0;  = 0; m_invI = 0; m_mass = _arg1.mass; if (m_mass > 0){ m_invMass = (1 / m_mass); }; if ((m_flags & b2Body.e_fixedRotationFlag) == 0){  = _arg1.I; }; if ( > 0){ m_invI = (1 / ); }; m_sweep.localCenter.SetV(_arg1.center); _local3 = m_xf.R; _local4 = m_sweep.localCenter; m_sweep.c.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); m_sweep.c.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); _local2 = m_shapeList; while (_local2) { _local2.UpdateSweepRadius(m_sweep.localCenter); _local2 = _local2.m_next; }; _local5 = m_type; if ((((m_invMass == 0)) && ((m_invI == 0)))){ m_type = e_staticType; } else { m_type = e_dynamicType; }; if (_local5 != m_type){ _local2 = m_shapeList; while (_local2) { _local2.RefilterProxy(m_world.m_broadPhase, m_xf); _local2 = _local2.m_next; }; }; } public function IsStatic():Boolean{ return ((m_type == e_staticType)); } public function GetWorldVector(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulMV(m_xf.R, _arg1)); } public function GetShapeList():b2Shape{ return (m_shapeList); } public function Advance(_arg1:Number):void{ m_sweep.Advance(_arg1); m_sweep.c.SetV(m_sweep.c0); m_sweep.a = m_sweep.a0; SynchronizeTransform(); } public function (_arg1:Boolean):void{ if (_arg1){ m_flags = (m_flags | e_bulletFlag); } else { m_flags = (m_flags & ~(e_bulletFlag)); }; } public function CreateShape(_arg1:b2ShapeDef):b2Shape{ var _local2:b2Shape; if (m_world.m_lock == true){ return (null); }; _local2 = b2Shape.Create(_arg1, m_world.m_blockAllocator); _local2.m_next = m_shapeList; m_shapeList = _local2; m_shapeCount++; _local2.m_body = this; _local2.CreateProxy(m_world.m_broadPhase, m_xf); _local2.UpdateSweepRadius(m_sweep.localCenter); return (_local2); } public function IsConnected(_arg1:b2Body):Boolean{ var _local2:b2JointEdge; _local2 = m_jointList; while (_local2) { if (_local2.other == _arg1){ return ((_local2.joint.m_collideConnected == false)); }; _local2 = _local2.next; }; return (false); } public function (_arg1:b2Shape):void{ var _local2:b2Shape; var _local3:b2Shape; var _local4:Boolean; if (m_world.m_lock == true){ return; }; _arg1.DestroyProxy(m_world.m_broadPhase); _local2 = m_shapeList; _local3 = null; _local4 = false; while (_local2 != null) { if (_local2 == _arg1){ if (_local3){ _local3.m_next = _arg1.m_next; } else { m_shapeList = _arg1.m_next; }; _local4 = true; break; }; _local3 = _local2; _local2 = _local2.m_next; }; _arg1.m_body = null; _arg1.m_next = null; m_shapeCount--; b2Shape.Destroy(_arg1, m_world.m_blockAllocator); } public function GetUserData(){ return (m_userData); } public function IsBullet():Boolean{ return (((m_flags & e_bulletFlag) == e_bulletFlag)); } public function GetWorldCenter():b2Vec2{ return (m_sweep.c); } public function  (_arg1:Boolean):void{ if (_arg1){ m_flags = (m_flags | e_allowSleepFlag); } else { m_flags = (m_flags & ~(e_allowSleepFlag)); WakeUp(); }; } public function SetUserData(_arg1):void{ m_userData = _arg1; } public function GetLocalVector(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulTMV(m_xf.R, _arg1)); } public function GetWorldPoint(_arg1:b2Vec2):b2Vec2{ var _local2:b2Mat22; var _local3:b2Vec2; _local2 = m_xf.R; _local3 = new b2Vec2(((_local2.col1.x * _arg1.x) + (_local2.col2.x * _arg1.y)), ((_local2.col1.y * _arg1.x) + (_local2.col2.y * _arg1.y))); _local3.x = (_local3.x + m_xf.position.x); _local3.y = (_local3.y + m_xf.position.y); return (_local3); } public function ():b2World{ return (m_world); } public function GetPosition():b2Vec2{ return (m_xf.position); } } }//package Box2D.Dynamics
Section 65
//b2BodyDef (Box2D.Dynamics.b2BodyDef) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; public class b2BodyDef { public var  :Boolean; public var position:b2Vec2; public var  :Boolean; public var  :Boolean; public var userData; public var  :Number; public var :Boolean; public var :Number; public var linearDamping:Number; public var :b2MassData; public function b2BodyDef(){  = new b2MassData(); position = new b2Vec2(); super(); .center.SetZero(); .mass = 0; .I = 0; userData = null; position.Set(0, 0);  = 0; linearDamping = 0;  = 0;  = true;  = false;  = false;  = false; } } }//package Box2D.Dynamics
Section 66
//b2BoundaryListener (Box2D.Dynamics.b2BoundaryListener) package Box2D.Dynamics { public class b2BoundaryListener { public function Violation(_arg1:b2Body):void{ } } }//package Box2D.Dynamics
Section 67
//b2ContactFilter (Box2D.Dynamics.b2ContactFilter) package Box2D.Dynamics { import Box2D.Collision.Shapes.*; public class b2ContactFilter { public static var b2_defaultFilter:b2ContactFilter = new (b2ContactFilter); ; public function ShouldCollide(_arg1:b2Shape, _arg2:b2Shape):Boolean{ var _local3:b2FilterData; var _local4:b2FilterData; var _local5:Boolean; _local3 = _arg1.GetFilterData(); _local4 = _arg2.GetFilterData(); if ((((_local3.groupIndex == _local4.groupIndex)) && (!((_local3.groupIndex == 0))))){ return ((_local3.groupIndex > 0)); }; _local5 = ((!(((_local3.maskBits & _local4.categoryBits) == 0))) && (!(((_local3.categoryBits & _local4.maskBits) == 0)))); return (_local5); } } }//package Box2D.Dynamics
Section 68
//b2ContactListener (Box2D.Dynamics.b2ContactListener) package Box2D.Dynamics { import Box2D.Collision.*; import Box2D.Dynamics.Contacts.*; public class b2ContactListener { public function Add(_arg1:b2ContactPoint):void{ } public function Remove(_arg1:b2ContactPoint):void{ } public function Persist(_arg1:b2ContactPoint):void{ } public function Result(_arg1:b2ContactResult):void{ } } }//package Box2D.Dynamics
Section 69
//b2ContactManager (Box2D.Dynamics.b2ContactManager) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.Contacts.*; public class b2ContactManager extends b2PairCallback { public var m_world:b2World; public var :Boolean; public var :b2NullContact; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2ContactManager(){  = new b2NullContact(); super(); m_world = null;  = false; } override public function PairAdded(_arg1, _arg2){ var _local3:b2Shape; var _local4:b2Shape; var _local5:b2Body; var _local6:b2Body; var _local7:b2Contact; _local3 = (_arg1 as b2Shape); _local4 = (_arg2 as b2Shape); _local5 = _local3.m_body; _local6 = _local4.m_body; if (((_local5.IsStatic()) && (_local6.IsStatic()))){ return (); }; if (_local3.m_body == _local4.m_body){ return (); }; if (_local6.IsConnected(_local5)){ return (); }; if (((!((m_world.m_contactFilter == null))) && ((m_world.m_contactFilter.ShouldCollide(_local3, _local4) == false)))){ return (); }; _local7 = b2Contact.Create(_local3, _local4, m_world.m_blockAllocator); if (_local7 == null){ return (); }; _local3 = _local7.m_shape1; _local4 = _local7.m_shape2; _local5 = _local3.m_body; _local6 = _local4.m_body; _local7.m_prev = null; _local7.m_next = m_world.m_contactList; if (m_world.m_contactList != null){ m_world.m_contactList.m_prev = _local7; }; m_world.m_contactList = _local7; _local7.m_node1.contact = _local7; _local7.m_node1.other = _local6; _local7.m_node1.prev = null; _local7.m_node1.next = _local5.m_contactList; if (_local5.m_contactList != null){ _local5.m_contactList.prev = _local7.m_node1; }; _local5.m_contactList = _local7.m_node1; _local7.m_node2.contact = _local7; _local7.m_node2.other = _local5; _local7.m_node2.prev = null; _local7.m_node2.next = _local6.m_contactList; if (_local6.m_contactList != null){ _local6.m_contactList.prev = _local7.m_node2; }; _local6.m_contactList = _local7.m_node2; m_world.m_contactCount++; return (_local7); } override public function PairRemoved(_arg1, _arg2, _arg3):void{ var _local4:b2Contact; if (_arg3 == null){ return; }; _local4 = (_arg3 as b2Contact); if (_local4 == ){ return; }; Destroy(_local4); } public function Destroy(_arg1:b2Contact):void{ var _local2:b2Shape; var _local3:b2Shape; var _local4:int; var _local5:b2Body; var _local6:b2Body; var _local7:b2Body; var _local8:b2Body; var _local9:Array; var _local10:b2ContactPoint; var _local11:int; var _local12:b2Manifold; var _local13:int; var _local14:b2ManifoldPoint; var _local15:b2Vec2; var _local16:b2Vec2; _local2 = _arg1.m_shape1; _local3 = _arg1.m_shape2; _local4 = _arg1.m_manifoldCount; if ((((_local4 > 0)) && (m_world.m_contactListener))){ _local7 = _local2.m_body; _local8 = _local3.m_body; _local9 = _arg1.GetManifolds(); _local10 = s_evalCP; _local10.shape1 = _arg1.m_shape1; _local10.shape2 = _arg1.m_shape1; _local10.friction = _arg1.m_friction; _local10.restitution = _arg1.m_restitution; _local11 = 0; while (_local11 < _local4) { _local12 = _local9[_local11]; _local10.normal.SetV(_local12.normal); _local13 = 0; while (_local13 < _local12.pointCount) { _local14 = _local12.points[_local13]; _local10.position = _local7.GetWorldPoint(_local14.localPoint1); _local15 = _local7.GetLinearVelocityFromLocalPoint(_local14.localPoint1); _local16 = _local8.GetLinearVelocityFromLocalPoint(_local14.localPoint2); _local10.velocity.Set((_local16.x - _local15.x), (_local16.y - _local15.y)); _local10.separation = _local14.separation; _local10.id.key = _local14.id._key; m_world.m_contactListener.Remove(_local10); _local13++; }; _local11++; }; }; if (_arg1.m_prev){ _arg1.m_prev.m_next = _arg1.m_next; }; if (_arg1.m_next){ _arg1.m_next.m_prev = _arg1.m_prev; }; if (_arg1 == m_world.m_contactList){ m_world.m_contactList = _arg1.m_next; }; _local5 = _local2.m_body; _local6 = _local3.m_body; if (_arg1.m_node1.prev){ _arg1.m_node1.prev.next = _arg1.m_node1.next; }; if (_arg1.m_node1.next){ _arg1.m_node1.next.prev = _arg1.m_node1.prev; }; if (_arg1.m_node1 == _local5.m_contactList){ _local5.m_contactList = _arg1.m_node1.next; }; if (_arg1.m_node2.prev){ _arg1.m_node2.prev.next = _arg1.m_node2.next; }; if (_arg1.m_node2.next){ _arg1.m_node2.next.prev = _arg1.m_node2.prev; }; if (_arg1.m_node2 == _local6.m_contactList){ _local6.m_contactList = _arg1.m_node2.next; }; b2Contact.Destroy(_arg1, m_world.m_blockAllocator); m_world.m_contactCount--; } public function Collide():void{ var _local1:b2Contact; var _local2:b2Body; var _local3:b2Body; _local1 = m_world.m_contactList; while (_local1) { _local2 = _local1.m_shape1.m_body; _local3 = _local1.m_shape2.m_body; if (((_local2.IsSleeping()) && (_local3.IsSleeping()))){ } else { _local1.Update(m_world.m_contactListener); }; _local1 = _local1.m_next; }; } } }//package Box2D.Dynamics
Section 70
//b2DebugDraw (Box2D.Dynamics.b2DebugDraw) package Box2D.Dynamics { import flash.display.*; import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; public class b2DebugDraw { public var :Number;// = 1 public var :Number;// = 1 public var :Number;// = 1 public var :Number;// = 1 public var :uint; public var m_sprite:Sprite; public var :Number;// = 1 public static var e_coreShapeBit:uint = 4; public static var e_shapeBit:uint = 1; public static var e_centerOfMassBit:uint = 64; public static var e_aabbBit:uint = 8; public static var e_obbBit:uint = 16; public static var e_pairBit:uint = 32; public static var e_jointBit:uint = 2; public function b2DebugDraw(){  = 1;  = 1;  = 1;  = 1;  = 1; super();  = 0; } public function DrawSolidPolygon(_arg1:Array, _arg2:int, _arg3:b2Color):void{ var _local4:int; m_sprite.graphics.lineStyle(, _arg3.color, ); m_sprite.graphics.moveTo((_arg1[0].x * ), (_arg1[0].y * )); m_sprite.graphics.beginFill(_arg3.color, ); _local4 = 1; while (_local4 < _arg2) { m_sprite.graphics.lineTo((_arg1[_local4].x * ), (_arg1[_local4].y * )); _local4++; }; m_sprite.graphics.lineTo((_arg1[0].x * ), (_arg1[0].y * )); m_sprite.graphics.endFill(); } public function DrawCircle(_arg1:b2Vec2, _arg2:Number, _arg3:b2Color):void{ m_sprite.graphics.lineStyle(, _arg3.color, ); m_sprite.graphics.drawCircle((_arg1.x * ), (_arg1.y * ), (_arg2 * )); } public function DrawXForm(_arg1:b2XForm):void{ m_sprite.graphics.lineStyle(, 0xFF0000, ); m_sprite.graphics.moveTo((_arg1.position.x * ), (_arg1.position.y * )); m_sprite.graphics.lineTo(((_arg1.position.x + ( * _arg1.R.col1.x)) * ), ((_arg1.position.y + ( * _arg1.R.col1.y)) * )); m_sprite.graphics.lineStyle(, 0xFF00, ); m_sprite.graphics.moveTo((_arg1.position.x * ), (_arg1.position.y * )); m_sprite.graphics.lineTo(((_arg1.position.x + ( * _arg1.R.col2.x)) * ), ((_arg1.position.y + ( * _arg1.R.col2.y)) * )); } public function  (_arg1:uint):void{  = ( & ~(_arg1)); } public function DrawSolidCircle(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:b2Color):void{ m_sprite.graphics.lineStyle(, _arg4.color, ); m_sprite.graphics.moveTo(0, 0); m_sprite.graphics.beginFill(_arg4.color, ); m_sprite.graphics.drawCircle((_arg1.x * ), (_arg1.y * ), (_arg2 * )); m_sprite.graphics.endFill(); m_sprite.graphics.moveTo((_arg1.x * ), (_arg1.y * )); m_sprite.graphics.lineTo(((_arg1.x + (_arg3.x * _arg2)) * ), ((_arg1.y + (_arg3.y * _arg2)) * )); } public function (_arg1:uint):void{  = _arg1; } public function (_arg1:uint):void{  = ( | _arg1); } public function DrawSegment(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Color):void{ m_sprite.graphics.lineStyle(, _arg3.color, ); m_sprite.graphics.moveTo((_arg1.x * ), (_arg1.y * )); m_sprite.graphics.lineTo((_arg2.x * ), (_arg2.y * )); } public function GetFlags():uint{ return (); } public function DrawPolygon(_arg1:Array, _arg2:int, _arg3:b2Color):void{ var _local4:int; m_sprite.graphics.lineStyle(, _arg3.color, ); m_sprite.graphics.moveTo((_arg1[0].x * ), (_arg1[0].y * )); _local4 = 1; while (_local4 < _arg2) { m_sprite.graphics.lineTo((_arg1[_local4].x * ), (_arg1[_local4].y * )); _local4++; }; m_sprite.graphics.lineTo((_arg1[0].x * ), (_arg1[0].y * )); } } }//package Box2D.Dynamics
Section 71
//b2DestructionListener (Box2D.Dynamics.b2DestructionListener) package Box2D.Dynamics { import Box2D.Collision.Shapes.*; import Box2D.Dynamics.Joints.*; public class b2DestructionListener { public function SayGoodbyeJoint(_arg1:b2Joint):void{ } public function SayGoodbyeShape(_arg1:b2Shape):void{ } } }//package Box2D.Dynamics
Section 72
//b2Island (Box2D.Dynamics.b2Island) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Dynamics.Joints.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; public class b2Island { public var  :Array; public var  :b2ContactListener; public var m_positionIterationCount:int; public var  :int; public var m_bodies:Array; public var  :int; public var m_contactCount:int; public var m_contacts:Array; public var m_contactCapacity:int; public var m_jointCount:int; public var m_allocator; public var m_bodyCount:int; private static var s_reportCR:b2ContactResult = new b2ContactResult(); public function b2Island(_arg1:int, _arg2:int, _arg3:int, _arg4, _arg5:b2ContactListener){ var _local6:int; super();   = _arg1; m_contactCapacity = _arg2;   = _arg3; m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; m_allocator = _arg4;   = _arg5; m_bodies = new Array(_arg1); _local6 = 0; while (_local6 < _arg1) { m_bodies[_local6] = null; _local6++; }; m_contacts = new Array(_arg2); _local6 = 0; while (_local6 < _arg2) { m_contacts[_local6] = null; _local6++; };  = new Array(_arg3); _local6 = 0; while (_local6 < _arg3) {  [_local6] = null; _local6++; }; m_positionIterationCount = 0; } public function AddBody(_arg1:b2Body):void{ var _local2 = m_bodyCount++; m_bodies[_local2] = _arg1; } public function AddJoint(_arg1:b2Joint):void{ var _local2 = m_jointCount++;  [_local2] = _arg1; } public function  (_arg1:Array):void{ var _local2:b2Mat22; var _local3:b2Vec2; var _local4:int; var _local5:b2Contact; var _local6:b2ContactConstraint; var _local7:b2ContactResult; var _local8:b2Body; var _local9:int; var _local10:Array; var _local11:int; var _local12:b2Manifold; var _local13:int; var _local14:b2ManifoldPoint; var _local15:b2ContactConstraintPoint; if (  == null){ return; }; _local4 = 0; while (_local4 < m_contactCount) { _local5 = m_contacts[_local4]; _local6 = _arg1[_local4]; _local7 = s_reportCR; _local7.shape1 = _local5.m_shape1; _local7.shape2 = _local5.m_shape2; _local8 = _local7.shape1.m_body; _local9 = _local5.m_manifoldCount; _local10 = _local5.GetManifolds(); _local11 = 0; while (_local11 < _local9) { _local12 = _local10[_local11]; _local7.normal.SetV(_local12.normal); _local13 = 0; while (_local13 < _local12.pointCount) { _local14 = _local12.points[_local13]; _local15 = _local6.points[_local13]; _local7.position = _local8.GetWorldPoint(_local14.localPoint1); _local7.normalImpulse = _local15.normalImpulse; _local7.tangentImpulse = _local15.tangentImpulse; _local7.id.key = _local14.id.key;  .Result(_local7); _local13++; }; _local11++; }; _local4++; }; } public function Solve(_arg1:b2TimeStep, _arg2:b2Vec2, _arg3:Boolean, _arg4:Boolean):void{ var _local5:int; var _local6:b2Body; var _local7:b2Joint; var _local8:b2ContactSolver; var _local9:int; var _local10:Boolean; var _local11:Boolean; var _local12:Boolean; var _local13:Number; var _local14:Number; var _local15:Number; _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; if (_local6.IsStatic()){ } else { _local6.m_linearVelocity.x = (_local6.m_linearVelocity.x + (_arg1.dt * (_arg2.x + (_local6.m_invMass * _local6.m_force.x)))); _local6.m_linearVelocity.y = (_local6.m_linearVelocity.y + (_arg1.dt * (_arg2.y + (_local6.m_invMass * _local6.m_force.y)))); _local6.m_angularVelocity = (_local6.m_angularVelocity + ((_arg1.dt * _local6.m_invI) * _local6.m_torque)); _local6.m_force.SetZero(); _local6.m_torque = 0; _local6.m_linearVelocity.Multiply(b2Math.b2Clamp((1 - (_arg1.dt * _local6.m_linearDamping)), 0, 1)); _local6.m_angularVelocity = (_local6.m_angularVelocity * b2Math.b2Clamp((1 - (_arg1.dt * _local6.m_angularDamping)), 0, 1)); if (_local6.m_linearVelocity.LengthSquared() > b2Settings.b2_maxLinearVelocitySquared){ _local6.m_linearVelocity.Normalize(); _local6.m_linearVelocity.x = (_local6.m_linearVelocity.x * b2Settings.b2_maxLinearVelocity); _local6.m_linearVelocity.y = (_local6.m_linearVelocity.y * b2Settings.b2_maxLinearVelocity); }; if ((_local6.m_angularVelocity * _local6.m_angularVelocity) > b2Settings.b2_maxAngularVelocitySquared){ if (_local6.m_angularVelocity < 0){ _local6.m_angularVelocity = -(b2Settings.b2_maxAngularVelocity); } else { _local6.m_angularVelocity = b2Settings.b2_maxAngularVelocity; }; }; }; _local5++; }; _local8 = new b2ContactSolver(_arg1, m_contacts, m_contactCount, m_allocator); _local8.InitVelocityConstraints(_arg1); _local5 = 0; while (_local5 < m_jointCount) { _local7 =  [_local5]; _local7.InitVelocityConstraints(_arg1); _local5++; }; _local5 = 0; while (_local5 < _arg1.maxIterations) { _local8.SolveVelocityConstraints(); _local9 = 0; while (_local9 < m_jointCount) { _local7 =  [_local9]; _local7.SolveVelocityConstraints(_arg1); _local9++; }; _local5++; }; _local8.FinalizeVelocityConstraints(); _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; if (_local6.IsStatic()){ } else { _local6.m_sweep.c0.SetV(_local6.m_sweep.c); _local6.m_sweep.a0 = _local6.m_sweep.a; _local6.m_sweep.c.x = (_local6.m_sweep.c.x + (_arg1.dt * _local6.m_linearVelocity.x)); _local6.m_sweep.c.y = (_local6.m_sweep.c.y + (_arg1.dt * _local6.m_linearVelocity.y)); _local6.m_sweep.a = (_local6.m_sweep.a + (_arg1.dt * _local6.m_angularVelocity)); _local6.SynchronizeTransform(); }; _local5++; }; if (_arg3){ _local5 = 0; while (_local5 < m_jointCount) { _local7 =  [_local5]; _local7.InitPositionConstraints(); _local5++; }; m_positionIterationCount = 0; while (m_positionIterationCount < _arg1.maxIterations) { _local10 = _local8.SolvePositionConstraints(b2Settings.b2_contactBaumgarte); _local11 = true; _local5 = 0; while (_local5 < m_jointCount) { _local7 =  [_local5]; _local12 = _local7.SolvePositionConstraints(); _local11 = ((_local11) && (_local12)); _local5++; }; if (((_local10) && (_local11))){ break; }; m_positionIterationCount++; }; };  (_local8.m_constraints); if (_arg4){ _local13 = Number.MAX_VALUE; _local14 = (b2Settings.b2_linearSleepTolerance * b2Settings.b2_linearSleepTolerance); _local15 = (b2Settings.b2_angularSleepTolerance * b2Settings.b2_angularSleepTolerance); _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; if (_local6.m_invMass == 0){ } else { if ((_local6.m_flags & b2Body.e_allowSleepFlag) == 0){ _local6.m_sleepTime = 0; _local13 = 0; }; if (((((((_local6.m_flags & b2Body.e_allowSleepFlag) == 0)) || (((_local6.m_angularVelocity * _local6.m_angularVelocity) > _local15)))) || ((b2Math.b2Dot(_local6.m_linearVelocity, _local6.m_linearVelocity) > _local14)))){ _local6.m_sleepTime = 0; _local13 = 0; } else { _local6.m_sleepTime = (_local6.m_sleepTime + _arg1.dt); _local13 = b2Math.b2Min(_local13, _local6.m_sleepTime); }; }; _local5++; }; if (_local13 >= b2Settings.b2_timeToSleep){ _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; m_bodies[_local5].m_flags = (_local6.m_flags | b2Body.e_sleepFlag); _local6.m_linearVelocity.SetZero(); _local6.m_angularVelocity = 0; _local5++; }; }; }; } public function AddContact(_arg1:b2Contact):void{ var _local2 = m_contactCount++; m_contacts[_local2] = _arg1; } public function Clear():void{ m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; } public function SolveTOI(_arg1:b2TimeStep):void{ var _local2:int; var _local3:b2ContactSolver; var _local4:Number; var _local5:b2Body; var _local6:Boolean; _local3 = new b2ContactSolver(_arg1, m_contacts, m_contactCount, m_allocator); _local2 = 0; while (_local2 < _arg1.maxIterations) { _local3.SolveVelocityConstraints(); _local2++; }; _local2 = 0; while (_local2 < m_bodyCount) { _local5 = m_bodies[_local2]; if (_local5.IsStatic()){ } else { _local5.m_sweep.c0.SetV(_local5.m_sweep.c); _local5.m_sweep.a0 = _local5.m_sweep.a; _local5.m_sweep.c.x = (_local5.m_sweep.c.x + (_arg1.dt * _local5.m_linearVelocity.x)); _local5.m_sweep.c.y = (_local5.m_sweep.c.y + (_arg1.dt * _local5.m_linearVelocity.y)); _local5.m_sweep.a = (_local5.m_sweep.a + (_arg1.dt * _local5.m_angularVelocity)); _local5.SynchronizeTransform(); }; _local2++; }; _local4 = 0.75; _local2 = 0; while (_local2 < _arg1.maxIterations) { _local6 = _local3.SolvePositionConstraints(_local4); if (_local6){ break; }; _local2++; };  (_local3.m_constraints); } } }//package Box2D.Dynamics
Section 73
//b2TimeStep (Box2D.Dynamics.b2TimeStep) package Box2D.Dynamics { public class b2TimeStep { public var warmStarting:Boolean; public var positionCorrection:Boolean; public var dt:Number; public var maxIterations:int; public var dtRatio:Number; public var inv_dt:Number; } }//package Box2D.Dynamics
Section 74
//b2World (Box2D.Dynamics.b2World) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.Joints.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; public class b2World { public var  :Number; public var  :b2BoundaryListener; public var m_contactList:b2Contact; public var m_blockAllocator; public var m_contactListener:b2ContactListener; public var  :Boolean; public var m_broadPhase:b2BroadPhase; public var  :b2DestructionListener; public var m_jointCount:int; public var m_bodyCount:int; public var m_lock:Boolean; public var m_positionIterationCount:int; public var  :b2Body; public var m_contactCount:int; public var  :b2DebugDraw; public var m_contactFilter:b2ContactFilter; public var m_bodyList:b2Body; public var  ; public var m_jointList:b2Joint; public var  :b2Vec2; public var  :b2ContactManager; private static var s_jointColor:b2Color = new b2Color(0.5, 0.8, 0.8); public static var m_continuousPhysics:Boolean; public static var m_warmStarting:Boolean; private static var s_coreColor:b2Color = new b2Color(0.9, 0.6, 0.6); public static var m_positionCorrection:Boolean; private static var s_xf:b2XForm = new b2XForm(); public function b2World(_arg1:b2AABB, _arg2:b2Vec2, _arg3:Boolean){ var _local4:b2BodyDef;   = new b2ContactManager(); super();   = null;   = null; m_contactFilter = b2ContactFilter.b2_defaultFilter; m_contactListener = null;   = null; m_bodyList = null; m_contactList = null; m_jointList = null; m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; m_positionCorrection = true; m_warmStarting = true; m_continuousPhysics = true;   = _arg3;   = _arg2; m_lock = false;   = 0;  .m_world = this; m_broadPhase = new b2BroadPhase(_arg1,  ); _local4 = new b2BodyDef();   = CreateBody(_local4); } public function  (_arg1:b2Joint):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2XForm; var _local5:b2XForm; var _local6:b2Vec2; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:b2Color; var _local11:b2PulleyJoint; var _local12:b2Vec2; var _local13:b2Vec2; _local2 = _arg1.m_body1; _local3 = _arg1.m_body2; _local4 = _local2.m_xf; _local5 = _local3.m_xf; _local6 = _local4.position; _local7 = _local5.position; _local8 = _arg1.GetAnchor1(); _local9 = _arg1.GetAnchor2(); _local10 = s_jointColor; switch (_arg1.m_type){ case b2Joint.e_distanceJoint:  .DrawSegment(_local8, _local9, _local10); break; case b2Joint.e_pulleyJoint: _local11 = (_arg1 as b2PulleyJoint); _local12 = _local11.GetGroundAnchor1(); _local13 = _local11.GetGroundAnchor2();  .DrawSegment(_local12, _local8, _local10);  .DrawSegment(_local13, _local9, _local10);  .DrawSegment(_local12, _local13, _local10); break; case b2Joint.e_mouseJoint:  .DrawSegment(_local8, _local9, _local10); break; default: if (_local2 !=  ){  .DrawSegment(_local6, _local8, _local10); };  .DrawSegment(_local8, _local9, _local10); if (_local3 !=  ){  .DrawSegment(_local7, _local9, _local10); }; }; } public function  (_arg1:b2Shape):void{ _arg1.RefilterProxy(m_broadPhase, _arg1.m_body.m_xf); } public function  (_arg1:b2DebugDraw):void{   = _arg1; } public function  (_arg1:Boolean):void{ m_continuousPhysics = _arg1; } public function  ():int{ return (m_broadPhase.m_proxyCount); } public function  ():void{ var _local1:uint; var _local2:int; var _local3:b2Body; var _local4:b2Shape; var _local5:b2Joint; var _local6:b2BroadPhase; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:b2Color; var _local11:b2XForm; var _local12:b2AABB; var _local13:b2AABB; var _local14:Array; var _local15:Boolean; var _local16:uint; var _local17:b2Pair; var _local18:b2Proxy; var _local19:b2Proxy; var _local20:b2Vec2; var _local21:b2Vec2; var _local22:b2Proxy; var _local23:b2PolygonShape; var _local24:b2OBB; var _local25:b2Vec2; var _local26:b2Mat22; var _local27:b2Vec2; var _local28:Number; if (  == null){ return; };  .m_sprite.graphics.clear(); _local1 =  .GetFlags(); _local7 = new b2Vec2(); _local8 = new b2Vec2(); _local9 = new b2Vec2(); _local10 = new b2Color(0, 0, 0); _local12 = new b2AABB(); _local13 = new b2AABB(); _local14 = [new b2Vec2(), new b2Vec2(), new b2Vec2(), new b2Vec2()]; if ((_local1 & b2DebugDraw.e_shapeBit)){ _local15 = ((_local1 & b2DebugDraw.e_coreShapeBit) == b2DebugDraw.e_coreShapeBit); _local3 = m_bodyList; while (_local3) { _local11 = _local3.m_xf; _local4 = _local3.GetShapeList(); while (_local4) { if (_local3.IsStatic()){  (_local4, _local11, new b2Color(0.5, 0.9, 0.5), _local15); } else { if (_local3.IsSleeping()){  (_local4, _local11, new b2Color(0.5, 0.5, 0.9), _local15); } else {  (_local4, _local11, new b2Color(0.9, 0.9, 0.9), _local15); }; }; _local4 = _local4.m_next; }; _local3 = _local3.m_next; }; }; if ((_local1 & b2DebugDraw.e_jointBit)){ _local5 = m_jointList; while (_local5) {  (_local5); _local5 = _local5.m_next; }; }; if ((_local1 & b2DebugDraw.e_pairBit)){ _local6 = m_broadPhase; _local7.Set((1 / _local6.m_quantizationFactor.x), (1 / _local6.m_quantizationFactor.y)); _local10.Set(0.9, 0.9, 0.3); _local2 = 0; while (_local2 < b2Pair.b2_tableCapacity) { _local16 = _local6.m_pairManager.m_hashTable[_local2]; while (_local16 != b2Pair.b2_nullPair) { _local17 = _local6.m_pairManager.m_pairs[_local16]; _local18 = _local6.m_proxyPool[_local17.proxyId1]; _local19 = _local6.m_proxyPool[_local17.proxyId2]; _local12.lowerBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local18.lowerBounds[0]].value)); _local12.lowerBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local18.lowerBounds[1]].value)); _local12.upperBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local18.upperBounds[0]].value)); _local12.upperBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local18.upperBounds[1]].value)); _local13.lowerBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local19.lowerBounds[0]].value)); _local13.lowerBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local19.lowerBounds[1]].value)); _local13.upperBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local19.upperBounds[0]].value)); _local13.upperBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local19.upperBounds[1]].value)); _local8.x = (0.5 * (_local12.lowerBound.x + _local12.upperBound.x)); _local8.y = (0.5 * (_local12.lowerBound.y + _local12.upperBound.y)); _local9.x = (0.5 * (_local13.lowerBound.x + _local13.upperBound.x)); _local9.y = (0.5 * (_local13.lowerBound.y + _local13.upperBound.y));  .DrawSegment(_local8, _local9, _local10); _local16 = _local17.next; }; _local2++; }; }; if ((_local1 & b2DebugDraw.e_aabbBit)){ _local6 = m_broadPhase; _local20 = _local6.m_worldAABB.lowerBound; _local21 = _local6.m_worldAABB.upperBound; _local7.Set((1 / _local6.m_quantizationFactor.x), (1 / _local6.m_quantizationFactor.y)); _local10.Set(0.9, 0.3, 0.9); _local2 = 0; while (_local2 < b2Settings.b2_maxProxies) { _local22 = _local6.m_proxyPool[_local2]; if (_local22.IsValid() == false){ } else { _local12.lowerBound.x = (_local20.x + (_local7.x * _local6.m_bounds[0][_local22.lowerBounds[0]].value)); _local12.lowerBound.y = (_local20.y + (_local7.y * _local6.m_bounds[1][_local22.lowerBounds[1]].value)); _local12.upperBound.x = (_local20.x + (_local7.x * _local6.m_bounds[0][_local22.upperBounds[0]].value)); _local12.upperBound.y = (_local20.y + (_local7.y * _local6.m_bounds[1][_local22.upperBounds[1]].value)); _local14[0].Set(_local12.lowerBound.x, _local12.lowerBound.y); _local14[1].Set(_local12.upperBound.x, _local12.lowerBound.y); _local14[2].Set(_local12.upperBound.x, _local12.upperBound.y); _local14[3].Set(_local12.lowerBound.x, _local12.upperBound.y);  .DrawPolygon(_local14, 4, _local10); }; _local2++; }; _local14[0].Set(_local20.x, _local20.y); _local14[1].Set(_local21.x, _local20.y); _local14[2].Set(_local21.x, _local21.y); _local14[3].Set(_local20.x, _local21.y);  .DrawPolygon(_local14, 4, new b2Color(0.3, 0.9, 0.9)); }; if ((_local1 & b2DebugDraw.e_obbBit)){ _local10.Set(0.5, 0.3, 0.5); _local3 = m_bodyList; while (_local3) { _local11 = _local3.m_xf; _local4 = _local3.GetShapeList(); while (_local4) { if (_local4.m_type != b2Shape.e_polygonShape){ } else { _local23 = (_local4 as b2PolygonShape); _local24 = _local23.GetOBB(); _local25 = _local24.extents; _local14[0].Set(-(_local25.x), -(_local25.y)); _local14[1].Set(_local25.x, -(_local25.y)); _local14[2].Set(_local25.x, _local25.y); _local14[3].Set(-(_local25.x), _local25.y); _local2 = 0; while (_local2 < 4) { _local26 = _local24.R; _local27 = _local14[_local2]; _local28 = (_local24.center.x + ((_local26.col1.x * _local27.x) + (_local26.col2.x * _local27.y))); _local14[_local2].y = (_local24.center.y + ((_local26.col1.y * _local27.x) + (_local26.col2.y * _local27.y))); _local14[_local2].x = _local28; _local26 = _local11.R; _local28 = (_local11.position.x + ((_local26.col1.x * _local27.x) + (_local26.col2.x * _local27.y))); _local14[_local2].y = (_local11.position.y + ((_local26.col1.y * _local27.x) + (_local26.col2.y * _local27.y))); _local14[_local2].x = _local28; _local2++; };  .DrawPolygon(_local14, 4, _local10); }; _local4 = _local4.m_next; }; _local3 = _local3.m_next; }; }; if ((_local1 & b2DebugDraw.e_centerOfMassBit)){ _local3 = m_bodyList; while (_local3) { _local11 = s_xf; _local11.R = _local3.m_xf.R; _local11.position = _local3.GetWorldCenter();  .DrawXForm(_local11); _local3 = _local3.m_next; }; }; } public function DestroyBody(_arg1:b2Body):void{ var _local2:b2JointEdge; var _local3:b2Shape; var _local4:b2JointEdge; var _local5:b2Shape; if (m_lock == true){ return; }; _local2 = _arg1.m_jointList; while (_local2) { _local4 = _local2; _local2 = _local2.next; if ( ){  .SayGoodbyeJoint(_local4.joint); }; DestroyJoint(_local4.joint); }; _local3 = _arg1.m_shapeList; while (_local3) { _local5 = _local3; _local3 = _local3.m_next; if ( ){  .SayGoodbyeShape(_local5); }; _local5.DestroyProxy(m_broadPhase); b2Shape.Destroy(_local5, m_blockAllocator); }; if (_arg1.m_prev){ _arg1.m_prev.m_next = _arg1.m_next; }; if (_arg1.m_next){ _arg1.m_next.m_prev = _arg1.m_prev; }; if (_arg1 == m_bodyList){ m_bodyList = _arg1.m_next; }; m_bodyCount--; } public function  (_arg1:b2ContactFilter):void{ m_contactFilter = _arg1; } public function  ():b2Body{ return ( ); } public function  (_arg1:b2Shape, _arg2:b2XForm, _arg3:b2Color, _arg4:Boolean):void{ var _local5:b2Color; var _local6:b2CircleShape; var _local7:b2Vec2; var _local8:Number; var _local9:b2Vec2; var _local10:int; var _local11:b2PolygonShape; var _local12:int; var _local13:Array; var _local14:Array; var _local15:Array; _local5 = s_coreColor; switch (_arg1.m_type){ case b2Shape.e_circleShape: _local6 = (_arg1 as b2CircleShape); _local7 = b2Math.b2MulX(_arg2, _local6.m_localPosition); _local8 = _local6.m_radius; _local9 = _arg2.R.col1;  .DrawSolidCircle(_local7, _local8, _local9, _arg3); if (_arg4){  .DrawCircle(_local7, (_local8 - b2Settings.b2_toiSlop), _local5); }; break; case b2Shape.e_polygonShape: _local11 = (_arg1 as b2PolygonShape); _local12 = _local11.GetVertexCount(); _local13 = _local11.GetVertices(); _local14 = new Array(b2Settings.b2_maxPolygonVertices); _local10 = 0; while (_local10 < _local12) { _local14[_local10] = b2Math.b2MulX(_arg2, _local13[_local10]); _local10++; };  .DrawSolidPolygon(_local14, _local12, _arg3); if (_arg4){ _local15 = _local11.GetCoreVertices(); _local10 = 0; while (_local10 < _local12) { _local14[_local10] = b2Math.b2MulX(_arg2, _local15[_local10]); _local10++; };  .DrawPolygon(_local14, _local12, _local5); }; break; }; } public function  ():int{ return (m_contactCount); } public function Solve(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Island; var _local4:b2Contact; var _local5:b2Joint; var _local6:int; var _local7:Array; var _local8:b2Body; var _local9:int; var _local10:int; var _local11:b2Body; var _local12:b2ContactEdge; var _local13:b2JointEdge; var _local14:Boolean; m_positionIterationCount = 0; _local3 = new b2Island(m_bodyCount, m_contactCount, m_jointCount,  , m_contactListener); _local2 = m_bodyList; while (_local2) { _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); _local2 = _local2.m_next; }; _local4 = m_contactList; while (_local4) { _local4.m_flags = (_local4.m_flags & ~(b2Contact.e_islandFlag)); _local4 = _local4.m_next; }; _local5 = m_jointList; while (_local5) { _local5.m_islandFlag = false; _local5 = _local5.m_next; }; _local6 = m_bodyCount; _local7 = new Array(_local6); _local8 = m_bodyList; while (_local8) { if ((_local8.m_flags & ((b2Body.e_islandFlag | b2Body.e_sleepFlag) | b2Body.e_frozenFlag))){ } else { if (_local8.IsStatic()){ } else { _local3.Clear(); _local9 = 0; var _temp1 = _local9; _local9 = (_local9 + 1); var _local15 = _temp1; _local7[_local15] = _local8; _local8.m_flags = (_local8.m_flags | b2Body.e_islandFlag); while (_local9 > 0) { --_local9; _local2 = _local7[_local9]; _local3.AddBody(_local2); _local2.m_flags = (_local2.m_flags & ~(b2Body.e_sleepFlag)); if (_local2.IsStatic()){ } else { _local12 = _local2.m_contactList; while (_local12) { if ((_local12.contact.m_flags & (b2Contact.e_islandFlag | b2Contact.e_nonSolidFlag))){ } else { if (_local12.contact.m_manifoldCount == 0){ } else { _local3.AddContact(_local12.contact); _local12.contact.m_flags = (_local12.contact.m_flags | b2Contact.e_islandFlag); _local11 = _local12.other; if ((_local11.m_flags & b2Body.e_islandFlag)){ } else { var _temp2 = _local9; _local9 = (_local9 + 1); var _local16 = _temp2; _local7[_local16] = _local11; _local11.m_flags = (_local11.m_flags | b2Body.e_islandFlag); }; }; }; _local12 = _local12.next; }; _local13 = _local2.m_jointList; while (_local13) { if (_local13.joint.m_islandFlag == true){ } else { _local3.AddJoint(_local13.joint); _local13.joint.m_islandFlag = true; _local11 = _local13.other; if ((_local11.m_flags & b2Body.e_islandFlag)){ } else { var _temp3 = _local9; _local9 = (_local9 + 1); _local16 = _temp3; _local7[_local16] = _local11; _local11.m_flags = (_local11.m_flags | b2Body.e_islandFlag); }; }; _local13 = _local13.next; }; }; }; _local3.Solve(_arg1,  , m_positionCorrection,  ); if (_local3.m_positionIterationCount > m_positionIterationCount){ m_positionIterationCount = _local3.m_positionIterationCount; }; _local10 = 0; while (_local10 < _local3.m_bodyCount) { _local2 = _local3.m_bodies[_local10]; if (_local2.IsStatic()){ _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); }; _local10++; }; }; }; _local8 = _local8.m_next; }; _local2 = m_bodyList; while (_local2) { if ((_local2.m_flags & (b2Body.e_sleepFlag | b2Body.e_frozenFlag))){ } else { if (_local2.IsStatic()){ } else { _local14 = _local2.SynchronizeShapes(); if ((((_local14 == false)) && (!((  == null))))){  .Violation(_local2); }; }; }; _local2 = _local2.m_next; }; m_broadPhase.Commit(); } public function  (_arg1:b2AABB, _arg2:Array, _arg3:int):int{ var _local4:Array; var _local5:int; var _local6:int; _local4 = new Array(_arg3); _local5 = m_broadPhase.QueryAABB(_arg1, _local4, _arg3); _local6 = 0; while (_local6 < _local5) { _arg2[_local6] = _local4[_local6]; _local6++; }; return (_local5); } public function  (_arg1:b2Vec2):void{   = _arg1; } public function SolveTOI(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Shape; var _local4:b2Shape; var _local5:b2Body; var _local6:b2Body; var _local7:b2ContactEdge; var _local8:b2Island; var _local9:int; var _local10:Array; var _local11:b2Contact; var _local12:b2Contact; var _local13:Number; var _local14:b2Body; var _local15:int; var _local16:b2TimeStep; var _local17:int; var _local18:Number; var _local19:Number; var _local20:b2Body; var _local21:Boolean; _local8 = new b2Island(m_bodyCount, b2Settings.b2_maxTOIContactsPerIsland, 0,  , m_contactListener); _local9 = m_bodyCount; _local10 = new Array(_local9); _local2 = m_bodyList; while (_local2) { _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); _local2.m_sweep.t0 = 0; _local2 = _local2.m_next; }; _local11 = m_contactList; while (_local11) { _local11.m_flags = (_local11.m_flags & ~((b2Contact.e_toiFlag | b2Contact.e_islandFlag))); _local11 = _local11.m_next; }; while (true) { _local12 = null; _local13 = 1; _local11 = m_contactList; for (;_local11;(_local11 = _local11.m_next)) { if ((_local11.m_flags & (b2Contact.e_slowFlag | b2Contact.e_nonSolidFlag))){ } else { _local18 = 1; if ((_local11.m_flags & b2Contact.e_toiFlag)){ _local18 = _local11.m_toi; } else { _local3 = _local11.m_shape1; _local4 = _local11.m_shape2; _local5 = _local3.m_body; _local6 = _local4.m_body; if (((((_local5.IsStatic()) || (_local5.IsSleeping()))) && (((_local6.IsStatic()) || (_local6.IsSleeping()))))){ continue; }; _local19 = _local5.m_sweep.t0; if (_local5.m_sweep.t0 < _local6.m_sweep.t0){ _local19 = _local6.m_sweep.t0; _local5.m_sweep.Advance(_local19); } else { if (_local6.m_sweep.t0 < _local5.m_sweep.t0){ _local19 = _local5.m_sweep.t0; _local6.m_sweep.Advance(_local19); }; }; _local18 = b2TimeOfImpact.TimeOfImpact(_local11.m_shape1, _local5.m_sweep, _local11.m_shape2, _local6.m_sweep); if ((((_local18 > 0)) && ((_local18 < 1)))){ _local18 = (((1 - _local18) * _local19) + _local18); if (_local18 > 1){ _local18 = 1; }; }; _local11.m_toi = _local18; _local11.m_flags = (_local11.m_flags | b2Contact.e_toiFlag); }; if ((((Number.MIN_VALUE < _local18)) && ((_local18 < _local13)))){ _local12 = _local11; _local13 = _local18; }; }; }; if ((((_local12 == null)) || (((1 - (100 * Number.MIN_VALUE)) < _local13)))){ break; }; _local3 = _local12.m_shape1; _local4 = _local12.m_shape2; _local5 = _local3.m_body; _local6 = _local4.m_body; _local5.Advance(_local13); _local6.Advance(_local13); _local12.Update(m_contactListener); _local12.m_flags = (_local12.m_flags & ~(b2Contact.e_toiFlag)); if (_local12.m_manifoldCount == 0){ } else { _local14 = _local5; if (_local14.IsStatic()){ _local14 = _local6; }; _local8.Clear(); _local15 = 0; var _temp1 = _local15; _local15 = (_local15 + 1); var _local22 = _temp1; _local10[_local22] = _local14; _local14.m_flags = (_local14.m_flags | b2Body.e_islandFlag); while (_local15 > 0) { --_local15; _local2 = _local10[_local15]; _local8.AddBody(_local2); _local2.m_flags = (_local2.m_flags & ~(b2Body.e_sleepFlag)); if (_local2.IsStatic()){ } else { _local7 = _local2.m_contactList; while (_local7) { if (_local8.m_contactCount == _local8.m_contactCapacity){ } else { if ((_local7.contact.m_flags & ((b2Contact.e_islandFlag | b2Contact.e_slowFlag) | b2Contact.e_nonSolidFlag))){ } else { if (_local7.contact.m_manifoldCount == 0){ } else { _local8.AddContact(_local7.contact); _local7.contact.m_flags = (_local7.contact.m_flags | b2Contact.e_islandFlag); _local20 = _local7.other; if ((_local20.m_flags & b2Body.e_islandFlag)){ } else { if (_local20.IsStatic() == false){ _local20.Advance(_local13); _local20.WakeUp(); }; var _temp2 = _local15; _local15 = (_local15 + 1); var _local23 = _temp2; _local10[_local23] = _local20; _local20.m_flags = (_local20.m_flags | b2Body.e_islandFlag); }; }; }; }; _local7 = _local7.next; }; }; }; _local16 = new b2TimeStep(); _local16.dt = ((1 - _local13) * _arg1.dt); _local16.inv_dt = (1 / _local16.dt); _local16.maxIterations = _arg1.maxIterations; _local8.SolveTOI(_local16); _local17 = 0; while (_local17 < _local8.m_bodyCount) { _local2 = _local8.m_bodies[_local17]; _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); if ((_local2.m_flags & (b2Body.e_sleepFlag | b2Body.e_frozenFlag))){ } else { if (_local2.IsStatic()){ } else { _local21 = _local2.SynchronizeShapes(); if ((((_local21 == false)) && (!((  == null))))){  .Violation(_local2); }; _local7 = _local2.m_contactList; while (_local7) { _local7.contact.m_flags = (_local7.contact.m_flags & ~(b2Contact.e_toiFlag)); _local7 = _local7.next; }; }; }; _local17++; }; _local17 = 0; while (_local17 < _local8.m_contactCount) { _local11 = _local8.m_contacts[_local17]; _local8.m_contacts[_local17].m_flags = (_local11.m_flags & ~((b2Contact.e_toiFlag | b2Contact.e_islandFlag))); _local17++; }; m_broadPhase.Commit(); }; }; } public function GetJointList():b2Joint{ return (m_jointList); } public function Validate():void{ m_broadPhase.Validate(); } public function  ():int{ return (m_broadPhase.m_pairManager.m_pairCount); } public function  ():b2Body{ return (m_bodyList); } public function  (_arg1:Boolean):void{ m_warmStarting = _arg1; } public function  (_arg1:Boolean):void{ m_positionCorrection = _arg1; } public function CreateJoint(_arg1:b2JointDef):b2Joint{ var _local2:b2Joint; var _local3:b2Body; var _local4:b2Shape; _local2 = b2Joint.Create(_arg1, m_blockAllocator); _local2.m_prev = null; _local2.m_next = m_jointList; if (m_jointList){ m_jointList.m_prev = _local2; }; m_jointList = _local2; m_jointCount++; _local2.m_node1.joint = _local2; _local2.m_node1.other = _local2.m_body2; _local2.m_node1.prev = null; _local2.m_node1.next = _local2.m_body1.m_jointList; if (_local2.m_body1.m_jointList){ _local2.m_body1.m_jointList.prev = _local2.m_node1; }; _local2.m_body1.m_jointList = _local2.m_node1; _local2.m_node2.joint = _local2; _local2.m_node2.other = _local2.m_body1; _local2.m_node2.prev = null; _local2.m_node2.next = _local2.m_body2.m_jointList; if (_local2.m_body2.m_jointList){ _local2.m_body2.m_jointList.prev = _local2.m_node2; }; _local2.m_body2.m_jointList = _local2.m_node2; if (_arg1.collideConnected == false){ _local3 = ((_arg1.body1.m_shapeCount < _arg1.body2.m_shapeCount)) ? _arg1.body1 : _arg1.body2; _local4 = _local3.m_shapeList; while (_local4) { _local4.RefilterProxy(m_broadPhase, _local3.m_xf); _local4 = _local4.m_next; }; }; return (_local2); } public function DestroyJoint(_arg1:b2Joint):void{ var _local2:Boolean; var _local3:b2Body; var _local4:b2Body; var _local5:b2Body; var _local6:b2Shape; _local2 = _arg1.m_collideConnected; if (_arg1.m_prev){ _arg1.m_prev.m_next = _arg1.m_next; }; if (_arg1.m_next){ _arg1.m_next.m_prev = _arg1.m_prev; }; if (_arg1 == m_jointList){ m_jointList = _arg1.m_next; }; _local3 = _arg1.m_body1; _local4 = _arg1.m_body2; _local3.WakeUp(); _local4.WakeUp(); if (_arg1.m_node1.prev){ _arg1.m_node1.prev.next = _arg1.m_node1.next; }; if (_arg1.m_node1.next){ _arg1.m_node1.next.prev = _arg1.m_node1.prev; }; if (_arg1.m_node1 == _local3.m_jointList){ _local3.m_jointList = _arg1.m_node1.next; }; _arg1.m_node1.prev = null; _arg1.m_node1.next = null; if (_arg1.m_node2.prev){ _arg1.m_node2.prev.next = _arg1.m_node2.next; }; if (_arg1.m_node2.next){ _arg1.m_node2.next.prev = _arg1.m_node2.prev; }; if (_arg1.m_node2 == _local4.m_jointList){ _local4.m_jointList = _arg1.m_node2.next; }; _arg1.m_node2.prev = null; _arg1.m_node2.next = null; b2Joint.Destroy(_arg1, m_blockAllocator); m_jointCount--; if (_local2 == false){ _local5 = ((_local3.m_shapeCount < _local4.m_shapeCount)) ? _local3 : _local4; _local6 = _local5.m_shapeList; while (_local6) { _local6.RefilterProxy(m_broadPhase, _local5.m_xf); _local6 = _local6.m_next; }; }; } public function  (_arg1:b2ContactListener):void{ m_contactListener = _arg1; } public function CreateBody(_arg1:b2BodyDef):b2Body{ var _local2:b2Body; if (m_lock == true){ return (null); }; _local2 = new b2Body(_arg1, this); _local2.m_prev = null; _local2.m_next = m_bodyList; if (m_bodyList){ m_bodyList.m_prev = _local2; }; m_bodyList = _local2; m_bodyCount++; return (_local2); } public function  (_arg1:b2BoundaryListener):void{   = _arg1; } public function  (_arg1:b2DestructionListener):void{   = _arg1; } public function Step(_arg1:Number, _arg2:int):void{ var _local3:b2TimeStep; m_lock = true; _local3 = new b2TimeStep(); _local3.dt = _arg1; _local3.maxIterations = _arg2; if (_arg1 > 0){ _local3.inv_dt = (1 / _arg1); } else { _local3.inv_dt = 0; }; _local3.dtRatio = (  * _arg1); _local3.positionCorrection = m_positionCorrection; _local3.warmStarting = m_warmStarting;  .Collide(); if (_local3.dt > 0){ Solve(_local3); }; if (((m_continuousPhysics) && ((_local3.dt > 0)))){ SolveTOI(_local3); };  ();   = _local3.inv_dt; m_lock = false; } public function  ():int{ return (m_bodyCount); } public function  ():int{ return (m_jointCount); } } }//package Box2D.Dynamics
Section 75
//b2Controller (com.boristhebrave.Box2D.Controllers.b2Controller) package com.boristhebrave.Box2D.Controllers { import Box2D.Dynamics.*; public class b2Controller { public var m_prev:b2Controller; public var m_next:b2Controller; public function (_arg1:b2DebugDraw):void{ } public function GetNext():b2Controller{ return (m_next); } public function Step(_arg1:Number):void{ } public function ():b2Controller{ return (m_prev); } } }//package com.boristhebrave.Box2D.Controllers
Section 76
//b2GravityController (com.boristhebrave.Box2D.Controllers.b2GravityController) package com.boristhebrave.Box2D.Controllers { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2GravityController extends b2MultiController { public var G:Number;// = 1 public var :Boolean;// = true public function b2GravityController(){ G = 1;  = true; super(); } override public function Step(_arg1:Number):void{ var _local2:int; var _local3:b2Body; var _local4:b2Vec2; var _local5:Number; var _local6:int; var _local7:b2Body; var _local8:b2Vec2; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:b2Vec2; _local2 = 0; _local3 = null; _local4 = null; _local5 = 0; _local6 = 0; _local7 = null; _local8 = null; _local9 = 0; _local10 = 0; _local11 = 0; _local12 = null; if (){ _local2 = 0; while (_local2 < m_bodies.length) { _local3 = m_bodies[_local2]; _local4 = _local3.GetWorldCenter(); _local5 = _local3.GetMass(); _local6 = 0; while (_local6 < _local2) { _local7 = m_bodies[_local6]; _local8 = _local7.GetWorldCenter(); _local9 = (_local8.x - _local4.x); _local10 = (_local8.y - _local4.y); _local11 = ((_local9 * _local9) + (_local10 * _local10)); if (_local11 < Number.MIN_VALUE){ } else { _local12 = new b2Vec2(_local9, _local10); _local12.Multiply(((((G / _local11) / Math.sqrt(_local11)) * _local5) * _local7.GetMass())); if (!_local3.IsSleeping()){ _local3.ApplyForce(_local12, _local4); }; _local12.Multiply(-1); if (!_local7.IsSleeping()){ _local7.ApplyForce(_local12, _local8); }; }; _local6++; }; _local2++; }; } else { _local2 = 0; while (_local2 < m_bodies.length) { _local3 = m_bodies[_local2]; _local4 = _local3.GetWorldCenter(); _local5 = _local3.GetMass(); _local6 = 0; while (_local6 < _local2) { _local7 = m_bodies[_local2]; _local8 = _local7.GetWorldCenter(); _local9 = (_local8.x - _local4.x); _local10 = (_local8.y - _local4.y); _local11 = ((_local9 * _local9) + (_local10 * _local10)); if (_local11 < Number.MIN_VALUE){ } else { _local12 = new b2Vec2(_local9, _local10); _local12.Multiply((((G / _local11) * _local5) * _local7.GetMass())); if (!_local3.IsSleeping()){ _local3.ApplyForce(_local12, _local4); }; _local12.Multiply(-1); if (!_local7.IsSleeping()){ _local7.ApplyForce(_local12, _local8); }; }; _local6++; }; _local2++; }; }; } public static function FromBodies(_arg1:Array):b2GravityController{ var _local2:b2GravityController; var _local3:*; _local2 = new (b2GravityController); _local3 = 0; while (_local3 < _arg1.length) { _local2.AddBody(_arg1[_local3]); _local3++; }; return (_local2); } } }//package com.boristhebrave.Box2D.Controllers
Section 77
//b2MultiController (com.boristhebrave.Box2D.Controllers.b2MultiController) package com.boristhebrave.Box2D.Controllers { import Box2D.Dynamics.*; public class b2MultiController extends b2Controller { var m_bodies:Array; public function b2MultiController(){ m_bodies = []; super(); } public function AddBody(_arg1:b2Body):void{ m_bodies.push(_arg1); } public function  (_arg1:b2Body):void{ var body = _arg1; m_bodies = m_bodies.filter(function (_arg1){ return (!((_arg1 == body))); }); } public function  (_arg1:Array):void{ var _local2:*; _local2 = 0; while (_local2 < _arg1.length) { AddBody(_arg1[_local2]); _local2++; }; } public function  ():void{ var _local1:int; _local1 = 0; while (_local1 < m_bodies.length) { m_bodies[_local1].WakeUp(); _local1++; }; } public function  ():Array{ return (m_bodies); } public static function FromBodies(_arg1:Array):b2MultiController{ var _local2:b2MultiController; var _local3:*; _local2 = new (b2MultiController); _local3 = 0; while (_local3 < _arg1.length) { _local2.AddBody(_arg1[_local3]); _local3++; }; return (_local2); } } }//package com.boristhebrave.Box2D.Controllers
Section 78
//BalanceGame (com.nitrome.balancer.BalanceGame) package com.nitrome.balancer { import flash.display.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import flash.events.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.Joints.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; import com.boristhebrave.Box2D.Controllers.*; import General.*; import com.nitrome.util.*; import flash.geom.*; public class BalanceGame { public var m_physScale:Number;// = 30 var fishes:Array; var cannons:Array; var draggingBlockRotation:Number; var stamps0:MovieClip; var stamps1:MovieClip; var stamps2:MovieClip; var sky:MovieClip; public var m_bomb:b2Body; var sparks:Array; public var m_world:b2World; public var m_iterations:int;// = 12 var sea:MovieClip; var hills:MovieClip; var shakeYOff:Number;// = 0 var shortedBody:b2Body; var circuitCompleted:Boolean;// = false var  :Array; var chestClosing:Boolean;// = false var  :Number;// = 0 var teslaBlocks:Array; public var m_input:Input; var debugArea:MovieClip; var chests:Array; var helpSigns:Array; var container:MovieClip; var signsLayer:MovieClip; var screws:Array; public var score:Number; var chestDisplay:ChestDisplay; var  :MovieClip; var waterAreas:Array; var sparksLayer:MovieClip; var noDragLayer:MovieClip; var mousePressed:Boolean;// = false var  :MovieClip; public var m_timeStep:Number;// = 0.0333333333333333 var shortCircuit:Boolean;// = false var ;// = false var blockList:Array; var openChest:Boolean;// = false var landClip:MovieClip; var  :Number;// = 0 var levelComplete:Boolean;// = false var chestClicked:Block; var scrolling:Boolean;// = false public var m_mouseJoint:b2MouseJoint; var ;// = 1 var startElementBody:b2Body; var shakeXOff:Number;// = 0 static var blockBeingDragged:Block; static var CHESTOPENFRAME:Number = 11; static var rootLine:MovieClip; static var persistantContacts:Array; static var waterClip:MovieClip; static var glassPanels:Array; static var wheelBlocksToMove:Array; static var metalJoints:Array; static var newContacts:Array; static var firstFrame:Boolean = true; public static var mouseYWorld:Number; public static var paused:Boolean = false; public static var mouseXWorldPhys:Number; static var deadZones:Array; public static var mouseYWorldPhys:Number; static var endElementBody:b2Body; static var looseJoints:Array; static var panelOpen:Boolean = false; static var STARTSCORE:Number = 10000; static var levelElementsLayer:MovieClip; static var screenShake:Number = 0; static var draggingBlock:Boolean = false; public static var mouseXWorld:Number; public function BalanceGame(_arg1:MovieClip, _arg2:MovieClip){ var _local3:b2AABB; var _local4:b2Vec2; var _local5:Boolean; var _local6:ContactListener_game; m_iterations = 12; m_timeStep = (1 / 30); m_physScale = 30; mousePressed = false; circuitCompleted = false; shortCircuit = false; openChest = false; chestClosing = false; shakeXOff = 0; shakeYOff = 0;  = 0;   = 0; scrolling = false; score = STARTSCORE; levelComplete = false;  = 1;  = false; super(); rootLine = _arg1; Key.initialize(_arg1.stage); this. = _arg2;  (); _local3 = new b2AABB(); _local3.lowerBound.Set(-1000, -1000); _local3.upperBound.Set(1000, 1000); _local4 = new b2Vec2(0, 10); _local5 = true; m_world = new b2World(_local3, _local4, _local5); m_input = new Input(rootLine); blockList = new Array(); newContacts = new Array(); looseJoints = new Array(); persistantContacts = new Array(); metalJoints = new Array(); sparks = new Array(); wheelBlocksToMove = new Array(); chests = new Array(); screws = new Array(); addScenery(); _local6 = new ContactListener_game(); m_world. (_local6); addInitialBlocks(); fillChest(); score = Controller.levelScore; levelComplete = false;  (); CustomCursor.setup(rootLine); rootLine.addEventListener(Event.ENTER_FRAME, update, false, 0, true); } public function unpause(){ addScenery(); addInitialBlocks(); fillChest(); paused = false; } public function stopGame(){ rootLine.removeEventListener(Event.ENTER_FRAME, update); } function  (){ if (hills.x > 0){ hills.x = (hills.x - 800); }; if (hills.x < -800){ hills.x = (hills.x + 800); }; if (sea.x > 0){ sea.x = (sea.x - 567); }; if (sea.x < -567){ sea.x = (sea.x + 567); }; } function scrollDown(){ var _local1:Number; var _local2:*; if (((container.y + rootLine.myController.scrollEdges[2]) - Math.round((  * 4))) > 550){ container.y = (container.y - Math.round((  * 4))); hills.y = (hills.y - Math.round((  * 2))); sea.y = (sea.y - Math.round( )); sky.y = (sky.y - Math.round( )); scrolling = true; if (  < 4){   = (  + 0.25); }; _local1 = Math.round((  * 4)); } else { _local2 = container.y; container.y = (550 - rootLine.myController.scrollEdges[2]); _local1 = (_local2 - container.y); if (_local1 > 0){ hills.y = (hills.y - Math.round((_local1 * 0.5))); sea.y = (sea.y - Math.round((_local1 * 0.25))); sky.y = (sky.y - Math.round((_local1 * 0.25))); }; }; return (_local1); } function updateFishes(){ var _local1:int; _local1 = 0; while (_local1 < fishes.length) { fishes[_local1].fish.update(circuitCompleted); _local1++; }; } function  (){  .addChild(new BGColour()); sky = new Sky(); sky.x = 0; sky.y = ((550 - Math.floor((rootLine.myController.scrollEdges[5] * 0.25))) + Math.floor(((rootLine.myController.scrollEdges[2] - 275) * 0.25)));  .addChild(sky); sea = new Sea(); sea.x = (-276 - Math.floor((rootLine.myController.scrollEdges[4] * 0.25))); sea.y = ((549 - Math.floor((rootLine.myController.scrollEdges[5] * 0.25))) + Math.floor(((rootLine.myController.scrollEdges[2] - 275) * 0.25)));  .addChild(sea); hills = new Hills(); hills.x = (-254 - Math.floor((rootLine.myController.scrollEdges[4] * 0.75))); hills.y = ((549 - Math.floor((rootLine.myController.scrollEdges[5] * 0.5))) + Math.floor(((rootLine.myController.scrollEdges[2] - 275) * 0.5)));  .addChild(hills); container = new MovieClip(); container.x = (275 - rootLine.myController.scrollEdges[4]); container.y = (275 - rootLine.myController.scrollEdges[5]);  .addChild(container);   = new MovieClip(); landClip = new MovieClip(); waterClip = new MovieClip(); debugArea = new MovieClip(); stamps0 = new MovieClip(); stamps1 = new MovieClip(); stamps2 = new MovieClip(); levelElementsLayer = new MovieClip(); sparksLayer = new MovieClip(); signsLayer = new MovieClip(); noDragLayer = new MovieClip(); container.addChild(stamps0); container.addChild(signsLayer); container.addChild( ); container.addChild(waterClip); container.addChild(stamps2); container.addChild(landClip); container.addChild(stamps1); container.addChild(sparksLayer); container.addChild(levelElementsLayer); container.addChild(noDragLayer); container.addChild(debugArea); } function updateElectrifiedWater(){ var _local1:int; _local1 = 0; while (_local1 < waterAreas.length) { if (!circuitCompleted){ waterAreas[_local1].electrified = false; }; waterAreas[_local1].updateElectrified(); _local1++; }; } function initFishes(){ var _local1:int; var _local2:int; _local1 = 0; while (_local1 < fishes.length) { _local2 = 0; while (_local2 < waterAreas.length) { if (fishes[_local1].hitTestObject(waterAreas[_local2].sprite)){ fishes[_local1].water = waterAreas[_local2]; break; }; _local2++; }; _local1++; }; } function fillChest(){ var _local1:int; chestDisplay.emptyOut(); _local1 = 0; while (_local1 < rootLine.levelBlocks.levelBlocks.length) { chestDisplay.addLevelBlock(rootLine.levelBlocks.levelBlocks[_local1].shapeID, rootLine.levelBlocks.levelBlocks[_local1].material, rootLine.levelBlocks.levelBlocks[_local1].sticky, rootLine.levelBlocks.levelBlocks[_local1].preDefinedBlock, rootLine.levelBlocks.levelBlocks[_local1].preDefinedBlockID, rootLine.levelBlocks.levelBlocks[_local1].rotation); _local1++; }; chestDisplay.gameClass = this; } function updateWheelBlocks(){ var _local1:int; _local1 = 0; while (_local1 < wheelBlocksToMove.length) { if (wheelBlocksToMove[_local1].b1.GetUserData().material == Block.WHEELBLOCKR){ wheelBlocksToMove[_local1].b1.ApplyForce(new b2Vec2(12, 0), wheelBlocksToMove[_local1].b1.GetWorldCenter()); }; if (wheelBlocksToMove[_local1].b2.GetUserData().material == Block.WHEELBLOCKR){ wheelBlocksToMove[_local1].b2.ApplyForce(new b2Vec2(12, 0), wheelBlocksToMove[_local1].b2.GetWorldCenter()); }; if (wheelBlocksToMove[_local1].b1.GetUserData().material == Block.WHEELBLOCKL){ wheelBlocksToMove[_local1].b1.ApplyForce(new b2Vec2(-12, 0), wheelBlocksToMove[_local1].b1.GetWorldCenter()); }; if (wheelBlocksToMove[_local1].b2.GetUserData().material == Block.WHEELBLOCKL){ wheelBlocksToMove[_local1].b2.ApplyForce(new b2Vec2(-12, 0), wheelBlocksToMove[_local1].b2.GetWorldCenter()); }; _local1++; }; wheelBlocksToMove = new Array(); } function scrollRight(){ var _local1:Number; var _local2:*; if (((container.x - Math.round(( * 4))) + rootLine.myController.scrollEdges[1]) > 550){ container.x = (container.x - Math.round(( * 4))); hills.x = (hills.x - Math.round(( * 3))); sea.x = (sea.x - Math.round( )); scrolling = true; if ( < 4){  = ( + 0.25); }; _local1 = Math.round(( * 4)); } else { _local2 = container.x; container.x = (550 - rootLine.myController.scrollEdges[1]); _local1 = (_local2 - container.x); if (_local1 > 0){ hills.x = (hills.x - Math.round((_local1 * 0.75))); sea.x = (sea.x - Math.round((_local1 * 0.25))); }; };  (); return (_local1); } function scrollUp(){ var _local1:Number; var _local2:*; if (((container.y + rootLine.myController.scrollEdges[0]) + Math.round((  * 4))) < 0){ container.y = (container.y + Math.round((  * 4))); hills.y = (hills.y + Math.round((  * 2))); sea.y = (sea.y + Math.round( )); sky.y = (sky.y + Math.round( )); scrolling = true; if (  < 4){   = (  + 0.25); }; _local1 = Math.round((  * 4)); } else { _local2 = container.y; container.y = -(rootLine.myController.scrollEdges[0]); _local1 = (container.y - _local2); if (_local1 > 0){ hills.y = (hills.y + Math.round((_local1 * 0.5))); sea.y = (sea.y + Math.round((_local1 * 0.25))); sky.y = (sky.y + Math.round((_local1 * 0.25))); }; }; return (_local1); } function bottomDepth(_arg1:Block){ if (((((_arg1.isHeavy) || ((_arg1.material == Block.BALLOON)))) || ((_arg1.material == Block.DEADZONE)))){ _arg1.container.setChildIndex(_arg1.sprite, 0); }; } function  (){ var _local1:int; if (sparks.length > 0){ _local1 = (sparks.length - 1); while (_local1 >= 0) { sparks[_local1].update(); if (((!(circuitCompleted)) || (((shortCircuit) && ((sparks[_local1].path[sparks[_local1].positionInPath] == shortedBody)))))){ sparks[_local1].fizzleOut(); }; if (sparks[_local1].live == false){ if (((((circuitCompleted) && (!(shortCircuit)))) && (!(sparks[_local1].dying)))){ if (endElementBody.GetUserData().blockRef.elementClip.head.endHead.currentFrame == 1){ endElementBody.GetUserData().blockRef.elementClip.head.endHead.gotoAndStop(2); }; }; sparksLayer.removeChild(sparks[_local1]); sparks.splice(_local1, 1); }; _local1--; }; }; } function showHelpMessage(_arg1:String){ rootLine.helpDisplay.helpMessage = _arg1; rootLine.helpDisplay.play(); panelOpen = true; paused = true; if (endElementBody.GetUserData().blockRef.elementClip.head.endHead.currentFrame == 2){ endElementBody.GetUserData().blockRef.elementClip.head.endHead.endHead.mouth.stop(); }; } function putBackInChest(_arg1:Block){ var _local2:int; if (_arg1.material == Block.SCREW){ _local2 = 0; while (_local2 < screws.length) { if (screws[_local2] == _arg1){ screws.splice(_local2, 1); break; }; _local2++; }; }; chestDisplay.addLevelBlock(_arg1.solidBody.GetUserData().shapeID, _arg1.solidBody.GetUserData().material, _arg1.solidBody.GetUserData().magnetic, _arg1.solidBody.GetUserData().preDefinedBlock, _arg1.solidBody.GetUserData().preDefinedBlockID, _arg1.defaultRotation); _arg1.whiteOut(); } function joinNewContactedBodies(){ var _local1:Number; var _local2:Object; var _local3:b2Body; var _local4:b2Body; var _local5:b2Body; var _local6:b2JointEdge; var _local7:b2Body; var _local8:Boolean; var _local9:b2DistanceJointDef; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:b2AABB; var _local13:b2AABB; var _local14:b2Vec2; var _local15:b2Vec2; var _local16:b2Vec2; var _local17:b2PolygonShape; var _local18:b2PolygonShape; var _local19:*; _local1 = 0; while (_local1 < newContacts.length) { _local2 = newContacts[_local1]; _local3 = _local2.b1; _local4 = _local2.b2; _local17 = (_local2.shape1 as b2PolygonShape); _local18 = (_local2.shape2 as b2PolygonShape); _local16 = _local2.point; _local6 = _local3.GetJointList(); _local8 = false; if (_local6){ _local5 = _local6.other; if (_local4 != _local5){ _local8 = false; _local6 = _local6.next; while (((!(_local8)) && (_local6))) { if (_local6.other == _local4){ _local8 = true; }; _local6 = _local6.next; }; } else { _local8 = true; }; }; if (!_local8){ _local9 = new b2DistanceJointDef(); _local10 = _local3.GetWorldCenter(); _local11 = _local4.GetWorldCenter(); if (_local3.GetUserData().scenery){ _local10 = _local16; } else { if (_local4.GetUserData().scenery){ _local11 = _local16; }; }; _local9.Initialize(_local3, _local4, _local10, _local11); _local9.collideConnected = true; _local9.frequencyHz = 1.5; _local9.dampingRatio = 1; _local9.length = 0; _local2.joint = m_world.CreateJoint(_local9); _local2.position = new b2Vec2(); _local2.position.x = _local16.x; _local2.position.y = _local16.y; _local3.GetUserData().looseJoint = _local4; _local3.GetUserData().frameCount = 0; _local4.GetUserData().looseJoint = _local3; _local4.GetUserData().frameCount = 0; _local19 = new b2GravityController(); _local19.AddBody(_local3); _local19.AddBody(_local4); _local2.sucker = _local19; _local2.frameCount = 0; looseJoints.push(_local2); }; _local1++; }; newContacts = new Array(); } function topDepth(_arg1:Block){ _arg1.container.setChildIndex(_arg1.sprite, (_arg1.container.numChildren - 1)); } function doScreenShake(){ if (screenShake > 0){ container.x = (container.x - shakeXOff); container.y = (container.y - shakeYOff); screenShake--; if (screenShake > 0){ shakeXOff = Math.ceil(((Math.random() * (screenShake * 2)) - screenShake)); shakeYOff = Math.ceil(((Math.random() * (screenShake * 2)) - screenShake)); container.x = (container.x + shakeXOff); container.y = (container.y + shakeYOff); } else { shakeXOff = 0; shakeYOff = 0; }; }; } public function  (){ container.x = (275 + rootLine.myController.scrollEdges[4]); container.y = (275 + rootLine.myController.scrollEdges[5]); hills.x = (hills.x + (rootLine.myController.scrollEdges[4] * 0.75)); hills.y = (hills.y + (rootLine.myController.scrollEdges[5] * 0.5)); sea.x = (sea.x + (rootLine.myController.scrollEdges[4] * 0.25)); sea.y = (sea.y + (rootLine.myController.scrollEdges[5] * 0.25)); sky.y = (sky.y + (rootLine.myController.scrollEdges[5] * 0.25)); } function addBlock(_arg1:Number){ var _local2:Number; var _local3:Number; var _local4:int; var _local5:Block; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:b2Vec2; rootLine.blockDrawer.findEquivilentPreDefinedBlock(); _local2 = mouseXWorld; _local3 = mouseYWorld; _local2 = (_local2 - container.x); _local3 = (_local3 - container.y); if (((rootLine.blockDrawer.preDefinedBlock) && ((LevelElementDefs.ALLBLOCKS[rootLine.blockDrawer.preDefinedBlockID][1] == Block.SCREW)))){ _local5 = new Block(this.m_world, stamps1); } else { _local5 = new Block(this.m_world,  ); }; _local5.shapeID = rootLine.blockDrawer.lastSelectedShape; _local4 = 0; while (_local4 < rootLine["blockDrawer"].pointList.length) { _local5.addVertex(new b2Vec2((rootLine["blockDrawer"].pointList[_local4].x / 30), (rootLine["blockDrawer"].pointList[_local4].y / 30))); _local4++; }; _local5.rotation = ((_arg1 * Math.PI) / 180); _local5.position = new b2Vec2((_local2 / 30), (_local3 / 30)); _local5.defaultRotation = _arg1; _local6 = 0; if (rootLine.blockDrawer["metalCheck"].selected){ _local6 = 1; }; if (!rootLine.blockDrawer.preDefinedBlock){ _local5.setMaterial(_local6, rootLine.blockDrawer["magCheck"].selected, false, rootLine.blockDrawer["heavyCheck"].selected); } else { _local5.setMaterial(LevelElementDefs.ALLBLOCKS[rootLine.blockDrawer.preDefinedBlockID][1], rootLine.blockDrawer["magCheck"].selected, false, rootLine.blockDrawer["heavyCheck"].selected); }; _local5.preDefinedBlock = rootLine.blockDrawer.preDefinedBlock; _local5.preDefinedBlockID = rootLine.blockDrawer.preDefinedBlockID; _local5.solidify(); _local5.solidBody.GetUserData().shapeID = rootLine.blockDrawer.lastSelectedShape; blockList.push(_local5); _local7 = 0; _local8 = 0; if ((((_local5.shapeID == 11)) || ((_local5.shapeID == 9)))){ _local9 = _local5.localToGlobal(_local5.centerPoint()); _local7 = ((_local2 / 30) - _local9.x); _local8 = ((_local3 / 30) - _local9.y); }; _local5.solidBody.SetXForm(new b2Vec2(((_local2 / 30) + _local7), ((_local3 / 30) + _local8)), _local5.solidBody.GetAngle()); dragThisBlock(_local5); bottomDepth(_local5); if (_local5.material == Block.SCREW){ screws.push(_local5); }; } function scrollLeft(){ var _local1:Number; var _local2:*; if (((container.x + rootLine.myController.scrollEdges[3]) + Math.round(( * 4))) < 0){ container.x = (container.x + Math.round(( * 4))); hills.x = (hills.x + Math.round(( * 3))); sea.x = (sea.x + Math.round( )); scrolling = true; _local1 = Math.round(( * 4)); if ( < 4){  = ( + 0.25); }; } else { _local2 = container.x; container.x = -(rootLine.myController.scrollEdges[3]); _local1 = (container.x - _local2); if (_local1 > 0){ hills.x = (hills.x + Math.round((_local1 * 0.75))); sea.x = (sea.x + Math.round((_local1 * 0.25))); }; };  (); return (_local1); } function killBlocks(){ var _local1:int; var _local2:b2ContactEdge; if (deadZones.length > 0){ _local1 = 0; while (_local1 < deadZones.length) { _local2 = deadZones[_local1].solidBody.m_contactList; while (_local2) { if (((_local2.contact) && ((_local2.contact.m_manifoldCount > 0)))){ if (((!(_local2.other.GetUserData().scenery)) && (!(_local2.other.GetUserData().sceneryElement)))){ if (((!((_local2.other.GetUserData().material == Block.ANTIDEAD))) && (!(_local2.other.GetUserData().whitingOut)))){ if (((draggingBlock) && ((_local2.other.GetUserData().blockRef == blockBeingDragged)))){ dropBlock(); }; putBackInChest(_local2.other.GetUserData().blockRef); NitromeGame.sound_manager.playSound("deathground"); }; }; }; _local2 = _local2.next; }; _local1++; }; }; } function offscreen(_arg1:DisplayObject):Boolean{ if ((((((((_arg1.x < (rootLine.myController.scrollEdges[3] - 30))) || ((_arg1.y < (rootLine.myController.scrollEdges[0] - 30))))) || ((_arg1.x > (rootLine.myController.scrollEdges[1] + 30))))) || ((_arg1.y > (rootLine.myController.scrollEdges[2] + 30))))){ return (true); }; return (false); } function notInPath(_arg1:b2Body, _arg2:Array):Boolean{ var _local3:int; _local3 = 0; while (_local3 < _arg2.length) { if (_arg2[_local3] == _arg1){ return (false); }; _local3++; }; return (true); } function  (){ var _local1:String; var _local2:Number; var _local3:Number; _local1 = ""; _local2 = Math.floor((score / 25)); _local3 = Math.floor((_local2 / 60)); _local2 = (_local2 - (_local3 * 60)); if (_local2 < 10){ _local1 = ((_local3 + ":0") + _local2); } else { _local1 = ((_local3 + ":") + _local2); }; rootLine.scoreDisplay.text = _local1; rootLine.levelDisplay.text = ("LV:" + Controller.selectedLevel); rootLine.totalScoreDisplay.text = Controller.totalScore; } function dragThisBlock(_arg1:Block){ var _local2:b2JointEdge; var _local3:b2MouseJointDef; var _local4:b2MassData; if (_arg1.screwed){ _arg1.theScrew.screwed = false; _arg1.theScrew.theScrew = null; _arg1.theScrew.solidBody.SetMassFromShapes(); _arg1.screwed = false; _arg1.theScrew = null; _arg1.solidBody.SetMassFromShapes(); }; draggingBlock = true; blockBeingDragged = _arg1; spliceOutLooseJoints(_arg1.solidBody); _local2 = _arg1.solidBody.GetJointList(); while (_local2) { if (_local2.joint){ m_world.DestroyJoint(_local2.joint); }; _local2 = _local2.next; }; if (_arg1.solidBody.GetMass() == 0){ _local4 = new b2MassData(); _local4.mass = 3; _arg1.solidBody.SetMass(_local4); }; _local3 = new b2MouseJointDef(); _local3.body1 = _arg1.solidBody; _local3.body2 = _arg1.solidBody; _local3.target.Set(mouseXWorldPhys, mouseYWorldPhys); _local3.maxForce = 450; _local3.timeStep = m_timeStep; m_mouseJoint = (m_world.CreateJoint(_local3) as b2MouseJoint); _arg1.solidBody.WakeUp(); draggingBlockRotation = _arg1.solidBody.GetAngle(); } function isCircuitComplete(){ var _local1:Boolean; var _local2:Number; var _local3:b2JointEdge; var _local4:b2Body; var _local5:b2Body; var _local6:Boolean; var _local7:b2ContactEdge; var _local8:int; var _local9:b2Vec2; var _local10:int; var _local11:Number; var _local12:Number; var _local13:b2Vec2; var _local14:Number; var _local15:Spark; _local1 = false; _local2 = 0; _local6 = true; if (circuitCompleted){ _local6 = false; }; if (!levelComplete){   = new Array(); }; shortCircuit = false; if (((((startElementBody) && (endElementBody))) && (!(levelComplete)))){ endElementBody.GetUserData().circuitElement = false; startElementBody.GetUserData().circuitElement = true;  .push(startElementBody); while (!(_local1)) { _local1 = true; _local5 = m_world.m_bodyList; while (_local5) { if (((_local5) && (_local5.GetUserData()))){ _local5.GetUserData().tested = true; if (_local5.GetUserData().circuitElement){ _local7 = _local5.m_contactList; while (_local7) { if (((_local7.contact) && ((_local7.contact.m_manifoldCount > 0)))){ if ((((((_local7.other.GetUserData().material == Block.METAL)) || ((_local7.other.GetUserData().material == Block.WATER)))) && ((_local7.other.GetUserData().circuitElement == false)))){ if ((((_local7.other.GetUserData().material == Block.WATER)) || (((draggingBlock) && ((blockBeingDragged == _local7.other.GetUserData().blockRef)))))){ shortCircuit = true; shortedBody = _local5; _local7.other.GetUserData().blockRef.electrified = true; if (notInPath(_local5,  )){  .push(_local5); }; break; } else { if (notInPath(_local5,  )){  .push(_local5); }; if (notInPath(_local7.other,  )){  .push(_local7.other); }; _local7.other.GetUserData().circuitElement = true; _local5.GetUserData().circuitElement = true; _local1 = false; _local2++; }; }; }; _local7 = _local7.next; }; _local8 = 0; while (_local8 < teslaBlocks.length) { if (teslaBlocks[_local8].solidBody.GetUserData().circuitElement){ _local9 = new b2Vec2(teslaBlocks[_local8].solidBody.GetWorldCenter().x, teslaBlocks[_local8].solidBody.GetWorldCenter().y); _local11 = _local8; _local12 = Infinity; _local10 = 0; while (_local10 < teslaBlocks.length) { if (((!((_local10 == _local8))) && ((teslaBlocks[_local10].solidBody.GetUserData().circuitElement == false)))){ _local13 = new b2Vec2(teslaBlocks[_local10].solidBody.GetWorldCenter().x, teslaBlocks[_local10].solidBody.GetWorldCenter().y); _local13.Subtract(_local9); _local14 = Math.abs(_local13.Length()); if (_local14 <= LevelElementDefs.TESLADISTANCE){ if (_local14 < _local12){ _local12 = _local14; _local11 = _local10; }; }; }; _local10++; }; if (_local11 != _local8){ teslaBlocks[_local11].solidBody.GetUserData().circuitElement = true; _local1 = false; if (notInPath(teslaBlocks[_local11].solidBody,  )){  .push(teslaBlocks[_local11].solidBody); }; }; }; _local8++; }; _local3 = _local5.GetJointList(); while (_local3) { _local4 = _local3.other; if (((_local4.GetUserData()) && (!((_local4.GetUserData().circuitElement == null))))){ if ((((_local4.GetUserData().material == Block.METAL)) && ((((_local4.GetUserData().circuitElement == false)) || ((((_local5.GetUserData().circuitElement == false)) && ((_local4.GetUserData().circuitElement == true)))))))){ _local4.GetUserData().circuitElement = true; _local1 = false; _local2++; if (notInPath(_local5,  )){  .push(_local5); }; if (notInPath(_local4,  )){  .push(_local4); }; }; }; _local3 = _local3.next; }; }; }; _local5 = _local5.m_next; }; if (endElementBody.GetUserData().circuitElement == true){ _local1 = true; }; }; }; if ((((endElementBody.GetUserData().circuitElement == true)) || (levelComplete))){ circuitCompleted = true; if (_local6){ NitromeGame.sound_manager.playSound("electric"); }; if (Math.random() >= 0.8){ _local15 = new Spark(); if (!levelComplete){ while ( [( .length - 1)] != endElementBody) {  .pop(); }; }; _local15.setBlockList( ); _local15.setWorld(this.m_world); _local15.setStartBlock(this.startElementBody); _local15.setEndBlock(endElementBody); _local15.x = (startElementBody.GetWorldCenter().x * 30); _local15.y = (startElementBody.GetWorldCenter().y * 30); _local15.x = (_local15.x + (Math.floor((Math.random() * 10)) - 5)); _local15.y = (_local15.y + (Math.floor((Math.random() * 10)) - 5)); sparksLayer.addChild(_local15); sparks.push(_local15); }; } else { circuitCompleted = false; }; if (endElementBody){ if (!circuitCompleted){ endElementBody.GetUserData().blockRef.elementClip.head.endHead.gotoAndStop(1);  = 1; } else { if (endElementBody.GetUserData().blockRef.elementClip.head.endHead.currentFrame == 1){ } else { if (endElementBody.GetUserData().blockRef.elementClip.head.endHead.currentFrame == 2){ if (endElementBody.GetUserData().blockRef.elementClip.head.endHead.endHead.mouth.currentFrame == 110){ endElementBody.GetUserData().blockRef.elementClip.head.endHead.gotoAndStop(3); if (((!(levelComplete)) && (!(rootLine.myController.titleScreen)))){ rootLine.play(); NitromeGame.sound_manager.playSound("charged"); }; if (!rootLine.myController.titleScreen){ levelComplete = true; }; } else { if (((endElementBody.GetUserData().blockRef.elementClip.head.endHead.endHead.mouth.currentFrame - 1) % 14) == 0){ NitromeGame.sound_manager.playSound(("chargeup" + )); ++; if ( > 8){  = 8; }; }; }; }; }; }; }; _local8 = 0; while (_local8 < teslaBlocks.length) { if (!teslaBlocks[_local8].firstFrame){ if (teslaBlocks[_local8].solidBody.GetUserData().circuitElement == true){ if (teslaBlocks[_local8].animClip.tesla.currentFrame == 1){ teslaBlocks[_local8].animClip.tesla.gotoAndStop(2); }; } else { if (teslaBlocks[_local8].animClip.tesla.currentFrame != 1){ teslaBlocks[_local8].animClip.tesla.gotoAndStop(1); }; }; }; _local8++; }; } function update(_arg1:Event):void{ var _local2:Number; var _local3:Number; var _local4:b2JointEdge; var _local5:Number; var _local6:Number; var _local7:b2ContactEdge; var _local8:b2PrismaticJointDef; var _local9:b2Vec2; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:Block; var _local13:b2Vec2; var _local14:b2Body; var _local15:b2Vec2; var _local16:b2Vec2; var _local17:b2Vec2; var _local18:int; var _local19:int; var _local20:Boolean; var _local21:b2Vec2; doScreenShake(); if (Key.isDown(32)){ if (((rootLine.inGameHelpMessage) && ((rootLine.inGameHelpMessage.currentFrame > 1)))){ rootLine.inGameHelpMessage.play(); }; if (((rootLine.pauseMessage) && ((rootLine.pauseMessage.currentFrame > 1)))){ rootLine.pauseMessage.play(); }; if (((rootLine.startMessage) && ((rootLine.startMessage.currentFrame == 29)))){ rootLine.startMessage.play(); }; if (((rootLine.levelCompleteMessage) && ((rootLine.levelCompleteMessage.currentFrame == 29)))){ rootLine.levelCompleteMessage.play(); }; if (((rootLine.helpDisplay) && ((rootLine.helpDisplay.currentFrame > 1)))){ rootLine.helpDisplay.play(); }; if (((rootLine.levelCompleteMessage) && ((rootLine.levelCompleteMessage.currentFrame > 1)))){ rootLine.levelCompleteMessage.play(); }; }; if ((((paused == false)) && (!(levelComplete)))){ UpdateMouseWorld(); m_world.Step(m_timeStep, m_iterations); if (score > 0){ score--; };  (); if (newContacts.length >= 1){ joinNewContactedBodies(); }; updateWheelBlocks(); _local5 = 0; teslaBlocks = new Array(); _local6 = (blockList.length - 1); for (;_local6 >= 0;_local6--) { blockList[_local6].updateBitmap(circuitCompleted); if (((((((!((blockList[_local6] == blockBeingDragged))) || (!(draggingBlock)))) && (blockList[_local6].animClip))) && (blockList[_local6].animClip.block))){ blockList[_local6].animClip.block.cogs.stop(); blockList[_local6].animClip.block.frontCogs.stop(); }; if ((((((blockList[_local6] == blockBeingDragged)) && (draggingBlock))) && ((blockList[_local6].material == Block.WEIGHTLESS)))){ blockList[_local6].animClip.block.cogs.play(); blockList[_local6].animClip.block.frontCogs.play(); }; if ((((((blockList[_local6] == blockBeingDragged)) && (draggingBlock))) && ((blockList[_local6].material == Block.SCREW)))){ if (blockList[_local6].animClip.screw.currentFrame < 16){ blockList[_local6].animClip.screw.gotoAndPlay(16); NitromeGame.sound_manager.playSound("screw"); }; }; if ((((((blockList[_local6] == blockBeingDragged)) && (draggingBlock))) && (blockList[_local6].isTesla))){ if (blockList[_local6].animClip.tesla.currentFrame != 1){ blockList[_local6].animClip.tesla.gotoAndStop(1); }; }; if (blockList[_local6].whitingOut){ if (blockList[_local6].whiteOutAlpha <= 0){ spliceOutLooseJoints(blockList[_local6].solidBody); blockList[_local6].deleteFromWorld(); blockList.splice(_local6, 1); continue; }; } else { if (((((!(draggingBlock)) || (((draggingBlock) && (!((blockList[_local6] == blockBeingDragged))))))) && (offscreen(blockList[_local6].sprite)))){ putBackInChest(blockList[_local6]); continue; }; }; _local4 = blockList[_local6].solidBody.GetJointList(); while (_local4) { if (Math.abs(_local4.joint.GetReactionTorque()) > 500){ spliceOutLooseJoints(blockList[_local6].solidBody); if (_local4.joint){ m_world.DestroyJoint(_local4.joint); }; }; _local4 = _local4.next; }; blockList[_local6].solidBody.GetUserData().circuitElement = false; blockList[_local6].solidBody.GetUserData().tested = false; if (((blockList[_local6].isTesla) && (((!(draggingBlock)) || (!((blockBeingDragged == blockList[_local6]))))))){ teslaBlocks.push(blockList[_local6]); }; if (((blockList[_local6].touchingWater) && ((((((!(blockList[_local6].material) == Block.WEIGHTLESS)) && ((!(blockList[_local6].material) == Block.SCREW)))) || (((draggingBlock) && ((blockBeingDragged == blockList[_local6])))))))){ blockList[_local6].touchingWater = false; _local7 = blockList[_local6].solidBody.m_contactList; while (_local7) { if (((_local7.contact) && ((_local7.contact.m_manifoldCount > 0)))){ if (_local7.other.GetUserData().material == Block.WATER){ blockList[_local6].touchingWater = true; break; }; }; _local7 = _local7.next; }; }; }; _local6 = 0; while (_local6 < cannons.length) { cannons[_local6].updateBitmap(); _local6++; }; _local6 = (looseJoints.length - 1); while (_local6 >= 0) { if (((draggingBlock) && ((((looseJoints[_local6].b1 == blockBeingDragged.solidBody)) || ((looseJoints[_local6].b2 == blockBeingDragged.solidBody)))))){ if (looseJoints[_local6].joint){ m_world.DestroyJoint(looseJoints[_local6].joint); }; looseJoints.splice(_local6, 1); } else { if (((((Math.abs((looseJoints[_local6].b1.GetAngle() - looseJoints[_local6].b2.GetAngle())) % ((90 * Math.PI) / 180)) < ((1 * Math.PI) / 180))) && ((looseJoints[_local6].frameCount >= 20)))){ _local8 = new b2PrismaticJointDef(); _local9 = new b2Vec2(1, 0); _local10 = looseJoints[_local6].position; _local8.Initialize(looseJoints[_local6].b1, looseJoints[_local6].b2, _local10, _local9); _local8.enableLimit = true; m_world.CreateJoint(_local8); if ((((looseJoints[_local6].b1.GetUserData().blockRef.material == Block.METAL)) && ((looseJoints[_local6].b2.GetUserData().blockRef.material == Block.METAL)))){ NitromeGame.sound_manager.playSound("wom"); } else { NitromeGame.sound_manager.playSound("sticky"); }; if (looseJoints[_local6].joint){ m_world.DestroyJoint(looseJoints[_local6].joint); }; looseJoints.splice(_local6, 1); } else { looseJoints[_local6].frameCount++; looseJoints[_local6].sucker.Step(m_timeStep); }; }; _local6--; }; killBlocks(); isCircuitComplete(); updateFishes(); updateElectrifiedWater();  (); if (!Input.mouseDown){ if (mousePressed){ dropBlock(); if (((openChest) && (chestDisplay.hitTestPoint(mouseXWorld, mouseYWorld, true)))){ chestDisplay.unClicked(); }; }; mousePressed = false; } else { if (!mousePressed){ if (((openChest) && (!(chestDisplay.hitTestPoint(mouseXWorld, mouseYWorld, true))))){ openChest = false; chestClosing = true; chestDisplay.closeIt(); _local6 = 0; while (_local6 < chests.length) { if ((((chests[_local6].animClip.chest.currentFrame > 1)) && ((chests[_local6].animClip.chest.currentFrame <= CHESTOPENFRAME)))){ chests[_local6].animClip.chest.gotoAndPlay("close"); NitromeGame.sound_manager.playSound("creak"); }; _local6++; }; }; if (((openChest) && (chestDisplay.hitTestPoint(mouseXWorld, mouseYWorld, true)))){ chestDisplay.clicked(mouseXWorld, mouseYWorld); }; _local11 = new b2Vec2(mouseXWorldPhys, mouseYWorldPhys); _local6 = 0; while (_local6 < screws.length) { if (screws[_local6].sprite.hitTestPoint(mouseXWorld, mouseYWorld, true)){ _local12 = screws[_local6]; break; }; _local6++; }; if (_local12 == null){ _local6 = 0; while (_local6 < blockList.length) { if (blockList[_local6].testPoint(_local11)){ _local12 = blockList[_local6]; break; }; _local6++; }; }; if (((_local12) && (!(_local12.whitingOut)))){ dragThisBlock(_local12); } else { _local6 = 0; while (_local6 < helpSigns.length) { if (helpSigns[_local6].testPoint(_local11)){ showHelpMessage(helpSigns[_local6].solidBody.GetUserData().message); break; }; _local6++; }; if (((!(openChest)) && (!(chestClosing)))){ _local6 = 0; while (_local6 < chests.length) { if (chests[_local6].testPoint(_local11)){ openChest = true; chestClicked = chests[_local6]; _local2 = (chestClicked.sprite.y + chestClicked.sprite.getBounds(chestClicked.sprite).top); _local3 = (chestClicked.sprite.x + chestClicked.sprite.getBounds(chestClicked.sprite).left); _local3 = (_local3 + (chestClicked.sprite.width / 2)); chestDisplay.openIt(chestClicked, _local3, _local2); if ((((chests[_local6].animClip.chest.currentFrame == 1)) || ((chests[_local6].animClip.chest.currentFrame > CHESTOPENFRAME)))){ chests[_local6].animClip.chest.gotoAndPlay("open"); NitromeGame.sound_manager.playSound("creak"); }; }; _local6++; }; }; }; _local6 = 0; while (_local6 < glassPanels.length) { if (glassPanels[_local6].testPoint(_local11)){ glassTap(_local11); }; _local6++; }; }; chestClosing = false; mousePressed = true; }; if (m_mouseJoint){ _local13 = new b2Vec2(mouseXWorldPhys, mouseYWorldPhys); m_mouseJoint.SetTarget(_local13); blockBeingDragged.solidBody.GetUserData().blockRef.rattleDelayCount = 0; spliceOutLooseJoints(blockBeingDragged.solidBody); _local4 = blockBeingDragged.solidBody.GetJointList(); while (_local4) { if (((_local4.joint) && (!((_local4.joint == m_mouseJoint))))){ m_world.DestroyJoint(_local4.joint); }; _local4 = _local4.next; }; blockBeingDragged.solidBody.SetAngularVelocity((blockBeingDragged.solidBody.GetAngularVelocity() / 1.5)); _local7 = blockBeingDragged.solidBody.m_contactList; while (_local7) { if (((_local7.contact) && ((_local7.contact.m_manifoldCount > 0)))){ if (_local7.other.GetUserData().material == Block.NODRAG){ if (_local7.other.GetUserData().blockRef.testPoint(m_mouseJoint.GetAnchor2())){ _local14 = blockBeingDragged.solidBody; blockBeingDragged.solidBody.SetLinearVelocity(_local14.GetLinearVelocity().Negative()); _local14.GetLinearVelocity().Multiply(0.25); _local14.SetAngularVelocity(-(_local14.GetAngularVelocity())); dropBlock(); break; }; }; }; _local7 = _local7.next; }; } else { if (blockBeingDragged){ _local6 = 0; while (_local6 < chests.length) { if (bodyIsTouchingBody(blockBeingDragged.solidBody, chests[_local6].solidBody)){ putBackInChest(blockBeingDragged); if ((((chests[_local6].animClip.chest.currentFrame > 1)) && ((chests[_local6].animClip.chest.currentFrame <= CHESTOPENFRAME)))){ chests[_local6].animClip.chest.gotoAndPlay("close"); NitromeGame.sound_manager.playSound("creak"); blockBeingDragged = null; }; break; } else { if ((((blockBeingDragged.material == Block.SCREW)) || ((blockBeingDragged.material == Block.WEIGHTLESS)))){ if (chests[_local6].sprite.hitTestObject(blockBeingDragged.sprite)){ putBackInChest(blockBeingDragged); if ((((chests[_local6].animClip.chest.currentFrame > 1)) && ((chests[_local6].animClip.chest.currentFrame <= CHESTOPENFRAME)))){ chests[_local6].animClip.chest.gotoAndPlay("close"); NitromeGame.sound_manager.playSound("creak"); blockBeingDragged = null; }; break; }; }; }; _local6++; }; }; }; if (((blockBeingDragged) && (!(openChest)))){ _local15 = blockBeingDragged.solidBody.GetWorldCenter(); _local6 = 0; while (_local6 < chests.length) { _local16 = new b2Vec2(_local15.x, _local15.y); _local16.Subtract(chests[_local6].solidBody.GetWorldCenter()); if (((bodyIsTouchingBody(blockBeingDragged.solidBody, chests[_local6].solidBody)) || ((_local16.Length() <= 5)))){ if ((((chests[_local6].animClip.chest.currentFrame == 1)) || ((chests[_local6].animClip.chest.currentFrame > CHESTOPENFRAME)))){ chests[_local6].animClip.chest.gotoAndPlay("open"); NitromeGame.sound_manager.playSound("creak"); }; } else { if ((((chests[_local6].animClip.chest.currentFrame > 1)) && ((chests[_local6].animClip.chest.currentFrame <= CHESTOPENFRAME)))){ chests[_local6].animClip.chest.gotoAndPlay("close"); NitromeGame.sound_manager.playSound("creak"); }; }; _local6++; }; }; if (!openChest){ _local17 = new b2Vec2(100, 100); if (((draggingBlock) && (blockBeingDragged))){ _local21 = blockBeingDragged.solidBody.GetWorldCenter(); _local17 = new b2Vec2(_local21.x, _local21.y); new b2Vec2(_local21.x, _local21.y).x = (_local17.x * 30); _local17.y = (_local17.y * 30); _local17.x = (_local17.x + container.x); _local17.y = (_local17.y + container.y); }; scrolling = false; _local18 = 0; _local19 = 0; _local20 = false; if (((((((Input.isKeyDown(Key.RIGHT)) || (Input.isKeyDown(Key.D)))) || (rootLine.rightScroll.hitTestPoint(mouseXWorld, mouseYWorld)))) || ((_local17.x > 525)))){ scrollRight(); _local18 = 1; }; if (((((((Input.isKeyDown(Key.LEFT)) || (Input.isKeyDown(Key.A)))) || (((((rootLine.leftScroll.hitTestPoint(mouseXWorld, mouseYWorld)) && (!((mouseXWorld == 0))))) && (!((mouseYWorld == 0))))))) || ((_local17.x < 25)))){ scrollLeft(); _local18 = -1; }; if (scrolling == false){  = 0; } else { _local20 = true; }; scrolling = false; if (((((((Input.isKeyDown(Key.UP)) || (Input.isKeyDown(Key.W)))) || (((((rootLine.topScroll.hitTestPoint(mouseXWorld, mouseYWorld)) && (!((mouseXWorld == 0))))) && (!((mouseYWorld == 0))))))) || ((_local17.y < 25)))){ scrollUp(); _local19 = -1; }; if (((((((Input.isKeyDown(Key.DOWN)) || (Input.isKeyDown(Key.S)))) || (rootLine.bottomScroll.hitTestPoint(mouseXWorld, mouseYWorld)))) || ((_local17.y > 525)))){ scrollDown(); _local19 = 1; }; if (scrolling == false){   = 0; } else { _local20 = true; }; if (_local20){ if ((((_local18 == -1)) && ((_local19 == 0)))){ CustomCursor.setCursor(CursorL); }; if ((((_local18 == 1)) && ((_local19 == 0)))){ CustomCursor.setCursor(CursorR); }; if ((((_local18 == 0)) && ((_local19 == -1)))){ CustomCursor.setCursor(CursorU); }; if ((((_local18 == 0)) && ((_local19 == 1)))){ CustomCursor.setCursor(CursorD); }; if ((((_local18 == -1)) && ((_local19 == -1)))){ CustomCursor.setCursor(CursorUL); }; if ((((_local18 == -1)) && ((_local19 == 1)))){ CustomCursor.setCursor(CursorDL); }; if ((((_local18 == 1)) && ((_local19 == -1)))){ CustomCursor.setCursor(CursorUR); }; if ((((_local18 == 1)) && ((_local19 == 1)))){ CustomCursor.setCursor(CursorDR); }; } else { CustomCursor.setCursor(null); }; } else { CustomCursor.setCursor(null); }; if (chestClicked != null){ _local2 = (chestClicked.sprite.y + chestClicked.sprite.getBounds(chestClicked.sprite).top); _local2 = (_local2 + container.y); _local3 = (chestClicked.sprite.x + chestClicked.sprite.getBounds(chestClicked.sprite).left); _local3 = (_local3 + (chestClicked.sprite.width / 2)); _local3 = (_local3 + container.x); chestDisplay.update(mouseXWorld, mouseYWorld); }; if (openChest){ if (_local2 < 200){ scrollUp(); }; if (_local2 > 350){ scrollDown(); }; if (_local3 < 200){ scrollLeft(); }; if (_local3 > 350){ scrollRight(); }; }; Input.update(); if (firstFrame){ firstFrame = false; }; } else { CustomCursor.setCursor(null); if (levelComplete){ isCircuitComplete();  (); }; }; } public function UpdateMouseWorld():void{ mouseXWorldPhys = ((Input.mouseX - container.x) / m_physScale); mouseYWorldPhys = ((Input.mouseY - container.y) / m_physScale); mouseXWorld = Input.mouseX; mouseYWorld = Input.mouseY; } function addInitialBlocks(){ var _local1:int; var _local2:int; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Block; var _local7:b2Vec2; var _local8:Block; var _local9:b2MassData; firstFrame = true; if (!rootLine.myController.titleScreen){ paused = true; }; _local1 = 0; while (_local1 < rootLine.myController.blocksInPlay.length) { _local3 = rootLine.myController.blocksInPlay[_local1].x; _local4 = rootLine.myController.blocksInPlay[_local1].y; _local5 = rootLine.myController.blocksInPlay[_local1].rotation; if (!rootLine.myController.blocksInPlay[_local1].preDefinedBlock){ rootLine.blockDrawer.selectBlock(rootLine.myController.blocksInPlay[_local1].shapeID); rootLine.blockDrawer.findEquivilentPreDefinedBlock_2(rootLine.myController.blocksInPlay[_local1].material, rootLine.myController.blocksInPlay[_local1].magnetic); } else { rootLine.blockDrawer.selectPreDefinedBlock(rootLine.myController.blocksInPlay[_local1].preDefinedBlockID); }; if (((rootLine.blockDrawer.preDefinedBlock) && ((LevelElementDefs.ALLBLOCKS[rootLine.blockDrawer.preDefinedBlockID][1] == Block.SCREW)))){ _local6 = new Block(this.m_world, stamps1); } else { _local6 = new Block(this.m_world,  ); }; _local2 = 0; while (_local2 < rootLine["blockDrawer"].pointList.length) { _local6.addVertex(new b2Vec2((rootLine["blockDrawer"].pointList[_local2].x / 30), (rootLine["blockDrawer"].pointList[_local2].y / 30))); _local2++; }; _local6.rotation = _local5; _local6.position = new b2Vec2(_local3, _local4); _local6.setMaterial(rootLine.myController.blocksInPlay[_local1].material, rootLine.myController.blocksInPlay[_local1].magnetic, false, rootLine.myController.blocksInPlay[_local1].heavy); _local6.preDefinedBlock = rootLine.blockDrawer.preDefinedBlock; _local6.preDefinedBlockID = rootLine.blockDrawer.preDefinedBlockID; _local6.solidify(); _local6.solidBody.GetUserData().shapeID = rootLine.myController.blocksInPlay[_local1].shapeID; blockList.push(_local6); if (_local6.material == Block.SCREW){ _local7 = _local6.solidBody.GetPosition(); _local2 = 0; while (_local2 < blockList.length) { if (blockList[_local2].testPoint(_local7)){ _local8 = blockList[_local2]; break; }; _local2++; }; if (_local8){ _local6.screwed = true; _local6.theScrew = _local8; _local8.screwed = true; _local8.theScrew = _local6; _local9 = new b2MassData(); _local9.mass = 0; _local8.solidBody.SetMass(_local9); _local8.solidBody.SetLinearVelocity(new b2Vec2(0, 0)); _local8.solidBody.SetAngularVelocity(0); }; screws.push(_local6); }; _local1++; }; } function spliceOutLooseJoints(_arg1:b2Body){ var _local2:int; var _local3:b2JointEdge; if (looseJoints.length >= 1){ _local2 = (looseJoints.length - 1); while (_local2 >= 0) { if ((((looseJoints[_local2].b1 == _arg1)) || ((looseJoints[_local2].b2 == _arg1)))){ if (looseJoints[_local2].joint){ m_world.DestroyJoint(looseJoints[_local2].joint); }; looseJoints.splice(_local2, 1); }; _local2--; }; }; } function dropBlock(){ var _local1:MovieClip; var _local2:*; var _local3:b2Vec2; var _local4:Block; var _local5:b2MassData; if (m_mouseJoint){ m_world.DestroyJoint(m_mouseJoint); m_mouseJoint = null; draggingBlock = false; if ((((blockBeingDragged.material == Block.WEIGHTLESS)) || ((blockBeingDragged.material == Block.SCREW)))){ blockBeingDragged.solidBody.SetMassFromShapes(); blockBeingDragged.solidBody.SetLinearVelocity(new b2Vec2(0, 0)); blockBeingDragged.solidBody.SetAngularVelocity(0); if (blockBeingDragged.material == Block.WEIGHTLESS){ shakeTheScreen(5); _local1 = new GroundSmack(); _local1.x = (blockBeingDragged.solidBody.GetWorldCenter().x * 30); _local1.y = ((blockBeingDragged.solidBody.GetWorldCenter().y * 30) - 10); _local1.alpha = 0.8; signsLayer.addChild(_local1); NitromeGame.sound_manager.playSound("slap"); }; if (blockBeingDragged.material == Block.SCREW){ _local3 = blockBeingDragged.solidBody.GetPosition(); _local2 = 0; while (_local2 < blockList.length) { if (blockList[_local2].testPoint(_local3)){ _local4 = blockList[_local2]; break; }; _local2++; }; if (_local4){ blockBeingDragged.screwed = true; blockBeingDragged.theScrew = _local4; _local4.screwed = true; _local4.theScrew = blockBeingDragged; _local5 = new b2MassData(); _local5.mass = 0; _local4.solidBody.SetMass(_local5); _local4.solidBody.SetLinearVelocity(new b2Vec2(0, 0)); _local4.solidBody.SetAngularVelocity(0); }; blockBeingDragged.animClip.screw.gotoAndPlay(1); NitromeGame.sound_manager.playSound("screw"); }; }; }; } function (){ var _local1:int; var _local2:int; var _local3:int; var _local4:b2Body; _local1 = 0; while (_local1 < blockList.length) { blockList[_local1].deleteFromWorld(); _local1++; }; _local4 = m_world.m_bodyList; while (_local4) { if (_local4){ if (((_local4.GetUserData()) && (_local4.GetUserData().blockRef))){ _local4.GetUserData().blockRef.deleteFromWorld(); } else { m_world.DestroyBody(_local4); }; }; _local4 = _local4.m_next; }; _local1 = ( ["numChildren"] - 1); while (_local1 >= 0) {  .removeChildAt(_local1); _local1--; }; } function addScenery(){ var _local1:int; var _local2:int; var _local3:Block; var _local4:Sprite; var _local5:Sprite; var _local6:*; var _local7:Number; var _local8:MovieClip; var _local9:*; var _local10:Bitmap; var _local11:*; var _local12:Bitmap; var _local13:Number; var _local14:Number; var _local15:int; openChest = false; helpSigns = new Array(); deadZones = new Array(); cannons = new Array(); waterAreas = new Array(); fishes = new Array(); glassPanels = new Array(); chests = new Array(); if (((rootLine.myController) && ((rootLine.myController.levelStaticBlocks.length > 0)))){ _local1 = 0; while (_local1 < rootLine.myController.levelStaticBlocks.length) { if (rootLine.myController.waterFlag[_local1] == true){ _local3 = new Block(this.m_world, waterClip); } else { if (rootLine.myController.noDragFlag[_local1] == true){ _local3 = new Block(this.m_world, noDragLayer); } else { _local3 = new Block(this.m_world, landClip); }; }; _local2 = 0; while (_local2 < rootLine.myController.levelStaticBlocks[_local1].length) { _local3.addVertex(new b2Vec2((rootLine.myController.levelStaticBlocks[_local1][_local2].x / 30), (rootLine.myController.levelStaticBlocks[_local1][_local2].y / 30))); _local2++; }; if (rootLine.myController.waterFlag[_local1] == true){ _local3.setMaterial(2, false, true); waterAreas.push(_local3); } else { if (rootLine.myController.noDragFlag[_local1] == true){ _local3.setMaterial(Block.NODRAG, false, true); glassPanels.push(_local3); } else { if (rootLine.myController.deadZoneFlag[_local1] == true){ _local3.setMaterial(Block.DEADZONE, false, true); deadZones.push(_local3); } else { _local3.setMaterial(0, false, true); }; }; }; _local3.solidify(); _local1++; }; _local1 = 0; while (_local1 < deadZones.length) { bottomDepth(deadZones[_local1]); _local1++; }; _local4 = new Sprite(); _local5 = new Sprite(); _local1 = 0; while (_local1 < rootLine.myController.levelStamps.length) { _local8 = new AllStamps(); _local8.x = rootLine.myController.levelStamps[_local1].x; _local8.y = rootLine.myController.levelStamps[_local1].y; _local8.gotoAndStop(rootLine.myController.levelStamps[_local1].object); _local8.ID = _local1; if (LevelElementDefs.STAMPLAYERS[(rootLine.myController.levelStamps[_local1].object - 2)] == 0){ _local4.addChild(_local8); } else { if (LevelElementDefs.STAMPLAYERS[(rootLine.myController.levelStamps[_local1].object - 2)] == 1){ _local5.addChild(_local8); } else { if (LevelElementDefs.STAMPLAYERS[(rootLine.myController.levelStamps[_local1].object - 2)] == 3){ signsLayer.addChild(_local8); fishes.push(_local8); } else { this[("stamps" + LevelElementDefs.STAMPLAYERS[(rootLine.myController.levelStamps[_local1].object - 2)])].addChild(_local8); }; }; }; _local1++; }; if (_local4.width > 0){ _local6 = _local4.getBounds(_local4).left; _local7 = _local4.getBounds(_local4).top; _local9 = new BitmapData(_local4.width, _local4.height, true, 0); _local9.draw(_local4, new Matrix(1, 0, 0, 1, -(_local6), -(_local7))); _local10 = new Bitmap(_local9, "auto", true); _local10.x = _local6; _local10.y = _local7; stamps0.addChild(_local10); }; if (_local5.width > 0){ _local6 = _local5.getBounds(_local5).left; _local7 = _local5.getBounds(_local5).top; _local11 = new BitmapData(_local5.width, _local5.height, true, 0); _local11.draw(_local5, new Matrix(1, 0, 0, 1, -(_local6), -(_local7))); _local12 = new Bitmap(_local11, "auto", true); _local12.x = _local6; _local12.y = _local7; stamps1.addChild(_local12); }; _local1 = 0; while (_local1 < rootLine.myController.levelStaticMCBlocks.length) { _local13 = rootLine.myController.levelStaticMCBlocks[_local1].object; _local14 = LevelElementDefs.shapeID[(_local13 - 1)]; if ((((_local13 == 4)) || ((_local13 == 3)))){ _local3 = new Block(this.m_world, signsLayer); } else { _local3 = new Block(this.m_world, levelElementsLayer); }; _local2 = 0; while (_local2 < rootLine.blockDrawer.shapeLibrary[_local14].length) { _local3.addVertex(new b2Vec2((rootLine.blockDrawer.shapeLibrary[_local14][_local2].x / 30), (rootLine.blockDrawer.shapeLibrary[_local14][_local2].y / 30))); _local2++; }; _local3.position = new b2Vec2((rootLine.myController.levelStaticMCBlocks[_local1].x / 30), (rootLine.myController.levelStaticMCBlocks[_local1].y / 30)); _local3.rotation = 0; _local3.setMaterial(LevelElementDefs.material[(_local13 - 1)], LevelElementDefs.sticky[(_local13 - 1)], true); _local15 = 1; if ((((((_local13 == 1)) || ((_local13 == 2)))) || ((_local13 == 5)))){ _local15 = rootLine.myController.levelStaticMCBlocks[_local1].frame; }; _local3.setSceneryElement(true, _local13, _local15); _local3.solidify(); _local3.shapeID = _local14; if (_local13 == 1){ startElementBody = _local3.solidBody; _local3.solidBody.GetUserData().circuitElement = true; }; if (_local13 == 2){ endElementBody = _local3.solidBody; }; if (_local13 == 3){ chests.push(_local3); }; if (_local13 == 4){ _local3.solidBody.GetUserData().message = rootLine.myController.levelStaticMCBlocks[_local1].message; helpSigns.push(_local3); }; if (_local13 == 5){ cannons.push(_local3); _local3.rattleDelayCount = (-10 * cannons.length); }; _local1++; }; chestDisplay = new ChestDisplay(); chestDisplay.scaleX = 0; chestDisplay.scaleY = 0; chestDisplay.x = -1000000; chestDisplay.y = -1000000; chestDisplay.rootLine = rootLine; chestDisplay.blockController = this; signsLayer.addChild(chestDisplay); initFishes(); firstFrame = true; }; } public static function bodyIsTouchingBody(_arg1:b2Body, _arg2:b2Body):Boolean{ var _local3:b2ContactEdge; if (((!(_arg1)) || (!(_arg2)))){ return (false); }; _local3 = _arg1.m_contactList; while (_local3) { if (((_local3.contact) && ((_local3.contact.m_manifoldCount > 0)))){ if (_local3.other == _arg2){ return (true); }; }; _local3 = _local3.next; }; return (false); } public static function glassTap(_arg1:b2Vec2){ var _local2:MovieClip; _local2 = new SmashClip(); _local2.x = (_arg1.x * 30); _local2.y = (_arg1.y * 30); _local2.alpha = 0.8; _local2.scaleX = (_local2.scaleY = 0.5); levelElementsLayer.addChild(_local2); NitromeGame.sound_manager.playSound("glassTap"); } public static function addDust(_arg1:b2Vec2, _arg2:Block, _arg3:Block){ var _local4:MovieClip; var _local5:Number; if (((((!(draggingBlock)) || (((!((_arg2 == blockBeingDragged))) && (!((_arg3 == blockBeingDragged))))))) && ((((_arg2.touchingWater == false)) && ((_arg3.touchingWater == false)))))){ if ((((_arg3. == 0)) || ((_arg2. == 0)))){ _local4 = new DustClip(); _local4.x = (_arg1.x * 30); _local4.y = (_arg1.y * 30); _local4.alpha = 0.8; levelElementsLayer.addChild(_local4); if (_arg2. == 0){ _arg2. = 20; } else { _arg3. = 20; }; if ((((_arg2.material == Block.METAL)) && ((_arg3.material == Block.METAL)))){ _local5 = (Math.floor((Math.random() * 4)) + 1); NitromeGame.sound_manager.playSound(("metal_" + String(_local5))); } else { if ((((_arg2.material == Block.BALLOON)) || ((_arg3.material == Block.BALLOON)))){ NitromeGame.sound_manager.playSound("balloon"); } else { NitromeGame.sound_manager.playSound("slap"); }; }; }; }; } public static function addSmash(_arg1:b2Vec2, _arg2:Block, _arg3:Block){ var _local4:MovieClip; if (((((((!(draggingBlock)) || (((!((_arg2 == blockBeingDragged))) && (!((_arg3 == blockBeingDragged))))))) && ((((_arg2.touchingWater == false)) && ((_arg3.touchingWater == false)))))) && ((((((((_arg2.material == Block.METAL)) || (_arg2.isHeavy))) && (!(_arg2.sceneryElement)))) || ((((((_arg3.material == Block.METAL)) || (_arg3.isHeavy))) && (!(_arg3.sceneryElement)))))))){ _local4 = new SmashClip(); _local4.x = (_arg1.x * 30); _local4.y = (_arg1.y * 30); _local4.alpha = 0.8; levelElementsLayer.addChild(_local4); _arg2. = 40; _arg3. = 40; shakeTheScreen(10); }; } public static function panelOff(){ panelOpen = false; paused = false; if (endElementBody.GetUserData().blockRef.elementClip.head.endHead.currentFrame == 2){ if (endElementBody.GetUserData().blockRef.elementClip.head.endHead.endHead.mouth.currentFrame < 110){ endElementBody.GetUserData().blockRef.elementClip.head.endHead.endHead.mouth.play(); }; }; } public static function shakeTheScreen(_arg1:Number){ screenShake = _arg1; } public static function wheelBlockCollision(_arg1:Object):void{ wheelBlocksToMove.push(_arg1); } public static function addSplash(_arg1:b2Vec2){ var _local2:MovieClip; if (!firstFrame){ _local2 = new SplashClip(); _local2.x = (_arg1.x * 30); _local2.y = (_arg1.y * 30); waterClip.addChild(_local2); NitromeGame.sound_manager.playSound("splash"); }; } public static function registerContact(_arg1:Object):void{ newContacts.push(_arg1); } } }//package com.nitrome.balancer
Section 79
//Block (com.nitrome.balancer.Block) package com.nitrome.balancer { import flash.display.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.Contacts.*; import com.nitrome.util.*; import flash.geom.*; import flash.filters.*; public class Block { var animClip:MovieClip; public var  :Number;// = 1 public var  :Number; public var  :Number; var magnetic:Boolean;// = false public var :Number;// = 10 public var texture:BitmapData; var isTesla:Boolean;// = false var :Number;// = 0 var rattleDelayCount;// = 0 public var :Number; var material:Number;// = 0 public var position:b2Vec2; public var  :Number;// = 136 var  :Boolean;// = false var preDefinedBlock:Boolean;// = false public var :Number;// = 0 var :Array; public var :Array; var theScrew:Block; public var :Number;// = 0.4 public var :Array; var  :Sprite; public var elementClip:MovieClip; var :Array; public var :BitmapData; public var :Array; public var rotation:Number; var :Number;// = 0 var container:MovieClip; var shapeID:Number;// = 0 var  :b2World; public var touchingWater:Boolean;// = false var firstFrame:Boolean;// = true var  :int;// = -30 var electrified:Boolean;// = false var sceneryElement:Boolean;// = false public var :Number;// = 6894119 public var :Number;// = 0x808080 var preDefinedBlockID:Number;// = 0 var :Array; public var sprite:MovieClip; var heavy:Boolean;// = false var smackable:Boolean;// = false var isHeavy:Boolean;// = false var  :int;// = 1 public var  :Boolean;// = false public var :Number;// = 0 public var :Boolean;// = false public var velocity:b2Vec2; var defaultRotation:Number;// = 0 var whitingOut:Boolean;// = false var scenery:Boolean;// = false var density:Number;// = 0.5 public var solidBody:b2Body; var screwed:Boolean;// = false var  :Sprite; var whiteOutAlpha:Number;// = 1 static var WHEELBLOCKR = 6; static var RATTLEDELAY = 130; static var ANTIDEAD = 14; static var FOODBLOCK = 9; static var DEADZONE = 11; static var WEIGHTLESS = 4; static var BALLOON = 3; static var METAL = 1; static var RATTLER = 5; static var WOOD = 0; static var CANNONBALLMASS = 1; static var NODRAG = 8; public static var rockTexture:BitmapData; static var TESLA = 10; static var CANNONBALLPOWER = 15; static var WHEELBLOCKL = 7; static var SCREW = 13; static var RATTLETIME = 40; static var WATER = 2; static var HEAVY = 12; public function Block(_arg1:b2World, _arg2:MovieClip){  = 1;  = 0x808080;  = 0.4;  = 6894119;  = false;  = 136;  = 10; touchingWater = false;  = 0;  = 0;  = false; material = 0; magnetic = false; scenery = false; heavy = false; sceneryElement = false;  = 0;  = false; isTesla = false; isHeavy = false;  = 1; density = 0.5; preDefinedBlock = false; preDefinedBlockID = 0; rattleDelayCount = 0; screwed = false; shapeID = 0; whitingOut = false;  = 0; whiteOutAlpha = 1; electrified = false;  = -30; firstFrame = true; defaultRotation = 0; smackable = false;  = new Array(1, 1.1, 1.25, 1.1); super(); if (!rockTexture){ rockTexture = new MetalTexture(0x0100, 0x0100); }; texture = rockTexture; solidBody = null;  = [];  = [];  = []; this. = _arg1; this.container = _arg2;  = new Array(); } public function ():void{ (); if (solidBody){ position = solidBody.GetPosition(); rotation = solidBody.GetAngle(); velocity = solidBody.GetLinearVelocity();  = solidBody.GetAngularVelocity();  .DestroyBody(solidBody); }; solidBody = null;  = []; } public function ():b2Vec2{ var _local1:b2AABB; _local1 = getBoundingBox(); if (!_local1){ return (null); }; return (new b2Vec2(((_local1.lowerBound.x + _local1.upperBound.x) / 2), ((_local1.lowerBound.y + _local1.upperBound.y) / 2))); } public function testPoint(_arg1:b2Vec2):Boolean{ var _local2:Number; if (!solidBody){ return (false); }; _local2 = 0; while (_local2 < .length) { if ([_local2].TestPoint(solidBody.m_xf, _arg1)){ return (true); }; _local2++; }; return (false); } function updateElectrified(){ var _local1:Array; var _local2:Array; var _local3:ColorMatrixFilter; if (this.electrified){ if ( < 4){ if ( >= 0){ _local2 = new Array(); _local2 = _local2.concat([[ ], 0, 0, 0, 0]); _local2 = _local2.concat([0, [ ], 0, 0, 0]); _local2 = _local2.concat([0, 0, [ ], 0, 0]); _local2 = _local2.concat([0, 0, 0, 1, 0]); _local3 = new ColorMatrixFilter(_local2); _local1 = new Array(); _local1.push(_local3); sprite.filters = _local1; };  ++; } else { _local1 = new Array(); sprite.filters = _local1;  = 0; }; this.electrified = false; } else { _local1 = new Array(); sprite.filters = _local1;  = -30; }; } function centerPoint():b2Vec2{ var _local1:Number; var _local2:Number; var _local3:Number; _local1 = 0; _local2 = 0; _local3 = 0; while (_local3 < .length) { _local1 = (_local1 + [_local3].x); _local2 = (_local2 + [_local3].y); _local3++; }; return (new b2Vec2((_local1 / .length), (_local2 / .length))); } public function (_arg1:Number):void{ .splice(_arg1, 1); .splice(_arg1, 1); } public function (_arg1:b2Vec2):b2Vec2{ if (!solidBody){ return (new b2Vec2((_arg1.x / 30), (_arg1.y / 30))); }; return (solidBody.GetLocalPoint(new b2Vec2((_arg1.x / 30), (_arg1.y / 30)))); } public function updateBitmap(_arg1:Boolean=false):void{ var _local2:Matrix; var _local3:Array; var _local4:ColorMatrixFilter; var _local5:Array; var _local6:Boolean; var _local7:int; var _local8:b2ContactEdge; if (((sprite) && (solidBody))){ if (Math.abs(solidBody.GetLinearVelocity().Length()) > 2){ smackable = true; solidBody.GetUserData().smackable = true; } else { smackable = false; solidBody.GetUserData().smackable = false; }; if ((( ) && (_arg1))){ rattleDelayCount = 0; }; if ( > 0){ --; }; if ( > 0){ --; }; if (whitingOut){ if ( < 15){  = ( + 3); } else { whiteOutAlpha = (whiteOutAlpha - 0.2); }; if (whiteOutAlpha > 0){ _local3 = new Array(); _local3 = _local3.concat([(1 + ), 0, 0, 0, 0]); _local3 = _local3.concat([0, (1 + ), 0, 0, 0]); _local3 = _local3.concat([0, 0, (1 + ), 0, 0]); _local3 = _local3.concat([0, 0, 0, whiteOutAlpha, 0]); _local4 = new ColorMatrixFilter(_local3); _local5 = new Array(); _local5.push(_local4); sprite.filters = _local5; }; return; }; _local2 = new Matrix(); _local2.translate( ,  ); _local2.rotate(solidBody.GetAngle()); _local2.translate((solidBody.GetPosition().x * 30), (solidBody.GetPosition().y * 30)); sprite.transform.matrix = _local2; if ( ){  .rotation = -(sprite.rotation); } else { if ((((this.preDefinedBlockID == 56)) && (!(firstFrame)))){ animClip.bees.rotation = -(sprite.rotation); }; }; if (material == BALLOON){ solidBody.ApplyImpulse(new b2Vec2(0, -5.75), solidBody.GetWorldCenter()); }; if ((( ) || (((sceneryElement) && (( == 5)))))){ if (.length > 0){ _local7 = (.length - 1); while (_local7 >= 0) { [_local7].clip.x = ([_local7].physObject.GetPosition().x * 30); [_local7].clip.y = ([_local7].physObject.GetPosition().y * 30); [_local7].clip.texture.rotation = ([_local7].physObject.GetAngle() * (180 / Math.PI)); if ([_local7].clip.hasHit){ if ([_local7].clip.hitFrames >= 30){ [_local7].clip.smackable = false; [_local7].physObject.GetShapeList().m_isSensor = true; [_local7].clip.alpha = ([_local7].clip.alpha - 0.017); [_local7].clip.hitFrames++; if (((([_local7].clip.y > 550)) || (([_local7].clip.hitFrames >= 90)))){ container.removeChild([_local7].clip); .splice(_local7, 1); }; } else { [_local7].clip.hitFrames++; }; }; _local7--; }; }; rattleDelayCount++; if (rattleDelayCount == (RATTLEDELAY - 8)){ if (! ){ animClip.head.cannon.gotoAndPlay(2); }; }; _local6 = false; if ( ){ _local8 = solidBody.m_contactList; while (_local8) { if (((_local8.contact) && ((_local8.contact.m_manifoldCount > 0)))){ if (_local8.other.GetUserData().material == Block.FOODBLOCK){ _local6 = true; break; }; }; _local8 = _local8.next; }; }; if (rattleDelayCount >= RATTLEDELAY){ if ( ){ if (((!(_arg1)) || (((_arg1) && (!(this.solidBody.GetUserData().circuitElement)))))){ if (!_local6){ solidBody.ApplyTorque(((Math.random() * 200) - 100)); if (rattleDelayCount >= (RATTLEDELAY + RATTLETIME)){ rattleDelayCount = 0; }; if (((!(firstFrame)) && (!((this.animClip.monster.currentFrame == 10))))){ this.animClip.monster.gotoAndStop("angry"); }; NitromeGame.sound_manager.playSound("monster_angry"); } else { rattleDelayCount = 0; if (((!(firstFrame)) && (!((this.animClip.monster.currentFrame == 30))))){ this.animClip.monster.gotoAndStop("hungry"); NitromeGame.sound_manager.playSound("monster_happy"); }; }; }; } else {  (); rattleDelayCount = 0; }; } else { if ((( ) && (((!(_arg1)) || (((_arg1) && (!(this.solidBody.GetUserData().circuitElement)))))))){ if (!_local6){ if (((!(firstFrame)) && (!((this.animClip.monster.currentFrame == 1))))){ this.animClip.monster.gotoAndStop("normal"); }; } else { if (((!(firstFrame)) && (!((this.animClip.monster.currentFrame == 30))))){ this.animClip.monster.gotoAndStop("hungry"); }; NitromeGame.sound_manager.playSound("monster_happy"); }; }; }; if ((((( ) && (this.solidBody.GetUserData().circuitElement))) && (_arg1))){ if (((!(firstFrame)) && (!((this.animClip.monster.currentFrame == 20))))){ this.animClip.monster.gotoAndStop("shock"); }; }; }; }; firstFrame = false; } public function getBoundingBox():b2AABB{ var _local1:b2AABB; var _local2:Number; var _local3:b2Vec2; if (.length < 1){ return (null); }; _local1 = new b2AABB(); _local2 = 0; while (_local2 < .length) { _local3 = localToGlobal([_local2]); if (_local2 == 0){ _local1.lowerBound.Set(_local3.x, _local3.y); _local1.upperBound.Set(_local3.x, _local3.y); } else { if (_local3.x < _local1.lowerBound.x){ _local1.lowerBound.x = _local3.x; }; if (_local3.x > _local1.upperBound.x){ _local1.upperBound.x = _local3.x; }; if (_local3.y < _local1.lowerBound.y){ _local1.lowerBound.y = _local3.y; }; if (_local3.y > _local1.upperBound.y){ _local1.upperBound.y = _local3.y; }; }; _local2++; }; return (_local1); } public function  ():Number{ return (solidBody.GetMass()); } public function solidify():void{ var _local1:b2CircleDef; var _local2:b2BodyDef; var _local3:Array; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:Boolean; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:b2PolygonDef; var _local16:b2PolygonDef; var _local17:int; if (material != SCREW){ if (scenery){ if (material == WATER){ texture = null; } else { if (material == NODRAG){ texture = new GlassTexture2(0x0100, 0x0100); } else { if (material == DEADZONE){ texture = new DeathTile(0x0100, 0x0100);  = true;  = 5322926;  = 4364774;  = 25; } else { texture = new FloorTile(0x0100, 0x0100); }; }; }; } else { if (material == WOOD){ texture = new WoodTexture(0x0100, 0x0100); }; if (material == METAL){ texture = new MetalTexture(0x0100, 0x0100); }; }; _local2 = new b2BodyDef(); _local2.userData = {block:this}; if ((((material == WHEELBLOCKL)) || ((material == WHEELBLOCKR)))){ _local2.linearDamping = 0.25; }; solidBody =  .CreateBody(_local2);  = []; if (((!((shapeID == 6))) && (!((shapeID == 7))))){ _local3 = .slice(); while (_local3.length > 3) { _local4 = 0; _local5 = -1; _local6 = 0; while (_local6 < _local3.length) { _local7 = _local3[_local6]; _local8 = _local3[((_local6 + 1) % _local3.length)]; _local9 = _local3[((_local6 + 2) % _local3.length)]; _local10 = false; _local11 = 0; while (_local11 < _local3.length) { if ((((((_local3[_local11] == _local7)) || ((_local3[_local11] == _local8)))) || ((_local3[_local11] == _local9)))){ } else { if (Geometry.pointInsideTriangle(_local7, _local8, _local9, _local3[_local11])){ _local10 = true; break; }; }; _local11++; }; if (_local10){ } else { _local12 = Math.atan2((_local8.y - _local7.y), (_local8.x - _local7.x)); _local13 = Math.atan2((_local9.y - _local8.y), (_local9.x - _local8.x)); _local14 = (_local13 - _local12); while (_local14 < -(Math.PI)) { _local14 = (_local14 + (Math.PI * 2)); }; while (_local14 > Math.PI) { _local14 = (_local14 - (Math.PI * 2)); }; if (_local14 > _local4){ _local4 = _local14; _local5 = _local6; }; }; _local6++; }; if (_local5 == -1){ break; }; _local7 = _local3[_local5]; _local8 = _local3[((_local5 + 1) % _local3.length)]; _local9 = _local3[((_local5 + 2) % _local3.length)]; .push(([_local7, _local8, _local9])); _local3.splice(((_local5 + 1) % _local3.length), 1); }; .push((_local3)); } else { if (shapeID == 6){ _local15 = new b2PolygonDef(); _local15.SetAsOrientedBox(0.5, 0.5, new b2Vec2((5 / 30), (5 / 30)), 0); _local15.density = this.density; _local15.restitution = 0.4; _local15.friction = 1; .push(solidBody.CreateShape(_local15)); }; if (shapeID == 7){ _local16 = new b2PolygonDef(); _local16.SetAsOrientedBox(1, 1, new b2Vec2((0 / 30), (-10 / 30)), 0); _local16.density = this.density; _local16.restitution = 0.4; _local16.friction = 1; .push(solidBody.CreateShape(_local16)); }; }; if ((((((material == METAL)) || ((material == WHEELBLOCKR)))) || ((material == WHEELBLOCKL)))){ _local17 = 0; _local17 = 0; while (_local17 < .length) { _local1 = new b2CircleDef(); _local1.radius = (1.5 / 30); _local1.localPosition = [_local17]; _local1.isSensor = true; solidBody.CreateShape(_local1); _local17++; }; }; if (((!(scenery)) && (!((material == WEIGHTLESS))))){ solidBody.SetMassFromShapes(); }; if (position){ solidBody.SetXForm(position, rotation); }; if (velocity){ solidBody.SetLinearVelocity(velocity); solidBody.SetAngularVelocity(); }; (); } else { _local2 = new b2BodyDef(); _local2.userData = {block:this}; solidBody =  .CreateBody(_local2); _local1 = new b2CircleDef(); _local1.radius = (1 / 30); _local1.localPosition = new b2Vec2(0, 0); _local1.isSensor = true; solidBody.CreateShape(_local1); sprite = new MovieClip(); elementClip = new PreDefinedBlocks(); elementClip.gotoAndStop((this.preDefinedBlockID + 1)); sprite.addChild(elementClip); animClip = elementClip;  = 0;  = 0; if (position){ solidBody.SetXForm(position, rotation); }; updateBitmap(); container.addChild(sprite); }; solidBody.GetUserData().block = true; solidBody.GetUserData().magnetic = this.magnetic; solidBody.GetUserData().material = this.material; solidBody.GetUserData().preDefinedBlock = this.preDefinedBlock; solidBody.GetUserData().preDefinedBlockID = this.preDefinedBlockID; solidBody.GetUserData().scenery = this.scenery; solidBody.GetUserData().blockRef = this; solidBody.GetUserData().looseJoint = null; solidBody.GetUserData().circuitElement = false; } function  (){ var _local1:b2BodyDef; var _local2:MovieClip; var _local3:b2Body; var _local4:b2CircleDef; var _local5:b2Vec2; var _local6:Object; _local1 = new b2BodyDef(); _local2 = new CannonBall(); _local1.userData = _local2; _local1.userData.blockRef = this; _local1.userData.smackable = true; _local3 =  .CreateBody(_local1); _local4 = new b2CircleDef(); _local4.radius = 0.5; _local4.localPosition = new b2Vec2(0, 0); _local4.density = CANNONBALLMASS; _local3.CreateShape(_local4); _local3.SetMassFromShapes(); switch ( ){ case 1: _local5 = new b2Vec2((solidBody.GetWorldCenter().x + 1.5), (solidBody.GetWorldCenter().y - 0.3)); _local3.SetXForm(_local5, 0); _local3.ApplyImpulse(new b2Vec2(CANNONBALLPOWER, 0), _local3.GetWorldCenter()); break; case 2: _local5 = new b2Vec2((solidBody.GetWorldCenter().x + 0.3), (solidBody.GetWorldCenter().y - 1.5)); _local3.SetXForm(_local5, 0); _local3.ApplyImpulse(new b2Vec2(0, -(CANNONBALLPOWER)), _local3.GetWorldCenter()); break; case 3: _local5 = new b2Vec2((solidBody.GetWorldCenter().x - 1.5), (solidBody.GetWorldCenter().y - 0.3)); _local3.SetXForm(_local5, 0); _local3.ApplyImpulse(new b2Vec2(-(CANNONBALLPOWER), 0), _local3.GetWorldCenter()); break; case 4: _local5 = new b2Vec2((solidBody.GetWorldCenter().x + 0.3), (solidBody.GetWorldCenter().y + 1.5)); _local3.SetXForm(_local5, 0); _local3.ApplyImpulse(new b2Vec2(0, CANNONBALLPOWER), _local3.GetWorldCenter()); break; }; container.addChild(_local2); container.setChildIndex(_local2, 0); _local6 = new Object(); _local6.clip = _local2; _local6.physObject = _local3; _local2.x = (_local3.GetPosition().x * 30); _local2.y = (_local3.GetPosition().y * 30); _local2.isCannonBall = true; _local2.hasHit = false; _local2.hitFrames = 0; .push(_local6); touchingWater = false; BlockEditor.shakeTheScreen(5); NitromeGame.sound_manager.playSound("cannon"); } function whiteOut(){ var _local1:b2MassData; var _local2:b2Shape; whitingOut = true; _local1 = new b2MassData(); _local1.mass = 0; solidBody.SetMass(_local1); _local2 = solidBody.GetShapeList(); while (_local2) { _local2.m_isSensor = true; _local2 = _local2.GetNext(); }; } public function localToGlobal(_arg1:b2Vec2):b2Vec2{ if (!solidBody){ return (new b2Vec2((_arg1.x * 30), (_arg1.y * 30))); }; return (solidBody.GetWorldPoint(_arg1)); } public function (_arg1:b2Vec2):b2Vec2{ return (solidBody.GetLocalPoint(_arg1)); } public function ():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:MovieClip; var _local5:Sprite; var _local6:Boolean; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:MovieClip; var _local11:*; var _local12:Bitmap; if (.length < 3){  = null; return; }; _local1 = Infinity; _local2 = -(Infinity); _local3 = 0; while (_local3 < .length) { if ([_local3].x < _local1){ _local1 = [_local3].x; }; if ([_local3].x > _local2){ _local2 = [_local3].x; }; _local3++; }; _local1 = (_local1 * 30); _local2 = (_local2 * 30); _local4 = new MovieClip(); _local4.graphics.clear(); _local5 = new Sprite(); _local5.graphics.clear(); _local6 = false; if (!sceneryElement){ if (!preDefinedBlock){ if (texture){ _local4.graphics.beginBitmapFill(texture); } else { _local4.graphics.beginFill(6303386, 0.75); }; _local4.graphics.moveTo(([0].x * 30), ([0].y * 30)); _local3 = 1; while (_local3 < .length) { _local4.graphics.lineTo(([_local3].x * 30), ([_local3].y * 30)); _local3++; }; _local4.graphics.endFill(); } else { elementClip = new PreDefinedBlocks(); elementClip.gotoAndStop((this.preDefinedBlockID + 1)); _local4.addChild(elementClip); _local6 = true; }; } else { elementClip = new GamePieces(); if ((((this. == 1)) || ((this. == 2)))){ elementClip.head.gotoAndStop(( + (4 * (this. - 1)))); } else { if (this. == 5){ elementClip.head.gotoAndStop(( + 8)); } else { elementClip.gotoAndStop(this.); }; }; _local4.addChild(elementClip); _local6 = true; }; _local7 = ( ) ?  : 0;  = (_local4.getBounds(_local4).left - _local7);  = (_local4.getBounds(_local4).top - _local7); if (!_local6){ _local8 = Math.ceil((_local4.width + (_local7 * 2))); _local9 = Math.ceil((_local4.height + (_local7 * 2))); if (_local8 < 1){ _local8 = 1; }; if (_local9 < 1){ _local9 = 1; };  = new BitmapData(_local8, _local9, true, 0); .draw(_local4, new Matrix(1, 0, 0, 1, -( ), -( ))); if (material == NODRAG){  = 51; }; if (((((scenery) && (!(sceneryElement)))) && (!((material == WATER))))){ if (material != DEADZONE){ .applyFilter(, new Rectangle(0, 0, .width, .height), new Point(), new GlowFilter(4294954137, 0.3, 20, 20, 3, 1, true, false)); } else { .applyFilter(, new Rectangle(0, 0, .width, .height), new Point(), new GlowFilter(4285699071, 0.5, 20, 20, 3, 1, true, false)); }; .applyFilter(, new Rectangle(0, 0, .width, .height), new Point(), new GlowFilter(, 1, 2, 2, 10, 1, true)); }; if ( ){ .applyFilter(, new Rectangle(0, 0, .width, .height), new Point(), new GlowFilter( , 1, ( * 2), ( * 2), 2, 1)); }; if (((((magnetic) && (!(sceneryElement)))) && (!(preDefinedBlock)))){ .applyFilter(, new Rectangle(0, 0, .width, .height), new Point(), new GlowFilter(4294901760, 0.3, 20, 20, 3, 1, true, false)); }; sprite = new MovieClip(); sprite.addChild(new Bitmap(, "auto", true)); } else { sprite = new MovieClip(); _local4.x = -( ); _local4.y = -( ); sprite.addChild(_local4); animClip = elementClip; }; if ((((((((material == METAL)) && (!(sceneryElement)))) && (!(isTesla)))) && (!( )))){ _local5.graphics.beginFill(0xFFFFFF); _local5.graphics.moveTo(([0].x * 30), ([0].y * 30)); _local3 = 1; while (_local3 < .length) { _local5.graphics.lineTo(([_local3].x * 30), ([_local3].y * 30)); _local3++; }; _local5.graphics.endFill(); sprite.addChild(_local5); _local5.x = -( ); _local5.y = -( ); _local10 = new Shine(); _local11 = new BitmapData(_local10.width, _local10.height, true, 0); _local11.draw(_local10, new Matrix(1, 0, 0, 1, (_local10.width / 2), (_local10.height / 2)));  = new Sprite(); _local12 = new Bitmap(_local11, "auto", true); _local12.x = (-(_local10.width) / 2); _local12.y = (-(_local10.height) / 2);  .addChild(_local12);  .blendMode = BlendMode.OVERLAY; sprite.addChild( );  .mask = _local5; }; updateBitmap(); if (material == NODRAG){ sprite.alpha = 0.5; sprite.blendMode = BlendMode.OVERLAY; }; container.addChild(sprite); } public function (_arg1:b2Vec2, _arg2:b2Vec2):Array{ return (null); } public function  ():b2AABB{ var _local1:b2AABB; var _local2:Number; var _local3:b2Vec2; if (.length < 1){ return (null); }; _local1 = new b2AABB(); _local2 = 0; while (_local2 < .length) { _local3 = [_local2]; if (_local2 == 0){ _local1.lowerBound.Set(_local3.x, _local3.y); _local1.upperBound.Set(_local3.x, _local3.y); } else { if (_local3.x < _local1.lowerBound.x){ _local1.lowerBound.x = _local3.x; }; if (_local3.x > _local1.upperBound.x){ _local1.upperBound.x = _local3.x; }; if (_local3.y < _local1.lowerBound.y){ _local1.lowerBound.y = _local3.y; }; if (_local3.y > _local1.upperBound.y){ _local1.upperBound.y = _local3.y; }; }; _local2++; }; return (_local1); } function setSceneryElement(_arg1:Boolean, _arg2:Number, _arg3:int=1){ this.sceneryElement = _arg1; this. = _arg2; this. = _arg3; } public function addVertex(_arg1:b2Vec2, _arg2:Boolean=true):void{ .push(_arg1.Copy()); .push(_arg2); } function setMaterial(_arg1:Number, _arg2:Boolean, _arg3:Boolean, _arg4:Boolean=false){ this.material = _arg1; this.magnetic = _arg2; this.scenery = _arg3; this.heavy = _arg4; this.density = 0.5; if ((((_arg1 == WHEELBLOCKL)) || ((_arg1 == WHEELBLOCKR)))){ this.density = 1.3; }; if (_arg1 == WEIGHTLESS){ this.density = 0; }; if (_arg1 == BALLOON){ this.density = 3.5; }; if (_arg1 == RATTLER){ this.material = METAL;  = true; isTesla = false; isHeavy = false; this.density = 0.5; }; if (_arg1 == TESLA){ this.material = METAL; isTesla = true; isHeavy = false;  = false; this.density = 0.5; }; if (_arg1 == HEAVY){ this.material = WOOD; this.density = 3; isHeavy = true;  = false; isTesla = false; }; if (_arg1 == SCREW){ this.density = 0; }; } function deleteFromWorld(){ var _local1:int; if ((() && ((.length > 0)))){ _local1 = 0; while (_local1 < .length) {  .DestroyBody([_local1].physObject); container.removeChild([_local1].clip); _local1++; }; };  .DestroyBody(this.solidBody); container.removeChild(this.sprite); } public function insertVertex(_arg1:Number, _arg2:b2Vec2, _arg3:Boolean=true):void{ .splice(_arg1, 0, _arg2); .splice(_arg1, 0, _arg3); } private function (_arg1:Array):b2PolygonShape{ var _local2:b2PolygonDef; _local2 = new b2PolygonDef(); _local2.vertexCount = _arg1.length; _local2.vertices = _arg1.slice(); _local2.density = this.density; _local2.restitution = 0.4; if (((!((material == WHEELBLOCKR))) && (!((material == WHEELBLOCKL))))){ _local2.friction = 1; } else { _local2.friction = 0.3; }; if ((((material == WATER)) || ((material == NODRAG)))){ _local2.isSensor = true; }; if (sceneryElement){ _local2.isSensor = LevelElementDefs.sensor[( - 1)]; }; return ((solidBody.CreateShape(_local2) as b2PolygonShape)); } public function (_arg1:b2Vec2):b2Vec2{ var _local2:b2Vec2; if (!solidBody){ return (new b2Vec2((_arg1.x * 30), (_arg1.y * 30))); }; _local2 = solidBody.GetWorldPoint(new b2Vec2(_arg1.x, _arg1.y)); _local2.x = (_local2.x * 30); _local2.y = (_local2.y * 30); return (_local2); } public function ():void{ if (((sprite) && (sprite.parent))){ sprite.parent.removeChild(sprite); }; if (){ .dispose(); };  = null; sprite = null; } } }//package com.nitrome.balancer
Section 80
//BlockDrawer (com.nitrome.balancer.BlockDrawer) package com.nitrome.balancer { import fl.controls.*; import flash.display.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import flash.events.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.Joints.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; import com.nitrome.util.*; import flash.geom.*; import flash.net.*; import flash.external.*; public class BlockDrawer extends MovieClip { public var node:blockNode; public var saveLibrary_button:Button; public var metalCheck:CheckBox; public var saveEditedBlock_button:Button; var blockdefs_data:String;// = "<BalanceBlockLibrary><NumBlocks data="36"/><BlockDef_1 data="-60,-10,60,-10,60,20,-60,20"/><BlockDef_2 data="-30,-40,30,-40,30,-10,60,-10,60,20,0,20,0,-10,-30,-10"/><BlockDef_3 data="0,-10,0,-40,60,-40,60,-10,30,-10,30,20,-30,20,-30,-10"/><BlockDef_4 data="-30,-20,60,-20,60,10,30,10,30,40,0,40,0,10,-30,10"/><BlockDef_5 data="-30,-20,30,-20,30,-50,60,-50,60,-20,60,10,-30,10"/><BlockDef_6 data="-30,-20,-30,-50,0,-50,0,-20,60,-20,60,10,-30,10"/><BlockDef_7 data="-10,-10,20,-10,20,20,-10,20"/><BlockDef_8 data="-30,-40,30,-40,30,20,-30,20"/><BlockDef_9 data="30,-10,30,20,0,20"/><BlockDef_10 data="60,-40,60,50,-30,50"/><BlockDef_11 data="40,-20,40,30,-10,30"/><BlockDef_12 data="50,-20,50,40,-10,40"/><BlockDef_13 data="0,-30,0,0,30,0,30,-30,60,-30,60,30,-30,30,-30,-30"/><BlockDef_14 data="0,0,0,-30,30,-30,30,0,60,0,60,30,30,30,30,60,0,60,0,30,-30,30,-30,0"/><BlockDef_15 data="-30,-30,90,-30,90,30,60,30,60,60,30,60,30,30,-30,30"/><BlockDef_16 data="-30,-30,90,-30,90,30,30,30,30,60,0,60,0,30,-30,30"/><BlockDef_17 data="-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,30,30,30,60,0,60,0,30,-60,30"/><BlockDef_18 data="-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,60,30,60,60,30,60,30,30,-60,30"/><BlockDef_19 data="-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,0,30,0,60,-30,60,-30,30,-60,30"/><BlockDef_20 data="-10,-50,20,-50,20,40,50,40,50,70,-40,70,-40,40,-10,40"/><BlockDef_21 data="-40,-50,50,-50,50,40,-40,40"/><BlockDef_22 data="-40,-50,40,-50,40,20,-40,20"/><BlockDef_23 data="-20,-20,20,-20,20,20,-20,20"/><BlockDef_24 data="-60,-70,60,-70,60,50,-60,50"/><BlockDef_25 data="-20,-30,30,-30,40,20,-30,20"/><BlockDef_26 data="-120,-10,120,-10,120,20,-120,20"/><BlockDef_27 data="-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,-60,30"/><BlockDef_28 data="-60,-60,-30,-60,-30,0,30,0,30,-60,60,-60,60,30,-60,30"/><BlockDef_29 data="-30,-70,30,-70,30,20,-30,20"/><BlockDef_30 data="-20,-20,50,-20,50,30,-20,30"/><BlockDef_31 data="-30,-40,30,-40,30,0,-10,0,-10,30,-30,30"/><BlockDef_32 data="-30,-40,30,-40,30,30,-30,30"/><BlockDef_33 data="-30,-40,-10,-40,-10,10,0,10,0,-10,10,-10,10,10,20,10,20,-40,40,-40,40,30,-30,30"/><BlockDef_34 data="-30,-40,30,-40,30,-20,-10,-20,-10,-10,30,-10,30,0,-10,0,-10,10,30,10,30,30,-30,30"/><BlockDef_35 data="-30,-40,30,-40,30,0,20,0,20,20,30,20,30,30,0,30,0,0,-10,0,-10,30,-30,30"/><BlockDef_36 data="-30,-30,-10,-30,-10,20,10,20,10,-30,30,-30,30,40,-30,40"/></BalanceBlockLibrary>" var preDefinedBlock:Boolean;// = false var pointList:Array; public var heavyCheck:CheckBox; public var shapeClip:MovieClip; var lastSelectedShape:Number; public var viewLibrary_button:Button; public var addToLibrary_button:Button; public var magCheck:CheckBox; public var editLevel_button:Button; public var rememberLevel_button:Button; var lastClosestNode:int; var preDefinedBlockID:Number;// = 0 var mode; var shapeLibrary:Array; public var blockScroller:UIScrollBar; static var MOVINGNODE = 1; static var LIBRARY = 2; static var WAITING = 0; public function BlockDrawer(){ blockdefs_data = "<BalanceBlockLibrary><NumBlocks data=\"36\"/><BlockDef_1 data=\"-60,-10,60,-10,60,20,-60,20\"/><BlockDef_2 data=\"-30,-40,30,-40,30,-10,60,-10,60,20,0,20,0,-10,-30,-10\"/><BlockDef_3 data=\"0,-10,0,-40,60,-40,60,-10,30,-10,30,20,-30,20,-30,-10\"/><BlockDef_4 data=\"-30,-20,60,-20,60,10,30,10,30,40,0,40,0,10,-30,10\"/><BlockDef_5 data=\"-30,-20,30,-20,30,-50,60,-50,60,-20,60,10,-30,10\"/><BlockDef_6 data=\"-30,-20,-30,-50,0,-50,0,-20,60,-20,60,10,-30,10\"/><BlockDef_7 data=\"-10,-10,20,-10,20,20,-10,20\"/><BlockDef_8 data=\"-30,-40,30,-40,30,20,-30,20\"/><BlockDef_9 data=\"30,-10,30,20,0,20\"/><BlockDef_10 data=\"60,-40,60,50,-30,50\"/><BlockDef_11 data=\"40,-20,40,30,-10,30\"/><BlockDef_12 data=\"50,-20,50,40,-10,40\"/><BlockDef_13 data=\"0,-30,0,0,30,0,30,-30,60,-30,60,30,-30,30,-30,-30\"/><BlockDef_14 data=\"0,0,0,-30,30,-30,30,0,60,0,60,30,30,30,30,60,0,60,0,30,-30,30,-30,0\"/><BlockDef_15 data=\"-30,-30,90,-30,90,30,60,30,60,60,30,60,30,30,-30,30\"/><BlockDef_16 data=\"-30,-30,90,-30,90,30,30,30,30,60,0,60,0,30,-30,30\"/><BlockDef_17 data=\"-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,30,30,30,60,0,60,0,30,-60,30\"/><BlockDef_18 data=\"-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,60,30,60,60,30,60,30,30,-60,30\"/><BlockDef_19 data=\"-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,0,30,0,60,-30,60,-30,30,-60,30\"/><BlockDef_20 data=\"-10,-50,20,-50,20,40,50,40,50,70,-40,70,-40,40,-10,40\"/><BlockDef_21 data=\"-40,-50,50,-50,50,40,-40,40\"/><BlockDef_22 data=\"-40,-50,40,-50,40,20,-40,20\"/><BlockDef_23 data=\"-20,-20,20,-20,20,20,-20,20\"/><BlockDef_24 data=\"-60,-70,60,-70,60,50,-60,50\"/><BlockDef_25 data=\"-20,-30,30,-30,40,20,-30,20\"/><BlockDef_26 data=\"-120,-10,120,-10,120,20,-120,20\"/><BlockDef_27 data=\"-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,-60,30\"/><BlockDef_28 data=\"-60,-60,-30,-60,-30,0,30,0,30,-60,60,-60,60,30,-60,30\"/><BlockDef_29 data=\"-30,-70,30,-70,30,20,-30,20\"/><BlockDef_30 data=\"-20,-20,50,-20,50,30,-20,30\"/><BlockDef_31 data=\"-30,-40,30,-40,30,0,-10,0,-10,30,-30,30\"/><BlockDef_32 data=\"-30,-40,30,-40,30,30,-30,30\"/><BlockDef_33 data=\"-30,-40,-10,-40,-10,10,0,10,0,-10,10,-10,10,10,20,10,20,-40,40,-40,40,30,-30,30\"/><BlockDef_34 data=\"-30,-40,30,-40,30,-20,-10,-20,-10,-10,30,-10,30,0,-10,0,-10,10,30,10,30,30,-30,30\"/><BlockDef_35 data=\"-30,-40,30,-40,30,0,20,0,20,20,30,20,30,30,0,30,0,0,-10,0,-10,30,-30,30\"/><BlockDef_36 data=\"-30,-30,-10,-30,-10,20,10,20,10,-30,30,-30,30,40,-30,40\"/></BalanceBlockLibrary>"; preDefinedBlock = false; preDefinedBlockID = 0; mode = WAITING; super(); addFrameScript(0, frame1); clearPointList(); shapeLibrary = new Array(); lastSelectedShape = -1; addToLibrary_button.addEventListener(MouseEvent.CLICK,  ); viewLibrary_button.addEventListener(MouseEvent.CLICK,  ); saveEditedBlock_button.addEventListener(MouseEvent.CLICK,  ); saveLibrary_button.addEventListener(MouseEvent.CLICK,  ); readLibraryFromFile();  ();  ();  ();  ();  ();  ();  ();  ();  (); } function  (){ try { heavyCheck["componentInspectorSetting"] = true; } catch(e:Error) { }; heavyCheck.enabled = true; heavyCheck.label = "heavy"; heavyCheck.labelPlacement = "right"; heavyCheck.selected = false; heavyCheck.visible = true; try { heavyCheck["componentInspectorSetting"] = false; } catch(e:Error) { }; } function  (){ var _local1:*; var _local2:int; var _local3:*; if (((!((mode == LIBRARY))) && (!(preDefinedBlock)))){ _local1 = new Array(); _local2 = 0; while (_local2 < pointList.length) { _local3 = new Point(); _local3.x = pointList[_local2].x; _local3.y = pointList[_local2].y; _local1.push(_local3); _local2++; }; shapeLibrary.push(_local1); }; } function  (){ try { metalCheck["componentInspectorSetting"] = true; } catch(e:Error) { }; metalCheck.enabled = true; metalCheck.label = "metal"; metalCheck.labelPlacement = "right"; metalCheck.selected = false; metalCheck.visible = true; try { metalCheck["componentInspectorSetting"] = false; } catch(e:Error) { }; } function  (){ try { editLevel_button["componentInspectorSetting"] = true; } catch(e:Error) { }; editLevel_button.emphasized = false; editLevel_button.enabled = true; editLevel_button.label = "Edit Level"; editLevel_button.labelPlacement = "right"; editLevel_button.selected = false; editLevel_button.toggle = false; editLevel_button.visible = true; try { editLevel_button["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame1(){ stop(); } function findEquivilentPreDefinedBlock_2(_arg1:Number, _arg2:Boolean){ var _local3:int; if (!preDefinedBlock){ _local3 = 0; while (_local3 < LevelElementDefs.ALLBLOCKS.length) { if (LevelElementDefs.ALLBLOCKS[_local3][0] == lastSelectedShape){ if (LevelElementDefs.ALLBLOCKS[_local3][1] == _arg1){ if (_arg2 == LevelElementDefs.ALLBLOCKS[_local3][2]){ selectPreDefinedBlock(_local3); break; }; }; }; _local3++; }; }; } function  (_arg1:Event):void{ var _local2:String; var _local3:Number; var _local4:Number; var _local5:String; _local2 = ""; _local2 = (_local2 + "<BalanceBlockLibrary>\n"); _local2 = (_local2 + (("<NumBlocks data=\"" + shapeLibrary.length) + "\"/>\n")); _local3 = 0; while (_local3 < shapeLibrary.length) { _local2 = (_local2 + (("<BlockDef_" + (_local3 + 1)) + " data=\"")); _local4 = 0; while (_local4 < shapeLibrary[_local3].length) { if (_local4 > 0){ _local2 = (_local2 + ","); }; _local2 = (_local2 + shapeLibrary[_local3][_local4].x); _local2 = (_local2 + ("," + shapeLibrary[_local3][_local4].y)); _local4++; }; _local2 = (_local2 + "\"/>\n"); _local3++; }; _local2 = (_local2 + "</BalanceBlockLibrary>\n"); _local5 = loaderInfo.url; _local5 = _local5.substring(0, _local5.lastIndexOf("/")); _local5 = (_local5 + "/blockdefs.xml"); ExternalInterface.call("saveFile", _local5, _local2, true); } function  (_arg1:Event):void{ var _local2:*; var _local3:int; var _local4:*; if (((!((mode == LIBRARY))) && (!(preDefinedBlock)))){ _local2 = new Array(); _local3 = 0; while (_local3 < pointList.length) { _local4 = new Point(); _local4.x = pointList[_local3].x; _local4.y = pointList[_local3].y; _local2.push(_local4); _local3++; }; shapeLibrary[lastSelectedShape] = _local2; mode = LIBRARY; selectBlock(lastSelectedShape); }; } function clearPointList(){ preDefinedBlock = false; pointList = new Array(); this["shapeClip"].graphics.clear(); pointList.push(new Point(-20, -20)); pointList.push(new Point(20, -20)); pointList.push(new Point(20, 20)); pointList.push(new Point(-20, 20)); redraw(this["shapeClip"], pointList, Infinity); } function showClosestNode(_arg1:Number, _arg2:Number){ var _local3:uint; var _local4:*; if (((!((mode == LIBRARY))) && (!(preDefinedBlock)))){ _arg1 = (_arg1 - this.x); _arg2 = (_arg2 - this.y); switch (mode){ case WAITING: _local4 = -1; _local3 = 0; while (_local3 < pointList.length) { if ((((Math.abs((_arg1 - pointList[_local3].x)) <= 5)) && ((Math.abs((_arg2 - pointList[_local3].y)) <= 5)))){ _local4 = _local3; break; }; _local3++; }; if (_local4 == -1){ hideNodeDisplay(); } else { this["node"].visible = true; this["node"].x = pointList[_local4].x; this["node"].y = pointList[_local4].y; }; lastClosestNode = _local4; break; case MOVINGNODE: if (lastClosestNode != -1){ this["node"].visible = true; this["node"].x = _arg1; this["node"].y = _arg2; pointList[lastClosestNode].x = (_arg1 - (_arg1 % 10)); pointList[lastClosestNode].y = (_arg2 - (_arg2 % 10)); redraw(this["shapeClip"], pointList, Infinity); }; break; }; }; } function xmlBlocksLoaded():void{ var _local1:*; var _local2:*; var _local3:XML; var _local4:Number; var _local5:Array; var _local6:Point; var _local7:Array; _local1 = 0; _local2 = 0; _local3 = new XML(); _local3 = new XML(blockdefs_data); _local4 = Number(_local3["NumBlocks"].@data); _local1 = 0; while (_local1 < _local4) { _local5 = _local3[("BlockDef_" + (_local1 + 1))].@data.split(","); _local7 = new Array(); _local2 = 0; while (_local2 < _local5.length) { _local6 = new Point(_local5[_local2], _local5[(_local2 + 1)]); _local7.push(_local6); _local2 = (_local2 + 2); }; shapeLibrary.push(_local7); _local1++; }; } function  (_arg1:Event):void{  (); } function  (){ try { saveEditedBlock_button["componentInspectorSetting"] = true; } catch(e:Error) { }; saveEditedBlock_button.emphasized = false; saveEditedBlock_button.enabled = true; saveEditedBlock_button.label = "Save Changes"; saveEditedBlock_button.labelPlacement = "right"; saveEditedBlock_button.selected = false; saveEditedBlock_button.toggle = false; saveEditedBlock_button.visible = true; try { saveEditedBlock_button["componentInspectorSetting"] = false; } catch(e:Error) { }; } function selectBlock(_arg1){ var _local2:int; var _local3:*; lastSelectedShape = _arg1; pointList = new Array(); this["shapeClip"].graphics.clear(); _local2 = 0; while (_local2 < shapeLibrary[_arg1].length) { _local3 = new Point(shapeLibrary[_arg1][_local2].x, shapeLibrary[_arg1][_local2].y); pointList.push(_local3); _local2++; }; preDefinedBlock = false;  (); } function  (){ var _local1:*; var _local2:*; if (mode == LIBRARY){  (); gotoAndStop(1); mode = WAITING; if (preDefinedBlock){ _local1 = new PreDefinedBlocks(); _local1.gotoAndStop((preDefinedBlockID + 1)); this["shapeClip"].addChild(_local1); } else { redraw(this["shapeClip"], pointList, Infinity); }; if (lastSelectedShape != -1){ _local2 = new MovieClip(); redraw(_local2, shapeLibrary[lastSelectedShape], 0xFF0000); shapeClip.addChild(_local2); _local2.x = -280; _local2.y = 0; }; this["shapeClip"].y = 0; this["shapeClip"].x = 0; this["blockScroller"].x = -500; } else {  (); shapeClip.graphics.clear();  (); gotoAndStop(2); mode = LIBRARY; this["blockScroller"].setScrollProperties(this["shapeClip"].height, 0, (this["shapeClip"].y + this["shapeClip"].getBounds(this["shapeClip"]).bottom)); this["blockScroller"].x = 215; this["shapeClip"].x = -110; }; } function  (_arg1:Event):void{  (); } function stopDraggingNode(){ if (((!((mode == LIBRARY))) && (!(preDefinedBlock)))){ mode = WAITING; }; } function  (){ try { magCheck["componentInspectorSetting"] = true; } catch(e:Error) { }; magCheck.enabled = true; magCheck.label = "sticky"; magCheck.labelPlacement = "right"; magCheck.selected = false; magCheck.visible = true; try { magCheck["componentInspectorSetting"] = false; } catch(e:Error) { }; } function deleteVertex(){ if (((!((mode == LIBRARY))) && (!(preDefinedBlock)))){ if (((!((lastClosestNode == -1))) && ((pointList.length > 3)))){ pointList.splice(lastClosestNode, 1); hideNodeDisplay(); redraw(this["shapeClip"], pointList, Infinity); }; }; } function  (){ try { addToLibrary_button["componentInspectorSetting"] = true; } catch(e:Error) { }; addToLibrary_button.emphasized = false; addToLibrary_button.enabled = true; addToLibrary_button.label = "Add To Library"; addToLibrary_button.labelPlacement = "right"; addToLibrary_button.selected = false; addToLibrary_button.toggle = false; addToLibrary_button.visible = true; try { addToLibrary_button["componentInspectorSetting"] = false; } catch(e:Error) { }; } function  (){ try { rememberLevel_button["componentInspectorSetting"] = true; } catch(e:Error) { }; rememberLevel_button.emphasized = false; rememberLevel_button.enabled = true; rememberLevel_button.label = "Remember Layout"; rememberLevel_button.labelPlacement = "right"; rememberLevel_button.selected = false; rememberLevel_button.toggle = false; rememberLevel_button.visible = true; try { rememberLevel_button["componentInspectorSetting"] = false; } catch(e:Error) { }; } function selectFromLibraryClicked(_arg1:Event):void{ selectBlock(_arg1.target.libraryID); } function  (_arg1:int, _arg2:int){ var _local3:*; if (((!((mode == LIBRARY))) && (!(preDefinedBlock)))){ _arg1 = (_arg1 - this.x); _arg2 = (_arg2 - this.y); _local3 = new Point(_arg1, _arg2); pointList.push(_local3); }; } function startDraggingNode(){ if (((!((mode == LIBRARY))) && (!(preDefinedBlock)))){ if (lastClosestNode != -1){ mode = MOVINGNODE; return (true); }; mode = WAITING; return (false); }; } function  (){ var _local1:MovieClip; _local1 = this["shapeClip"]; while (_local1.numChildren > 0) { _local1.removeChildAt(0); }; } function  (){ var _local1:int; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:MovieClip; _local2 = -10000; _local3 = -60; _local4 = 0; _local5 = 0; _local1 = 0; while (_local1 < LevelElementDefs.ALLBLOCKS.length) { _local6 = new PreDefinedBlocks(); _local6.gotoAndStop((_local1 + 1)); this["shapeClip"].addChild(_local6); if (_local2 == -10000){ _local2 = -265; _local2 = (_local2 - _local6.getBounds(_local6).left); } else { _local2 = (_local2 + _local4); _local2 = (_local2 - _local6.getBounds(_local6).left); if ((_local6.getBounds(_local6).right + _local2) > 275){ _local2 = -265; _local2 = (_local2 - _local6.getBounds(_local6).left); _local3 = (_local3 + (_local5 + 10)); _local5 = 0; }; }; _local4 = _local6.width; if (_local6.height > _local5){ _local5 = _local6.height; }; _local6.x = _local2; _local6.y = (_local3 - _local6.getBounds(_local6).top); _local6.libraryID = _local1; _local6.addEventListener(MouseEvent.CLICK, ); _local1++; }; _local2 = -10000; _local3 = (_local3 + _local5); _local1 = 0; while (_local1 < this.shapeLibrary.length) { _local6 = new MovieClip(); this["shapeClip"].addChild(redraw(_local6, shapeLibrary[_local1], Infinity)); if (_local2 == -10000){ _local2 = -265; _local2 = (_local2 - _local6.getBounds(_local6).left); } else { _local2 = (_local2 + _local4); _local2 = (_local2 - _local6.getBounds(_local6).left); if ((_local6.getBounds(_local6).right + _local2) > 275){ _local2 = -265; _local2 = (_local2 - _local6.getBounds(_local6).left); _local3 = (_local3 + (_local5 + 10)); _local5 = 0; }; }; _local4 = _local6.width; if (_local6.height > _local5){ _local5 = _local6.height; }; _local6.x = _local2; _local6.y = (_local3 - _local6.getBounds(_local6).top); _local6.libraryID = _local1; _local6.addEventListener(MouseEvent.CLICK, selectFromLibraryClicked); _local1++; }; } function  (){ try { viewLibrary_button["componentInspectorSetting"] = true; } catch(e:Error) { }; viewLibrary_button.emphasized = false; viewLibrary_button.enabled = true; viewLibrary_button.label = "View Library"; viewLibrary_button.labelPlacement = "right"; viewLibrary_button.selected = false; viewLibrary_button.toggle = false; viewLibrary_button.visible = true; try { viewLibrary_button["componentInspectorSetting"] = false; } catch(e:Error) { }; } function readLibraryFromFile(){ xmlBlocksLoaded(); } function selectPreDefinedBlock(_arg1){ var _local2:int; var _local3:Number; var _local4:*; lastSelectedShape = LevelElementDefs.ALLBLOCKS[_arg1][0]; pointList = new Array(); this["shapeClip"].graphics.clear(); _local2 = 0; while (_local2 < shapeLibrary[lastSelectedShape].length) { _local4 = new Point(shapeLibrary[lastSelectedShape][_local2].x, shapeLibrary[lastSelectedShape][_local2].y); pointList.push(_local4); _local2++; }; preDefinedBlock = true; preDefinedBlockID = _arg1; _local3 = LevelElementDefs.ALLBLOCKS[_arg1][1]; if (_local3 == Block.METAL){ metalCheck.selected = true; } else { metalCheck.selected = false; }; magCheck.selected = LevelElementDefs.ALLBLOCKS[_arg1][2];  (); } function findEquivilentPreDefinedBlock(){ var _local1:int; if (!preDefinedBlock){ _local1 = 0; while (_local1 < LevelElementDefs.ALLBLOCKS.length) { if (LevelElementDefs.ALLBLOCKS[_local1][0] == lastSelectedShape){ if (((((metalCheck.selected) && ((LevelElementDefs.ALLBLOCKS[_local1][1] == Block.METAL)))) || (((!(metalCheck.selected)) && ((LevelElementDefs.ALLBLOCKS[_local1][1] == Block.WOOD)))))){ if (magCheck.selected == LevelElementDefs.ALLBLOCKS[_local1][2]){ selectPreDefinedBlock(_local1); break; }; }; }; _local1++; }; }; } function insertVertex(_arg1:Number, _arg2:Number){ var _local3:b2Vec2; var _local4:int; var _local5:b2Vec2; var _local6:b2Vec2; var _local7:b2Vec2; var _local8:Point; if (((!((mode == LIBRARY))) && (!(preDefinedBlock)))){ _local3 = new b2Vec2((_arg1 - this.x), (_arg2 - this.y)); _local4 = 0; while (_local4 < pointList.length) { _local5 = new b2Vec2(pointList[_local4].x, pointList[_local4].y); _local6 = new b2Vec2(pointList[((_local4 + 1) % pointList.length)].x, pointList[((_local4 + 1) % pointList.length)].y); if (Geometry.squareDistancePointToSegment(_local5, _local6, _local3) < (10 * 10)){ _local7 = Geometry.nearestPointOnSegment(_local5, _local6, _local3); _local8 = new Point(_local7.x, _local7.y); pointList.splice((_local4 + 1), 0, _local8); showClosestNode(_arg1, _arg2); startDraggingNode(); return; }; _local4++; }; }; } function hideNodeDisplay(){ if (((!((mode == LIBRARY))) && (!(preDefinedBlock)))){ this["node"].visible = false; }; } function  (){ try { saveLibrary_button["componentInspectorSetting"] = true; } catch(e:Error) { }; saveLibrary_button.emphasized = false; saveLibrary_button.enabled = true; saveLibrary_button.label = "Save Library"; saveLibrary_button.labelPlacement = "right"; saveLibrary_button.selected = false; saveLibrary_button.toggle = false; saveLibrary_button.visible = true; try { saveLibrary_button["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (_arg1:Event):void{ selectPreDefinedBlock(_arg1.currentTarget.libraryID); } function redraw(_arg1:MovieClip, _arg2:Array, _arg3:Number, _arg4:Number=0.5):MovieClip{ var _local5:int; while (_arg1.numChildren > 0) { _arg1.removeChildAt(0); }; if (_arg3 == Infinity){ _arg3 = 1193046; }; _arg1.graphics.clear(); _arg1.graphics.beginFill(_arg3, _arg4); _arg1.graphics.moveTo(_arg2[0].x, _arg2[0].y); _local5 = 1; while (_local5 < _arg2.length) { _arg1.graphics.lineTo(_arg2[_local5].x, _arg2[_local5].y); _local5++; }; _arg1.graphics.endFill(); _arg1.graphics.lineStyle(4, 0xFF0000, 1); _local5 = 0; while (_local5 < _arg2.length) { _arg1.graphics.moveTo((_arg2[_local5].x - 1), (_arg2[_local5].y - 1)); _arg1.graphics.lineTo((_arg2[_local5].x + 1), (_arg2[_local5].y + 1)); _local5++; }; return (_arg1); } } }//package com.nitrome.balancer
Section 81
//BlockDrawer_game (com.nitrome.balancer.BlockDrawer_game) package com.nitrome.balancer { import fl.controls.*; import flash.display.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.Joints.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; import flash.geom.*; import flash.net.*; public class BlockDrawer_game extends MovieClip { public var metalCheck:CheckBox; var pointList:Array; var preDefinedBlock:Boolean;// = false var blockdefs_data:String;// = "<BalanceBlockLibrary><NumBlocks data="36"/><BlockDef_1 data="-60,-10,60,-10,60,20,-60,20"/><BlockDef_2 data="-30,-40,30,-40,30,-10,60,-10,60,20,0,20,0,-10,-30,-10"/><BlockDef_3 data="0,-10,0,-40,60,-40,60,-10,30,-10,30,20,-30,20,-30,-10"/><BlockDef_4 data="-30,-20,60,-20,60,10,30,10,30,40,0,40,0,10,-30,10"/><BlockDef_5 data="-30,-20,30,-20,30,-50,60,-50,60,-20,60,10,-30,10"/><BlockDef_6 data="-30,-20,-30,-50,0,-50,0,-20,60,-20,60,10,-30,10"/><BlockDef_7 data="-10,-10,20,-10,20,20,-10,20"/><BlockDef_8 data="-30,-40,30,-40,30,20,-30,20"/><BlockDef_9 data="30,-10,30,20,0,20"/><BlockDef_10 data="60,-40,60,50,-30,50"/><BlockDef_11 data="40,-20,40,30,-10,30"/><BlockDef_12 data="50,-20,50,40,-10,40"/><BlockDef_13 data="0,-30,0,0,30,0,30,-30,60,-30,60,30,-30,30,-30,-30"/><BlockDef_14 data="0,0,0,-30,30,-30,30,0,60,0,60,30,30,30,30,60,0,60,0,30,-30,30,-30,0"/><BlockDef_15 data="-30,-30,90,-30,90,30,60,30,60,60,30,60,30,30,-30,30"/><BlockDef_16 data="-30,-30,90,-30,90,30,30,30,30,60,0,60,0,30,-30,30"/><BlockDef_17 data="-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,30,30,30,60,0,60,0,30,-60,30"/><BlockDef_18 data="-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,60,30,60,60,30,60,30,30,-60,30"/><BlockDef_19 data="-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,0,30,0,60,-30,60,-30,30,-60,30"/><BlockDef_20 data="-10,-50,20,-50,20,40,50,40,50,70,-40,70,-40,40,-10,40"/><BlockDef_21 data="-40,-50,50,-50,50,40,-40,40"/><BlockDef_22 data="-40,-50,40,-50,40,20,-40,20"/><BlockDef_23 data="-20,-20,20,-20,20,20,-20,20"/><BlockDef_24 data="-60,-70,60,-70,60,50,-60,50"/><BlockDef_25 data="-20,-30,30,-30,40,20,-30,20"/><BlockDef_26 data="-120,-10,120,-10,120,20,-120,20"/><BlockDef_27 data="-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,-60,30"/><BlockDef_28 data="-60,-60,-30,-60,-30,0,30,0,30,-60,60,-60,60,30,-60,30"/><BlockDef_29 data="-30,-70,30,-70,30,20,-30,20"/><BlockDef_30 data="-20,-20,50,-20,50,30,-20,30"/><BlockDef_31 data="-30,-40,30,-40,30,0,-10,0,-10,30,-30,30"/><BlockDef_32 data="-30,-40,30,-40,30,30,-30,30"/><BlockDef_33 data="-30,-40,-10,-40,-10,10,0,10,0,-10,10,-10,10,10,20,10,20,-40,40,-40,40,30,-30,30"/><BlockDef_34 data="-30,-40,30,-40,30,-20,-10,-20,-10,-10,30,-10,30,0,-10,0,-10,10,30,10,30,30,-30,30"/><BlockDef_35 data="-30,-40,30,-40,30,0,20,0,20,20,30,20,30,30,0,30,0,0,-10,0,-10,30,-30,30"/><BlockDef_36 data="-30,-30,-10,-30,-10,20,10,20,10,-30,30,-30,30,40,-30,40"/></BalanceBlockLibrary>" public var magCheck:CheckBox; public var heavyCheck:CheckBox; var lastClosestNode:int; var preDefinedBlockID:Number;// = 0 var mode; var lastSelectedShape:Number; var shapeLibrary:Array; static var MOVINGNODE = 1; static var LIBRARY = 2; static var WAITING = 0; public function BlockDrawer_game(){ preDefinedBlock = false; preDefinedBlockID = 0; mode = WAITING; blockdefs_data = "<BalanceBlockLibrary><NumBlocks data=\"36\"/><BlockDef_1 data=\"-60,-10,60,-10,60,20,-60,20\"/><BlockDef_2 data=\"-30,-40,30,-40,30,-10,60,-10,60,20,0,20,0,-10,-30,-10\"/><BlockDef_3 data=\"0,-10,0,-40,60,-40,60,-10,30,-10,30,20,-30,20,-30,-10\"/><BlockDef_4 data=\"-30,-20,60,-20,60,10,30,10,30,40,0,40,0,10,-30,10\"/><BlockDef_5 data=\"-30,-20,30,-20,30,-50,60,-50,60,-20,60,10,-30,10\"/><BlockDef_6 data=\"-30,-20,-30,-50,0,-50,0,-20,60,-20,60,10,-30,10\"/><BlockDef_7 data=\"-10,-10,20,-10,20,20,-10,20\"/><BlockDef_8 data=\"-30,-40,30,-40,30,20,-30,20\"/><BlockDef_9 data=\"30,-10,30,20,0,20\"/><BlockDef_10 data=\"60,-40,60,50,-30,50\"/><BlockDef_11 data=\"40,-20,40,30,-10,30\"/><BlockDef_12 data=\"50,-20,50,40,-10,40\"/><BlockDef_13 data=\"0,-30,0,0,30,0,30,-30,60,-30,60,30,-30,30,-30,-30\"/><BlockDef_14 data=\"0,0,0,-30,30,-30,30,0,60,0,60,30,30,30,30,60,0,60,0,30,-30,30,-30,0\"/><BlockDef_15 data=\"-30,-30,90,-30,90,30,60,30,60,60,30,60,30,30,-30,30\"/><BlockDef_16 data=\"-30,-30,90,-30,90,30,30,30,30,60,0,60,0,30,-30,30\"/><BlockDef_17 data=\"-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,30,30,30,60,0,60,0,30,-60,30\"/><BlockDef_18 data=\"-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,60,30,60,60,30,60,30,30,-60,30\"/><BlockDef_19 data=\"-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,0,30,0,60,-30,60,-30,30,-60,30\"/><BlockDef_20 data=\"-10,-50,20,-50,20,40,50,40,50,70,-40,70,-40,40,-10,40\"/><BlockDef_21 data=\"-40,-50,50,-50,50,40,-40,40\"/><BlockDef_22 data=\"-40,-50,40,-50,40,20,-40,20\"/><BlockDef_23 data=\"-20,-20,20,-20,20,20,-20,20\"/><BlockDef_24 data=\"-60,-70,60,-70,60,50,-60,50\"/><BlockDef_25 data=\"-20,-30,30,-30,40,20,-30,20\"/><BlockDef_26 data=\"-120,-10,120,-10,120,20,-120,20\"/><BlockDef_27 data=\"-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,-60,30\"/><BlockDef_28 data=\"-60,-60,-30,-60,-30,0,30,0,30,-60,60,-60,60,30,-60,30\"/><BlockDef_29 data=\"-30,-70,30,-70,30,20,-30,20\"/><BlockDef_30 data=\"-20,-20,50,-20,50,30,-20,30\"/><BlockDef_31 data=\"-30,-40,30,-40,30,0,-10,0,-10,30,-30,30\"/><BlockDef_32 data=\"-30,-40,30,-40,30,30,-30,30\"/><BlockDef_33 data=\"-30,-40,-10,-40,-10,10,0,10,0,-10,10,-10,10,10,20,10,20,-40,40,-40,40,30,-30,30\"/><BlockDef_34 data=\"-30,-40,30,-40,30,-20,-10,-20,-10,-10,30,-10,30,0,-10,0,-10,10,30,10,30,30,-30,30\"/><BlockDef_35 data=\"-30,-40,30,-40,30,0,20,0,20,20,30,20,30,30,0,30,0,0,-10,0,-10,30,-30,30\"/><BlockDef_36 data=\"-30,-30,-10,-30,-10,20,10,20,10,-30,30,-30,30,40,-30,40\"/></BalanceBlockLibrary>"; super(); addFrameScript(0, frame1); clearPointList(); shapeLibrary = new Array(); lastSelectedShape = -1; readLibraryFromFile(); (); (); (); } function selectBlock(_arg1){ var _local2:int; var _local3:*; lastSelectedShape = _arg1; pointList = new Array(); _local2 = 0; while (_local2 < shapeLibrary[_arg1].length) { _local3 = new Point(shapeLibrary[_arg1][_local2].x, shapeLibrary[_arg1][_local2].y); pointList.push(_local3); _local2++; }; preDefinedBlock = false; } function frame1(){ stop(); } function (){ try { magCheck["componentInspectorSetting"] = true; } catch(e:Error) { }; magCheck.enabled = true; magCheck.label = "sticky"; magCheck.labelPlacement = "right"; magCheck.selected = false; magCheck.visible = true; try { magCheck["componentInspectorSetting"] = false; } catch(e:Error) { }; } function clearPointList(){ preDefinedBlock = false; pointList = new Array(); pointList.push(new Point(-20, -20)); pointList.push(new Point(20, -20)); pointList.push(new Point(20, 20)); pointList.push(new Point(-20, 20)); } function (){ try { metalCheck["componentInspectorSetting"] = true; } catch(e:Error) { }; metalCheck.enabled = true; metalCheck.label = "metal"; metalCheck.labelPlacement = "right"; metalCheck.selected = false; metalCheck.visible = true; try { metalCheck["componentInspectorSetting"] = false; } catch(e:Error) { }; } function selectPreDefinedBlock(_arg1){ var _local2:int; var _local3:Number; var _local4:*; lastSelectedShape = LevelElementDefs.ALLBLOCKS[_arg1][0]; pointList = new Array(); _local2 = 0; while (_local2 < shapeLibrary[lastSelectedShape].length) { _local4 = new Point(shapeLibrary[lastSelectedShape][_local2].x, shapeLibrary[lastSelectedShape][_local2].y); pointList.push(_local4); _local2++; }; preDefinedBlock = true; preDefinedBlockID = _arg1; _local3 = LevelElementDefs.ALLBLOCKS[_arg1][1]; if (_local3 == Block.METAL){ metalCheck.selected = true; } else { metalCheck.selected = false; }; magCheck.selected = LevelElementDefs.ALLBLOCKS[_arg1][2]; } function findEquivilentPreDefinedBlock(){ var _local1:int; if (!preDefinedBlock){ _local1 = 0; while (_local1 < LevelElementDefs.ALLBLOCKS.length) { if (LevelElementDefs.ALLBLOCKS[_local1][0] == lastSelectedShape){ if (((((metalCheck.selected) && ((LevelElementDefs.ALLBLOCKS[_local1][1] == Block.METAL)))) || (((!(metalCheck.selected)) && ((LevelElementDefs.ALLBLOCKS[_local1][1] == Block.WOOD)))))){ if (magCheck.selected == LevelElementDefs.ALLBLOCKS[_local1][2]){ selectPreDefinedBlock(_local1); break; }; }; }; _local1++; }; }; } function readLibraryFromFile(){ xmlBlocksLoaded(); } function (){ try { heavyCheck["componentInspectorSetting"] = true; } catch(e:Error) { }; heavyCheck.enabled = true; heavyCheck.label = "heavy"; heavyCheck.labelPlacement = "right"; heavyCheck.selected = false; heavyCheck.visible = true; try { heavyCheck["componentInspectorSetting"] = false; } catch(e:Error) { }; } function xmlBlocksLoaded():void{ var _local1:*; var _local2:*; var _local3:XML; var _local4:Number; var _local5:Array; var _local6:Point; var _local7:Array; _local1 = 0; _local2 = 0; _local3 = new XML(); _local3 = new XML(blockdefs_data); _local4 = Number(_local3["NumBlocks"].@data); _local1 = 0; while (_local1 < _local4) { _local5 = _local3[("BlockDef_" + (_local1 + 1))].@data.split(","); _local7 = new Array(); _local2 = 0; while (_local2 < _local5.length) { _local6 = new Point(_local5[_local2], _local5[(_local2 + 1)]); _local7.push(_local6); _local2 = (_local2 + 2); }; shapeLibrary.push(_local7); _local1++; }; } } }//package com.nitrome.balancer
Section 82
//BlockEditor (com.nitrome.balancer.BlockEditor) package com.nitrome.balancer { import flash.display.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import flash.events.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.Joints.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; import com.boristhebrave.Box2D.Controllers.*; import General.*; import com.nitrome.util.*; import flash.geom.*; public class BlockEditor { var shakeXOff:Number;// = 0 public var m_physScale:Number;// = 30 var container:MovieClip; var fishes:Array; var chests:Array; var helpSigns:Array; var chestDisplay:ChestDisplay; var draggingBlockRotation:Number; var screws:Array; var cannons:Array; var paused:Boolean;// = false var waterAreas:Array; public var m_bomb:b2Body; var sparks:Array; var mousePressed:Boolean;// = false public var m_world:b2World; public var m_iterations:int;// = 12 public var m_timeStep:Number;// = 0.0333333333333333 var shortCircuit:Boolean;// = false var blockList:Array; var openChest:Boolean;// = false var shortedBody:b2Body; var circuitCompleted:Boolean;// = false var endElementBody:b2Body; var chestClicked:Block; var shakeYOff:Number;// = 0 var chestClosing:Boolean;// = false public var m_mouseJoint:b2MouseJoint; var startElementBody:b2Body; var teslaBlocks:Array; public var m_input:Input; static var blockBeingDragged:Block; static var CHESTOPENFRAME:Number = 10; static var persistantContacts:Array; static var deadZones:Array; static var wheelBlocksToMove:Array; public static var mouseYWorldPhys:Number; static var newContacts:Array; static var metalJoints:Array; public static var mouseYWorld:Number; static var looseJoints:Array; public static var mouseXWorldPhys:Number; static var rootLine:MovieClip; static var screenShake:Number = 0; static var draggingBlock:Boolean = false; public static var mouseXWorld:Number; public function BlockEditor(_arg1:MovieClip){ var _local2:b2AABB; var _local3:b2Vec2; var _local4:Boolean; var _local5:ContactListener_editor2; m_iterations = 12; m_timeStep = (1 / 30); m_physScale = 30; mousePressed = false; paused = false; circuitCompleted = false; shortCircuit = false; openChest = false; chestClosing = false; shakeXOff = 0; shakeYOff = 0; super(); rootLine = _arg1; _local2 = new b2AABB(); _local2.lowerBound.Set(-1000, -1000); _local2.upperBound.Set(1000, 1000); _local3 = new b2Vec2(0, 10); _local4 = true; m_world = new b2World(_local2, _local3, _local4); m_input = new Input(rootLine); blockList = new Array(); rootLine["shadowBlock"].setBlockDrawer(rootLine["blockDrawer"]); rootLine["shadowBlock"].visible = false; newContacts = new Array(); looseJoints = new Array(); persistantContacts = new Array(); metalJoints = new Array(); sparks = new Array(); wheelBlocksToMove = new Array(); chests = new Array(); screws = new Array(); addScenery(); _local5 = new ContactListener_editor2(); m_world. (_local5); addInitialBlocks(); fillChest(); rootLine.blockDrawer.editLevel_button.addEventListener(MouseEvent.CLICK,  ); rootLine.blockDrawer.rememberLevel_button.addEventListener(MouseEvent.CLICK, ); rootLine.addEventListener(Event.ENTER_FRAME, update, false, 0, true); } function updateFishes(){ var _local1:int; _local1 = 0; while (_local1 < fishes.length) { fishes[_local1].fish.update(circuitCompleted); _local1++; }; } function initFishes(){ var _local1:int; var _local2:int; _local1 = 0; while (_local1 < fishes.length) { _local2 = 0; while (_local2 < waterAreas.length) { if (fishes[_local1].hitTestObject(waterAreas[_local2].sprite)){ fishes[_local1].water = waterAreas[_local2]; break; }; _local2++; }; _local1++; }; } function killBlocks(){ var _local1:int; var _local2:b2ContactEdge; if (deadZones.length > 0){ _local1 = 0; while (_local1 < deadZones.length) { _local2 = deadZones[_local1].solidBody.m_contactList; while (_local2) { if (((_local2.contact) && ((_local2.contact.m_manifoldCount > 0)))){ if (((!(_local2.other.GetUserData().scenery)) && (!(_local2.other.GetUserData().sceneryElement)))){ if (((!((_local2.other.GetUserData().material == Block.ANTIDEAD))) && (!(_local2.other.GetUserData().whitingOut)))){ if (((draggingBlock) && ((_local2.other.GetUserData().blockRef == blockBeingDragged)))){ dropBlock(); }; putBackInChest(_local2.other.GetUserData().blockRef); }; }; }; _local2 = _local2.next; }; _local1++; }; }; } function offscreen(_arg1:DisplayObject):Boolean{ if ((((((((_arg1.x < (rootLine.myLevelEditor.scrollEdges[3] - 150))) || ((_arg1.y < (rootLine.myLevelEditor.scrollEdges[0] - 150))))) || ((_arg1.x > (rootLine.myLevelEditor.scrollEdges[1] + 150))))) || ((_arg1.y > (rootLine.myLevelEditor.scrollEdges[2] + 150))))){ return (true); }; return (false); } function scrollDown(){ rootLine["testArea"].y = (rootLine["testArea"].y - 4); rootLine["landClip"].y = (rootLine["landClip"].y - 4); rootLine["waterClip"].y = (rootLine["waterClip"].y - 4); rootLine["debugArea"].y = (rootLine["debugArea"].y - 4); rootLine["stamps0"].y = (rootLine["stamps0"].y - 4); rootLine["stamps1"].y = (rootLine["stamps1"].y - 4); rootLine["stamps2"].y = (rootLine["stamps2"].y - 4); rootLine["levelElementsLayer"].y = (rootLine["levelElementsLayer"].y - 4); rootLine["sparksLayer"].y = (rootLine["sparksLayer"].y - 4); rootLine["signsLayer"].y = (rootLine["signsLayer"].y - 4); rootLine["noDragLayer"].y = (rootLine["noDragLayer"].y - 4); rootLine.hills.y = (rootLine.hills.y - 2); rootLine.sea.y = (rootLine.sea.y - 1); rootLine.sky.y = (rootLine.sky.y - 1); } function  (_arg1:Number, _arg2:Number){ var _local3:int; var _local4:Block; var _local5:Number; rootLine.blockDrawer.findEquivilentPreDefinedBlock(); _arg1 = (_arg1 - rootLine.testArea.x); _arg2 = (_arg2 - rootLine.testArea.y); if (((rootLine.blockDrawer.preDefinedBlock) && ((LevelElementDefs.ALLBLOCKS[rootLine.blockDrawer.preDefinedBlockID][1] == Block.SCREW)))){ _local4 = new Block(this.m_world, rootLine.levelElementsLayer); } else { _local4 = new Block(this.m_world, rootLine.testArea); }; _local4.shapeID = rootLine.blockDrawer.lastSelectedShape; _local3 = 0; while (_local3 < rootLine["blockDrawer"].pointList.length) { _local4.addVertex(new b2Vec2((rootLine["blockDrawer"].pointList[_local3].x / 30), (rootLine["blockDrawer"].pointList[_local3].y / 30))); _local3++; }; _local4.rotation = ((rootLine["shadowBlock"].rotation * Math.PI) / 180); _local4.position = new b2Vec2((_arg1 / 30), (_arg2 / 30)); _local5 = 0; if (rootLine.blockDrawer["metalCheck"].selected){ _local5 = 1; }; if (!rootLine.blockDrawer.preDefinedBlock){ _local4.setMaterial(_local5, rootLine.blockDrawer["magCheck"].selected, false, rootLine.blockDrawer["heavyCheck"].selected); } else { _local4.setMaterial(LevelElementDefs.ALLBLOCKS[rootLine.blockDrawer.preDefinedBlockID][1], rootLine.blockDrawer["magCheck"].selected, false, rootLine.blockDrawer["heavyCheck"].selected); }; _local4.preDefinedBlock = rootLine.blockDrawer.preDefinedBlock; _local4.preDefinedBlockID = rootLine.blockDrawer.preDefinedBlockID; _local4.solidify(); _local4.solidBody.GetUserData().shapeID = rootLine.blockDrawer.lastSelectedShape; blockList.push(_local4); bottomDepth(_local4); if (_local4.material == Block.SCREW){ screws.push(_local4); }; } function  (_arg1:Event):void{ rootLine.gotoAndStop("editLevel"); rootLine.myLevelEditor.resumeEditing(); } function (_arg1:Event):void{ rootLine.myLevelEditor.rememberBlocks(blockList); } function (){ var _local1:*; var _local2:b2Body; var _local3:b2Body; _local1 = 0; while (_local1 < blockList.length) { blockList[_local1].deleteFromWorld(); _local1++; }; blockList = new Array(); looseJoints = new Array(); sparks = new Array(); chests = new Array(); screws = new Array(); _local2 = m_world.m_bodyList; while (_local2) { _local3 = _local2; _local2 = _local2.m_next; m_world.DestroyBody(_local3); }; while (rootLine.waterClip.numChildren > 0) { rootLine.waterClip.removeChildAt(0); }; while (rootLine.landClip.numChildren > 0) { rootLine.landClip.removeChildAt(0); }; while (rootLine.stamps0.numChildren > 0) { rootLine.stamps0.removeChildAt(0); }; while (rootLine.stamps1.numChildren > 0) { rootLine.stamps1.removeChildAt(0); }; while (rootLine.stamps2.numChildren > 0) { rootLine.stamps2.removeChildAt(0); }; while (rootLine.sparksLayer.numChildren > 0) { rootLine.sparksLayer.removeChildAt(0); }; while (rootLine.noDragLayer.numChildren > 0) { rootLine.noDragLayer.removeChildAt(0); }; while (rootLine.levelElementsLayer.numChildren > 0) { rootLine.levelElementsLayer.removeChildAt(0); }; while (rootLine.testArea.numChildren > 0) { rootLine.testArea.removeChildAt(0); }; while (rootLine.signsLayer.numChildren > 0) { rootLine.signsLayer.removeChildAt(0); }; } function dragThisBlock(_arg1:Block){ var _local2:b2JointEdge; var _local3:b2MouseJointDef; var _local4:b2MassData; if (_arg1.screwed){ _arg1.theScrew.screwed = false; _arg1.theScrew.theScrew = null; _arg1.theScrew.solidBody.SetMassFromShapes(); _arg1.screwed = false; _arg1.theScrew = null; _arg1.solidBody.SetMassFromShapes(); }; draggingBlock = true; blockBeingDragged = _arg1; spliceOutLooseJoints(_arg1.solidBody); _local2 = _arg1.solidBody.GetJointList(); while (_local2) { m_world.DestroyJoint(_local2.joint); _local2 = _local2.next; }; if (_arg1.solidBody.GetMass() == 0){ _local4 = new b2MassData(); _local4.mass = 5; _arg1.solidBody.SetMass(_local4); }; _local3 = new b2MouseJointDef(); _local3.body1 = _arg1.solidBody; _local3.body2 = _arg1.solidBody; _local3.target.Set(mouseXWorldPhys, mouseYWorldPhys); _local3.maxForce = 450; _local3.timeStep = m_timeStep; m_mouseJoint = (m_world.CreateJoint(_local3) as b2MouseJoint); _arg1.solidBody.WakeUp(); draggingBlockRotation = _arg1.solidBody.GetAngle(); } public function unpause(){ rootLine["shadowBlock"].setBlockDrawer(rootLine["blockDrawer"]); addScenery(); addInitialBlocks(); fillChest(); this.paused = false; } function fillChest(){ var _local1:int; chestDisplay.emptyOut(); _local1 = 0; while (_local1 < rootLine.levelBlocks.levelBlocks.length) { chestDisplay.addLevelBlock(rootLine.levelBlocks.levelBlocks[_local1].shapeID, rootLine.levelBlocks.levelBlocks[_local1].material, rootLine.levelBlocks.levelBlocks[_local1].sticky, rootLine.levelBlocks.levelBlocks[_local1].preDefinedBlock, rootLine.levelBlocks.levelBlocks[_local1].preDefinedBlockID, rootLine.levelBlocks.levelBlocks[_local1].rotation); _local1++; }; chestDisplay.gameClass = this; } function isCircuitComplete(){ var _local1:Boolean; var _local2:Number; var _local3:b2JointEdge; var _local4:b2Body; var _local5:b2Body; var _local6:Array; var _local7:b2ContactEdge; var _local8:int; var _local9:b2Vec2; var _local10:int; var _local11:Number; var _local12:Number; var _local13:b2Vec2; var _local14:Number; var _local15:Spark; _local1 = false; _local2 = 0; _local6 = new Array(); shortCircuit = false; if (((startElementBody) && (endElementBody))){ endElementBody.GetUserData().circuitElement = false; startElementBody.GetUserData().circuitElement = true; _local6.push(startElementBody); while (!(_local1)) { _local1 = true; _local5 = m_world.m_bodyList; while (_local5) { if (((_local5) && (_local5.GetUserData()))){ _local5.GetUserData().tested = true; if (_local5.GetUserData().circuitElement){ _local7 = _local5.m_contactList; while (_local7) { if (((_local7.contact) && ((_local7.contact.m_manifoldCount > 0)))){ if ((((((_local7.other.GetUserData().material == Block.METAL)) || ((_local7.other.GetUserData().material == Block.WATER)))) && ((_local7.other.GetUserData().circuitElement == false)))){ if ((((_local7.other.GetUserData().material == Block.WATER)) || (((draggingBlock) && ((blockBeingDragged == _local7.other.GetUserData().blockRef)))))){ shortCircuit = true; shortedBody = _local5; _local7.other.GetUserData().blockRef.electrified = true; if (notInPath(_local5, _local6)){ _local6.push(_local5); }; break; } else { if (notInPath(_local5, _local6)){ _local6.push(_local5); }; if (notInPath(_local7.other, _local6)){ _local6.push(_local7.other); }; _local7.other.GetUserData().circuitElement = true; _local5.GetUserData().circuitElement = true; _local1 = false; _local2++; }; }; }; _local7 = _local7.next; }; _local8 = 0; while (_local8 < teslaBlocks.length) { if (teslaBlocks[_local8].solidBody.GetUserData().circuitElement){ _local9 = new b2Vec2(teslaBlocks[_local8].solidBody.GetWorldCenter().x, teslaBlocks[_local8].solidBody.GetWorldCenter().y); _local11 = _local8; _local12 = Infinity; _local10 = 0; while (_local10 < teslaBlocks.length) { if (((!((_local10 == _local8))) && ((teslaBlocks[_local10].solidBody.GetUserData().circuitElement == false)))){ _local13 = new b2Vec2(teslaBlocks[_local10].solidBody.GetWorldCenter().x, teslaBlocks[_local10].solidBody.GetWorldCenter().y); _local13.Subtract(_local9); _local14 = Math.abs(_local13.Length()); if (_local14 <= LevelElementDefs.TESLADISTANCE){ if (_local14 < _local12){ _local12 = _local14; _local11 = _local10; }; }; }; _local10++; }; if (_local11 != _local8){ teslaBlocks[_local11].solidBody.GetUserData().circuitElement = true; _local1 = false; if (notInPath(teslaBlocks[_local11].solidBody, _local6)){ _local6.push(teslaBlocks[_local11].solidBody); teslaBlocks[_local11].sprite.alpha = 0.5; }; }; }; _local8++; }; _local3 = _local5.GetJointList(); while (_local3) { _local4 = _local3.other; if (((_local4.GetUserData()) && (!((_local4.GetUserData().circuitElement == null))))){ if ((((_local4.GetUserData().material == Block.METAL)) && ((((_local4.GetUserData().circuitElement == false)) || ((((_local5.GetUserData().circuitElement == false)) && ((_local4.GetUserData().circuitElement == true)))))))){ _local4.GetUserData().circuitElement = true; _local1 = false; _local2++; if (notInPath(_local5, _local6)){ _local6.push(_local5); }; if (notInPath(_local4, _local6)){ _local6.push(_local4); }; }; }; _local3 = _local3.next; }; }; }; _local5 = _local5.m_next; }; if (endElementBody.GetUserData().circuitElement == true){ _local1 = true; }; }; if (endElementBody.GetUserData().circuitElement == true){ rootLine.circuitComplete.gotoAndStop(2); circuitCompleted = true; if (Math.random() >= 0.8){ _local15 = new Spark(); while (_local6[(_local6.length - 1)] != endElementBody) { _local6.pop(); }; _local15.setBlockList(_local6); _local15.setWorld(this.m_world); _local15.setStartBlock(this.startElementBody); _local15.setEndBlock(this.endElementBody); _local15.x = (startElementBody.GetWorldCenter().x * 30); _local15.y = (startElementBody.GetWorldCenter().y * 30); _local15.x = (_local15.x + (Math.floor((Math.random() * 10)) - 5)); _local15.y = (_local15.y + (Math.floor((Math.random() * 10)) - 5)); rootLine.sparksLayer.addChild(_local15); sparks.push(_local15); }; } else { rootLine.circuitComplete.gotoAndStop(1); circuitCompleted = false; }; }; if (endElementBody){ if (!circuitCompleted){ endElementBody.GetUserData().blockRef.elementClip.head.endHead.gotoAndStop(1); } else { if (endElementBody.GetUserData().blockRef.elementClip.head.endHead.currentFrame == 1){ } else { if (endElementBody.GetUserData().blockRef.elementClip.head.endHead.currentFrame == 2){ if (endElementBody.GetUserData().blockRef.elementClip.head.endHead.endHead.mouth.currentFrame == 110){ endElementBody.GetUserData().blockRef.elementClip.head.endHead.gotoAndStop(3); }; }; }; }; }; } function update(_arg1:Event):void{ var _local2:Number; var _local3:Number; var _local4:b2JointEdge; var _local5:Number; var _local6:Number; var _local7:b2ContactEdge; var _local8:MovieClip; var _local9:b2PrismaticJointDef; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:b2Vec2; var _local13:Block; var _local14:b2Vec2; var _local15:b2Body; var _local16:b2Vec2; var _local17:b2Vec2; doScreenShake(); if (paused == false){ UpdateMouseWorld(); m_world.Step(m_timeStep, m_iterations); if (newContacts.length >= 1){ joinNewContactedBodies(); }; updateWheelBlocks(); _local5 = 0; teslaBlocks = new Array(); _local6 = (blockList.length - 1); for (;_local6 >= 0;_local6--) { blockList[_local6].updateBitmap(circuitCompleted); if (((((((!((blockList[_local6] == blockBeingDragged))) || (!(draggingBlock)))) && (blockList[_local6].animClip))) && (blockList[_local6].animClip.block))){ blockList[_local6].animClip.block.cogs.stop(); blockList[_local6].animClip.block.frontCogs.stop(); }; if ((((((blockList[_local6] == blockBeingDragged)) && (draggingBlock))) && ((blockList[_local6].material == Block.WEIGHTLESS)))){ blockList[_local6].animClip.block.cogs.play(); blockList[_local6].animClip.block.frontCogs.play(); }; if (blockList[_local6].whitingOut){ if (blockList[_local6].whiteOutAlpha <= 0){ spliceOutLooseJoints(blockList[_local6].solidBody); blockList[_local6].deleteFromWorld(); blockList.splice(_local6, 1); continue; }; } else { if (offscreen(blockList[_local6].sprite)){ if (((draggingBlock) && ((blockBeingDragged == blockList[_local6])))){ dropBlock(); }; putBackInChest(blockList[_local6]); continue; }; }; _local4 = blockList[_local6].solidBody.GetJointList(); while (_local4) { if (Math.abs(_local4.joint.GetReactionTorque()) > 500){ spliceOutLooseJoints(blockList[_local6].solidBody); if (_local4.joint){ m_world.DestroyJoint(_local4.joint); }; }; _local4 = _local4.next; }; blockList[_local6].solidBody.GetUserData().circuitElement = false; blockList[_local6].solidBody.GetUserData().tested = false; if (((blockList[_local6].isTesla) && (((!(draggingBlock)) || (!((blockBeingDragged == blockList[_local6]))))))){ teslaBlocks.push(blockList[_local6]); blockList[_local6].sprite.alpha = 1; }; if (((blockList[_local6].touchingWater) && ((((((!(blockList[_local6].material) == Block.WEIGHTLESS)) && ((!(blockList[_local6].material) == Block.SCREW)))) || (((draggingBlock) && ((blockBeingDragged == blockList[_local6])))))))){ blockList[_local6].touchingWater = false; _local7 = blockList[_local6].solidBody.m_contactList; while (_local7) { if (((_local7.contact) && ((_local7.contact.m_manifoldCount > 0)))){ if (_local7.other.GetUserData().material == Block.WATER){ blockList[_local6].touchingWater = true; break; }; }; _local7 = _local7.next; }; }; }; _local6 = 0; while (_local6 < cannons.length) { cannons[_local6].updateBitmap(); _local6++; }; _local6 = (looseJoints.length - 1); while (_local6 >= 0) { if (((draggingBlock) && ((((looseJoints[_local6].b1 == blockBeingDragged.solidBody)) || ((looseJoints[_local6].b2 == blockBeingDragged.solidBody)))))){ if (looseJoints[_local6].joint){ m_world.DestroyJoint(looseJoints[_local6].joint); }; looseJoints.splice(_local6, 1); } else { if (((((Math.abs((looseJoints[_local6].b1.GetAngle() - looseJoints[_local6].b2.GetAngle())) % ((90 * Math.PI) / 180)) < ((1 * Math.PI) / 180))) && ((looseJoints[_local6].frameCount >= 20)))){ _local9 = new b2PrismaticJointDef(); _local10 = new b2Vec2(1, 0); _local11 = looseJoints[_local6].position; _local9.Initialize(looseJoints[_local6].b1, looseJoints[_local6].b2, _local11, _local10); _local9.enableLimit = true; m_world.CreateJoint(_local9); if (looseJoints[_local6].joint){ m_world.DestroyJoint(looseJoints[_local6].joint); }; looseJoints.splice(_local6, 1); } else { looseJoints[_local6].frameCount++; looseJoints[_local6].sucker.Step(m_timeStep); }; }; _local6--; }; killBlocks(); isCircuitComplete(); updateFishes(); updateElectrifiedWater(); if (sparks.length > 0){ _local6 = (sparks.length - 1); while (_local6 >= 0) { sparks[_local6].update(); if (((!(circuitCompleted)) || (((shortCircuit) && ((sparks[_local6].path[sparks[_local6].positionInPath] == shortedBody)))))){ sparks[_local6].fizzleOut(); }; if (sparks[_local6].live == false){ if (((((circuitCompleted) && (!(shortCircuit)))) && (!(sparks[_local6].dying)))){ if (endElementBody.GetUserData().blockRef.elementClip.head.endHead.currentFrame == 1){ endElementBody.GetUserData().blockRef.elementClip.head.endHead.gotoAndStop(2); }; }; rootLine.sparksLayer.removeChild(sparks[_local6]); sparks.splice(_local6, 1); }; _local6--; }; }; if (!Input.mouseDown){ if (mousePressed){ dropBlock(); if (rootLine["blockDrawer"].hitTestPoint(mouseXWorld, mouseYWorld, true)){ } else { if (Input.isKeyDown(Key.CONTROL)){  (mouseXWorld, mouseYWorld); }; }; rootLine["blockDrawer"].stopDraggingNode(); if (((openChest) && (chestDisplay.hitTestPoint(mouseXWorld, mouseYWorld, true)))){ chestDisplay.unClicked(); }; }; mousePressed = false; if (((rootLine.legalArea.hitTestPoint(mouseXWorld, mouseYWorld, true)) && ((rootLine["blockDrawer"].pointList.length >= 3)))){ if (Input.isKeyDown(Key.CONTROL)){ if (rootLine["shadowBlock"].visible == false){ rootLine["shadowBlock"].x = mouseXWorld; rootLine["shadowBlock"].y = mouseYWorld; }; if ((rootLine["shadowBlock"].x - mouseXWorld) > 30){ rootLine["shadowBlock"].rotation = (rootLine["shadowBlock"].rotation + ((rootLine["shadowBlock"].x - mouseXWorld) / 10)); }; if ((rootLine["shadowBlock"].x - mouseXWorld) < -30){ rootLine["shadowBlock"].rotation = (rootLine["shadowBlock"].rotation + ((rootLine["shadowBlock"].x - mouseXWorld) / 10)); }; rootLine["shadowBlock"].x = (rootLine["shadowBlock"].x - ((rootLine["shadowBlock"].x - mouseXWorld) / 3)); rootLine["shadowBlock"].y = (rootLine["shadowBlock"].y - ((rootLine["shadowBlock"].y - mouseYWorld) / 3)); rootLine["shadowBlock"].visible = true; rootLine["shadowBlock"].redraw(); rootLine["blockDrawer"].hideNodeDisplay(); } else { rootLine["shadowBlock"].visible = false; }; } else { rootLine["shadowBlock"].visible = false; rootLine["shadowBlock"].rotation = 0; rootLine["blockDrawer"].showClosestNode(mouseXWorld, mouseYWorld); }; } else { if (!mousePressed){ if (((openChest) && (!(chestDisplay.hitTestPoint(mouseXWorld, mouseYWorld))))){ openChest = false; chestClosing = true; chestDisplay.closeIt(); _local6 = 0; while (_local6 < chests.length) { if ((((chests[_local6].animClip.chest.currentFrame > 1)) && ((chests[_local6].animClip.chest.currentFrame <= CHESTOPENFRAME)))){ chests[_local6].animClip.chest.gotoAndPlay("close"); }; _local6++; }; }; if (((openChest) && (chestDisplay.hitTestPoint(mouseXWorld, mouseYWorld, true)))){ chestDisplay.clicked(mouseXWorld, mouseYWorld); }; if (rootLine["blockDrawer"].hitTestPoint(mouseXWorld, mouseYWorld, true)){ if (((!(rootLine["blockDrawer"].startDraggingNode())) && (Input.isKeyDown(Key.CONTROL)))){ rootLine["blockDrawer"].insertVertex(mouseXWorld, mouseYWorld); }; } else { _local12 = new b2Vec2(mouseXWorldPhys, mouseYWorldPhys); _local6 = 0; while (_local6 < screws.length) { if (screws[_local6].sprite.hitTestPoint(mouseXWorld, mouseYWorld, true)){ _local13 = screws[_local6]; break; }; _local6++; }; if (_local13 == null){ _local6 = 0; while (_local6 < blockList.length) { if (blockList[_local6].testPoint(_local12)){ _local13 = blockList[_local6]; break; }; _local6++; }; }; if (((_local13) && (!(_local13.whitingOut)))){ dragThisBlock(_local13); } else { _local6 = 0; while (_local6 < helpSigns.length) { if (helpSigns[_local6].testPoint(_local12)){ showHelpMessage(helpSigns[_local6].solidBody.GetUserData().message); break; }; _local6++; }; if (((!(openChest)) && (!(chestClosing)))){ _local6 = 0; while (_local6 < chests.length) { if (chests[_local6].testPoint(_local12)){ openChest = true; chestClicked = chests[_local6]; _local2 = (chestClicked.sprite.y + chestClicked.sprite.getBounds(chestClicked.sprite).top); _local3 = (chestClicked.sprite.x + chestClicked.sprite.getBounds(chestClicked.sprite).left); _local3 = (_local3 + (chestClicked.sprite.width / 2)); chestDisplay.openIt(chestClicked, _local3, _local2); if ((((chests[_local6].animClip.chest.currentFrame == 1)) || ((chests[_local6].animClip.chest.currentFrame > CHESTOPENFRAME)))){ chests[_local6].animClip.chest.gotoAndPlay("open"); }; }; _local6++; }; }; }; }; }; chestClosing = false; rootLine["blockDrawer"].showClosestNode(mouseXWorld, mouseYWorld); mousePressed = true; }; if (Input.isKeyPressed(Key.DELETE)){ if (draggingBlock){ _local6 = 0; while (_local6 < blockList.length) { if (blockList[_local6] == blockBeingDragged){ dropBlock(); spliceOutLooseJoints(blockList[_local6].solidBody); blockList[_local6].deleteFromWorld(); blockList.splice(_local6, 1); break; }; _local6++; }; }; rootLine["blockDrawer"].deleteVertex(); }; if (Input.isKeyPressed(Key.C)){ (); addScenery(); }; if (Input.isKeyPressed(Key.R)){ rootLine["blockDrawer"].clearPointList(); }; _local8 = rootLine["shadowBlock"]; rootLine.setChildIndex(_local8, (rootLine.numChildren - 1)); if (m_mouseJoint){ _local14 = new b2Vec2(mouseXWorldPhys, mouseYWorldPhys); m_mouseJoint.SetTarget(_local14); blockBeingDragged.solidBody.GetUserData().blockRef.rattleDelayCount = 0; spliceOutLooseJoints(blockBeingDragged.solidBody); _local4 = blockBeingDragged.solidBody.GetJointList(); while (_local4) { if (_local4.joint != m_mouseJoint){ m_world.DestroyJoint(_local4.joint); }; _local4 = _local4.next; }; blockBeingDragged.solidBody.SetAngularVelocity((blockBeingDragged.solidBody.GetAngularVelocity() / 1.5)); _local7 = blockBeingDragged.solidBody.m_contactList; while (_local7) { if (((_local7.contact) && ((_local7.contact.m_manifoldCount > 0)))){ if (_local7.other.GetUserData().material == Block.NODRAG){ if (_local7.other.GetUserData().blockRef.testPoint(m_mouseJoint.GetAnchor2())){ _local15 = blockBeingDragged.solidBody; blockBeingDragged.solidBody.SetLinearVelocity(_local15.GetLinearVelocity().Negative()); _local15.GetLinearVelocity().Multiply(0.25); _local15.SetAngularVelocity(-(_local15.GetAngularVelocity())); dropBlock(); break; }; }; }; _local7 = _local7.next; }; } else { if (blockBeingDragged){ _local6 = 0; while (_local6 < chests.length) { if (bodyIsTouchingBody(blockBeingDragged.solidBody, chests[_local6].solidBody)){ putBackInChest(blockBeingDragged); if ((((chests[_local6].animClip.chest.currentFrame > 1)) && ((chests[_local6].animClip.chest.currentFrame <= CHESTOPENFRAME)))){ chests[_local6].animClip.chest.gotoAndPlay("close"); blockBeingDragged = null; }; break; } else { if ((((blockBeingDragged.material == Block.SCREW)) || ((blockBeingDragged.material == Block.WEIGHTLESS)))){ if (chests[_local6].sprite.hitTestObject(blockBeingDragged.sprite)){ putBackInChest(blockBeingDragged); if ((((chests[_local6].animClip.chest.currentFrame > 1)) && ((chests[_local6].animClip.chest.currentFrame <= CHESTOPENFRAME)))){ chests[_local6].animClip.chest.gotoAndPlay("close"); blockBeingDragged = null; }; break; }; }; }; _local6++; }; }; }; if (blockBeingDragged){ _local16 = blockBeingDragged.solidBody.GetWorldCenter(); _local6 = 0; while (_local6 < chests.length) { _local17 = new b2Vec2(_local16.x, _local16.y); _local17.Subtract(chests[_local6].solidBody.GetWorldCenter()); if (((bodyIsTouchingBody(blockBeingDragged.solidBody, chests[_local6].solidBody)) || ((_local17.Length() <= 5)))){ if ((((chests[_local6].animClip.chest.currentFrame == 1)) || ((chests[_local6].animClip.chest.currentFrame > CHESTOPENFRAME)))){ chests[_local6].animClip.chest.gotoAndPlay("open"); }; } else { if ((((chests[_local6].animClip.chest.currentFrame > 1)) && ((chests[_local6].animClip.chest.currentFrame <= CHESTOPENFRAME)))){ chests[_local6].animClip.chest.gotoAndPlay("close"); }; }; _local6++; }; }; if (rootLine.blockDrawer.mode == BlockDrawer.LIBRARY){ rootLine.blockDrawer["shapeClip"].y = -(rootLine.blockDrawer["blockScroller"].scrollPosition); }; if (!openChest){ if (Input.isKeyDown(Key.RIGHT)){ scrollRight(); }; if (Input.isKeyDown(Key.LEFT)){ scrollLeft(); }; if (Input.isKeyDown(Key.UP)){ scrollUp(); }; if (Input.isKeyDown(Key.DOWN)){ scrollDown(); }; }; if (chestClicked != null){ _local2 = (chestClicked.sprite.y + chestClicked.sprite.getBounds(chestClicked.sprite).top); _local2 = (_local2 + rootLine.testArea.y); _local3 = (chestClicked.sprite.x + chestClicked.sprite.getBounds(chestClicked.sprite).left); _local3 = (_local3 + (chestClicked.sprite.width / 2)); _local3 = (_local3 + rootLine.testArea.x); chestDisplay.update(); }; if (openChest){ if (_local2 < 200){ scrollUp(); }; if (_local2 > 350){ scrollDown(); }; if (_local3 < 200){ scrollLeft(); }; if (_local3 > 350){ scrollRight(); }; }; Input.update(); }; } function notInPath(_arg1:b2Body, _arg2:Array):Boolean{ var _local3:int; _local3 = 0; while (_local3 < _arg2.length) { if (_arg2[_local3] == _arg1){ return (false); }; _local3++; }; return (true); } function (){ var _local1:b2GravityController; var _local2:Number; var _local3:Object; var _local4:Number; var _local5:Boolean; var _local6:b2DistanceJointDef; _local2 = 0; _local2 = 0; while (_local2 < persistantContacts.length) { _local1 = new b2GravityController(); _local1.AddBody(persistantContacts[_local2].b1); _local1.AddBody(persistantContacts[_local2].b2); _local1.Step(m_timeStep); _local2++; }; _local4 = 0; _local5 = false; _local2 = (metalJoints.length - 1); while (_local2 >= 0) { if (metalJoints[_local2].joint != null){ if (Math.abs(metalJoints[_local2].joint.GetReactionForce().Length()) > 20){ m_world.DestroyJoint(metalJoints[_local2].joint); metalJoints.splice(_local2, 1); }; } else { metalJoints.splice(_local2, 1); }; _local2--; }; _local2 = 0; while (_local2 < persistantContacts.length) { if (((!((persistantContacts[_local2].b1.GetUserData().material == Block.METAL))) || (!((persistantContacts[_local2].b2.GetUserData().material == Block.METAL))))){ } else { _local5 = false; _local4 = 0; while (_local4 < metalJoints.length) { if ((((((metalJoints[_local4].b1 == persistantContacts[_local2].b1)) || ((metalJoints[_local4].b1 == persistantContacts[_local2].b2)))) && ((((metalJoints[_local4].b2 == persistantContacts[_local2].b1)) || ((metalJoints[_local4].b2 == persistantContacts[_local2].b2)))))){ _local5 = true; break; }; _local4++; }; if (!_local5){ _local3 = new Object(); _local3.b1 = persistantContacts[_local2].b1; _local3.b2 = persistantContacts[_local2].b2; _local6 = new b2DistanceJointDef(); _local6.Initialize(persistantContacts[_local2].b1, persistantContacts[_local2].b2, persistantContacts[_local2].b1.GetWorldCenter(), persistantContacts[_local2].b2.GetWorldCenter()); _local3.joint = m_world.CreateJoint(_local6); metalJoints.push(_local3); }; }; _local2++; }; persistantContacts = new Array(); } function scrollRight(){ rootLine["testArea"].x = (rootLine["testArea"].x - 4); rootLine["landClip"].x = (rootLine["landClip"].x - 4); rootLine["waterClip"].x = (rootLine["waterClip"].x - 4); rootLine["debugArea"].x = (rootLine["debugArea"].x - 4); rootLine["stamps0"].x = (rootLine["stamps0"].x - 4); rootLine["stamps1"].x = (rootLine["stamps1"].x - 4); rootLine["stamps2"].x = (rootLine["stamps2"].x - 4); rootLine["levelElementsLayer"].x = (rootLine["levelElementsLayer"].x - 4); rootLine["sparksLayer"].x = (rootLine["sparksLayer"].x - 4); rootLine["signsLayer"].x = (rootLine["signsLayer"].x - 4); rootLine["noDragLayer"].x = (rootLine["noDragLayer"].x - 4); rootLine.hills.x = (rootLine.hills.x - 3); rootLine.sea.x = (rootLine.sea.x - 1); } function updateWheelBlocks(){ var _local1:int; _local1 = 0; while (_local1 < wheelBlocksToMove.length) { if (wheelBlocksToMove[_local1].b1.GetUserData().material == Block.WHEELBLOCKR){ wheelBlocksToMove[_local1].b1.ApplyForce(new b2Vec2(12, 0), wheelBlocksToMove[_local1].b1.GetWorldCenter()); }; if (wheelBlocksToMove[_local1].b2.GetUserData().material == Block.WHEELBLOCKR){ wheelBlocksToMove[_local1].b2.ApplyForce(new b2Vec2(12, 0), wheelBlocksToMove[_local1].b2.GetWorldCenter()); }; if (wheelBlocksToMove[_local1].b1.GetUserData().material == Block.WHEELBLOCKL){ wheelBlocksToMove[_local1].b1.ApplyForce(new b2Vec2(-12, 0), wheelBlocksToMove[_local1].b1.GetWorldCenter()); }; if (wheelBlocksToMove[_local1].b2.GetUserData().material == Block.WHEELBLOCKL){ wheelBlocksToMove[_local1].b2.ApplyForce(new b2Vec2(-12, 0), wheelBlocksToMove[_local1].b2.GetWorldCenter()); }; _local1++; }; wheelBlocksToMove = new Array(); } function (_arg1:b2Body, _arg2:b2Body, _arg3:Number, _arg4:Number, _arg5:Number){ var _local6:b2Vec2; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; _local6 = _arg1.GetPosition(); _local7 = _arg2.GetPosition(); _local8 = _local7; _local8.Subtract(_local6); _local9 = _arg1.GetLinearVelocity(); _local10 = _arg2.GetLinearVelocity(); _local11 = _local10; _local11.Subtract(_local9); _local12 = _local8.Normalize(); _local13 = ((_local11.x * _local8.x) + (_local11.y * _local8.y)); _local14 = ((-(_arg3) * (_local12 - _arg5)) - (_arg4 * _local13)); _local8.Multiply(_local14); _arg2.ApplyForce(_local8, _arg1.GetPosition()); _local8.Multiply(-1); _arg1.ApplyForce(_local8, _arg2.GetPosition()); _arg1.WakeUp(); _arg2.WakeUp(); } public function UpdateMouseWorld():void{ mouseXWorldPhys = ((Input.mouseX - rootLine.testArea.x) / m_physScale); mouseYWorldPhys = ((Input.mouseY - rootLine.testArea.y) / m_physScale); mouseXWorld = Input.mouseX; mouseYWorld = Input.mouseY; } function spliceOutLooseJoints(_arg1:b2Body){ var _local2:int; var _local3:b2JointEdge; if (looseJoints.length >= 1){ _local2 = (looseJoints.length - 1); while (_local2 >= 0) { if ((((looseJoints[_local2].b1 == _arg1)) || ((looseJoints[_local2].b2 == _arg1)))){ if (looseJoints[_local2].joint){ m_world.DestroyJoint(looseJoints[_local2].joint); }; looseJoints.splice(_local2, 1); }; _local2--; }; }; } function addInitialBlocks(){ var _local1:int; var _local2:int; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Block; var _local7:b2Vec2; var _local8:Block; var _local9:b2MassData; _local1 = 0; while (_local1 < rootLine.myLevelEditor.blocksInPlay.length) { _local3 = rootLine.myLevelEditor.blocksInPlay[_local1].x; _local4 = rootLine.myLevelEditor.blocksInPlay[_local1].y; _local5 = rootLine.myLevelEditor.blocksInPlay[_local1].rotation; if (!rootLine.myLevelEditor.blocksInPlay[_local1].preDefinedBlock){ rootLine.blockDrawer.selectBlock(rootLine.myLevelEditor.blocksInPlay[_local1].shapeID); rootLine.blockDrawer.findEquivilentPreDefinedBlock_2(rootLine.myLevelEditor.blocksInPlay[_local1].material, rootLine.myLevelEditor.blocksInPlay[_local1].magnetic); } else { rootLine.blockDrawer.selectPreDefinedBlock(rootLine.myLevelEditor.blocksInPlay[_local1].preDefinedBlockID); }; if (((rootLine.blockDrawer.preDefinedBlock) && ((LevelElementDefs.ALLBLOCKS[rootLine.blockDrawer.preDefinedBlockID][1] == Block.SCREW)))){ _local6 = new Block(this.m_world, rootLine.levelElementsLayer); } else { _local6 = new Block(this.m_world, rootLine.testArea); }; _local2 = 0; while (_local2 < rootLine["blockDrawer"].pointList.length) { _local6.addVertex(new b2Vec2((rootLine["blockDrawer"].pointList[_local2].x / 30), (rootLine["blockDrawer"].pointList[_local2].y / 30))); _local2++; }; _local6.rotation = _local5; _local6.position = new b2Vec2(_local3, _local4); _local6.setMaterial(rootLine.myLevelEditor.blocksInPlay[_local1].material, rootLine.myLevelEditor.blocksInPlay[_local1].magnetic, false, false); _local6.preDefinedBlock = rootLine.blockDrawer.preDefinedBlock; _local6.preDefinedBlockID = rootLine.blockDrawer.preDefinedBlockID; _local6.solidify(); _local6.solidBody.GetUserData().shapeID = rootLine.myLevelEditor.blocksInPlay[_local1].shapeID; blockList.push(_local6); if (_local6.material == Block.SCREW){ _local7 = _local6.solidBody.GetPosition(); _local2 = 0; while (_local2 < blockList.length) { if (blockList[_local2].testPoint(_local7)){ _local8 = blockList[_local2]; break; }; _local2++; }; if (_local8){ _local6.screwed = true; _local6.theScrew = _local8; _local8.screwed = true; _local8.theScrew = _local6; _local9 = new b2MassData(); _local9.mass = 0; _local8.solidBody.SetMass(_local9); _local8.solidBody.SetLinearVelocity(new b2Vec2(0, 0)); _local8.solidBody.SetAngularVelocity(0); }; screws.push(_local6); }; _local1++; }; } function updateElectrifiedWater(){ var _local1:int; _local1 = 0; while (_local1 < waterAreas.length) { if (!circuitCompleted){ waterAreas[_local1].electrified = false; }; waterAreas[_local1].updateElectrified(); _local1++; }; } function bottomDepth(_arg1:Block){ if (((((_arg1.isHeavy) || ((_arg1.material == Block.BALLOON)))) || ((_arg1.material == Block.DEADZONE)))){ _arg1.container.setChildIndex(_arg1.sprite, 0); }; } function scrollUp(){ rootLine["testArea"].y = (rootLine["testArea"].y + 4); rootLine["landClip"].y = (rootLine["landClip"].y + 4); rootLine["waterClip"].y = (rootLine["waterClip"].y + 4); rootLine["debugArea"].y = (rootLine["debugArea"].y + 4); rootLine["stamps0"].y = (rootLine["stamps0"].y + 4); rootLine["stamps1"].y = (rootLine["stamps1"].y + 4); rootLine["stamps2"].y = (rootLine["stamps2"].y + 4); rootLine["levelElementsLayer"].y = (rootLine["levelElementsLayer"].y + 4); rootLine["sparksLayer"].y = (rootLine["sparksLayer"].y + 4); rootLine["signsLayer"].y = (rootLine["signsLayer"].y + 4); rootLine["noDragLayer"].y = (rootLine["noDragLayer"].y + 4); rootLine.hills.y = (rootLine.hills.y + 2); rootLine.sea.y = (rootLine.sea.y + 1); rootLine.sky.y = (rootLine.sky.y + 1); } function showHelpMessage(_arg1:String){ rootLine.helpDisplay.helpMessage = _arg1; rootLine.helpDisplay.play(); } function dropBlock(){ var _local1:*; var _local2:b2Vec2; var _local3:Block; var _local4:b2MassData; if (m_mouseJoint){ m_world.DestroyJoint(m_mouseJoint); m_mouseJoint = null; draggingBlock = false; if ((((blockBeingDragged.material == Block.WEIGHTLESS)) || ((blockBeingDragged.material == Block.SCREW)))){ blockBeingDragged.solidBody.SetMassFromShapes(); blockBeingDragged.solidBody.SetLinearVelocity(new b2Vec2(0, 0)); blockBeingDragged.solidBody.SetAngularVelocity(0); if (blockBeingDragged.material == Block.WEIGHTLESS){ shakeTheScreen(5); }; if (blockBeingDragged.material == Block.SCREW){ _local2 = blockBeingDragged.solidBody.GetPosition(); _local1 = 0; while (_local1 < blockList.length) { if (blockList[_local1].testPoint(_local2)){ _local3 = blockList[_local1]; break; }; _local1++; }; if (_local3){ blockBeingDragged.screwed = true; blockBeingDragged.theScrew = _local3; _local3.screwed = true; _local3.theScrew = blockBeingDragged; _local4 = new b2MassData(); _local4.mass = 0; _local3.solidBody.SetMass(_local4); _local3.solidBody.SetLinearVelocity(new b2Vec2(0, 0)); _local3.solidBody.SetAngularVelocity(0); }; }; }; }; } function joinNewContactedBodies(){ var _local1:Number; var _local2:Object; var _local3:b2Body; var _local4:b2Body; var _local5:b2Body; var _local6:b2JointEdge; var _local7:b2Body; var _local8:Boolean; var _local9:b2DistanceJointDef; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:b2AABB; var _local13:b2AABB; var _local14:b2Vec2; var _local15:b2Vec2; var _local16:b2Vec2; var _local17:b2PolygonShape; var _local18:b2PolygonShape; var _local19:*; _local1 = 0; while (_local1 < newContacts.length) { _local2 = newContacts[_local1]; _local3 = _local2.b1; _local4 = _local2.b2; _local17 = (_local2.shape1 as b2PolygonShape); _local18 = (_local2.shape2 as b2PolygonShape); _local16 = _local2.point; _local6 = _local3.GetJointList(); _local8 = false; if (_local6){ _local5 = _local6.other; if (_local4 != _local5){ _local8 = false; _local6 = _local6.next; while (((!(_local8)) && (_local6))) { if (_local6.other == _local4){ _local8 = true; }; _local6 = _local6.next; }; } else { _local8 = true; }; }; if (!_local8){ _local9 = new b2DistanceJointDef(); _local10 = _local3.GetWorldCenter(); _local11 = _local4.GetWorldCenter(); if (_local3.GetUserData().scenery){ _local10 = _local16; } else { if (_local4.GetUserData().scenery){ _local11 = _local16; }; }; _local9.Initialize(_local3, _local4, _local10, _local11); _local9.collideConnected = true; _local9.frequencyHz = 1.5; _local9.dampingRatio = 1; _local9.length = 0; _local2.joint = m_world.CreateJoint(_local9); _local2.position = new b2Vec2(); _local2.position.x = _local16.x; _local2.position.y = _local16.y; _local3.GetUserData().looseJoint = _local4; _local3.GetUserData().frameCount = 0; _local4.GetUserData().looseJoint = _local3; _local4.GetUserData().frameCount = 0; _local19 = new b2GravityController(); _local19.AddBody(_local3); _local19.AddBody(_local4); _local2.sucker = _local19; _local2.frameCount = 0; looseJoints.push(_local2); }; _local1++; }; newContacts = new Array(); } function putBackInChest(_arg1:Block){ var _local2:int; if (_arg1.material == Block.SCREW){ _local2 = 0; while (_local2 < screws.length) { if (screws[_local2] == _arg1){ screws.splice(_local2, 1); break; }; _local2++; }; }; chestDisplay.addLevelBlock(_arg1.solidBody.GetUserData().shapeID, _arg1.solidBody.GetUserData().material, _arg1.solidBody.GetUserData().magnetic, _arg1.solidBody.GetUserData().preDefinedBlock, _arg1.solidBody.GetUserData().preDefinedBlockID, 0); _arg1.whiteOut(); } function addScenery(){ var _local1:int; var _local2:int; var _local3:Block; var _local4:Sprite; var _local5:Sprite; var _local6:*; var _local7:Number; var _local8:MovieClip; var _local9:*; var _local10:Bitmap; var _local11:*; var _local12:Bitmap; var _local13:Number; var _local14:Number; var _local15:int; var _local16:b2PolygonDef; var _local17:b2BodyDef; var _local18:b2Body; helpSigns = new Array(); deadZones = new Array(); cannons = new Array(); fishes = new Array(); waterAreas = new Array(); if (((rootLine.myLevelEditor) && ((rootLine.myLevelEditor.levelStaticBlocks.length > 0)))){ _local1 = 0; while (_local1 < rootLine.myLevelEditor.levelStaticBlocks.length) { if (rootLine.myLevelEditor.waterFlag[_local1] == true){ _local3 = new Block(this.m_world, rootLine.waterClip); } else { if (rootLine.myLevelEditor.noDragFlag[_local1] == true){ _local3 = new Block(this.m_world, rootLine.noDragLayer); } else { _local3 = new Block(this.m_world, rootLine.landClip); }; }; _local2 = 0; while (_local2 < rootLine.myLevelEditor.levelStaticBlocks[_local1].length) { _local3.addVertex(new b2Vec2((rootLine.myLevelEditor.levelStaticBlocks[_local1][_local2].x / 30), (rootLine.myLevelEditor.levelStaticBlocks[_local1][_local2].y / 30))); _local2++; }; if (rootLine.myLevelEditor.waterFlag[_local1] == true){ _local3.setMaterial(2, false, true); waterAreas.push(_local3); } else { if (rootLine.myLevelEditor.noDragFlag[_local1] == true){ _local3.setMaterial(Block.NODRAG, false, true); } else { if (rootLine.myLevelEditor.deadZoneFlag[_local1] == true){ _local3.setMaterial(Block.DEADZONE, false, true); deadZones.push(_local3); } else { _local3.setMaterial(0, false, true); }; }; }; _local3.solidify(); _local1++; }; _local1 = 0; while (_local1 < deadZones.length) { topDepth(deadZones[_local1]); _local1++; }; _local4 = new Sprite(); _local5 = new Sprite(); _local1 = 0; while (_local1 < rootLine.myLevelEditor.levelStamps.length) { _local8 = new AllStamps(); _local8.x = rootLine.myLevelEditor.levelStamps[_local1].x; _local8.y = rootLine.myLevelEditor.levelStamps[_local1].y; _local8.gotoAndStop(rootLine.myLevelEditor.levelStamps[_local1].object); _local8.ID = _local1; if (LevelElementDefs.STAMPLAYERS[(rootLine.myLevelEditor.levelStamps[_local1].object - 2)] == 0){ _local4.addChild(_local8); } else { if (LevelElementDefs.STAMPLAYERS[(rootLine.myLevelEditor.levelStamps[_local1].object - 2)] == 1){ _local5.addChild(_local8); } else { if (LevelElementDefs.STAMPLAYERS[(rootLine.myLevelEditor.levelStamps[_local1].object - 2)] == 3){ rootLine["signsLayer"].addChild(_local8); fishes.push(_local8); } else { rootLine[("stamps" + LevelElementDefs.STAMPLAYERS[(rootLine.myLevelEditor.levelStamps[_local1].object - 2)])].addChild(_local8); }; }; }; _local1++; }; if (_local4.width > 0){ _local6 = _local4.getBounds(_local4).left; _local7 = _local4.getBounds(_local4).top; _local9 = new BitmapData(_local4.width, _local4.height, true, 0); _local9.draw(_local4, new Matrix(1, 0, 0, 1, -(_local6), -(_local7))); _local10 = new Bitmap(_local9, "auto", true); _local10.x = _local6; _local10.y = _local7; rootLine.stamps0.addChild(_local10); }; if (_local5.width > 0){ _local6 = _local5.getBounds(_local5).left; _local7 = _local5.getBounds(_local5).top; _local11 = new BitmapData(_local5.width, _local5.height, true, 0); _local11.draw(_local5, new Matrix(1, 0, 0, 1, -(_local6), -(_local7))); _local12 = new Bitmap(_local11, "auto", true); _local12.x = _local6; _local12.y = _local7; rootLine.stamps1.addChild(_local12); }; _local1 = 0; while (_local1 < rootLine.myLevelEditor.levelStaticMCBlocks.length) { _local13 = rootLine.myLevelEditor.levelStaticMCBlocks[_local1].object; _local14 = LevelElementDefs.shapeID[(_local13 - 1)]; if (_local13 == 4){ _local3 = new Block(this.m_world, rootLine.signsLayer); } else { _local3 = new Block(this.m_world, rootLine.levelElementsLayer); }; _local2 = 0; while (_local2 < rootLine.blockDrawer.shapeLibrary[_local14].length) { _local3.addVertex(new b2Vec2((rootLine.blockDrawer.shapeLibrary[_local14][_local2].x / 30), (rootLine.blockDrawer.shapeLibrary[_local14][_local2].y / 30))); _local2++; }; _local3.position = new b2Vec2((rootLine.myLevelEditor.levelStaticMCBlocks[_local1].x / 30), (rootLine.myLevelEditor.levelStaticMCBlocks[_local1].y / 30)); _local3.rotation = 0; _local3.setMaterial(LevelElementDefs.material[(_local13 - 1)], LevelElementDefs.sticky[(_local13 - 1)], true); _local15 = 1; if ((((((_local13 == 1)) || ((_local13 == 2)))) || ((_local13 == 5)))){ _local15 = rootLine.myLevelEditor.levelStaticMCBlocks[_local1].frame; }; _local3.setSceneryElement(true, _local13, _local15); _local3.solidify(); if (_local13 == 1){ startElementBody = _local3.solidBody; _local3.solidBody.GetUserData().circuitElement = true; }; if (_local13 == 2){ endElementBody = _local3.solidBody; }; if (_local13 == 3){ chests.push(_local3); }; if (_local13 == 4){ _local3.solidBody.GetUserData().message = rootLine.myLevelEditor.levelStaticMCBlocks[_local1].message; helpSigns.push(_local3); }; if (_local13 == 5){ cannons.push(_local3); _local3.rattleDelayCount = (-10 * cannons.length); }; _local1++; }; chestDisplay = new ChestDisplay(); chestDisplay.scaleX = 0; chestDisplay.scaleY = 0; chestDisplay.x = -1000000; chestDisplay.y = -1000000; chestDisplay.rootLine = rootLine; chestDisplay.blockController = this; rootLine.signsLayer.addChild(chestDisplay); initFishes(); } else { _local16 = new b2PolygonDef(); _local17 = new b2BodyDef(); _local17.position.Set((-95 / m_physScale), ((360 / m_physScale) / 2)); _local16.SetAsBox((100 / m_physScale), ((400 / m_physScale) / 2)); _local18 = m_world.CreateBody(_local17); _local18.CreateShape(_local16); _local18.SetMassFromShapes(); _local17.position.Set(((640 + 95) / m_physScale), ((360 / m_physScale) / 2)); _local18 = m_world.CreateBody(_local17); _local18.CreateShape(_local16); _local18.SetMassFromShapes(); _local17.position.Set(((640 / m_physScale) / 2), (-95 / m_physScale)); _local16.SetAsBox(((680 / m_physScale) / 2), (100 / m_physScale)); _local18 = m_world.CreateBody(_local17); _local18.CreateShape(_local16); _local18.SetMassFromShapes(); _local17.position.Set(((640 / m_physScale) / 2), ((360 + 95) / m_physScale)); _local18 = m_world.CreateBody(_local17); _local18.CreateShape(_local16); _local18.SetMassFromShapes(); }; } function addBlock(_arg1:Number){ var _local2:Number; var _local3:Number; var _local4:int; var _local5:Block; var _local6:Number; var _local7:b2Vec2; var _local8:*; var _local9:*; rootLine.blockDrawer.findEquivilentPreDefinedBlock(); _local2 = mouseXWorld; _local3 = mouseYWorld; _local2 = (_local2 - rootLine.testArea.x); _local3 = (_local3 - rootLine.testArea.y); if (((rootLine.blockDrawer.preDefinedBlock) && ((LevelElementDefs.ALLBLOCKS[rootLine.blockDrawer.preDefinedBlockID][1] == Block.SCREW)))){ _local5 = new Block(this.m_world, rootLine.levelElementsLayer); } else { _local5 = new Block(this.m_world, rootLine.testArea); }; _local5.shapeID = rootLine.blockDrawer.lastSelectedShape; _local4 = 0; while (_local4 < rootLine["blockDrawer"].pointList.length) { _local5.addVertex(new b2Vec2((rootLine["blockDrawer"].pointList[_local4].x / 30), (rootLine["blockDrawer"].pointList[_local4].y / 30))); _local4++; }; _local5.rotation = ((_arg1 * Math.PI) / 180); _local5.position = new b2Vec2((_local2 / 30), (_local3 / 30)); _local6 = 0; if (rootLine.blockDrawer["metalCheck"].selected){ _local6 = 1; }; if (!rootLine.blockDrawer.preDefinedBlock){ _local5.setMaterial(_local6, rootLine.blockDrawer["magCheck"].selected, false, rootLine.blockDrawer["heavyCheck"].selected); } else { _local5.setMaterial(LevelElementDefs.ALLBLOCKS[rootLine.blockDrawer.preDefinedBlockID][1], rootLine.blockDrawer["magCheck"].selected, false, rootLine.blockDrawer["heavyCheck"].selected); }; _local5.preDefinedBlock = rootLine.blockDrawer.preDefinedBlock; _local5.preDefinedBlockID = rootLine.blockDrawer.preDefinedBlockID; _local5.solidify(); _local5.solidBody.GetUserData().shapeID = rootLine.blockDrawer.lastSelectedShape; blockList.push(_local5); _local7 = _local5.localToGlobal(_local5.centerPoint()); _local8 = ((_local2 / 30) - _local7.x); _local9 = ((_local3 / 30) - _local7.y); _local5.solidBody.SetXForm(new b2Vec2(((_local2 / 30) + _local8), ((_local3 / 30) + _local9)), _local5.solidBody.GetAngle()); dragThisBlock(_local5); bottomDepth(_local5); if (_local5.material == Block.SCREW){ screws.push(_local5); }; } function topDepth(_arg1:Block){ _arg1.container.setChildIndex(_arg1.sprite, (_arg1.container.numChildren - 1)); } function doScreenShake(){ if (screenShake > 0){ rootLine["testArea"].x = (rootLine["testArea"].x - shakeXOff); rootLine["landClip"].x = (rootLine["landClip"].x - shakeXOff); rootLine["waterClip"].x = (rootLine["waterClip"].x - shakeXOff); rootLine["debugArea"].x = (rootLine["debugArea"].x - shakeXOff); rootLine["stamps0"].x = (rootLine["stamps0"].x - shakeXOff); rootLine["stamps1"].x = (rootLine["stamps1"].x - shakeXOff); rootLine["stamps2"].x = (rootLine["stamps2"].x - shakeXOff); rootLine["levelElementsLayer"].x = (rootLine["levelElementsLayer"].x - shakeXOff); rootLine["sparksLayer"].x = (rootLine["sparksLayer"].x - shakeXOff); rootLine["signsLayer"].x = (rootLine["signsLayer"].x - shakeXOff); rootLine["noDragLayer"].x = (rootLine["noDragLayer"].x - shakeXOff); rootLine["testArea"].y = (rootLine["testArea"].y - shakeYOff); rootLine["landClip"].y = (rootLine["landClip"].y - shakeYOff); rootLine["waterClip"].y = (rootLine["waterClip"].y - shakeYOff); rootLine["debugArea"].y = (rootLine["debugArea"].y - shakeYOff); rootLine["stamps0"].y = (rootLine["stamps0"].y - shakeYOff); rootLine["stamps1"].y = (rootLine["stamps1"].y - shakeYOff); rootLine["stamps2"].y = (rootLine["stamps2"].y - shakeYOff); rootLine["levelElementsLayer"].y = (rootLine["levelElementsLayer"].y - shakeYOff); rootLine["sparksLayer"].y = (rootLine["sparksLayer"].y - shakeYOff); rootLine["signsLayer"].y = (rootLine["signsLayer"].y - shakeYOff); rootLine["noDragLayer"].y = (rootLine["noDragLayer"].y - shakeYOff); screenShake--; if (screenShake > 0){ shakeXOff = (Math.floor((Math.random() * 10)) - 5); shakeYOff = (Math.floor((Math.random() * 10)) - 5); rootLine["testArea"].x = (rootLine["testArea"].x + shakeXOff); rootLine["landClip"].x = (rootLine["landClip"].x + shakeXOff); rootLine["waterClip"].x = (rootLine["waterClip"].x + shakeXOff); rootLine["debugArea"].x = (rootLine["debugArea"].x + shakeXOff); rootLine["stamps0"].x = (rootLine["stamps0"].x + shakeXOff); rootLine["stamps1"].x = (rootLine["stamps1"].x + shakeXOff); rootLine["stamps2"].x = (rootLine["stamps2"].x + shakeXOff); rootLine["levelElementsLayer"].x = (rootLine["levelElementsLayer"].x + shakeXOff); rootLine["sparksLayer"].x = (rootLine["sparksLayer"].x + shakeXOff); rootLine["signsLayer"].x = (rootLine["signsLayer"].x + shakeXOff); rootLine["noDragLayer"].x = (rootLine["noDragLayer"].x + shakeXOff); rootLine["testArea"].y = (rootLine["testArea"].y + shakeYOff); rootLine["landClip"].y = (rootLine["landClip"].y + shakeYOff); rootLine["waterClip"].y = (rootLine["waterClip"].y + shakeYOff); rootLine["debugArea"].y = (rootLine["debugArea"].y + shakeYOff); rootLine["stamps0"].y = (rootLine["stamps0"].y + shakeYOff); rootLine["stamps1"].y = (rootLine["stamps1"].y + shakeYOff); rootLine["stamps2"].y = (rootLine["stamps2"].y + shakeYOff); rootLine["levelElementsLayer"].y = (rootLine["levelElementsLayer"].y + shakeYOff); rootLine["sparksLayer"].y = (rootLine["sparksLayer"].y + shakeYOff); rootLine["signsLayer"].y = (rootLine["signsLayer"].y + shakeYOff); rootLine["noDragLayer"].y = (rootLine["noDragLayer"].y + shakeYOff); } else { shakeXOff = 0; shakeYOff = 0; }; }; } function scrollLeft(){ rootLine["testArea"].x = (rootLine["testArea"].x + 4); rootLine["landClip"].x = (rootLine["landClip"].x + 4); rootLine["waterClip"].x = (rootLine["waterClip"].x + 4); rootLine["debugArea"].x = (rootLine["debugArea"].x + 4); rootLine["stamps0"].x = (rootLine["stamps0"].x + 4); rootLine["stamps1"].x = (rootLine["stamps1"].x + 4); rootLine["stamps2"].x = (rootLine["stamps2"].x + 4); rootLine["levelElementsLayer"].x = (rootLine["levelElementsLayer"].x + 4); rootLine["sparksLayer"].x = (rootLine["sparksLayer"].x + 4); rootLine["signsLayer"].x = (rootLine["signsLayer"].x + 4); rootLine["noDragLayer"].x = (rootLine["noDragLayer"].x + 4); rootLine.hills.x = (rootLine.hills.x + 3); rootLine.sea.x = (rootLine.sea.x + 1); } public static function bodyIsTouchingBody(_arg1:b2Body, _arg2:b2Body):Boolean{ var _local3:b2ContactEdge; if (((!(_arg1)) || (!(_arg2)))){ return (false); }; _local3 = _arg1.m_contactList; while (_local3) { if (((_local3.contact) && ((_local3.contact.m_manifoldCount > 0)))){ if (_local3.other == _arg2){ return (true); }; }; _local3 = _local3.next; }; return (false); } public static function addSplash(_arg1:b2Vec2){ var _local2:MovieClip; _local2 = new SplashClip(); _local2.x = (_arg1.x * 30); _local2.y = (_arg1.y * 30); rootLine.waterClip.addChild(_local2); } public static function registerPersistantContact(_arg1:Object):void{ persistantContacts.push(_arg1); } public static function addDust(_arg1:b2Vec2, _arg2:Block, _arg3:Block){ var _local4:MovieClip; if (((((!(draggingBlock)) || (((!((_arg2 == blockBeingDragged))) && (!((_arg3 == blockBeingDragged))))))) && ((((_arg2.touchingWater == false)) && ((_arg3.touchingWater == false)))))){ if ((((_arg3. == 0)) || ((_arg2. == 0)))){ _local4 = new DustClip(); _local4.x = (_arg1.x * 30); _local4.y = (_arg1.y * 30); _local4.alpha = 0.8; rootLine.levelElementsLayer.addChild(_local4); if (_arg2. == 0){ _arg2. = 20; } else { _arg3. = 20; }; }; }; } public static function wheelBlockCollision(_arg1:Object):void{ wheelBlocksToMove.push(_arg1); } public static function shakeTheScreen(_arg1:Number){ screenShake = _arg1; } public static function addSmash(_arg1:b2Vec2, _arg2:Block, _arg3:Block){ var _local4:MovieClip; if (((((((!(draggingBlock)) || (((!((_arg2 == blockBeingDragged))) && (!((_arg3 == blockBeingDragged))))))) && ((((_arg2.touchingWater == false)) && ((_arg3.touchingWater == false)))))) && ((((((((_arg2.material == Block.METAL)) || (_arg2.isHeavy))) && (!(_arg2.sceneryElement)))) || ((((((_arg3.material == Block.METAL)) || (_arg2.isHeavy))) && (!(_arg3.sceneryElement)))))))){ _local4 = new SmashClip(); _local4.x = (_arg1.x * 30); _local4.y = (_arg1.y * 30); _local4.alpha = 0.8; rootLine.levelElementsLayer.addChild(_local4); _arg2. = 40; _arg3. = 40; shakeTheScreen(10); }; } public static function registerContact(_arg1:Object):void{ newContacts.push(_arg1); } } }//package com.nitrome.balancer
Section 83
//ChestDisplay (com.nitrome.balancer.ChestDisplay) package com.nitrome.balancer { import flash.display.*; import flash.events.*; import flash.filters.*; public class ChestDisplay extends MovieClip { var blockController:Object; var scrolling:Boolean;// = false var  :Block; var levelBlocks:Array; public var pieces:MovieClip; var ;// = 225 var :Number;// = 275 var :MovieClip; var :Number;// = 0 public var arrowRight:MovieClip; var  ;// = -105 var gameClass:Object; public var arrowLeft:MovieClip; var :Number;// = 0 var mode:Number; var rootLine:MovieClip; static var OFFY:Number = -50; static var OFF = 0; static var CLOSING = 2; static var OPENING = 1; static var ONX:Number = 275; static var ON = 3; public function ChestDisplay(){  = 275; mode = OFF;  = -105;  = 225; scrolling = false;  = 0;  = 0; super(); addFrameScript(0, frame1, 1, frame2); levelBlocks = new Array(); } function openIt(_arg1:Block, _arg2:Number, _arg3:Number){ this. = _arg1; mode = OPENING; this.x = _arg2; this.y = (_arg3 + 30);  = (_arg3 - 50); ONX = _arg2; this.scaleX = (this.scaleY = 0);  (); } function  (_arg1:Event){ if (this["pieces"].x <  ){ this["pieces"].x = (this["pieces"].x + 20); scrolling = true;  = 1;  = 0; }; } function clicked(_arg1:Number, _arg2:Number){ var _local3:int; if (this["arrowLeft"].hitTestPoint(_arg1, _arg2, false)){  (null); } else { if (this["arrowRight"].hitTestPoint(_arg1, _arg2, false)){  (null); } else { _local3 = 0; while (_local3 < this["pieces"].numChildren) { if (this["pieces"].getChildAt(_local3).hitTestPoint(_arg1, _arg2, true)){  (this["pieces"].getChildAt(_local3).getChildAt(0)["libraryID"]); break; }; _local3++; }; }; }; } function closeIt(){ mode = CLOSING; } function unClicked(){ (null); } function selectFromLibraryClicked(_arg1:Event){ rootLine.blockDrawer.mode = 2; if (!levelBlocks[_arg1.currentTarget.libraryID].preDefinedBlock){ rootLine.blockDrawer.selectBlock(levelBlocks[_arg1.currentTarget.libraryID].shapeID); } else { rootLine.blockDrawer.selectPreDefinedBlock(levelBlocks[_arg1.currentTarget.libraryID].preDefinedBlockID); }; if (levelBlocks[_arg1.currentTarget.libraryID].material == 0){ rootLine.blockDrawer.metalCheck.selected = false; } else { rootLine.blockDrawer.metalCheck.selected = true; }; rootLine.blockDrawer.magCheck.selected = levelBlocks[_arg1.currentTarget.libraryID].sticky; rootLine.blockDrawer.preDefinedBlock = levelBlocks[_arg1.currentTarget.libraryID].preDefinedBlock; rootLine.blockDrawer.preDefinedBlockID = levelBlocks[_arg1.currentTarget.libraryID].preDefinedBlockID; gameClass.addBlock(levelBlocks[_arg1.currentTarget.libraryID].rotation); (_arg1.currentTarget.libraryID); closeIt(); gameClass.openChest = false; } function frame1(){ stop(); } function (_arg1){ levelBlocks.splice(_arg1, 1);  (); } function (_arg1:Event){ scrolling = false; } function (){ var _local1:MovieClip; _local1 = this["pieces"]; while (_local1.numChildren > 0) { _local1.removeChildAt(0); }; this["pieces"].x =  ; } function  (_arg1:Event){ if (this["pieces"].x > ( - (this["pieces"].width - ( / 2)))){ this["pieces"].x = (this["pieces"].x - 20); scrolling = true;  = -1;  = 0; }; } function  (_arg1:Number){ rootLine.blockDrawer.mode = 2; if (!levelBlocks[_arg1].preDefinedBlock){ rootLine.blockDrawer.selectBlock(levelBlocks[_arg1].shapeID); } else { rootLine.blockDrawer.selectPreDefinedBlock(levelBlocks[_arg1].preDefinedBlockID); }; if (levelBlocks[_arg1].material == 0){ rootLine.blockDrawer.metalCheck.selected = false; } else { rootLine.blockDrawer.metalCheck.selected = true; }; rootLine.blockDrawer.magCheck.selected = levelBlocks[_arg1].sticky; rootLine.blockDrawer.preDefinedBlock = levelBlocks[_arg1].preDefinedBlock; rootLine.blockDrawer.preDefinedBlockID = levelBlocks[_arg1].preDefinedBlockID; gameClass.addBlock(levelBlocks[_arg1].rotation); (_arg1); closeIt(); gameClass.openChest = false; } function  (){ var _local1:int; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:MovieClip; var _local7:Number; var _local8:MovieClip; var _local9:int; var _local10:GlowFilter; _local2 = 30; _local3 = 5; _local4 = 0; _local5 = 0; (); _local1 = 0; while (_local1 < this.levelBlocks.length) { _local6 = new MovieClip(); _local7 = 0; if (this.levelBlocks[_local1].material == 0){ _local7 = 0x996600; } else { _local7 = 6724044; };  = new MovieClip(); if (!levelBlocks[_local1].preDefinedBlock){ _local9 = 0; while (_local9 < LevelElementDefs.ALLBLOCKS.length) { if ((((((LevelElementDefs.ALLBLOCKS[_local9][0] == levelBlocks[_local1].shapeID)) && ((LevelElementDefs.ALLBLOCKS[_local9][1] == levelBlocks[_local1].material)))) && ((LevelElementDefs.ALLBLOCKS[_local9][2] == levelBlocks[_local1].sticky)))){ levelBlocks[_local1].preDefinedBlock = true; levelBlocks[_local1].preDefinedBlockID = _local9; break; }; _local9++; }; if (!levelBlocks[_local1].preDefinedBlock){ if (((this.levelBlocks[_local1].sticky) && (!(levelBlocks[_local1].preDefinedBlock)))){ _local10 = new GlowFilter(0xFF0000, 1, 2, 2, 10, 1, true); _local6.filters = [_local10]; }; _local6 = rootLine.blockDrawer.redraw(_local6, rootLine.blockDrawer.shapeLibrary[levelBlocks[_local1].shapeID], _local7, 1); .addChild(_local6); } else { _local8 = new PreDefinedBlocks(); _local8.gotoAndStop((levelBlocks[_local1].preDefinedBlockID + 1)); _local6.addChild(_local8); .addChild(_local6); }; } else { _local8 = new PreDefinedBlocks(); _local8.gotoAndStop((levelBlocks[_local1].preDefinedBlockID + 1)); _local6.addChild(_local8); .addChild(_local6); }; _local6.rotation = levelBlocks[_local1].rotation; this["pieces"].addChild(); _local2 = (_local2 + _local4); _local2 = (_local2 - (.getBounds().left / 2)); _local2 = (_local2 + 10); if (.height > _local5){ _local5 = .height; }; .x = _local2; .y = (_local3 - (.getBounds().top / 2)); .scaleX = (.scaleY = 0.5); _local4 = .width; _local6.libraryID = _local1; _local1++; }; } function frame2(){ stop(); } function emptyOut(){ levelBlocks = new Array(); (); } function update(_arg1:Number=0, _arg2:Number=0){ var _local3:int; var _local4:*; if (mode == OPENING){ if (this.scaleX >= 0.1){ this.y = (this.y + (( - this.y) / 4)); }; this.scaleX = (this.scaleX + 0.07); this.scaleY = (this.scaleY + 0.07); if (this.scaleX > 1){ this.scaleX = 1; }; if (this.scaleY > 1){ this.scaleY = 1; }; if ((((((Math.abs((this.y - )) < 5)) && ((this.scaleX > 0.9)))) && ((this.scaleY > 0.9)))){ this.y = ; this.scaleX = 1; this.scaleY = 1; mode = ON; }; }; if (mode == ON){ this.y = ; _local3 = 0; while (_local3 < this["pieces"].numChildren) { if (this["pieces"].getChildAt(_local3).hitTestPoint(_arg1, _arg2, false)){ if (this["pieces"].getChildAt(_local3).scaleX < 0.7){ this["pieces"].getChildAt(_local3).scaleX = (this["pieces"].getChildAt(_local3).scaleX + 0.05); }; if (this["pieces"].getChildAt(_local3).scaleY < 0.7){ this["pieces"].getChildAt(_local3).scaleY = (this["pieces"].getChildAt(_local3).scaleY + 0.05); }; } else { if (this["pieces"].getChildAt(_local3).scaleX > 0.5){ this["pieces"].getChildAt(_local3).scaleX = (this["pieces"].getChildAt(_local3).scaleX - 0.05); }; if (this["pieces"].getChildAt(_local3).scaleY > 0.5){ this["pieces"].getChildAt(_local3).scaleY = (this["pieces"].getChildAt(_local3).scaleY - 0.05); }; }; _local3++; }; if (this["arrowLeft"].hitTestPoint(_arg1, _arg2, false)){ this["arrowLeft"].gotoAndStop(2); } else { this["arrowLeft"].gotoAndStop(1); }; if (this["arrowRight"].hitTestPoint(_arg1, _arg2, false)){ this["arrowRight"].gotoAndStop(2); } else { this["arrowRight"].gotoAndStop(1); }; }; if (mode == CLOSING){ _local4 = ( .sprite.y + 15); this.y = (this.y + ((_local4 - this.y) / 3)); this.scaleX = (this.scaleX - 0.1); this.scaleY = (this.scaleY - 0.1); if (this.scaleX < 0){ this.scaleX = 0; }; if (this.scaleY < 0){ this.scaleY = 0; }; if ((((((((Math.abs((this.y - )) < 3)) && ((Math.abs((this.x - ONX)) < 3)))) && ((this.scaleX <= 0.1)))) && ((this.scaleY <= 0.1)))){ this.y = -10000; mode = OFF; }; }; if (scrolling){ if ( > 5){ if (((( == 1)) && ((this["pieces"].x <  )))){ this["pieces"].x = (this["pieces"].x + 10); }; if (((( == -1)) && ((this["pieces"].x > ( - (this["pieces"].width - ( / 2))))))){ this["pieces"].x = (this["pieces"].x - 10); }; } else { ++; }; }; } function addLevelBlock(_arg1:Number, _arg2:Number, _arg3:Boolean, _arg4:Boolean=false, _arg5:Number=0, _arg6:Number=0){ var _local7:Object; _local7 = new Object(); _local7.shapeID = _arg1; _local7.material = _arg2; _local7.sticky = _arg3; _local7.preDefinedBlock = _arg4; _local7.preDefinedBlockID = _arg5; _local7.rotation = _arg6; levelBlocks.push(_local7); } } }//package com.nitrome.balancer
Section 84
//ContactListener_editor2 (com.nitrome.balancer.ContactListener_editor2) package com.nitrome.balancer { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.Joints.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; public class ContactListener_editor2 extends b2ContactListener { override public function Add(_arg1:b2ContactPoint):void{ var _local2:b2Vec2; if ((((((_arg1.shape1.GetBody().GetUserData().material == Block.WATER)) || ((_arg1.shape2.GetBody().GetUserData().material == Block.WATER)))) && (((!((_arg1.shape1.GetBody().GetUserData().material == Block.SCREW))) && (!((_arg1.shape2.GetBody().GetUserData().material == Block.SCREW))))))){ if ((((_arg1.shape1.GetBody().GetUserData().blockRef.touchingWater == false)) || ((_arg1.shape2.GetBody().GetUserData().blockRef.touchingWater == false)))){ _local2 = new b2Vec2(_arg1.position.x, _arg1.position.y); if (((!(_arg1.shape1.GetBody().GetUserData().isCannonBall)) && (!(_arg1.shape2.GetBody().GetUserData().isCannonBall)))){ if (_arg1.shape1.GetBody().GetUserData().material != Block.WATER){ _local2.x = _arg1.shape1.GetBody().GetWorldCenter().x; _local2.y = _arg1.shape2.GetBody().GetUserData().blockRef.getBoundingBox().lowerBound.y; if (!_arg1.shape2.GetBody().GetUserData().blockRef.testPoint(_local2)){ _local2 = _arg1.position; }; } else { _local2.x = _arg1.shape2.GetBody().GetWorldCenter().x; _local2.y = _arg1.shape1.GetBody().GetUserData().blockRef.getBoundingBox().lowerBound.y; if (!_arg1.shape1.GetBody().GetUserData().blockRef.testPoint(_local2)){ _local2 = _arg1.position; }; }; BlockEditor.addSplash(_local2); } else { if (((((((_arg1.shape1.GetBody().GetUserData().isCannonBall) && (!(_arg1.shape2.GetBody().GetUserData().hasHit)))) || (((_arg1.shape2.GetBody().GetUserData().isCannonBall) && (!(_arg1.shape2.GetBody().GetUserData().hasHit)))))) || (((_arg1.shape1.GetBody().GetUserData().isCannonBall) && (!(_arg1.shape1.GetBody().GetUserData().hasHit)))))){ _local2 = _arg1.position; BlockEditor.addSplash(_local2); }; }; }; _arg1.shape1.GetBody().GetUserData().blockRef.touchingWater = true; _arg1.shape2.GetBody().GetUserData().blockRef.touchingWater = true; }; } override public function Result(_arg1:b2ContactResult):void{ var _local2:Boolean; var _local3:Object; var _local4:b2AABB; var _local5:b2AABB; _local2 = false; if (((_arg1.shape1.GetBody().GetUserData().smackable) || (_arg1.shape2.GetBody().GetUserData().smackable))){ if ((((Math.abs(_arg1.normalImpulse) > 40)) || (((((_arg1.shape1.GetBody().GetUserData().blockRef.isHeavy) || (_arg1.shape2.GetBody().GetUserData().blockRef.isHeavy))) && ((Math.abs(_arg1.normalImpulse) > 30)))))){ BlockEditor.addDust(_arg1.position, _arg1.shape1.GetBody().GetUserData().blockRef, _arg1.shape2.GetBody().GetUserData().blockRef); BlockEditor.addSmash(_arg1.position, _arg1.shape1.GetBody().GetUserData().blockRef, _arg1.shape2.GetBody().GetUserData().blockRef); } else { if (Math.abs(_arg1.normalImpulse) > 10){ BlockEditor.addDust(_arg1.position, _arg1.shape1.GetBody().GetUserData().blockRef, _arg1.shape2.GetBody().GetUserData().blockRef); }; }; }; if (_arg1.shape1.GetBody().GetUserData().isCannonBall){ _arg1.shape1.GetBody().GetUserData().hasHit = true; } else { if (_arg1.shape2.GetBody().GetUserData().isCannonBall){ _arg1.shape2.GetBody().GetUserData().hasHit = true; } else { if (((_arg1.shape1.GetBody().GetUserData()) && (_arg1.shape2.GetBody().GetUserData()))){ if ((((_arg1.shape1.GetBody().GetUserData().material == Block.WATER)) || ((_arg1.shape2.GetBody().GetUserData().material == Block.WATER)))){ _local2 = false; } else { if ((((((_arg1.shape1.GetBody().GetUserData().magnetic == true)) || ((_arg1.shape2.GetBody().GetUserData().magnetic == true)))) && ((((_arg1.shape1.GetBody().GetUserData().material == Block.METAL)) && ((_arg1.shape2.GetBody().GetUserData().material == Block.METAL)))))){ _local2 = true; }; if ((((((_arg1.shape1.GetBody().GetUserData().magnetic == true)) && (!((_arg1.shape1.GetBody().GetUserData().material == Block.METAL))))) || ((((_arg1.shape2.GetBody().GetUserData().magnetic == true)) && (!((_arg1.shape2.GetBody().GetUserData().material == Block.METAL))))))){ _local2 = true; }; }; }; }; }; if (((((((((_local2) || ((_arg1.shape1.GetBody().GetUserData().material == Block.WHEELBLOCKR)))) || ((_arg1.shape2.GetBody().GetUserData().material == Block.WHEELBLOCKR)))) || ((_arg1.shape1.GetBody().GetUserData().material == Block.WHEELBLOCKL)))) || ((_arg1.shape2.GetBody().GetUserData().material == Block.WHEELBLOCKL)))){ _local3 = new Object(); _local3.b1 = _arg1.shape1.GetBody(); _local3.b2 = _arg1.shape2.GetBody(); _local4 = new b2AABB(); _arg1.shape1.ComputeAABB(_local4, _arg1.shape1.GetBody().GetXForm()); _local3.bounds1 = _local4; _local5 = new b2AABB(); _arg1.shape2.ComputeAABB(_local5, _arg1.shape2.GetBody().GetXForm()); _local3.bounds2 = _local5; _local3.shape1 = _arg1.shape1; _local3.shape2 = _arg1.shape2; _local3.point = new b2Vec2(); _local3.point.x = _arg1.position.x; _local3.point.y = _arg1.position.y; if (_local2){ BlockEditor.registerContact(_local3); } else { BlockEditor.wheelBlockCollision(_local3); }; }; } } }//package com.nitrome.balancer
Section 85
//ContactListener_game (com.nitrome.balancer.ContactListener_game) package com.nitrome.balancer { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.Joints.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; public class ContactListener_game extends b2ContactListener { override public function Add(_arg1:b2ContactPoint):void{ var _local2:b2Vec2; if ((((((_arg1.shape1.GetBody().GetUserData().material == Block.WATER)) || ((_arg1.shape2.GetBody().GetUserData().material == Block.WATER)))) && (((!((_arg1.shape1.GetBody().GetUserData().material == Block.SCREW))) && (!((_arg1.shape2.GetBody().GetUserData().material == Block.SCREW))))))){ if ((((_arg1.shape1.GetBody().GetUserData().blockRef.touchingWater == false)) || ((_arg1.shape2.GetBody().GetUserData().blockRef.touchingWater == false)))){ _local2 = new b2Vec2(_arg1.position.x, _arg1.position.y); if (((!(_arg1.shape1.GetBody().GetUserData().isCannonBall)) && (!(_arg1.shape2.GetBody().GetUserData().isCannonBall)))){ if (_arg1.shape1.GetBody().GetUserData().material != Block.WATER){ _local2.x = _arg1.shape1.GetBody().GetWorldCenter().x; _local2.y = _arg1.shape2.GetBody().GetUserData().blockRef.getBoundingBox().lowerBound.y; if (!_arg1.shape2.GetBody().GetUserData().blockRef.testPoint(_local2)){ _local2 = _arg1.position; }; } else { _local2.x = _arg1.shape2.GetBody().GetWorldCenter().x; _local2.y = _arg1.shape1.GetBody().GetUserData().blockRef.getBoundingBox().lowerBound.y; if (!_arg1.shape1.GetBody().GetUserData().blockRef.testPoint(_local2)){ _local2 = _arg1.position; }; }; BalanceGame.addSplash(_local2); } else { if (((((((_arg1.shape1.GetBody().GetUserData().isCannonBall) && (!(_arg1.shape2.GetBody().GetUserData().hasHit)))) || (((_arg1.shape2.GetBody().GetUserData().isCannonBall) && (!(_arg1.shape2.GetBody().GetUserData().hasHit)))))) || (((_arg1.shape1.GetBody().GetUserData().isCannonBall) && (!(_arg1.shape1.GetBody().GetUserData().hasHit)))))){ _local2 = _arg1.position; BalanceGame.addSplash(_local2); }; }; }; _arg1.shape1.GetBody().GetUserData().blockRef.touchingWater = true; _arg1.shape2.GetBody().GetUserData().blockRef.touchingWater = true; }; } override public function Result(_arg1:b2ContactResult):void{ var _local2:Boolean; var _local3:Object; var _local4:b2AABB; var _local5:b2AABB; _local2 = false; if (((((_arg1.shape1.GetBody().GetUserData().smackable) || (_arg1.shape2.GetBody().GetUserData().smackable))) && (((!((_arg1.shape1.GetBody().GetUserData().blockRef.shapeID == 21))) && (!((_arg1.shape2.GetBody().GetUserData().blockRef.shapeID == 21))))))){ if ((((Math.abs(_arg1.normalImpulse) > 40)) || (((((_arg1.shape1.GetBody().GetUserData().blockRef.isHeavy) || (_arg1.shape2.GetBody().GetUserData().blockRef.isHeavy))) && ((Math.abs(_arg1.normalImpulse) > 30)))))){ BalanceGame.addDust(_arg1.position, _arg1.shape1.GetBody().GetUserData().blockRef, _arg1.shape2.GetBody().GetUserData().blockRef); BalanceGame.addSmash(_arg1.position, _arg1.shape1.GetBody().GetUserData().blockRef, _arg1.shape2.GetBody().GetUserData().blockRef); } else { if (Math.abs(_arg1.normalImpulse) > 10){ BalanceGame.addDust(_arg1.position, _arg1.shape1.GetBody().GetUserData().blockRef, _arg1.shape2.GetBody().GetUserData().blockRef); }; }; }; if (_arg1.shape1.GetBody().GetUserData().isCannonBall){ _arg1.shape1.GetBody().GetUserData().hasHit = true; _arg1.shape1.GetBody().GetUserData().smackable = false; } else { if (_arg1.shape2.GetBody().GetUserData().isCannonBall){ _arg1.shape2.GetBody().GetUserData().hasHit = true; _arg1.shape2.GetBody().GetUserData().smackable = false; } else { if (((_arg1.shape1.GetBody().GetUserData()) && (_arg1.shape2.GetBody().GetUserData()))){ if ((((_arg1.shape1.GetBody().GetUserData().material == Block.WATER)) || ((_arg1.shape2.GetBody().GetUserData().material == Block.WATER)))){ _local2 = false; } else { if ((((((_arg1.shape1.GetBody().GetUserData().magnetic == true)) || ((_arg1.shape2.GetBody().GetUserData().magnetic == true)))) && ((((_arg1.shape1.GetBody().GetUserData().material == Block.METAL)) && ((_arg1.shape2.GetBody().GetUserData().material == Block.METAL)))))){ _local2 = true; }; if ((((((_arg1.shape1.GetBody().GetUserData().magnetic == true)) && (!((_arg1.shape1.GetBody().GetUserData().material == Block.METAL))))) || ((((_arg1.shape2.GetBody().GetUserData().magnetic == true)) && (!((_arg1.shape2.GetBody().GetUserData().material == Block.METAL))))))){ _local2 = true; }; }; }; }; }; if (((((((((_local2) || ((_arg1.shape1.GetBody().GetUserData().material == Block.WHEELBLOCKR)))) || ((_arg1.shape2.GetBody().GetUserData().material == Block.WHEELBLOCKR)))) || ((_arg1.shape1.GetBody().GetUserData().material == Block.WHEELBLOCKL)))) || ((_arg1.shape2.GetBody().GetUserData().material == Block.WHEELBLOCKL)))){ _local3 = new Object(); _local3.b1 = _arg1.shape1.GetBody(); _local3.b2 = _arg1.shape2.GetBody(); _local4 = new b2AABB(); _arg1.shape1.ComputeAABB(_local4, _arg1.shape1.GetBody().GetXForm()); _local3.bounds1 = _local4; _local5 = new b2AABB(); _arg1.shape2.ComputeAABB(_local5, _arg1.shape2.GetBody().GetXForm()); _local3.bounds2 = _local5; _local3.shape1 = _arg1.shape1; _local3.shape2 = _arg1.shape2; _local3.point = new b2Vec2(); _local3.point.x = _arg1.position.x; _local3.point.y = _arg1.position.y; if (_local2){ BalanceGame.registerContact(_local3); } else { BalanceGame.wheelBlockCollision(_local3); }; }; } } }//package com.nitrome.balancer
Section 86
//Controller (com.nitrome.balancer.Controller) package com.nitrome.balancer { import flash.geom.*; import flash.net.*; public class Controller { var  :Array; var scrollEdges:Array; var  :Array; var levelStaticMCBlocks:Array; var blocksInPlay:Array; var noDragFlag:Array; var waterFlag:Array; public var titleScreen:Boolean;// = false var  :Boolean;// = false var  :Array; var levelStamps:Array; var  :Array; var levelStaticBlocks:Array; var deadZoneFlag:Array; public static var selectedLevel:Number = 0; public static var levelScore:Number = 10000; public static var totalScore:Number = 0; static var rootLine:Object; public function Controller(_arg1:Object){   = false; titleScreen = false; super(); rootLine = _arg1;  = new Array();  ["0a51d1a48cc8d1776ceb56cf4793bd27"] = "<BalanceLevel><NumStaticBlocks data=\"13\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-260,120,-140,120,-140,240,-260,240\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-140,120,-100,120,-100,160,-140,160\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-210,-330,-80,-330,-80,-300,-100,-280,-100,-220,-210,-220\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-320,-330,-210,-330,-210,-220,-320,-220\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-140,160,-100,160,-100,200,-140,200\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-320,120,-260,120,-260,240,-320,240\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-140,200,-100,200,-100,240,-140,240\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-320,240,-100,240,-100,390,-320,390\"/><BlockDef_9 water=\"1\" nodrag=\"0\" deadzone=\"0\" data=\"-100,290,330,290,330,350,-100,350\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"1\" data=\"-150,-109.2,80,-109.15,80,-70,50,-40,50,10,40,20,30,30,-80,30,-210,30,-210,80,-260,80,-330,80,-330,30,-330,-50,-150,-50\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-320,80,-260,80,-260,120,-320,120\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-260,80,-210,80,-210,30,-100,30,-100,80,-100,120,-260,120\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-320,-220,-100,-220,-100,-110,-150,-100,-150,-60,-280,-60,-320,-60\"/><NumElementBlocks data=\"3\"/><ElementDef_1 data=\"3,-160,-350\"/><ElementDef_2 data=\"2,-150,130,2\"/><ElementDef_3 data=\"1,-150,-210,2\"/><NumStamps data=\"87\"/><StampDef_1 data=\"38,-80,290\"/><StampDef_2 data=\"38,-40,290\"/><StampDef_3 data=\"38,0,290\"/><StampDef_4 data=\"38,40,290\"/><StampDef_5 data=\"38,80,290\"/><StampDef_6 data=\"38,120,290\"/><StampDef_7 data=\"38,160,290\"/><StampDef_8 data=\"38,200,290\"/><StampDef_9 data=\"38,240,290\"/><StampDef_10 data=\"38,280,290\"/><StampDef_11 data=\"38,320,290\"/><StampDef_12 data=\"76,-136,-99.65\"/><StampDef_13 data=\"77,-84,-100.35\"/><StampDef_14 data=\"77,-21,-99.55000000000001\"/><StampDef_15 data=\"78,71,-99.6\"/><StampDef_16 data=\"81,35,-98\"/><StampDef_17 data=\"80,15,-100.5\"/><StampDef_18 data=\"78,-163,-50.94999999999999\"/><StampDef_19 data=\"77,-215,-50.900000000000006\"/><StampDef_20 data=\"77,-279,-51.099999999999994\"/><StampDef_21 data=\"81,-327.5,-48.849999999999994\"/><StampDef_22 data=\"65,21,-3\"/><StampDef_23 data=\"70,-10,-11\"/><StampDef_24 data=\"66,-279,1.5\"/><StampDef_25 data=\"69,-95,-66\"/><StampDef_26 data=\"65,-166,7\"/><StampDef_27 data=\"75,-86,-37\"/><StampDef_28 data=\"71,-58,-63\"/><StampDef_29 data=\"72,-263,21\"/><StampDef_30 data=\"71,-246,23\"/><StampDef_31 data=\"73,-140,5\"/><StampDef_32 data=\"73,38,-59\"/><StampDef_33 data=\"72,-292,58\"/><StampDef_34 data=\"74,-291,58\"/><StampDef_35 data=\"48,-49,-39\"/><StampDef_36 data=\"53,40,-15\"/><StampDef_37 data=\"52,63,-84\"/><StampDef_38 data=\"50,-227,66\"/><StampDef_39 data=\"52,-188,-33\"/><StampDef_40 data=\"49,-296,-30.5\"/><StampDef_41 data=\"53,-304,-20\"/><StampDef_42 data=\"51,-3,7\"/><StampDef_43 data=\"51,-75,21\"/><StampDef_44 data=\"50,-84,13\"/><StampDef_45 data=\"57,-9,-118.6\"/><StampDef_46 data=\"59,20,-111.15\"/><StampDef_47 data=\"59,-63,-115.4\"/><StampDef_48 data=\"62,-74,-109.4\"/><StampDef_49 data=\"47,-128,-122\"/><StampDef_50 data=\"45,71.5,-118.65\"/><StampDef_51 data=\"3,-284,-323.5\"/><StampDef_52 data=\"3,-196,-324.5\"/><StampDef_53 data=\"14,-136,-324\"/><StampDef_54 data=\"35,-201.5,-210\"/><StampDef_55 data=\"32,-288,-115\"/><StampDef_56 data=\"33,-280,-130\"/><StampDef_57 data=\"34,-187,-89\"/><StampDef_58 data=\"34,-292,-287.5\"/><StampDef_59 data=\"36,-299,-202\"/><StampDef_60 data=\"36,-114.5,-304\"/><StampDef_61 data=\"32,-120,258\"/><StampDef_62 data=\"34,-298,305.5\"/><StampDef_63 data=\"34,-164.5,179.95\"/><StampDef_64 data=\"32,-295,142\"/><StampDef_65 data=\"35,-251,266\"/><StampDef_66 data=\"36,-260,257\"/><StampDef_67 data=\"36,-139,310\"/><StampDef_68 data=\"33,-198.95,320\"/><StampDef_69 data=\"33,-236,209\"/><StampDef_70 data=\"33,-169.5,-305\"/><StampDef_71 data=\"35,-240,-178\"/><StampDef_72 data=\"14,-109,-325\"/><StampDef_73 data=\"4,-89,-328\"/><StampDef_74 data=\"9,-226.5,-345\"/><StampDef_75 data=\"7,-292,-345.5\"/><StampDef_76 data=\"10,-310,-338\"/><StampDef_77 data=\"93,-70,320\"/><StampDef_78 data=\"93,-10,320\"/><StampDef_79 data=\"93,50,320\"/><StampDef_80 data=\"93,110,320\"/><StampDef_81 data=\"93,170,320\"/><StampDef_82 data=\"93,230,320\"/><StampDef_83 data=\"93,290,320\"/><StampDef_84 data=\"93,350,320\"/><StampDef_85 data=\"11,-250,-365.5\"/><StampDef_86 data=\"5,-256,-347.5\"/><StampDef_87 data=\"43,-103,-336\"/><NumLevelBlocks data=\"19\"/><LevelBlockDef_1 data=\"5,1,1,0,0,0\"/><LevelBlockDef_2 data=\"11,0,1,180,0,0\"/><LevelBlockDef_3 data=\"3,1,1,0,1,0\"/><LevelBlockDef_4 data=\"7,0,1,0,1,6\"/><LevelBlockDef_5 data=\"4,1,1,0,0,0\"/><LevelBlockDef_6 data=\"5,1,1,0,0,0\"/><LevelBlockDef_7 data=\"22,1,1,0,0,0\"/><LevelBlockDef_8 data=\"6,1,1,0,0,0\"/><LevelBlockDef_9 data=\"6,1,1,0,0,0\"/><LevelBlockDef_10 data=\"22,1,1,0,0,0\"/><LevelBlockDef_11 data=\"6,1,1,0,0,0\"/><LevelBlockDef_12 data=\"6,1,1,0,0,0\"/><LevelBlockDef_13 data=\"22,1,1,0,0,0\"/><LevelBlockDef_14 data=\"6,1,1,0,0,0\"/><LevelBlockDef_15 data=\"4,1,1,0,0,0\"/><LevelBlockDef_16 data=\"5,1,1,0,0,0\"/><LevelBlockDef_17 data=\"3,1,1,0,1,0\"/><LevelBlockDef_18 data=\"11,0,1,180,0,0\"/><LevelBlockDef_19 data=\"3,1,0,0,1,0\"/><NumInitialBlocks data=\"0\"/><ScrollLimits data=\"-316,314,-547,322,0,-110\"/><Score data=\"8000\" /></BalanceLevel>";  ["0ad36322267fbc967dc04c3acecfcb6b"] = "<BalanceLevel><NumStaticBlocks data=\"40\"/><BlockDef_1 water=\"0\" nodrag=\"1\" deadzone=\"0\" data=\"-140,-220,-70,-220,-70,-150,80,-150,80,-110,-70,-110,-70,-90,80,-90,80,-50,-70,-50,-70,30,150,30,150,140,130,160,60,160,60,260,40,280,-30,280,-50,260,-50,160,-120,160,-140,140\"/><BlockDef_2 water=\"0\" nodrag=\"1\" deadzone=\"0\" data=\"-140,-270,-120,-290,-40,-290,-40,-360,-20,-380,40,-380,60,-360,60,-290,130,-290,150,-270,150,10,-50,10,-50,-30,100,-30,100,-170,-50,-170,-50,-240,-140,-240\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-60,-400,80,-400,80,-340,50,-310,-30,-310,-60,-340\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,-240,-280,-240,-280,-120,-320,-80,-450,-80\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,-80,-320,-80,-320,-40,-360,-40\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,-40,-320,-40,-320,0,-360,0\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,-80,-360,-80,-360,0,-450,0\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,0,-360,0,-360,80,-450,80\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-490,-240,-450,-240,-450,-200,-490,-200\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-530,-240,-490,-240,-490,-200,-530,-200\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-530,-200,-450,-200,-450,0,-530,0\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-490,0,-450,0,-450,40,-490,40\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-530,0,-490,0,-490,40,-530,40\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-490,40,-450,40,-450,80,-490,80\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-530,40,-490,40,-490,80,-530,80\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-530,80,-450,80,-450,260,-530,260\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-530,260,-400,260,-400,330,-530,330\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-280,180,-180,180,-180,280,-280,280\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-280,280,-230,280,-230,330,-280,330\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-230,280,-180,280,-180,330,-230,330\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-180,180,-80,180,-80,280,-180,280\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-180,280,-80,280,-80,330,-180,330\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-80,180,90,180,90,330,-80,330\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"90,290,130,290,130,330,90,330\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"130,290,170,290,170,330,130,330\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"90,250,130,250,130,290,90,290\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"130,250,170,250,170,290,130,290\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"90,180,170,180,170,250,90,250\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"170,180,280,180,280,290,170,290\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"170,290,280,290,280,330,170,330\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"280,180,360,180,360,330,280,330\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"280,-30,360,-30,360,180,280,180\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"170,-240,360,-240,360,-30,200,-30,170,-60\"/><BlockDef_34 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,210,-400,210,-400,260,-450,260\"/><BlockDef_35 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-400,210,-280,210,-280,330,-400,330\"/><BlockDef_36 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"240,-30,280,-30,280,10\"/><BlockDef_37 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,80,-320,80,-320,210,-450,210\"/><BlockDef_38 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,40,-320,40,-320,80,-360,80\"/><BlockDef_39 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,0,-320,0,-320,40,-360,40\"/><BlockDef_40 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-320,180,-280,180,-280,210,-320,210\"/><NumElementBlocks data=\"4\"/><ElementDef_1 data=\"1,0,210,1\"/><ElementDef_2 data=\"2,210,-130,4\"/><ElementDef_3 data=\"3,-330,-260\"/><ElementDef_4 data=\"4,-210,140,you cannot click or drag your|shapes through these glass|panels. and its right in the way.| typical!!!\"/><NumStamps data=\"108\"/><StampDef_1 data=\"90,4,265\"/><StampDef_2 data=\"90,10,-365\"/><StampDef_3 data=\"2,-52,-396\"/><StampDef_4 data=\"3,4,-396\"/><StampDef_5 data=\"4,77,-395\"/><StampDef_6 data=\"14,53,-396\"/><StampDef_7 data=\"3,-223,186\"/><StampDef_8 data=\"3,-136,186\"/><StampDef_9 data=\"14,-74.5,186\"/><StampDef_10 data=\"15,-46.5,185\"/><StampDef_11 data=\"3,91.5,185\"/><StampDef_12 data=\"3,177.5,185\"/><StampDef_13 data=\"14,240,185\"/><StampDef_14 data=\"4,271,184\"/><StampDef_15 data=\"3,-340,-234\"/><StampDef_16 data=\"4,-285,-236\"/><StampDef_17 data=\"3,-426,-234\"/><StampDef_18 data=\"3,-514,-234\"/><StampDef_19 data=\"3,234,-235\"/><StampDef_20 data=\"3,321,-236\"/><StampDef_21 data=\"2,178.5,-235.95\"/><StampDef_22 data=\"14,-286,186\"/><StampDef_23 data=\"2,-316,185\"/><StampDef_24 data=\"32,-251,251\"/><StampDef_25 data=\"34,-214,217\"/><StampDef_26 data=\"35,-197,261\"/><StampDef_27 data=\"35,-98,243\"/><StampDef_28 data=\"34,-380,278\"/><StampDef_29 data=\"33,-335,242\"/><StampDef_30 data=\"36,-311,281\"/><StampDef_31 data=\"36,-428,114\"/><StampDef_32 data=\"32,-390,135\"/><StampDef_33 data=\"33,-432,192\"/><StampDef_34 data=\"34,-331,100\"/><StampDef_35 data=\"33,-458,279\"/><StampDef_36 data=\"33,-474,129\"/><StampDef_37 data=\"32,-121,300\"/><StampDef_38 data=\"35,-432,18\"/><StampDef_39 data=\"36,-387,55\"/><StampDef_40 data=\"32,-327,-119\"/><StampDef_41 data=\"33,-367,-123\"/><StampDef_42 data=\"33,-423,-198\"/><StampDef_43 data=\"33,-305,-199\"/><StampDef_44 data=\"36,-352,-172\"/><StampDef_45 data=\"36,-432,-108\"/><StampDef_46 data=\"36,-382,-56\"/><StampDef_47 data=\"33,-374,-17\"/><StampDef_48 data=\"33,-469,-40\"/><StampDef_49 data=\"34,-477,-151\"/><StampDef_50 data=\"36,-336,-25\"/><StampDef_51 data=\"32,-33,288\"/><StampDef_52 data=\"35,130,218\"/><StampDef_53 data=\"33,104,208\"/><StampDef_54 data=\"34,245,210\"/><StampDef_55 data=\"32,206,266\"/><StampDef_56 data=\"34,28,277\"/><StampDef_57 data=\"33,65.5,228\"/><StampDef_58 data=\"34,69,316\"/><StampDef_59 data=\"32,329,271\"/><StampDef_60 data=\"33,337,197\"/><StampDef_61 data=\"36,299,217\"/><StampDef_62 data=\"33,309,33\"/><StampDef_63 data=\"34,338,108\"/><StampDef_64 data=\"33,320,-101\"/><StampDef_65 data=\"33,265,-57\"/><StampDef_66 data=\"34,323,-55\"/><StampDef_67 data=\"32,323,-201\"/><StampDef_68 data=\"32,280.5,-133.95\"/><StampDef_69 data=\"35,232,-198\"/><StampDef_70 data=\"36,-153,215\"/><StampDef_71 data=\"36,-469,-216\"/><StampDef_72 data=\"36,304,152\"/><StampDef_73 data=\"36,46,-362\"/><StampDef_74 data=\"32,-21,-338\"/><StampDef_75 data=\"34,38,-330\"/><StampDef_76 data=\"35,-48,-375\"/><StampDef_77 data=\"35,-8,-379\"/><StampDef_78 data=\"35,-477,215\"/><StampDef_79 data=\"36,233,298\"/><StampDef_80 data=\"35,294,90\"/><StampDef_81 data=\"6,-274,158\"/><StampDef_82 data=\"43,-181,174\"/><StampDef_83 data=\"42,-90,171\"/><StampDef_84 data=\"40,253,163\"/><StampDef_85 data=\"43,263,171\"/><StampDef_86 data=\"41,150,182\"/><StampDef_87 data=\"7,222,143\"/><StampDef_88 data=\"13,199,162\"/><StampDef_89 data=\"12,208,165\"/><StampDef_90 data=\"9,108,164\"/><StampDef_91 data=\"7,-252,164\"/><StampDef_92 data=\"10,-153,144\"/><StampDef_93 data=\"5,-144,164\"/><StampDef_94 data=\"5,-468,-257\"/><StampDef_95 data=\"7,-388,-279\"/><StampDef_96 data=\"13,-408,-260\"/><StampDef_97 data=\"10,-399,-251\"/><StampDef_98 data=\"11,-457,-257\"/><StampDef_99 data=\"5,208,-258\"/><StampDef_100 data=\"7,242,-258\"/><StampDef_101 data=\"11,311,-285\"/><StampDef_102 data=\"6,316,-263\"/><StampDef_103 data=\"10,264,-252\"/><StampDef_104 data=\"43,176.5,-245.95\"/><StampDef_105 data=\"5,38,-420\"/><StampDef_106 data=\"7,-22,-414\"/><StampDef_107 data=\"10,-3,-410\"/><StampDef_108 data=\"41,-43,-399\"/><NumLevelBlocks data=\"2\"/><LevelBlockDef_1 data=\"7,1,0,0,1,2\"/><LevelBlockDef_2 data=\"7,1,0,0,1,2\"/><NumInitialBlocks data=\"3\"/><InitialBlockDef_1 data=\"8.332499326146344,5.337719103771313,0.00061435543624667,1,0,1,2,true,7\"/><InitialBlockDef_2 data=\"7.869015967037591,-8.663784906444087,-0.0021197795087796924,1,0,1,2,true,7\"/><InitialBlockDef_3 data=\"-8.581803295232392,5.003801583353006,-1.5689418075004724,1,0,1,2,true,7\"/><ScrollLimits data=\"-479,351,-578,302,-40,-70\"/><Score data=\"7000\" /></BalanceLevel>";  ["0b72e561842b29a8b14b4585d06e8b17"] = "<BalanceLevel><NumStaticBlocks data=\"41\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"10,170,180,170,180,230,180,310,10,310\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-400,-430,-250,-430,-250,-210,-250,-210,-250,-130,-170,-130,-197,-103,-197.5,-90.5,-167,-59,-250,-60,-250,20,-320,20,-320,80,-320,170,-400,170,-400,20,-250,20,-250,-210,-400,-210\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-250,-60,-168,-59,-168,20,-250,20\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-250,-210,-130,-210,-130,-170,-170,-130,-250,-130\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"490,170,630,170,630,310,520,310,520,230,490,200\"/><BlockDef_6 water=\"1\" nodrag=\"0\" deadzone=\"0\" data=\"280,240,520,240,520,310,280,310\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"20,-210,100,-210,100,-130,60,-130,20,-170\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"100,-270,250,-270,250,-130,100,-130\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"210,-310,250,-310,250,-270,210,-270\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"170,-310,210,-310,210,-270,170,-270\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"210,-350,250,-350,250,-310,210,-310\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"170,-350,210,-350,210,-310,170,-310\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"170,-440,250,-440,250,-350,170,-350\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"250,-440,550,-440,550,-130,250,-130\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"550,-440,730,-440,730,-310,550,-310\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"550,-310,630,-310,630,-230,550,-230\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"630,-270,670,-270,670,-230,630,-230\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"670,-270,730,-270,730,-230,670,-230\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"630,-310,670,-310,670,-270,630,-270\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"670,-310,730,-310,730,-270,670,-270\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-400,-210,-250,-210,-250,20,-400,20\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-320,20,-170,20,-190,40,-191,67,-170,88,-170,170,-320,170\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-210,170,-170,170,-170,210,-210,210\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-210,210,-170,210,-170,250,-210,250\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-250,170,-210,170,-210,210,-250,210\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-250,210,-210,210,-210,250,-250,250\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-400,170,-250,170,-250,310,-400,310\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-250,250,-170,250,-170,310,-250,310\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"250,-130,400,-130,400,-80,300,-80\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"400,-130,550,-130,500,-80,400,-80\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-170,170,10,170,10,310,-170,310\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,120,230,120,230,180,180,180\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,230,280,230,280,310,180,310\"/><BlockDef_34 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"550,-230,590,-230,570,-210,550,-190\"/><BlockDef_35 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"630,170,670,170,670,210,630,210\"/><BlockDef_36 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"670,170,730,170,730,210,670,210\"/><BlockDef_37 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"630,210,670,210,670,250,630,250\"/><BlockDef_38 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"670,210,730,210,730,250,670,250\"/><BlockDef_39 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"630,250,730,250,730,310,630,310\"/><BlockDef_40 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,120,310,120,310,200,280,230,230,230\"/><BlockDef_41 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,180,230,180,230,230,180,230\"/><NumElementBlocks data=\"6\"/><ElementDef_1 data=\"5,-220,-90,1\"/><ElementDef_2 data=\"2,-300,-270,2\"/><ElementDef_3 data=\"1,100,220,1\"/><ElementDef_4 data=\"3,550,150\"/><ElementDef_5 data=\"5,-220,60,1\"/><ElementDef_6 data=\"4,260,80,You can use a spare block|to hold your tower steady.\"/><NumStamps data=\"179\"/><StampDef_1 data=\"3,-113,177\"/><StampDef_2 data=\"3,-27,176.5\"/><StampDef_3 data=\"2,-166,175.5\"/><StampDef_4 data=\"4,48.5,174\"/><StampDef_5 data=\"14,24,176\"/><StampDef_6 data=\"4,-137,-205.5\"/><StampDef_7 data=\"3,-193,-203.5\"/><StampDef_8 data=\"2,-246,-205.5\"/><StampDef_9 data=\"2,26,-206.5\"/><StampDef_10 data=\"14,55,-205\"/><StampDef_11 data=\"4,98,-207\"/><StampDef_12 data=\"15,81,-206\"/><StampDef_13 data=\"2,107,-267\"/><StampDef_14 data=\"4,170,-265.5\"/><StampDef_15 data=\"14,138,-265\"/><StampDef_16 data=\"2,186,125\"/><StampDef_17 data=\"4,300,123.5\"/><StampDef_18 data=\"3,243,125\"/><StampDef_19 data=\"2,498,173.5\"/><StampDef_20 data=\"3,554,176.5\"/><StampDef_21 data=\"3,641,176.5\"/><StampDef_22 data=\"14,701,176\"/><StampDef_23 data=\"2,158.5,172\"/><StampDef_24 data=\"4,172,172\"/><StampDef_25 data=\"38,300,250\"/><StampDef_26 data=\"38,340,250\"/><StampDef_27 data=\"38,380,250\"/><StampDef_28 data=\"38,420,250\"/><StampDef_29 data=\"38,460,250\"/><StampDef_30 data=\"38,500,250\"/><StampDef_31 data=\"32,-282,-180\"/><StampDef_32 data=\"33,-305,-164\"/><StampDef_33 data=\"34,-273.5,-140.5\"/><StampDef_34 data=\"33,-344,-49\"/><StampDef_35 data=\"33,-380,0\"/><StampDef_36 data=\"32,-276,-3\"/><StampDef_37 data=\"32,-380,-142\"/><StampDef_38 data=\"36,-297,-29\"/><StampDef_39 data=\"36,-382,-35\"/><StampDef_40 data=\"36,-314,-119\"/><StampDef_41 data=\"36,-376,-194\"/><StampDef_42 data=\"34,-295,-370\"/><StampDef_43 data=\"33,-349,-389\"/><StampDef_44 data=\"32,-368.5,-286.05\"/><StampDef_45 data=\"36,-361,-319\"/><StampDef_46 data=\"36,-346.5,-223.05\"/><StampDef_47 data=\"36,-388,-243\"/><StampDef_48 data=\"36,-265,-400\"/><StampDef_49 data=\"36,-389,-355\"/><StampDef_50 data=\"36,-214,-166\"/><StampDef_51 data=\"32,-163,-170\"/><StampDef_52 data=\"35,-186,-153\"/><StampDef_53 data=\"34,-224,-44\"/><StampDef_54 data=\"35,-210,0\"/><StampDef_55 data=\"34,-292,121\"/><StampDef_56 data=\"34,-195,145\"/><StampDef_57 data=\"35,-284,36\"/><StampDef_58 data=\"33,-354,145\"/><StampDef_59 data=\"34,-390,84\"/><StampDef_60 data=\"36,-225,112\"/><StampDef_61 data=\"36,-182,-36\"/><StampDef_62 data=\"36,-336,60\"/><StampDef_63 data=\"32,-346,265\"/><StampDef_64 data=\"33,-332,246\"/><StampDef_65 data=\"34,-265,277\"/><StampDef_66 data=\"33,-272,190\"/><StampDef_67 data=\"36,-374,203\"/><StampDef_68 data=\"36,-185,230\"/><StampDef_69 data=\"32,-89,212\"/><StampDef_70 data=\"34,-62,236\"/><StampDef_71 data=\"34,-1,198\"/><StampDef_72 data=\"34,-135,294\"/><StampDef_73 data=\"36,-138,250\"/><StampDef_74 data=\"36,-25,286\"/><StampDef_75 data=\"36,-213,274\"/><StampDef_76 data=\"36,-226,190\"/><StampDef_77 data=\"36,-295,-64\"/><StampDef_78 data=\"36,70.5,279\"/><StampDef_79 data=\"32,102,281\"/><StampDef_80 data=\"33,156.5,266\"/><StampDef_81 data=\"36,162.5,233\"/><StampDef_82 data=\"36,168,296\"/><StampDef_83 data=\"36,23.5,247\"/><StampDef_84 data=\"36,226,250\"/><StampDef_85 data=\"34,279,153\"/><StampDef_86 data=\"32,259,182\"/><StampDef_87 data=\"35,292,199\"/><StampDef_88 data=\"35,206,148\"/><StampDef_89 data=\"35,-107,277\"/><StampDef_90 data=\"35,255,279\"/><StampDef_91 data=\"35,576,275\"/><StampDef_92 data=\"32,599,258\"/><StampDef_93 data=\"34,554,231\"/><StampDef_94 data=\"33,604,208\"/><StampDef_95 data=\"32,694,281\"/><StampDef_96 data=\"35,644,288\"/><StampDef_97 data=\"34,694,220\"/><StampDef_98 data=\"35,517,192\"/><StampDef_99 data=\"35,649,194\"/><StampDef_100 data=\"36,656,226\"/><StampDef_101 data=\"36,543,290\"/><StampDef_102 data=\"36,217,208\"/><StampDef_103 data=\"32,76,-176\"/><StampDef_104 data=\"34,35,-185\"/><StampDef_105 data=\"36,63,-143\"/><StampDef_106 data=\"36,205,-204\"/><StampDef_107 data=\"36,131,-239\"/><StampDef_108 data=\"36,126,-164\"/><StampDef_109 data=\"36,400,-186\"/><StampDef_110 data=\"36,363,-309\"/><StampDef_111 data=\"36,310,-196\"/><StampDef_112 data=\"34,154,-151\"/><StampDef_113 data=\"34,154,-244\"/><StampDef_114 data=\"34,227,-175\"/><StampDef_115 data=\"34,152,-195\"/><StampDef_116 data=\"33,236,-260\"/><StampDef_117 data=\"32,305,-297\"/><StampDef_118 data=\"32,387,-259\"/><StampDef_119 data=\"32,338,-149\"/><StampDef_120 data=\"32,525,-376\"/><StampDef_121 data=\"32,526,-160\"/><StampDef_122 data=\"33,489,-305\"/><StampDef_123 data=\"33,506,-283\"/><StampDef_124 data=\"33,276,-393\"/><StampDef_125 data=\"33,272,-229\"/><StampDef_126 data=\"33,408,-361\"/><StampDef_127 data=\"33,190,-384\"/><StampDef_128 data=\"33,237,-404\"/><StampDef_129 data=\"34,188,-295\"/><StampDef_130 data=\"35,198,-374\"/><StampDef_131 data=\"35,230,-327\"/><StampDef_132 data=\"35,412,-250\"/><StampDef_133 data=\"35,644,-354\"/><StampDef_134 data=\"34,493,-102\"/><StampDef_135 data=\"33,411,-117\"/><StampDef_136 data=\"35,420,-107\"/><StampDef_137 data=\"36,457,-90\"/><StampDef_138 data=\"36,326,-103\"/><StampDef_139 data=\"32,690,-247\"/><StampDef_140 data=\"34,588,-267\"/><StampDef_141 data=\"34,696,-289\"/><StampDef_142 data=\"35,412,-180\"/><StampDef_143 data=\"35,598,-396\"/><StampDef_144 data=\"33,697,-410\"/><StampDef_145 data=\"32,684,-392\"/><StampDef_146 data=\"32,351,-426\"/><StampDef_147 data=\"6,-99,151\"/><StampDef_148 data=\"91,123,-324.5\"/><StampDef_149 data=\"7,143,-287\"/><StampDef_150 data=\"10,162,-279\"/><StampDef_151 data=\"8,108,-279\"/><StampDef_152 data=\"8,-144,-224\"/><StampDef_153 data=\"11,-163,-246\"/><StampDef_154 data=\"13,-186,-228.5\"/><StampDef_155 data=\"9,-175,-219\"/><StampDef_156 data=\"12,-238,-221\"/><StampDef_157 data=\"12,77,-223\"/><StampDef_158 data=\"9,58,-226\"/><StampDef_159 data=\"43,35,-218\"/><StampDef_160 data=\"9,-46,155\"/><StampDef_161 data=\"93,310,280\"/><StampDef_162 data=\"93,360,280\"/><StampDef_163 data=\"93,420,280\"/><StampDef_164 data=\"93,470,280\"/><StampDef_165 data=\"93,530,280\"/><StampDef_166 data=\"91,-27.30000000000001,113.85000000000002\"/><StampDef_167 data=\"92,222,77\"/><StampDef_168 data=\"11,8,136\"/><StampDef_169 data=\"5,5,153\"/><StampDef_170 data=\"8,36.5,157\"/><StampDef_171 data=\"12,-160,159\"/><StampDef_172 data=\"12,204,108\"/><StampDef_173 data=\"8,613,159\"/><StampDef_174 data=\"9,667,126\"/><StampDef_175 data=\"6,665,149\"/><StampDef_176 data=\"11,645,151\"/><StampDef_177 data=\"43,165.3,161\"/><StampDef_178 data=\"9,241,106\"/><StampDef_179 data=\"41,292,122\"/><NumLevelBlocks data=\"13\"/><LevelBlockDef_1 data=\"7,0,0,0,1,3\"/><LevelBlockDef_2 data=\"4,0,0,0,1,7\"/><LevelBlockDef_3 data=\"7,0,0,0,1,3\"/><LevelBlockDef_4 data=\"4,0,0,0,1,7\"/><LevelBlockDef_5 data=\"7,0,0,0,1,13\"/><LevelBlockDef_6 data=\"5,0,0,0,1,8\"/><LevelBlockDef_7 data=\"7,0,0,0,1,14\"/><LevelBlockDef_8 data=\"5,0,0,0,1,8\"/><LevelBlockDef_9 data=\"3,0,0,0,1,1\"/><LevelBlockDef_10 data=\"7,0,0,0,1,5\"/><LevelBlockDef_11 data=\"3,0,0,0,1,1\"/><LevelBlockDef_12 data=\"27,0,0,0,0,0\"/><LevelBlockDef_13 data=\"7,0,0,0,1,13\"/><NumInitialBlocks data=\"12\"/><InitialBlockDef_1 data=\"-7.338170808612601,-11.651810723103594,12.566263360855428,1,0,1,2,true,7\"/><InitialBlockDef_2 data=\"-7.00138789730008,-7.994813308221931,4.712460605545344,1,0,1,2,true,7\"/><InitialBlockDef_3 data=\"-5.335274191037716,-7.66188972489849,18.84985847872288,1,0,1,4,true,7\"/><InitialBlockDef_4 data=\"-7.336854214766233,-9.656342586063577,0.00010095478050851162,1,0,1,4,true,7\"/><InitialBlockDef_5 data=\"-5.339610870464444,-10.323440215073408,3.141975544584017,1,0,1,2,true,7\"/><InitialBlockDef_6 data=\"-5.3428097435947866,-11.65168211305856,0.00042877485039434553,1,0,1,4,true,7\"/><InitialBlockDef_7 data=\"2.3376542911215568,-7.66175789808833,-3.1415767072446537,1,0,1,0,true,3\"/><InitialBlockDef_8 data=\"2.3353058448609283,-9.326057611251438,-0.0022737251528626165,1,0,1,0,true,3\"/><InitialBlockDef_9 data=\"2.3408514839105483,-10.32154060046447,-0.002520782144500059,1,0,0,0,true,5\"/><InitialBlockDef_10 data=\"5.010078967336383,-10.001292316231405,-1.5751803177474952,1,0,0,0,true,4\"/><InitialBlockDef_11 data=\"4.331858862906868,-12.664229868090707,3.137251090506384,1,0,0,0,true,4\"/><InitialBlockDef_12 data=\"3.32773781662603,-13.656204133706789,3.137492684502242,1,0,0,0,true,4\"/><ScrollLimits data=\"-394,713,-421,299,0,0\"/><Score data=\"10000\" /></BalanceLevel>";  ["5a0d2949597fa95ae3a63cff8c108e68"] = "<BalanceLevel><NumStaticBlocks data=\"42\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-230,-230,-230,-230,250,-290,250\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,250,-150,250,-150,390,-290,390\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-150,250,-110,250,-110,290,-150,290\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-150,290,-110,290,-110,330,-150,330\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-110,250,-70,250,-70,290,-110,290\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-110,290,-70,290,-70,330,-110,330\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-150,330,-70,330,-70,390,-150,390\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-70,250,80,250,80,390,-70,390\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"80,250,170,250,170,340,80,340\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"80,340,170,340,170,390,80,390\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"170,340,210,340,210,390,170,390\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"210,340,250,340,250,390,210,390\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"170,250,250,250,250,340,170,340\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"250,250,290,250,290,390,250,390\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,90,-230,90,-230,250,-290,250\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-270,50,-230,50,-230,90,-270,90\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-270,10,-230,10,-230,50,-270,50\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,10,-270,10,-270,50,-290,50\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,50,-270,50,-270,90,-290,90\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-100,-230,-100,-230,10,-290,10\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-230,-230,-230,-230,-100,-290,-100\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-390,-140,-390,-140,-230,-290,-230\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-140,-390,-100,-390,-100,-350,-140,-350\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-140,-350,-100,-350,-100,-310,-140,-310\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,-390,-60,-390,-60,-350,-100,-350\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,-350,-60,-350,-60,-310,-100,-310\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-140,-310,-60,-310,-60,-230,-140,-230\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"120,-390,290,-390,290,-230,120,-230\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-60,-390,120,-390,120,-230,-60,-230\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,-230,290,-230,290,-130,230,-130\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,-130,270,-130,270,-90,230,-90\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,-90,270,-90,270,-50,230,-50\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"270,-130,290,-130,290,-90,270,-90\"/><BlockDef_34 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"270,-90,290,-90,290,-50,270,-50\"/><BlockDef_35 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,-50,290,-50,290,60,230,60\"/><BlockDef_36 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,60,290,60,290,170,230,170\"/><BlockDef_37 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,210,270,210,270,250,230,250\"/><BlockDef_38 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"270,210,290,210,290,250,270,250\"/><BlockDef_39 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,170,270,170,270,210,230,210\"/><BlockDef_40 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"270,170,290,170,290,210,270,210\"/><BlockDef_41 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-230,-230,-160,-230,-230,-160\"/><BlockDef_42 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"160,-230,230,-230,230,-160\"/><NumElementBlocks data=\"3\"/><ElementDef_1 data=\"1,-10,300,1\"/><ElementDef_2 data=\"2,-10,-270,3\"/><ElementDef_3 data=\"4,60,210,remember only metal shapes can|conduct. You can use the wooden| crates or other shapes to support|the structure.\"/><NumStamps data=\"78\"/><StampDef_1 data=\"3,-174,256\"/><StampDef_2 data=\"2,-229,255\"/><StampDef_3 data=\"3,-86.5,256\"/><StampDef_4 data=\"3,83.5,256\"/><StampDef_5 data=\"3,169,255\"/><StampDef_6 data=\"4,224,254\"/><StampDef_7 data=\"92,-158,220\"/><StampDef_8 data=\"91,151,201\"/><StampDef_9 data=\"92,191,217\"/><StampDef_10 data=\"41,-205,235\"/><StampDef_11 data=\"41,-175.5,253\"/><StampDef_12 data=\"40,120,240\"/><StampDef_13 data=\"42,215,242\"/><StampDef_14 data=\"91,-81.5,195\"/><StampDef_15 data=\"8,-118.5,232\"/><StampDef_16 data=\"43,-115,242\"/><StampDef_17 data=\"43,-97.5,249\"/><StampDef_18 data=\"7,-138,244\"/><StampDef_19 data=\"10,89.5,242\"/><StampDef_20 data=\"32,-132,350\"/><StampDef_21 data=\"35,-40.5,352\"/><StampDef_22 data=\"32,4,359\"/><StampDef_23 data=\"35,51.5,313\"/><StampDef_24 data=\"34,153,279\"/><StampDef_25 data=\"32,232,323\"/><StampDef_26 data=\"35,193,354\"/><StampDef_27 data=\"32,-243,282\"/><StampDef_28 data=\"34,-222,351\"/><StampDef_29 data=\"35,-167,279\"/><StampDef_30 data=\"35,-89.5,302\"/><StampDef_31 data=\"36,-81.5,336\"/><StampDef_32 data=\"36,-266,350\"/><StampDef_33 data=\"36,-174,315\"/><StampDef_34 data=\"36,107,313\"/><StampDef_35 data=\"33,139,366\"/><StampDef_36 data=\"33,-256,144\"/><StampDef_37 data=\"32,-275,203\"/><StampDef_38 data=\"35,252,105\"/><StampDef_39 data=\"32,276,153\"/><StampDef_40 data=\"35,254,230\"/><StampDef_41 data=\"35,-262,-38\"/><StampDef_42 data=\"32,-270,-71\"/><StampDef_43 data=\"35,-259,58\"/><StampDef_44 data=\"36,-237,21\"/><StampDef_45 data=\"36,-240,176\"/><StampDef_46 data=\"32,249,-17\"/><StampDef_47 data=\"35,268,5\"/><StampDef_48 data=\"33,-180,-267\"/><StampDef_49 data=\"32,-201,-293\"/><StampDef_50 data=\"33,-152,-310\"/><StampDef_51 data=\"36,-186,-372\"/><StampDef_52 data=\"33,-259,-344\"/><StampDef_53 data=\"36,-261,-251\"/><StampDef_54 data=\"36,-248,-159\"/><StampDef_55 data=\"35,-241,-144\"/><StampDef_56 data=\"32,-4,-335\"/><StampDef_57 data=\"34,28,-346\"/><StampDef_58 data=\"34,-73.44999999999999,-248\"/><StampDef_59 data=\"33,-74,-325\"/><StampDef_60 data=\"32,98,-249\"/><StampDef_61 data=\"33,208,-311\"/><StampDef_62 data=\"36,46.55000000000001,-289\"/><StampDef_63 data=\"36,-30,-353\"/><StampDef_64 data=\"36,-122,-369\"/><StampDef_65 data=\"36,201,-267\"/><StampDef_66 data=\"32,156,-360\"/><StampDef_67 data=\"33,263,-250\"/><StampDef_68 data=\"33,274,-373\"/><StampDef_69 data=\"33,142,-282\"/><StampDef_70 data=\"33,257,-158\"/><StampDef_71 data=\"34,243,-75\"/><StampDef_72 data=\"36,247,-170\"/><StampDef_73 data=\"36,241,37\"/><StampDef_74 data=\"36,199,280\"/><StampDef_75 data=\"36,-267,-211\"/><StampDef_76 data=\"33,-209,-202\"/><StampDef_77 data=\"36,201,-219\"/><StampDef_78 data=\"36,215,-194\"/><NumLevelBlocks data=\"0\"/><NumInitialBlocks data=\"17\"/><InitialBlockDef_1 data=\"-3.676520847640205,7.67162049261918,0.000046174981404494884,0,0,1,5,true,7\"/><InitialBlockDef_2 data=\"5.999872304713911,2.343913772956485,-7.853457302379845,0,0,1,3,true,7\"/><InitialBlockDef_3 data=\"-6.337358926898724,7.338495143819507,-1.5707394272402095,0,0,1,13,true,7\"/><InitialBlockDef_4 data=\"-6.659205050420217,2.6821867575627087,6.2836061216152554,1,0,1,2,true,7\"/><InitialBlockDef_5 data=\"6.327763316883452,0.3448693020711798,1.5716753736128997,1,0,1,2,true,7\"/><InitialBlockDef_6 data=\"-0.10813258478193631,5.675245480213353,0.0014591114525208421,1,0,1,4,true,7\"/><InitialBlockDef_7 data=\"-0.12913592238918795,7.670211695349067,0.0014566259765213087,1,0,1,4,true,7\"/><InitialBlockDef_8 data=\"-4.661260760164953,4.676558093311134,3.141434706975283,1,0,1,0,true,3\"/><InitialBlockDef_9 data=\"-7.3352536029445785,4.343519725286872,1.5711979078814626,1,0,1,32,true,5\"/><InitialBlockDef_10 data=\"4.986754807056608,-0.6556797010575689,-10.995806611121468,1,0,1,32,true,5\"/><InitialBlockDef_11 data=\"5.997806319535396,6.337147453610561,1.5708054769266984,0,0,1,8,true,5\"/><InitialBlockDef_12 data=\"5.332333964546453,5.340198942265998,-1.5698091376656291,0,0,1,1,true,3\"/><InitialBlockDef_13 data=\"-5.006539145592985,7.338264781685611,-1.5709503225323747,0,0,1,7,true,4\"/><InitialBlockDef_14 data=\"4.331456934451483,7.3363123429858,1.572245037778816,0,0,1,14,true,7\"/><InitialBlockDef_15 data=\"6.999412689321864,1.678507977883833,0.0002545130959842278,0,0,1,11,true,6\"/><InitialBlockDef_16 data=\"7.000821432819119,3.341164197317944,7.853197428445699,0,0,1,1,true,3\"/><InitialBlockDef_17 data=\"-6.669834360648768,0.685784164356451,0.0011790970364040402,1,0,1,2,true,7\"/><ScrollLimits data=\"-279,277,-373,378,0,10\"/><Score data=\"5000\" /></BalanceLevel>";  ["6f574d60af7a9aa3fca5cdadcd0bb75b"] = "<BalanceLevel><NumStaticBlocks data=\"46\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"360,10,400,10,400,50,360,50\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"400,10,440,10,440,50,400,50\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"360,50,400,50,400,90,360,90\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"400,50,440,50,440,90,400,90\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"360,90,440,90,440,240,360,240\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"260,240,440,240,440,420,260,420\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,240,260,240,260,280,220,280\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,240,220,240,220,280,180,280\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,280,260,280,260,320,220,320\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,280,220,280,220,320,180,320\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,320,260,320,260,420,180,420\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"100,240,180,240,180,320,100,320\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"100,320,180,320,180,420,100,420\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-40,240,100,240,100,420,-40,420\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-210,240,-40,240,-40,420,-210,420\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-280,240,-210,240,-210,310,-280,310\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,240,-280,240,-280,310,-350,310\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,310,-280,310,-280,420,-350,420\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-280,310,-210,310,-210,420,-280,420\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,200,-310,200,-310,240,-350,240\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,160,-310,160,-310,200,-350,200\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,10,-310,10,-310,160,-350,160\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-120,-70,-80,-70,-80,-30,-120,10\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-200,-70,-120,-70,-120,10,-200,10\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-270,-70,-200,-70,-200,10,-270,10\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,-290,-270,-290,-270,10,-350,10\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,-350,-270,-350,-270,-290,-350,-290\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-270,-330,-230,-330,-230,-290,-270,-290\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-230,-330,-190,-330,-190,-290,-230,-290\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-270,-350,-230,-350,-230,-330,-270,-330\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-230,-350,-190,-350,-190,-330,-230,-330\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-190,-350,-90,-350,-90,-290,-190,-290\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-90,-350,140,-350,140,-180,-40,-180,-40,-200,-90,-200\"/><BlockDef_34 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-160,-200,-40,-200,-40,-150,-160,-150\"/><BlockDef_35 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"140,-220,180,-220,180,-180,140,-180\"/><BlockDef_36 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"140,-260,180,-260,180,-220,140,-220\"/><BlockDef_37 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,-220,220,-220,220,-180,180,-180\"/><BlockDef_38 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,-260,220,-260,220,-220,180,-220\"/><BlockDef_39 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"140,-350,220,-350,220,-260,140,-260\"/><BlockDef_40 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,-350,440,-350,440,-70,220,-70\"/><BlockDef_41 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"110,-180,220,-180,220,-70,130,-70,110,-90\"/><BlockDef_42 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-50,-120,110,-120,110,-90,-50,-90\"/><BlockDef_43 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"360,-70,440,-70,440,10,360,10\"/><BlockDef_44 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"320,-70,360,-70,360,-30\"/><BlockDef_45 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-310,10,-270,10,-310,50\"/><BlockDef_46 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-270,-290,-230,-290,-270,-250\"/><NumElementBlocks data=\"4\"/><ElementDef_1 data=\"2,0,-220,3\"/><ElementDef_2 data=\"1,-110,290,1\"/><ElementDef_3 data=\"3,180,220\"/><ElementDef_4 data=\"4,20,200,Hmmmmmm!!!||monster loves bananas.\"/><NumStamps data=\"110\"/><StampDef_1 data=\"2,-304,244\"/><StampDef_2 data=\"3,-247,245\"/><StampDef_3 data=\"14,-185.5,245\"/><StampDef_4 data=\"15,-159.5,244\"/><StampDef_5 data=\"3,-16,245\"/><StampDef_6 data=\"3,72,245\"/><StampDef_7 data=\"3,161,244\"/><StampDef_8 data=\"3,249,243\"/><StampDef_9 data=\"14,311,243\"/><StampDef_10 data=\"15,336,243\"/><StampDef_11 data=\"4,354,242\"/><StampDef_12 data=\"2,-151,-196\"/><StampDef_13 data=\"14,-123,-195\"/><StampDef_14 data=\"4,-94,-197\"/><StampDef_15 data=\"3,31,-115\"/><StampDef_16 data=\"4,106,-115\"/><StampDef_17 data=\"14,80,-116\"/><StampDef_18 data=\"2,-42,-116\"/><StampDef_19 data=\"15,-22,-114\"/><StampDef_20 data=\"2,-264,-65\"/><StampDef_21 data=\"3,-209,-64\"/><StampDef_22 data=\"14,-147,-64\"/><StampDef_23 data=\"14,-120,-64\"/><StampDef_24 data=\"4,-90,-65\"/><StampDef_25 data=\"91,-252,185\"/><StampDef_26 data=\"5,331,219\"/><StampDef_27 data=\"5,-283.5,222\"/><StampDef_28 data=\"8,298,199\"/><StampDef_29 data=\"6,266,217\"/><StampDef_30 data=\"11,119,224\"/><StampDef_31 data=\"10,279,225\"/><StampDef_32 data=\"92,96,189\"/><StampDef_33 data=\"8,77,226\"/><StampDef_34 data=\"7,-42,224\"/><StampDef_35 data=\"10,-234,229\"/><StampDef_36 data=\"92,-192,214\"/><StampDef_37 data=\"5,-233,-88\"/><StampDef_38 data=\"9,-198,-84\"/><StampDef_39 data=\"12,88,-136\"/><StampDef_40 data=\"42,65,-130\"/><StampDef_41 data=\"43,-13,230\"/><StampDef_42 data=\"43,-99,-78\"/><StampDef_43 data=\"8,-109,-213\"/><StampDef_44 data=\"10,-126,-207\"/><StampDef_45 data=\"33,-256,-15\"/><StampDef_46 data=\"35,-216,-44\"/><StampDef_47 data=\"32,-147,-11\"/><StampDef_48 data=\"36,-103,-40\"/><StampDef_49 data=\"33,-163,-28\"/><StampDef_50 data=\"32,-304,-135\"/><StampDef_51 data=\"34,-286,-158\"/><StampDef_52 data=\"36,-320,-173\"/><StampDef_53 data=\"35,-320,-49\"/><StampDef_54 data=\"34,-295,-269\"/><StampDef_55 data=\"36,-206,-312\"/><StampDef_56 data=\"32,-326,113\"/><StampDef_57 data=\"34,-334,35\"/><StampDef_58 data=\"33,-301,276\"/><StampDef_59 data=\"36,-328,295\"/><StampDef_60 data=\"33,-235,350\"/><StampDef_61 data=\"34,-327,332\"/><StampDef_62 data=\"32,-105.94999999999999,356\"/><StampDef_63 data=\"34,-134,370\"/><StampDef_64 data=\"36,3,284\"/><StampDef_65 data=\"36,-187,298\"/><StampDef_66 data=\"33,60,328\"/><StampDef_67 data=\"35,-2,337\"/><StampDef_68 data=\"32,81,271\"/><StampDef_69 data=\"33,158,351\"/><StampDef_70 data=\"35,124,303\"/><StampDef_71 data=\"34,243,298\"/><StampDef_72 data=\"33,368,321\"/><StampDef_73 data=\"32,308,274\"/><StampDef_74 data=\"32,415,356\"/><StampDef_75 data=\"34,288,356\"/><StampDef_76 data=\"33,412,250\"/><StampDef_77 data=\"36,207,268\"/><StampDef_78 data=\"36,-314,-311\"/><StampDef_79 data=\"36,-288,-210\"/><StampDef_80 data=\"36,-136,-316\"/><StampDef_81 data=\"32,-110,-307\"/><StampDef_82 data=\"33,-68,-264\"/><StampDef_83 data=\"32,-74,-176\"/><StampDef_84 data=\"36,-135,-169\"/><StampDef_85 data=\"34,278,-136\"/><StampDef_86 data=\"32,350,-187\"/><StampDef_87 data=\"33,379,-114\"/><StampDef_88 data=\"34,274,-256\"/><StampDef_89 data=\"33,409,-307\"/><StampDef_90 data=\"32,252,-330\"/><StampDef_91 data=\"32,403,-33\"/><StampDef_92 data=\"34,376,-5\"/><StampDef_93 data=\"33,421,71\"/><StampDef_94 data=\"34,376,142\"/><StampDef_95 data=\"34,425,194\"/><StampDef_96 data=\"36,420,122\"/><StampDef_97 data=\"36,417,-188\"/><StampDef_98 data=\"36,338,-295\"/><StampDef_99 data=\"36,142,-107\"/><StampDef_100 data=\"33,-182.5,341\"/><StampDef_101 data=\"36,-49.5,323\"/><StampDef_102 data=\"36,98,-299\"/><StampDef_103 data=\"34,38,-292\"/><StampDef_104 data=\"34,-26,-325\"/><StampDef_105 data=\"32,152,-155\"/><StampDef_106 data=\"34,192,-105\"/><StampDef_107 data=\"34,171,-289\"/><StampDef_108 data=\"33,62,-104\"/><StampDef_109 data=\"36,118,-209\"/><StampDef_110 data=\"36,26,-100\"/><NumLevelBlocks data=\"6\"/><LevelBlockDef_1 data=\"7,1,0,0,1,2\"/><LevelBlockDef_2 data=\"7,1,0,0,1,2\"/><LevelBlockDef_3 data=\"7,1,0,0,1,2\"/><LevelBlockDef_4 data=\"7,1,0,0,1,2\"/><LevelBlockDef_5 data=\"5,1,0,0,1,32\"/><LevelBlockDef_6 data=\"7,1,0,0,1,4\"/><NumInitialBlocks data=\"3\"/><InitialBlockDef_1 data=\"-8.00351317992086,-2.998979152221446,0.0022446559422733795,5,0,1,18,true,7\"/><InitialBlockDef_2 data=\"-0.31804479753250287,-4.664710000132489,3.142053821994207,1,0,1,0,true,3\"/><InitialBlockDef_3 data=\"-3.994999638585316,-7.328812627251027,-6.283184950478529,9,0,1,21,true,7\"/><ScrollLimits data=\"-335,433,-334,371,-40,0\"/><Score data=\"5000\" /></BalanceLevel>";  ["7e97a62afed321eb47d19020056eeea1"] = "<BalanceLevel><NumStaticBlocks data=\"37\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-340,110,-300,110,-300,150,-340,150\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-300,110,-260,110,-260,150,-300,150\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-300,70,-260,70,-260,110,-300,110\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-340,70,-300,70,-300,110,-340,110\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-340,-20,-260,-20,-260,70,-340,70\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-340,-210,-260,-210,-260,-20,-340,-20\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-260,-210,-190,-210,-260,-140\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-340,-290,-190,-290,-190,-210,-340,-210\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-190,-250,-150,-250,-150,-210,-190,-210\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-190,-290,-150,-290,-150,-250,-190,-250\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-150,-250,-110,-250,-110,-210,-150,-210\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-150,-290,-110,-290,-110,-250,-150,-250\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-60,-210,0,-210,0,-150\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"0,-210,140,-210,140,-150,0,-150\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"140,-210,200,-210,140,-150\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"0,30,140,30,140,210,0,210\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"0,210,80,210,80,290,0,290\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"80,210,140,210,140,270,80,270\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"80,270,140,270,140,290,80,290\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-120,150,0,150,0,290,-120,290\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-340,150,-120,150,-120,290,-340,290\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"140,150,280,150,280,290,140,290\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"280,150,540,150,540,290,280,290\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"440,110,480,110,480,150,440,150\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"480,110,540,110,540,150,480,150\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"440,70,480,70,480,110,440,110\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"480,70,540,70,540,110,480,110\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"440,-30,540,-30,540,70,440,70\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"440,-210,540,-210,540,-30,440,-30\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"360,-290,540,-290,540,-210,360,-210\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"320,-250,360,-250,360,-210,320,-210\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"280,-250,320,-250,320,-210,280,-210\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"280,-290,320,-290,320,-250,280,-250\"/><BlockDef_34 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"320,-290,360,-290,360,-250,320,-250\"/><BlockDef_35 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"120,-290,280,-290,280,-210,120,-210\"/><BlockDef_36 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"380,-210,440,-210,440,-150\"/><BlockDef_37 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-110,-290,120,-290,120,-210,-110,-210\"/><NumElementBlocks data=\"3\"/><ElementDef_1 data=\"1,-190,200,1\"/><ElementDef_2 data=\"2,360,200,1\"/><ElementDef_3 data=\"4,70,-10,Tesla blocks can connect a|circuit through air and ground.|Try placing the two Teslas|close enough to each other.\"/><NumStamps data=\"91\"/><StampDef_1 data=\"3,-71,155\"/><StampDef_2 data=\"2,-127.1,153.8\"/><StampDef_3 data=\"15,-22,154\"/><StampDef_4 data=\"4,-4,154\"/><StampDef_5 data=\"2,-253.5,155\"/><StampDef_6 data=\"15,-236.5,156\"/><StampDef_7 data=\"2,148,154\"/><StampDef_8 data=\"3,204,155\"/><StampDef_9 data=\"14,266,154\"/><StampDef_10 data=\"14,301,155\"/><StampDef_11 data=\"4,432.95000000000005,153\"/><StampDef_12 data=\"15,414.95,154\"/><StampDef_13 data=\"32,116,108\"/><StampDef_14 data=\"35,30,105\"/><StampDef_15 data=\"32,51,232\"/><StampDef_16 data=\"33,20,229\"/><StampDef_17 data=\"36,30,258\"/><StampDef_18 data=\"36,-89,215\"/><StampDef_19 data=\"33,-78,201\"/><StampDef_20 data=\"32,-52,268\"/><StampDef_21 data=\"33,123,245\"/><StampDef_22 data=\"33,74,158\"/><StampDef_23 data=\"36,43,172\"/><StampDef_24 data=\"34,-213.5,255\"/><StampDef_25 data=\"33,-168,268\"/><StampDef_26 data=\"36,-181.5,248\"/><StampDef_27 data=\"36,-249.5,258\"/><StampDef_28 data=\"32,-327.5,207\"/><StampDef_29 data=\"34,-284,173\"/><StampDef_30 data=\"33,-313,269\"/><StampDef_31 data=\"32,255,223\"/><StampDef_32 data=\"36,233,197\"/><StampDef_33 data=\"33,191,264\"/><StampDef_34 data=\"33,172,185\"/><StampDef_35 data=\"32,367,251\"/><StampDef_36 data=\"36,387,263\"/><StampDef_37 data=\"33,305,255\"/><StampDef_38 data=\"35,415.95,211\"/><StampDef_39 data=\"37,414.95,247\"/><StampDef_40 data=\"32,504,223\"/><StampDef_41 data=\"34,481,164\"/><StampDef_42 data=\"34,-316,84\"/><StampDef_43 data=\"36,-276,-4\"/><StampDef_44 data=\"32,-326,27\"/><StampDef_45 data=\"32,-289,-182\"/><StampDef_46 data=\"34,-321,-105\"/><StampDef_47 data=\"33,-275,-68\"/><StampDef_48 data=\"32,117,-167\"/><StampDef_49 data=\"34,27,-197\"/><StampDef_50 data=\"36,92,-188\"/><StampDef_51 data=\"36,-216,-255\"/><StampDef_52 data=\"33,-306,-250\"/><StampDef_53 data=\"32,-79,-233\"/><StampDef_54 data=\"33,-69,-249\"/><StampDef_55 data=\"33,456,-18\"/><StampDef_56 data=\"32,518,26\"/><StampDef_57 data=\"36,437,249\"/><StampDef_58 data=\"32,504,-151\"/><StampDef_59 data=\"35,479,-103\"/><StampDef_60 data=\"33,257,-259\"/><StampDef_61 data=\"36,171,-256\"/><StampDef_62 data=\"34,67,-267\"/><StampDef_63 data=\"34,3,-231\"/><StampDef_64 data=\"36,-164,-226\"/><StampDef_65 data=\"36,501,92\"/><StampDef_66 data=\"36,427,-196\"/><StampDef_67 data=\"34,470,-263\"/><StampDef_68 data=\"32,384,-265\"/><StampDef_69 data=\"35,219,-226\"/><StampDef_70 data=\"35,514,-226\"/><StampDef_71 data=\"35,-240,-178\"/><StampDef_72 data=\"36,-237,-199\"/><StampDef_73 data=\"6,-44,127\"/><StampDef_74 data=\"12,-114,136\"/><StampDef_75 data=\"9,-96,132\"/><StampDef_76 data=\"8,-241,139\"/><StampDef_77 data=\"5,167,131\"/><StampDef_78 data=\"91,196,92\"/><StampDef_79 data=\"11,216,137\"/><StampDef_80 data=\"8,304,136\"/><StampDef_81 data=\"43,285,142\"/><StampDef_82 data=\"92,247.95,124\"/><StampDef_83 data=\"9,424,139\"/><StampDef_84 data=\"2,5,35\"/><StampDef_85 data=\"3,60,36\"/><StampDef_86 data=\"14,108,36\"/><StampDef_87 data=\"4,136,34\"/><StampDef_88 data=\"42,26,21\"/><StampDef_89 data=\"43,51,26\"/><StampDef_90 data=\"12,130,18\"/><StampDef_91 data=\"10,114,27\"/><NumLevelBlocks data=\"0\"/><NumInitialBlocks data=\"5\"/><InitialBlockDef_1 data=\"-6.249372310939516,4.335227022227238,-0.0007527718127870725,1,0,1,2,true,7\"/><InitialBlockDef_2 data=\"12.46262056402453,4.336711745944849,0.0005075168426837335,1,0,1,2,true,7\"/><InitialBlockDef_3 data=\"12.473866848021453,2.3406808637927075,0.0007147788588225243,1,0,1,4,true,7\"/><InitialBlockDef_4 data=\"-6.119814548340412,2.3377897961501546,0.00007295221115725641,10,0,1,22,true,7\"/><InitialBlockDef_5 data=\"12.578714018795019,0.3454566832168333,0.0008546512280962939,10,0,1,22,true,7\"/><ScrollLimits data=\"-328,519,-275,280,0,0\"/><Score data=\"2000\" /></BalanceLevel>";  ["8a7b4b32cc5c73b549deece3d9c5378e"] = "<BalanceLevel><NumStaticBlocks data=\"35\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-170,-100,-100,-100,-100,-40,-170,-40\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,-100,-40,-100,-40,-70,-70,-40,-100,-40\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-100,-170,-100,-170,20,-290,20\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-230,20,-170,20,-170,80,-230,80\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,20,-230,20,-230,80,-290,80\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-230,80,-170,80,-170,140,-230,140\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,80,-230,80,-230,140,-290,140\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,140,-140,140,-140,290,-290,290\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"50,140,90,140,90,180,50,180\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"90,140,130,140,130,180,90,180\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"50,180,90,180,90,220,50,220\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"90,180,130,180,130,220,90,220\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"50,220,130,220,130,290,50,290\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-140,140,50,140,50,290,-140,290\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"130,140,280,140,280,290,130,290\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"280,140,430,140,430,290,280,290\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"270,-420,310,-420,310,-380\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"310,-460,390,-460,390,-380,310,-380\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"270,-460,310,-460,310,-420,270,-420\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"390,-460,450,-460,450,-380,390,-380\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"270,-550,360,-550,360,-460,270,-460\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"360,-550,450,-550,450,-460,360,-460\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"270,-750,450,-750,450,-550,270,-550\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,-750,270,-750,270,-710,230,-710\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"60,-750,230,-750,230,-710,80,-710,60,-730\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-210,-750,-80,-750,-80,-730,-100,-710,-210,-710\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-250,-750,-210,-750,-210,-710,-250,-710\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-250,-710,-210,-710,-210,-670,-250,-670\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-710,-250,-710,-250,-670,-290,-670\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-750,-250,-750,-250,-710,-290,-710\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-670,-210,-670,-210,-600,-290,-600\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-250,-600,-210,-600,-210,-560,-250,-560\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-250,-560,-210,-560,-250,-520\"/><BlockDef_34 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-600,-250,-600,-250,-460,-290,-460\"/><BlockDef_35 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-460,-250,-460,-290,-420\"/><NumElementBlocks data=\"4\"/><ElementDef_1 data=\"1,-50,190,1\"/><ElementDef_2 data=\"3,-140,-120\"/><ElementDef_3 data=\"2,310,-620,4\"/><ElementDef_4 data=\"4,80,100,Try building a really tall tower|using these screws. They are|great for holding shapes in place.\"/><NumStamps data=\"75\"/><StampDef_1 data=\"4,-49,-97\"/><StampDef_2 data=\"15,-69,-97\"/><StampDef_3 data=\"14,-94,-95\"/><StampDef_4 data=\"3,-157,-96\"/><StampDef_5 data=\"3,-245,-96\"/><StampDef_6 data=\"3,44.5,144\"/><StampDef_7 data=\"3,131.5,143\"/><StampDef_8 data=\"3,219.5,143\"/><StampDef_9 data=\"3,308.5,143\"/><StampDef_10 data=\"3,395.5,143\"/><StampDef_11 data=\"2,-165,143\"/><StampDef_12 data=\"14,-134,144\"/><StampDef_13 data=\"14,-108,144\"/><StampDef_14 data=\"32,162,177\"/><StampDef_15 data=\"35,190,208\"/><StampDef_16 data=\"32,266,176\"/><StampDef_17 data=\"34,266,248\"/><StampDef_18 data=\"34,68,247\"/><StampDef_19 data=\"36,159,259\"/><StampDef_20 data=\"34,375,193\"/><StampDef_21 data=\"33,390,250\"/><StampDef_22 data=\"34,320,241\"/><StampDef_23 data=\"33,64,197\"/><StampDef_24 data=\"36,115,167\"/><StampDef_25 data=\"36,-38,247\"/><StampDef_26 data=\"33,-57,250\"/><StampDef_27 data=\"32,-259,223\"/><StampDef_28 data=\"34,-185,226\"/><StampDef_29 data=\"36,-247,158\"/><StampDef_30 data=\"36,-222,272\"/><StampDef_31 data=\"36,-121.5,195\"/><StampDef_32 data=\"36,19,259\"/><StampDef_33 data=\"32,-268,-35\"/><StampDef_34 data=\"33,-195,-57\"/><StampDef_35 data=\"36,-218,-9\"/><StampDef_36 data=\"35,-260,54\"/><StampDef_37 data=\"36,-208,102\"/><StampDef_38 data=\"32,-111.94999999999999,279\"/><StampDef_39 data=\"33,-79,-65\"/><StampDef_40 data=\"36,-54,-74\"/><StampDef_41 data=\"36,-242,-74\"/><StampDef_42 data=\"33,-279,118\"/><StampDef_43 data=\"35,-189,59\"/><StampDef_44 data=\"35,-156,184\"/><StampDef_45 data=\"36,320,177\"/><StampDef_46 data=\"36,-124,-69\"/><StampDef_47 data=\"32,-267,-642\"/><StampDef_48 data=\"33,-230,-613\"/><StampDef_49 data=\"36,-222,-653\"/><StampDef_50 data=\"36,-265,-566\"/><StampDef_51 data=\"33,-269,-486\"/><StampDef_52 data=\"33,-135,-728\"/><StampDef_53 data=\"34,-269,-734\"/><StampDef_54 data=\"36,-224,-730\"/><StampDef_55 data=\"36,111,-728\"/><StampDef_56 data=\"32,170,-735\"/><StampDef_57 data=\"33,210.05,-724\"/><StampDef_58 data=\"33,360,-726\"/><StampDef_59 data=\"32,394,-627\"/><StampDef_60 data=\"33,377,-593\"/><StampDef_61 data=\"36,374.5,-638.95\"/><StampDef_62 data=\"36,336.5,-683.95\"/><StampDef_63 data=\"36,299,-516\"/><StampDef_64 data=\"32,335,-483\"/><StampDef_65 data=\"33,341,-529\"/><StampDef_66 data=\"33,331,-393\"/><StampDef_67 data=\"34,366,-430\"/><StampDef_68 data=\"33,417,-499\"/><StampDef_69 data=\"33,417,-398\"/><StampDef_70 data=\"36,292,-444\"/><StampDef_71 data=\"36,389,-529\"/><StampDef_72 data=\"36,414,-695\"/><StampDef_73 data=\"34,298,-720\"/><StampDef_74 data=\"34,282,-536\"/><StampDef_75 data=\"34,416,163\"/><NumLevelBlocks data=\"7\"/><LevelBlockDef_1 data=\"7,13,0,0,1,25\"/><LevelBlockDef_2 data=\"4,1,0,0,0,0\"/><LevelBlockDef_3 data=\"7,1,0,0,1,4\"/><LevelBlockDef_4 data=\"7,13,0,0,1,25\"/><LevelBlockDef_5 data=\"5,1,0,270,0,0\"/><LevelBlockDef_6 data=\"3,1,0,90,1,0\"/><LevelBlockDef_7 data=\"3,1,0,270,1,0\"/><NumInitialBlocks data=\"7\"/><InitialBlockDef_1 data=\"0.16229754785468337,3.669401304780319,-1.5678866065179535,1,0,1,32,true,5\"/><InitialBlockDef_2 data=\"-0.03403033283294177,-0.3300266665445183,1.5760464665477132,1,0,1,32,true,5\"/><InitialBlockDef_3 data=\"0.24625998118718015,-0.7503691032482428,0,13,0,1,25,true,7\"/><InitialBlockDef_4 data=\"5.742704036019163,4.00306182689991,0.0005061134740617885,1,0,1,34,true,2\"/><InitialBlockDef_5 data=\"8.741840955361207,4.004273252240089,3.1416107839918563,1,0,1,0,true,3\"/><InitialBlockDef_6 data=\"8.740307701820154,2.0047018508250103,-3.1411794823653447,1,0,1,32,true,5\"/><InitialBlockDef_7 data=\"7.70580098677157,1.3412320600729786,0.0010203028686610396,1,0,1,32,true,5\"/><ScrollLimits data=\"-284,418,-738,275,10,-10\"/><Score data=\"6000\" /></BalanceLevel>";  ["9ad2c0debc3e535dd6cf8933830af4da"] = "<BalanceLevel><NumStaticBlocks data=\"27\"/><BlockDef_1 water=\"1\" nodrag=\"0\" deadzone=\"0\" data=\"-440,220,-60,220,-60,290,-440,290\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-440,-500,210,-500,210,-300,-440,-300\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,-90,-120,-90,-120,-50,-350,-50\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,-90,-350,-90,-350,20,-450,20\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,-50,-270,-50,-270,20,-350,20\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-190,-50,-120,-50,-190,20\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-270,-50,-190,-50,-190,20,-270,20\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,20,-410,20,-410,140,-450,140\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,140,-340,140,-340,190,-380,230,-380,290,-450,290\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-410,20,-340,20,-410,90\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,-220,-410,-220,-410,-90,-450,-90\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,-300,-410,-300,-410,-220,-450,-220\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,-500,-240,-500,-240,-300,-450,-300\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-240,-340,-200,-340,-200,-300,-240,-300\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-240,-380,-200,-380,-200,-340,-240,-340\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-200,-340,-160,-340,-160,-300,-200,-300\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-200,-380,-160,-380,-160,-340,-200,-340\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-240,-500,-160,-500,-160,-380,-240,-380\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-160,-420,-30,-420,-30,-300,-160,-300\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"200,-30,200,100,70,100\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"120,100,200,100,200,180,120,180\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"70,100,120,100,120,180,-10,180\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"160,180,200,180,200,220,160,220\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"120,180,160,180,160,220,120,220\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"120,220,200,220,200,290,120,290\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-60,220,120,220,120,290,-60,290\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-10,180,120,180,120,220,-50,220\"/><NumElementBlocks data=\"4\"/><ElementDef_1 data=\"1,40,210,1\"/><ElementDef_2 data=\"2,100,-340,3\"/><ElementDef_3 data=\"3,-190,-110\"/><ElementDef_4 data=\"4,-380,100,we love triangles! do you?\"/><NumStamps data=\"99\"/><StampDef_1 data=\"38,-420,230\"/><StampDef_2 data=\"38,-380,230\"/><StampDef_3 data=\"38,-340,230\"/><StampDef_4 data=\"38,-300,230\"/><StampDef_5 data=\"38,-260,230\"/><StampDef_6 data=\"38,-220,230\"/><StampDef_7 data=\"38,-180,230\"/><StampDef_8 data=\"38,-140,230\"/><StampDef_9 data=\"38,-100,230\"/><StampDef_10 data=\"38,-60,230\"/><StampDef_11 data=\"93,-90,260\"/><StampDef_12 data=\"93,-150,260\"/><StampDef_13 data=\"93,-210,260\"/><StampDef_14 data=\"93,-270,260\"/><StampDef_15 data=\"93,-330,260\"/><StampDef_16 data=\"93,-390,260\"/><StampDef_17 data=\"93,-450,260\"/><StampDef_18 data=\"3,-348,-85\"/><StampDef_19 data=\"3,-260,-86\"/><StampDef_20 data=\"4,-124,-88\"/><StampDef_21 data=\"14,-145,-86\"/><StampDef_22 data=\"15,-211,-86\"/><StampDef_23 data=\"14,-184,-85\"/><StampDef_24 data=\"2,-404,-85\"/><StampDef_25 data=\"30,106.5,67\"/><StampDef_26 data=\"30,44.5,129\"/><StampDef_27 data=\"30,-26,203\"/><StampDef_28 data=\"33,-333,1\"/><StampDef_29 data=\"32,-295,-34\"/><StampDef_30 data=\"34,-288,2\"/><StampDef_31 data=\"36,-425,-8\"/><StampDef_32 data=\"33,-393,-33\"/><StampDef_33 data=\"32,-163,-32\"/><StampDef_34 data=\"34,-133,-63\"/><StampDef_35 data=\"35,-215,-68\"/><StampDef_36 data=\"34,-217,0\"/><StampDef_37 data=\"37,-390,46\"/><StampDef_38 data=\"33,-427,123\"/><StampDef_39 data=\"34,-431,-171\"/><StampDef_40 data=\"36,-430,-121\"/><StampDef_41 data=\"36,-421,-55\"/><StampDef_42 data=\"36,-302,-67\"/><StampDef_43 data=\"36,-426,186\"/><StampDef_44 data=\"32,-429,255\"/><StampDef_45 data=\"32,-315,-321\"/><StampDef_46 data=\"34,-361,-391\"/><StampDef_47 data=\"34,-278,-382\"/><StampDef_48 data=\"36,-258,-400\"/><StampDef_49 data=\"36,-409,-335\"/><StampDef_50 data=\"32,-435,-386\"/><StampDef_51 data=\"33,-252,-316\"/><StampDef_52 data=\"33,-431,-263\"/><StampDef_53 data=\"33,-74,-378\"/><StampDef_54 data=\"32,-54,-360\"/><StampDef_55 data=\"34,-116,-327\"/><StampDef_56 data=\"36,-142,-377\"/><StampDef_57 data=\"36,-41,-404\"/><StampDef_58 data=\"36,-46,-317\"/><StampDef_59 data=\"36,-211,-405\"/><StampDef_60 data=\"36,-317,-409\"/><StampDef_61 data=\"32,-184,-361\"/><StampDef_62 data=\"33,-126.94999999999999,-415\"/><StampDef_63 data=\"33,103.55000000000001,-410\"/><StampDef_64 data=\"34,137.55,-413\"/><StampDef_65 data=\"32,37.55000000000001,-372\"/><StampDef_66 data=\"33,15,-422\"/><StampDef_67 data=\"33,2,-319\"/><StampDef_68 data=\"36,-8,-362\"/><StampDef_69 data=\"36,52.05000000000001,-413\"/><StampDef_70 data=\"36,180,-312\"/><StampDef_71 data=\"36,165,-411\"/><StampDef_72 data=\"36,151,137\"/><StampDef_73 data=\"32,172,159\"/><StampDef_74 data=\"35,178,116\"/><StampDef_75 data=\"35,136,80\"/><StampDef_76 data=\"35,179,52\"/><StampDef_77 data=\"37,136,243\"/><StampDef_78 data=\"32,39,266\"/><StampDef_79 data=\"33,-35,264\"/><StampDef_80 data=\"36,176,266\"/><StampDef_81 data=\"36,97,123\"/><StampDef_82 data=\"32,79.5,139\"/><StampDef_83 data=\"34,141,196\"/><StampDef_84 data=\"34,192,207\"/><StampDef_85 data=\"9,-251,-109\"/><StampDef_86 data=\"91,-293,-149\"/><StampDef_87 data=\"92,-357,-126\"/><StampDef_88 data=\"5,-385,-106\"/><StampDef_89 data=\"8,-270,-99\"/><StampDef_90 data=\"11,-335,-101\"/><StampDef_91 data=\"10,-317,-96\"/><StampDef_92 data=\"30,168.5,5\"/><StampDef_93 data=\"7,155,-3\"/><StampDef_94 data=\"10,137,18\"/><StampDef_95 data=\"12,-34,194\"/><StampDef_96 data=\"34,-359,154\"/><StampDef_97 data=\"36,-402,169\"/><StampDef_98 data=\"36,-359,193\"/><StampDef_99 data=\"35,-389,204\"/><NumLevelBlocks data=\"13\"/><LevelBlockDef_1 data=\"9,1,0,180,1,29\"/><LevelBlockDef_2 data=\"9,1,0,0,1,29\"/><LevelBlockDef_3 data=\"9,1,0,180,1,29\"/><LevelBlockDef_4 data=\"11,1,0,90,1,30\"/><LevelBlockDef_5 data=\"11,1,0,270,1,30\"/><LevelBlockDef_6 data=\"11,1,0,0,1,30\"/><LevelBlockDef_7 data=\"11,1,0,180,1,30\"/><LevelBlockDef_8 data=\"11,1,0,90,1,30\"/><LevelBlockDef_9 data=\"11,1,0,270,1,30\"/><LevelBlockDef_10 data=\"11,1,0,0,1,30\"/><LevelBlockDef_11 data=\"11,1,0,180,1,30\"/><LevelBlockDef_12 data=\"11,1,0,90,1,30\"/><LevelBlockDef_13 data=\"11,1,0,270,1,30\"/><NumInitialBlocks data=\"0\"/><ScrollLimits data=\"-438,189,-419,275,-110,-20\"/><Score data=\"5000\" /></BalanceLevel>";  ["9fd80278799c1e3e8a257d7b978eda51"] = "<BalanceLevel><NumStaticBlocks data=\"33\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,180,-330,80,-330,40,-210,40,-140,40,-140,100,-160,130,-160,180\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-160,250,-20,250,-20,360,-160,360\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-20,250,50,250,50,360,-20,360\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"70,250,220,290,220,360,50,360,50,250\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,-200,-260,-200,-260,-140,-330,-140\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-260,-200,-200,-200,-200,-170,-220,-140,-260,-140\"/><BlockDef_7 water=\"1\" nodrag=\"0\" deadzone=\"0\" data=\"-160,180,430,180,430,290,220,290,70,250,-160,250\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"430,220,500,220,500,290,430,290\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"430,290,500,290,500,360,430,360\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"510,-190,510,-270,570,-270,570,20,430,20,430,-190\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"430,20,570,20,570,220,430,220\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-440,-550,-320,-550,-320,-520,-320,-470,-410,-410,-410,-200,-330,-200,-410,-200,-440,-200\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-110,-550,30,-550,30,-430,-70,-430,-110,-470\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"160,-550,430,-550,430,-510,350,-510,350,-350,230,-350,160,-410\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-440,-200,-330,-200,-330,-80,-440,-80\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-410,-80,-330,-80,-330,0,-410,0\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-440,-80,-410,-80,-410,0,-440,0\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-400,180,-160,180,-160,360,-400,360\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-440,180,-400,180,-400,260,-440,260\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-440,260,-400,260,-400,360,-440,360\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-440,0,-330,0,-330,180,-440,180\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-320,-550,-220,-550,-220,-490,-320,-490\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-220,-550,-110,-550,-110,-490,-220,-490\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,290,430,290,430,360,220,360\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"350,-430,430,-430,430,-350,350,-350\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"350,-510,430,-510,430,-430,350,-430\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"430,-490,570,-490,570,-350,430,-350\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"430,-350,510,-350,510,-270,430,-270\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"510,-350,570,-350,570,-270,510,-270\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"430,-550,570,-550,570,-490,430,-490\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"430,-270,510,-270,510,-190,430,-190\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"30,-550,160,-550,160,-430,30,-430\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"500,220,570,220,570,360,500,360\"/><NumElementBlocks data=\"4\"/><ElementDef_1 data=\"1,-220,90,1\"/><ElementDef_2 data=\"3,-250,-220\"/><ElementDef_3 data=\"2,470,-100,4\"/><ElementDef_4 data=\"4,-350,-240,these balloon blocks float| upwards. Try using them to|support your bridge.\"/><NumStamps data=\"138\"/><StampDef_1 data=\"38,-140,190\"/><StampDef_2 data=\"38,-100,190\"/><StampDef_3 data=\"38,-60,190\"/><StampDef_4 data=\"38,-20,190\"/><StampDef_5 data=\"38,20,190\"/><StampDef_6 data=\"38,60,190\"/><StampDef_7 data=\"38,100,190\"/><StampDef_8 data=\"38,140,190\"/><StampDef_9 data=\"38,180,190\"/><StampDef_10 data=\"38,220,190\"/><StampDef_11 data=\"38,260,190\"/><StampDef_12 data=\"38,300,190\"/><StampDef_13 data=\"38,340,190\"/><StampDef_14 data=\"38,380,190\"/><StampDef_15 data=\"38,420,190\"/><StampDef_16 data=\"4,-148.5,43\"/><StampDef_17 data=\"15,-162.7,43\"/><StampDef_18 data=\"14,-282.5,45.5\"/><StampDef_19 data=\"14,-308.5,45.5\"/><StampDef_20 data=\"2,-329,45\"/><StampDef_21 data=\"15,-266.5,44\"/><StampDef_22 data=\"32,-247,147.5\"/><StampDef_23 data=\"33,-200.5,142\"/><StampDef_24 data=\"36,-163.5,102\"/><StampDef_25 data=\"36,-218,133\"/><StampDef_26 data=\"33,-277.5,62\"/><StampDef_27 data=\"5,-305,22.5\"/><StampDef_28 data=\"10,-276,31\"/><StampDef_29 data=\"11,-155,21\"/><StampDef_30 data=\"35,-286.5,100\"/><StampDef_31 data=\"3,-342,-194\"/><StampDef_32 data=\"3,-269,-194\"/><StampDef_33 data=\"4,-204,-195\"/><StampDef_34 data=\"15,-219.5,-194.5\"/><StampDef_35 data=\"15,-393,-193.5\"/><StampDef_36 data=\"2,-408.5,-195\"/><StampDef_37 data=\"39,250,240\"/><StampDef_38 data=\"39,330,260\"/><StampDef_39 data=\"39,370,220\"/><StampDef_40 data=\"32,-402,92.5\"/><StampDef_41 data=\"32,-367,288\"/><StampDef_42 data=\"35,-378,257\"/><StampDef_43 data=\"32,-215,277\"/><StampDef_44 data=\"35,-228,259\"/><StampDef_45 data=\"34,-307,223\"/><StampDef_46 data=\"35,-178,199\"/><StampDef_47 data=\"36,-169,295\"/><StampDef_48 data=\"36,-366,199\"/><StampDef_49 data=\"36,-359,24\"/><StampDef_50 data=\"36,-358,154\"/><StampDef_51 data=\"33,-430,27\"/><StampDef_52 data=\"33,-34,269\"/><StampDef_53 data=\"32,-124,290\"/><StampDef_54 data=\"32,83,277\"/><StampDef_55 data=\"36,-111,284\"/><StampDef_56 data=\"32,-347,-174.5\"/><StampDef_57 data=\"33,-413,-160\"/><StampDef_58 data=\"36,-371,-141\"/><StampDef_59 data=\"35,-345,-54\"/><StampDef_60 data=\"32,-354,-40\"/><StampDef_61 data=\"33,-226,-157\"/><StampDef_62 data=\"33,-318.5,76\"/><StampDef_63 data=\"36,39,293\"/><StampDef_64 data=\"32,480,240.5\"/><StampDef_65 data=\"34,410,306.5\"/><StampDef_66 data=\"35,251,303\"/><StampDef_67 data=\"36,349,313\"/><StampDef_68 data=\"36,172,300\"/><StampDef_69 data=\"36,-425,-20\"/><StampDef_70 data=\"36,-256,-164\"/><StampDef_71 data=\"32,518,42.5\"/><StampDef_72 data=\"35,449,66\"/><StampDef_73 data=\"34,504,55\"/><StampDef_74 data=\"32,447,136\"/><StampDef_75 data=\"32,488,-32.5\"/><StampDef_76 data=\"34,524.5,-157.45\"/><StampDef_77 data=\"33,525,-104\"/><StampDef_78 data=\"36,534,-76\"/><StampDef_79 data=\"36,490.5,-161.95\"/><StampDef_80 data=\"32,451,-443.5\"/><StampDef_81 data=\"33,459,-460\"/><StampDef_82 data=\"33,518,-376\"/><StampDef_83 data=\"32,447,-288.5\"/><StampDef_84 data=\"32,297,-365\"/><StampDef_85 data=\"33,314,-485\"/><StampDef_86 data=\"34,227,-437\"/><StampDef_87 data=\"36,518,-452\"/><StampDef_88 data=\"36,531,-306\"/><StampDef_89 data=\"36,459,-306\"/><StampDef_90 data=\"36,449,-227\"/><StampDef_91 data=\"36,322,-433\"/><StampDef_92 data=\"36,405,-492\"/><StampDef_93 data=\"37,405,-368\"/><StampDef_94 data=\"37,540,-119\"/><StampDef_95 data=\"37,182,-407\"/><StampDef_96 data=\"32,-59,-452.5\"/><StampDef_97 data=\"37,-52,-464.5\"/><StampDef_98 data=\"37,-45,-458\"/><StampDef_99 data=\"37,96,-494.5\"/><StampDef_100 data=\"32,61,-443\"/><StampDef_101 data=\"35,149,-440\"/><StampDef_102 data=\"35,-364,-472\"/><StampDef_103 data=\"32,-394,-471\"/><StampDef_104 data=\"33,-380,-506\"/><StampDef_105 data=\"33,-429,-304\"/><StampDef_106 data=\"36,-425,-383\"/><StampDef_107 data=\"36,-328,-497\"/><StampDef_108 data=\"36,-195,-500\"/><StampDef_109 data=\"32,-154,-514\"/><StampDef_110 data=\"33,-264,-512\"/><StampDef_111 data=\"33,-9,-484\"/><StampDef_112 data=\"33,536,297\"/><StampDef_113 data=\"37,524,182.5\"/><StampDef_114 data=\"7,-303,-213\"/><StampDef_115 data=\"12,-391,-209\"/><StampDef_116 data=\"43,-373,-204\"/><StampDef_117 data=\"93,-130,220\"/><StampDef_118 data=\"93,-70,220\"/><StampDef_119 data=\"93,-10,220\"/><StampDef_120 data=\"93,50,220\"/><StampDef_121 data=\"93,110,220\"/><StampDef_122 data=\"93,170,220\"/><StampDef_123 data=\"93,230,220\"/><StampDef_124 data=\"93,290,220\"/><StampDef_125 data=\"93,350,220\"/><StampDef_126 data=\"93,390,220\"/><StampDef_127 data=\"93,450,220\"/><StampDef_128 data=\"93,170,280\"/><StampDef_129 data=\"93,120,280\"/><StampDef_130 data=\"93,70,280\"/><StampDef_131 data=\"93,400,280\"/><StampDef_132 data=\"93,340,280\"/><StampDef_133 data=\"93,280,280\"/><StampDef_134 data=\"93,220,280\"/><StampDef_135 data=\"41,406,275\"/><StampDef_136 data=\"42,367,282\"/><StampDef_137 data=\"43,281,282\"/><StampDef_138 data=\"41,258,296\"/><NumLevelBlocks data=\"19\"/><LevelBlockDef_1 data=\"7,1,1,0,1,24\"/><LevelBlockDef_2 data=\"7,1,1,0,1,24\"/><LevelBlockDef_3 data=\"7,1,1,0,1,24\"/><LevelBlockDef_4 data=\"7,3,0,0,1,16\"/><LevelBlockDef_5 data=\"7,1,1,0,1,24\"/><LevelBlockDef_6 data=\"7,1,1,0,1,24\"/><LevelBlockDef_7 data=\"7,1,1,0,1,24\"/><LevelBlockDef_8 data=\"7,3,0,0,1,16\"/><LevelBlockDef_9 data=\"7,1,1,0,1,24\"/><LevelBlockDef_10 data=\"7,1,1,0,1,24\"/><LevelBlockDef_11 data=\"7,1,1,0,1,24\"/><LevelBlockDef_12 data=\"7,3,0,0,1,16\"/><LevelBlockDef_13 data=\"7,1,1,0,1,24\"/><LevelBlockDef_14 data=\"7,1,1,0,1,24\"/><LevelBlockDef_15 data=\"7,1,1,0,1,24\"/><LevelBlockDef_16 data=\"7,3,0,0,1,16\"/><LevelBlockDef_17 data=\"7,1,1,0,1,24\"/><LevelBlockDef_18 data=\"7,1,1,0,1,24\"/><LevelBlockDef_19 data=\"7,1,1,0,1,24\"/><NumInitialBlocks data=\"0\"/><ScrollLimits data=\"-430,544,-514,320,-150,-70\"/><Score data=\"6000\" /></BalanceLevel>";  ["67afd706dc8364ee86225a395639304a"] = "<BalanceLevel><NumStaticBlocks data=\"48\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-240,-200,-110,-200,-110,-170,-140,-170,-140,-140,-110,-140,-110,-20,-140,-20,-140,10,-110,10,-110,70,-140,70,-140,100,-110,100,-110,290,-240,290\"/><BlockDef_2 water=\"1\" nodrag=\"0\" deadzone=\"0\" data=\"-110,120,220,120,220,290,-110,290\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-380,-200,-240,-200,-240,-60,-380,-60\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-240,-200,-140,-200,-140,-110,-240,-110\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-140,-200,-110,-200,-110,-170,-140,-170\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-140,-140,-110,-140,-110,-110,-140,-110\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-200,-110,-110,-110,-110,-20,-200,-20\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-240,-110,-200,-110,-200,-70,-240,-70\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-240,-70,-200,-70,-200,-20,-240,-20\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,-60,-240,-60,-240,120,-450,120\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-240,-20,-140,-20,-140,70,-240,70\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-140,40,-110,40,-110,70,-140,70\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-140,10,-110,10,-110,40,-140,40\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-240,70,-140,70,-140,160,-240,160\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-140,100,-110,100,-110,120,-140,130\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-240,160,-110,160,-110,290,-240,290\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-140,130,-110,130,-110,160,-140,160\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,-290,-380,-290,-380,-60,-450,-60\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,-440,-380,-440,-380,-290,-450,-290\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,-690,-210,-690,-210,-440,-450,-440\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-210,-500,-150,-500,-150,-440,-210,-440\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-150,-500,-90,-500,-90,-440,-150,-440\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-210,-560,-150,-560,-150,-500,-210,-500\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-150,-560,-90,-560,-90,-500,-150,-500\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-210,-690,-90,-690,-90,-560,-210,-560\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-90,-690,160,-690,160,-440,-90,-440\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"160,-480,200,-480,200,-440,160,-440\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"200,-480,240,-480,240,-440,200,-440\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"160,-520,200,-520,200,-480,160,-480\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"200,-520,240,-520,240,-480,200,-480\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"240,-600,400,-600,400,-440,240,-440\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"160,-600,240,-600,240,-520,160,-520\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"160,-690,400,-690,400,-600,160,-600\"/><BlockDef_34 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,-440,400,-440,400,-270,220,-270\"/><BlockDef_35 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,-270,310,-270,310,-180,220,-180\"/><BlockDef_36 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"310,-270,400,-270,400,-180,310,-180\"/><BlockDef_37 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,-50,280,-50,280,10,220,10\"/><BlockDef_38 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"280,-20,400,-20,400,100,280,100\"/><BlockDef_39 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"250,10,280,10,280,40,250,40\"/><BlockDef_40 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"280,-180,400,-180,400,-20,280,-20\"/><BlockDef_41 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,-180,280,-180,280,-80,220,-80\"/><BlockDef_42 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,40,280,40,280,100,220,100\"/><BlockDef_43 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,100,350,100,350,240,220,240\"/><BlockDef_44 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"350,100,400,100,400,150,350,150\"/><BlockDef_45 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"350,150,400,150,400,200,350,200\"/><BlockDef_46 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"350,200,400,200,400,290,350,290\"/><BlockDef_47 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,240,350,240,350,290,220,290\"/><BlockDef_48 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,120,-240,120,-240,290,-450,290\"/><NumElementBlocks data=\"3\"/><ElementDef_1 data=\"2,290,-70,4\"/><ElementDef_2 data=\"3,-160,-220\"/><ElementDef_3 data=\"1,80,-480,3\"/><NumStamps data=\"151\"/><StampDef_1 data=\"38,-80,130\"/><StampDef_2 data=\"38,-40,130\"/><StampDef_3 data=\"38,0,130\"/><StampDef_4 data=\"38,40,130\"/><StampDef_5 data=\"38,80,130\"/><StampDef_6 data=\"38,120,130\"/><StampDef_7 data=\"38,160,130\"/><StampDef_8 data=\"38,200,130\"/><StampDef_9 data=\"38,-120,130\"/><StampDef_10 data=\"2,-373,-194\"/><StampDef_11 data=\"3,-319,-194\"/><StampDef_12 data=\"3,-233,-194\"/><StampDef_13 data=\"4,-118,-195\"/><StampDef_14 data=\"14,-171,-194\"/><StampDef_15 data=\"14,-145,-195\"/><StampDef_16 data=\"32,-268,-32\"/><StampDef_17 data=\"33,-265,22\"/><StampDef_18 data=\"32,-402,67\"/><StampDef_19 data=\"33,-355,-29\"/><StampDef_20 data=\"36,-305,90\"/><StampDef_21 data=\"36,-414,1\"/><StampDef_22 data=\"36,-330,33\"/><StampDef_23 data=\"36,-396,218\"/><StampDef_24 data=\"33,-326,192\"/><StampDef_25 data=\"32,-279,260\"/><StampDef_26 data=\"32,-273,142\"/><StampDef_27 data=\"34,-384,147\"/><StampDef_28 data=\"34,-355.95,257\"/><StampDef_29 data=\"34,-129,190\"/><StampDef_30 data=\"32,-213,178\"/><StampDef_31 data=\"33,-172,248\"/><StampDef_32 data=\"36,-128,256\"/><StampDef_33 data=\"36,-228,257\"/><StampDef_34 data=\"36,-175,204\"/><StampDef_35 data=\"36,-203,90\"/><StampDef_36 data=\"34,-167,132\"/><StampDef_37 data=\"34,-154,1\"/><StampDef_38 data=\"34,-209,34\"/><StampDef_39 data=\"36,-122,58\"/><StampDef_40 data=\"36,-136,-82\"/><StampDef_41 data=\"34,-178,-42\"/><StampDef_42 data=\"33,-183,-92\"/><StampDef_43 data=\"33,-348,-173\"/><StampDef_44 data=\"34,-265,-86\"/><StampDef_45 data=\"32,-423,-115\"/><StampDef_46 data=\"33,-404,-248\"/><StampDef_47 data=\"33,-394,-164\"/><StampDef_48 data=\"34,-169,-144\"/><StampDef_49 data=\"33,-352,-97\"/><StampDef_50 data=\"36,-275,-157\"/><StampDef_51 data=\"36,-309,-117\"/><StampDef_52 data=\"36,-413,-415\"/><StampDef_53 data=\"32,-394,-373\"/><StampDef_54 data=\"33,-427,-329\"/><StampDef_55 data=\"33,-252,-498\"/><StampDef_56 data=\"32,-369,-565\"/><StampDef_57 data=\"32,-236,-653\"/><StampDef_58 data=\"33,-352,-590\"/><StampDef_59 data=\"33,-237,-547\"/><StampDef_60 data=\"34,-403,-486\"/><StampDef_61 data=\"33,-315,-497\"/><StampDef_62 data=\"34,-406,-657\"/><StampDef_63 data=\"34,-123,-602\"/><StampDef_64 data=\"36,-260,-456\"/><StampDef_65 data=\"36,-294,-618\"/><StampDef_66 data=\"36,-179,-634\"/><StampDef_67 data=\"33,-115,-656\"/><StampDef_68 data=\"32,-106,-451\"/><StampDef_69 data=\"33,-170,-485\"/><StampDef_70 data=\"36,-195,-457\"/><StampDef_71 data=\"36,-120,-542\"/><StampDef_72 data=\"34,-133,-531\"/><StampDef_73 data=\"32,128,-614\"/><StampDef_74 data=\"35,87.5,-544\"/><StampDef_75 data=\"32,-31,-555\"/><StampDef_76 data=\"33,41,-616\"/><StampDef_77 data=\"34,46,-567\"/><StampDef_78 data=\"34,-55,-660\"/><StampDef_79 data=\"34,88,-679\"/><StampDef_80 data=\"36,-21,-485\"/><StampDef_81 data=\"36,-351,-463\"/><StampDef_82 data=\"33,368,-656\"/><StampDef_83 data=\"34,263,-628\"/><StampDef_84 data=\"32,369,-489\"/><StampDef_85 data=\"35,271,-556\"/><StampDef_86 data=\"33,359,-568\"/><StampDef_87 data=\"32,218,-676\"/><StampDef_88 data=\"32,267,-459\"/><StampDef_89 data=\"34,196,-545\"/><StampDef_90 data=\"33,217,-460\"/><StampDef_91 data=\"36,182,-493\"/><StampDef_92 data=\"36,298,-455\"/><StampDef_93 data=\"32,373,-313\"/><StampDef_94 data=\"32,252,-384\"/><StampDef_95 data=\"33,349,-337\"/><StampDef_96 data=\"33,373,-419\"/><StampDef_97 data=\"33,294,-302\"/><StampDef_98 data=\"36,317,-395\"/><StampDef_99 data=\"36,241,-234\"/><StampDef_100 data=\"32,278,-203\"/><StampDef_101 data=\"33,285,-245\"/><StampDef_102 data=\"33,378,-201\"/><StampDef_103 data=\"32,348,-240\"/><StampDef_104 data=\"34,368,-52\"/><StampDef_105 data=\"32,321,-136\"/><StampDef_106 data=\"33,387,-143\"/><StampDef_107 data=\"35,236.5,-141.95\"/><StampDef_108 data=\"35,308,48\"/><StampDef_109 data=\"35,359,79\"/><StampDef_110 data=\"33,364,14\"/><StampDef_111 data=\"33,261,-9\"/><StampDef_112 data=\"32,250,75\"/><StampDef_113 data=\"32,248,219\"/><StampDef_114 data=\"34,319,147\"/><StampDef_115 data=\"33,326,215\"/><StampDef_116 data=\"33,255,150\"/><StampDef_117 data=\"36,294,190\"/><StampDef_118 data=\"36,312,263\"/><StampDef_119 data=\"32,273,275\"/><StampDef_120 data=\"34,388,250\"/><StampDef_121 data=\"36,363,124\"/><StampDef_122 data=\"36,322,219\"/><StampDef_123 data=\"11,-365,-215\"/><StampDef_124 data=\"42,-363,-206\"/><StampDef_125 data=\"92,-338,-239\"/><StampDef_126 data=\"10,-324,-209\"/><StampDef_127 data=\"8,-273,-231\"/><StampDef_128 data=\"5,-285,-215\"/><StampDef_129 data=\"7,-254,-215\"/><StampDef_130 data=\"41,-219,-215\"/><StampDef_131 data=\"93,-80,160\"/><StampDef_132 data=\"93,-20,160\"/><StampDef_133 data=\"93,40,160\"/><StampDef_134 data=\"93,100,160\"/><StampDef_135 data=\"93,160,160\"/><StampDef_136 data=\"93,220,160\"/><StampDef_137 data=\"93,200,220\"/><StampDef_138 data=\"93,140,220\"/><StampDef_139 data=\"93,80,220\"/><StampDef_140 data=\"93,20,220\"/><StampDef_141 data=\"93,-40,220\"/><StampDef_142 data=\"93,-100,220\"/><StampDef_143 data=\"93,-80,280\"/><StampDef_144 data=\"93,-20,280\"/><StampDef_145 data=\"93,40,280\"/><StampDef_146 data=\"93,100,280\"/><StampDef_147 data=\"93,160,280\"/><StampDef_148 data=\"93,220,280\"/><StampDef_149 data=\"39,-46.69999999999999,241.25\"/><StampDef_150 data=\"39,185.39999999999998,199.85000000000002\"/><StampDef_151 data=\"39,44.89999999999998,246.8\"/><NumLevelBlocks data=\"11\"/><LevelBlockDef_1 data=\"5,0,0,0,1,8\"/><LevelBlockDef_2 data=\"19,0,0,0,0,0\"/><LevelBlockDef_3 data=\"12,0,0,270,0,0\"/><LevelBlockDef_4 data=\"19,0,0,90,0,0\"/><LevelBlockDef_5 data=\"19,1,0,270,1,28\"/><LevelBlockDef_6 data=\"13,1,0,0,1,35\"/><LevelBlockDef_7 data=\"12,1,0,0,1,36\"/><LevelBlockDef_8 data=\"19,1,0,0,1,28\"/><LevelBlockDef_9 data=\"12,1,0,180,1,36\"/><LevelBlockDef_10 data=\"7,1,0,0,1,4\"/><LevelBlockDef_11 data=\"6,1,1,0,1,43\"/><NumInitialBlocks data=\"4\"/><InitialBlockDef_1 data=\"-11.662568185442852,-7.661564963052393,0.00001840511425814619,0,0,1,52,true,12\"/><InitialBlockDef_2 data=\"6.3242648400228445,-2.3251708557315798,-0.005195158263048192,1,0,1,33,true,1\"/><InitialBlockDef_3 data=\"6.66452454549372,-0.6636430467828196,1.56721987253515,0,0,1,7,true,4\"/><InitialBlockDef_4 data=\"-11.662936810945817,-8.989799750644128,-0.0000010901642650882867,0,0,1,1,true,3\"/><ScrollLimits data=\"-424,389,-678,275,50,-220\"/><Score data=\"8000\" /></BalanceLevel>";  ["96d95a15485b5e3beddc6eb1470d5334"] = "<BalanceLevel><NumStaticBlocks data=\"29\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,70,-220,70,-220,160,-70,160,-70,290,-290,290\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,160,220,290,0,290,0,160\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-210,-290,-290,-20,-290,-20,-210,-220,-210\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-60,-50,-10,-50,-10,0,-40,0,-60,-20\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-10,-50,40,-50,40,0,-10,0\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,0,220,0,220,40\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-220,-210,-180,-210,-220,-170\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"60,-210,100,-210,100,-170\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"40,-50,100,-50,100,-140,190,-140,190,0,40,0\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"190,-140,290,-140,290,0,190,0\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,0,290,0,290,100,220,100\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,180,290,180,290,290,220,290\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,100,260,100,260,140,220,140\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"260,100,290,100,290,140,260,140\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,140,260,140,260,180,220,180\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"260,140,290,140,290,180,260,180\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"240,-210,290,-210,290,-140,240,-140\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"170,-210,240,-210,240,-140,170,-140\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"100,-210,170,-210,170,-140,100,-140\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-70,160,0,160,0,230,-70,230\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-70,230,0,230,0,290,-70,290\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,0,-220,0,-220,70,-290,70\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-40,-260,-40,-260,0,-290,0\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-260,-40,-220,-40,-220,0,-260,0\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-260,-80,-220,-80,-220,-40,-260,-40\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-80,-260,-80,-260,-40,-290,-40\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-210,-220,-210,-220,-80,-290,-80\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-20,-290,140,-290,140,-210,-20,-210\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"140,-290,290,-290,290,-210,140,-210\"/><NumElementBlocks data=\"3\"/><ElementDef_1 data=\"1,-180,210,1\"/><ElementDef_2 data=\"2,140,210,1\"/><ElementDef_3 data=\"4,-20,-90,Drag around the metal shapes| with your mouse. Create a circuit| between the two robot| heads to complete the level. \"/><NumStamps data=\"70\"/><StampDef_1 data=\"2,-50,-45\"/><StampDef_2 data=\"3,5,-45\"/><StampDef_3 data=\"4,95,-46\"/><StampDef_4 data=\"14,65,-45\"/><StampDef_5 data=\"2,-119.69999999999999,165\"/><StampDef_6 data=\"3,-65,166\"/><StampDef_7 data=\"3,19,166\"/><StampDef_8 data=\"4,86,164\"/><StampDef_9 data=\"14,66,166\"/><StampDef_10 data=\"2,197,165\"/><StampDef_11 data=\"4,211,165\"/><StampDef_12 data=\"32,-51,192\"/><StampDef_13 data=\"35,-178,257\"/><StampDef_14 data=\"32,-121.5,255\"/><StampDef_15 data=\"34,-206,262\"/><StampDef_16 data=\"34,-250.5,214\"/><StampDef_17 data=\"33,-159,273\"/><StampDef_18 data=\"32,145.05,267\"/><StampDef_19 data=\"35,109.94999999999999,260\"/><StampDef_20 data=\"36,161.95,260\"/><StampDef_21 data=\"36,197.95,221\"/><StampDef_22 data=\"35,200.95,240\"/><StampDef_23 data=\"37,93,219\"/><StampDef_24 data=\"34,-13,214\"/><StampDef_25 data=\"35,53,218\"/><StampDef_26 data=\"36,19,258\"/><StampDef_27 data=\"35,-49,271\"/><StampDef_28 data=\"32,235,18\"/><StampDef_29 data=\"34,258,68\"/><StampDef_30 data=\"36,267,32\"/><StampDef_31 data=\"32,265,203\"/><StampDef_32 data=\"35,258,251\"/><StampDef_33 data=\"32,126,-122\"/><StampDef_34 data=\"32,246,-73\"/><StampDef_35 data=\"35,162,-90\"/><StampDef_36 data=\"32,-146,-246\"/><StampDef_37 data=\"32,-247,-149\"/><StampDef_38 data=\"35,-209,-199\"/><StampDef_39 data=\"35,-258,-162\"/><StampDef_40 data=\"34,-236,-26\"/><StampDef_41 data=\"32,237,-256\"/><StampDef_42 data=\"37,226,-243\"/><StampDef_43 data=\"34,119,-23\"/><StampDef_44 data=\"36,201,-18\"/><StampDef_45 data=\"35,29,-26\"/><StampDef_46 data=\"36,0,-18\"/><StampDef_47 data=\"36,-49,-29\"/><StampDef_48 data=\"34,209,-189\"/><StampDef_49 data=\"34,20,-257\"/><StampDef_50 data=\"32,96,-246\"/><StampDef_51 data=\"34,-59,-230\"/><StampDef_52 data=\"36,-231,-238\"/><StampDef_53 data=\"33,-263,-265\"/><StampDef_54 data=\"32,254,231\"/><StampDef_55 data=\"35,-253,86\"/><StampDef_56 data=\"34,-268,34\"/><StampDef_57 data=\"34,-28,-14\"/><StampDef_58 data=\"34,-275,-102\"/><StampDef_59 data=\"36,-241,116\"/><StampDef_60 data=\"5,-92,142\"/><StampDef_61 data=\"8,-55,146\"/><StampDef_62 data=\"42,205,151\"/><StampDef_63 data=\"10,33,122\"/><StampDef_64 data=\"6,51,138\"/><StampDef_65 data=\"10,-37,155\"/><StampDef_66 data=\"91,-6,113\"/><StampDef_67 data=\"11,87,-90\"/><StampDef_68 data=\"13,67,-69\"/><StampDef_69 data=\"42,17,-60\"/><StampDef_70 data=\"8,-48,-54\"/><NumLevelBlocks data=\"0\"/><NumInitialBlocks data=\"5\"/><InitialBlockDef_1 data=\"-4.210617101369331,4.337009843177967,-1.5687891084792545,1,0,1,2,false,7\"/><InitialBlockDef_2 data=\"5.38083333743559,4.336006613945036,-1.571349014726071,1,0,1,2,false,7\"/><InitialBlockDef_3 data=\"2.710420021994183,4.337147886604103,1.569015751222347,1,0,1,2,false,7\"/><InitialBlockDef_4 data=\"-2.5466343649779626,4.6711862699919875,0.00031105651935585204,1,0,1,4,false,7\"/><InitialBlockDef_5 data=\"2.3383609819738287,-2.33135295600763,-0.000002195029185833119,1,0,1,4,false,7\"/><ScrollLimits data=\"-275,275,-275,275,0,0\"/><Score data=\"2000\" /></BalanceLevel>";  ["432ceb3f43d492c228bf242fd62cdddb"] = "<BalanceLevel><NumStaticBlocks data=\"27\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,70,-100,230,-330,230,-330,120,-270,120,-270,70\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"400,-170,620,-170,620,10,400,10\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-270,-30,-190,-30,-190,10,-210,40,-270,40\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-420,-30,-270,-30,-270,120,-400,120,-400,40,-420,10\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-440,120,-330,120,-330,230,-440,230\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-510,230,-290,230,-290,320,-510,320\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-510,120,-440,120,-440,230,-510,230\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"0,260,110,260,110,320,0,320\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,260,0,260,0,320,-100,320\"/><BlockDef_10 water=\"1\" nodrag=\"0\" deadzone=\"0\" data=\"110,280,400,280,400,320,110,320\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"400,220,510,220,510,330,400,330\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"510,300,590,300,590,330,510,330\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"590,220,630,220,630,330,590,330\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"400,10,510,10,510,120,620,120,620,220,400,220\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"400,-240,480,-240,480,-170,400,-170\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"480,-290,620,-290,620,-170,480,-170\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"400,-290,480,-290,480,-240,400,-240\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"510,10,620,10,620,120,510,120\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-190,230,-100,230,-100,320,-190,320\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"510,220,550,220,550,260,510,260\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"550,220,590,220,590,260,550,260\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"510,260,550,260,550,300,510,300\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"550,260,590,260,590,300,550,300\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-240,230,-190,230,-190,280,-240,280\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,230,-240,230,-240,280,-290,280\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,280,-240,280,-240,320,-290,320\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-240,280,-190,280,-190,320,-240,320\"/><NumElementBlocks data=\"4\"/><ElementDef_1 data=\"3,-340,-50\"/><ElementDef_2 data=\"1,-180,120,1\"/><ElementDef_3 data=\"2,440,-80,4\"/><ElementDef_4 data=\"4,-240,-70,these blocks weigh a ton.| maybe they could be used as a|counter weight.\"/><NumStamps data=\"108\"/><StampDef_1 data=\"38,130,280\"/><StampDef_2 data=\"38,170,280\"/><StampDef_3 data=\"38,210,280\"/><StampDef_4 data=\"38,250,280\"/><StampDef_5 data=\"38,290,280\"/><StampDef_6 data=\"38,330,280\"/><StampDef_7 data=\"38,370,280\"/><StampDef_8 data=\"38,410,280\"/><StampDef_9 data=\"3,-36,265.5\"/><StampDef_10 data=\"3,51,266\"/><StampDef_11 data=\"4,105,264\"/><StampDef_12 data=\"2,-92,264.5\"/><StampDef_13 data=\"3,-354,-23\"/><StampDef_14 data=\"3,-265,-23.5\"/><StampDef_15 data=\"2,-410,-25.5\"/><StampDef_16 data=\"4,-198,-26\"/><StampDef_17 data=\"15,-215,-26\"/><StampDef_18 data=\"15,-120.69999999999999,76\"/><StampDef_19 data=\"4,-104,75\"/><StampDef_20 data=\"14,-240.5,77\"/><StampDef_21 data=\"2,-260,75\"/><StampDef_22 data=\"3,-464,127\"/><StampDef_23 data=\"4,-410,124\"/><StampDef_24 data=\"40,71.5,243.5\"/><StampDef_25 data=\"42,-79.5,251\"/><StampDef_26 data=\"12,-55,248\"/><StampDef_27 data=\"10,-393,-42.5\"/><StampDef_28 data=\"9,-470,106\"/><StampDef_29 data=\"41,-425,108\"/><StampDef_30 data=\"8,-453,114.5\"/><StampDef_31 data=\"41,-16.5,246\"/><StampDef_32 data=\"7,-35,242\"/><StampDef_33 data=\"32,-394,3\"/><StampDef_34 data=\"33,-295,52\"/><StampDef_35 data=\"34,-373,183.5\"/><StampDef_36 data=\"32,-388,201.5\"/><StampDef_37 data=\"32,-176,176\"/><StampDef_38 data=\"33,-210.5,171\"/><StampDef_39 data=\"36,-124.5,135\"/><StampDef_40 data=\"35,-126,157.5\"/><StampDef_41 data=\"34,-471,148.5\"/><StampDef_42 data=\"34,-206,1\"/><StampDef_43 data=\"34,-462,289\"/><StampDef_44 data=\"36,-368,203\"/><StampDef_45 data=\"36,-230.5,126\"/><StampDef_46 data=\"36,-219,19\"/><StampDef_47 data=\"33,-311,249\"/><StampDef_48 data=\"35,-301,258\"/><StampDef_49 data=\"36,-318,266\"/><StampDef_50 data=\"36,-288,167\"/><StampDef_51 data=\"34,-143,282\"/><StampDef_52 data=\"34,-361,81\"/><StampDef_53 data=\"34,-466,261.5\"/><StampDef_54 data=\"34,-18,298\"/><StampDef_55 data=\"33,97,284\"/><StampDef_56 data=\"37,92,297.5\"/><StampDef_57 data=\"36,-375,295\"/><StampDef_58 data=\"36,-56,288\"/><StampDef_59 data=\"36,59,290\"/><StampDef_60 data=\"32,426,239.5\"/><StampDef_61 data=\"35,484,291\"/><StampDef_62 data=\"35,569,233\"/><StampDef_63 data=\"32,582,56.5\"/><StampDef_64 data=\"34,563,78\"/><StampDef_65 data=\"32,452,131.5\"/><StampDef_66 data=\"35,440,119\"/><StampDef_67 data=\"34,463,117.5\"/><StampDef_68 data=\"34,525,175.5\"/><StampDef_69 data=\"34,421,36\"/><StampDef_70 data=\"32,432,-217.5\"/><StampDef_71 data=\"34,568,-206.5\"/><StampDef_72 data=\"36,551,-133\"/><StampDef_73 data=\"36,571,44\"/><StampDef_74 data=\"36,587,137\"/><StampDef_75 data=\"36,444,-233\"/><StampDef_76 data=\"36,411,-258\"/><StampDef_77 data=\"36,576,309\"/><StampDef_78 data=\"36,572,-51\"/><StampDef_79 data=\"37,579,-59.5\"/><StampDef_80 data=\"37,500,-82\"/><StampDef_81 data=\"33,502,-52\"/><StampDef_82 data=\"37,489.5,-134.95\"/><StampDef_83 data=\"32,515.5,-99.94999999999999\"/><StampDef_84 data=\"34,459,-18\"/><StampDef_85 data=\"34,499,-257\"/><StampDef_86 data=\"36,537,272\"/><StampDef_87 data=\"35,-222,303\"/><StampDef_88 data=\"43,35,251\"/><StampDef_89 data=\"7,-284,-45\"/><StampDef_90 data=\"43,-262,-36\"/><StampDef_91 data=\"35,-401,261\"/><StampDef_92 data=\"35,-479,192\"/><StampDef_93 data=\"35,-334,12\"/><StampDef_94 data=\"35,-216,249\"/><StampDef_95 data=\"35,-243,185\"/><StampDef_96 data=\"36,-255.5,133\"/><StampDef_97 data=\"36,-154,192\"/><StampDef_98 data=\"36,471,188\"/><StampDef_99 data=\"36,488,253\"/><StampDef_100 data=\"36,484,63\"/><StampDef_101 data=\"36,545,-18\"/><StampDef_102 data=\"36,509,-207\"/><StampDef_103 data=\"36,576,-251\"/><StampDef_104 data=\"93,140,310\"/><StampDef_105 data=\"93,200,310\"/><StampDef_106 data=\"93,260,310\"/><StampDef_107 data=\"93,320,310\"/><StampDef_108 data=\"93,380,310\"/><NumLevelBlocks data=\"12\"/><LevelBlockDef_1 data=\"25,1,0,0,0,0\"/><LevelBlockDef_2 data=\"25,1,0,0,0,0\"/><LevelBlockDef_3 data=\"24,1,0,0,1,23\"/><LevelBlockDef_4 data=\"25,1,0,0,0,0\"/><LevelBlockDef_5 data=\"25,1,0,0,0,0\"/><LevelBlockDef_6 data=\"24,1,0,0,1,23\"/><LevelBlockDef_7 data=\"25,1,0,0,0,0\"/><LevelBlockDef_8 data=\"25,1,0,0,0,0\"/><LevelBlockDef_9 data=\"24,1,0,0,1,23\"/><LevelBlockDef_10 data=\"25,1,0,0,0,0\"/><LevelBlockDef_11 data=\"25,1,0,0,0,0\"/><LevelBlockDef_12 data=\"24,1,0,0,1,23\"/><NumInitialBlocks data=\"6\"/><InitialBlockDef_1 data=\"0.669695386411064,8.005163135995124,0.000060997771543335316,1,0,1,55,true,25\"/><InitialBlockDef_2 data=\"0.6728262314113284,7.0116769155695655,0.00008970146098905913,1,0,1,55,true,25\"/><InitialBlockDef_3 data=\"0.6760575075772102,6.018083593698272,0.00011666346481231661,1,0,1,55,true,25\"/><InitialBlockDef_4 data=\"0.6844542567226473,5.0245995894304984,0.00012337221171495358,1,0,1,55,true,25\"/><InitialBlockDef_5 data=\"3.097338353048211,4.030364277344601,0.0003064132280042491,12,0,1,23,true,24\"/><InitialBlockDef_6 data=\"-2.1568506587570546,4.029614725747798,0.00015869159170181523,12,0,1,23,true,24\"/><ScrollLimits data=\"-491,599,-267,311,-160,30\"/><Score data=\"10000\" /></BalanceLevel>";  ["952cf03332afbb2b7d0d74a42a4988fb"] = "<BalanceLevel><NumStaticBlocks data=\"24\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,-110,-260,-110,-260,-10,-350,-10\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,-10,-260,-10,-260,80,-350,80\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,80,-260,80,-260,160,-350,160\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-260,-110,-190,-110,-260,-40\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-300,80,-260,80,-260,120,-300,120\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-300,120,-260,120,-260,160,-300,160\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,80,-300,80,-300,120,-350,120\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,120,-300,120,-300,160,-350,160\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,-270,-190,-270,-190,-110,-350,-110\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,-370,-190,-370,-190,-270,-350,-270\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-190,-370,-60,-370,-60,-260,-190,-260\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-60,-310,-10,-310,-10,-260,-60,-260\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-60,-370,-10,-370,-10,-310,-60,-310\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-10,-370,190,-370,190,-260,-10,-260\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"190,-370,290,-370,290,-260,190,-260\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"190,-260,290,-260,290,-110,190,-110\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-10,-110,110,-110,110,10,10,10,-10,-10\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"110,-110,290,-110,290,160,110,160\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"200,160,290,160,290,290,200,290\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"20,160,200,160,200,290,20,290\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,160,-200,160,-200,290,-350,290\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-50,230,20,230,20,290,-50,290\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-50,160,20,160,20,230,-50,230\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-200,160,-50,160,-50,290,-200,290\"/><NumElementBlocks data=\"3\"/><ElementDef_1 data=\"1,-120,210,1\"/><ElementDef_2 data=\"2,80,-60,1\"/><ElementDef_3 data=\"4,-20,120,Your blocks come in a variety of| shapes and sizes. Why dont you| try and stack them to create a| circuit.\"/><NumStamps data=\"75\"/><StampDef_1 data=\"2,-1.0500000000000114,-105\"/><StampDef_2 data=\"4,29.94999999999999,-105\"/><StampDef_3 data=\"15,12.949999999999989,-105\"/><StampDef_4 data=\"2,141,-106\"/><StampDef_5 data=\"14,160,-105\"/><StampDef_6 data=\"4,180,-107\"/><StampDef_7 data=\"3,-26,166\"/><StampDef_8 data=\"3,48,165\"/><StampDef_9 data=\"4,103,163\"/><StampDef_10 data=\"2,-255,165\"/><StampDef_11 data=\"3,-205,166\"/><StampDef_12 data=\"43,-210,154\"/><StampDef_13 data=\"41,-237,145\"/><StampDef_14 data=\"8,99,144\"/><StampDef_15 data=\"7,78,118\"/><StampDef_16 data=\"13,61,138\"/><StampDef_17 data=\"10,-51,147\"/><StampDef_18 data=\"11,-191,143\"/><StampDef_19 data=\"5,166,-129\"/><StampDef_20 data=\"10,137,-120\"/><StampDef_21 data=\"12,28,-124\"/><StampDef_22 data=\"42,11.949999999999989,-119\"/><StampDef_23 data=\"32,-116.5,263\"/><StampDef_24 data=\"33,-62.5,254\"/><StampDef_25 data=\"34,-222.5,206\"/><StampDef_26 data=\"32,-319,140\"/><StampDef_27 data=\"34,-281,6\"/><StampDef_28 data=\"32,80,195\"/><StampDef_29 data=\"33,147,232\"/><StampDef_30 data=\"36,181,182\"/><StampDef_31 data=\"32,-313,252\"/><StampDef_32 data=\"33,-148.5,259\"/><StampDef_33 data=\"35,-274,92\"/><StampDef_34 data=\"36,-249,190\"/><StampDef_35 data=\"36,-251,255\"/><StampDef_36 data=\"32,-214,-135\"/><StampDef_37 data=\"33,-229,-152\"/><StampDef_38 data=\"32,155,30\"/><StampDef_39 data=\"34,183,59\"/><StampDef_40 data=\"32,241,-47\"/><StampDef_41 data=\"32,50,272\"/><StampDef_42 data=\"32,266,236\"/><StampDef_43 data=\"35,265,178\"/><StampDef_44 data=\"35,-11,201\"/><StampDef_45 data=\"32,-332,-74\"/><StampDef_46 data=\"35,-313,-240\"/><StampDef_47 data=\"32,-92,-325\"/><StampDef_48 data=\"34,-113,-311\"/><StampDef_49 data=\"35,-256,-343\"/><StampDef_50 data=\"32,-282,-309\"/><StampDef_51 data=\"34,-312,-147\"/><StampDef_52 data=\"34,258,-237\"/><StampDef_53 data=\"32,222,-289\"/><StampDef_54 data=\"33,236,-308\"/><StampDef_55 data=\"32,91,-288\"/><StampDef_56 data=\"36,108,-304\"/><StampDef_57 data=\"36,23,-340\"/><StampDef_58 data=\"36,196,127\"/><StampDef_59 data=\"36,214,-163\"/><StampDef_60 data=\"34,168,-354\"/><StampDef_61 data=\"36,-27,-278\"/><StampDef_62 data=\"36,-326,183\"/><StampDef_63 data=\"36,-210,-247\"/><StampDef_64 data=\"36,268,79\"/><StampDef_65 data=\"32,51,-4\"/><StampDef_66 data=\"35,79.94999999999999,-16\"/><StampDef_67 data=\"35,10.949999999999989,-53\"/><StampDef_68 data=\"36,8,269\"/><StampDef_69 data=\"35,-264,-204\"/><StampDef_70 data=\"35,-210,-293\"/><StampDef_71 data=\"35,169,-30\"/><StampDef_72 data=\"35,256,-141\"/><StampDef_73 data=\"35,22,-289\"/><StampDef_74 data=\"35,-38,-340\"/><StampDef_75 data=\"35,-162,-338\"/><NumLevelBlocks data=\"0\"/><NumInitialBlocks data=\"6\"/><InitialBlockDef_1 data=\"3.3202264292144776,-4.33034308398139,3.1405876097442262,1,0,1,0,true,3\"/><InitialBlockDef_2 data=\"-7.997412381090939,2.3402842624197078,1.571457691030105,1,0,1,2,true,7\"/><InitialBlockDef_3 data=\"2.335179607589451,4.3373063590248915,7.854638782949576,1,0,1,2,true,7\"/><InitialBlockDef_4 data=\"-7.669884541694079,4.669855502459052,-0.00040565245514818807,1,0,1,4,true,7\"/><InitialBlockDef_5 data=\"2.671671537273981,2.6754048065729474,12.566450672631852,1,0,1,4,true,7\"/><InitialBlockDef_6 data=\"-3.822190434278517,4.667649726938079,-0.0008190394677240921,1,0,1,2,true,7\"/><ScrollLimits data=\"-334,275,-355,275,-40,0\"/><Score data=\"2000\" /></BalanceLevel>";  ["5469df897345e6c8558ab0c8a08ddbfa"] = "<BalanceLevel><NumStaticBlocks data=\"57\"/><BlockDef_1 water=\"1\" nodrag=\"0\" deadzone=\"0\" data=\"-210,100,190,100,190,250,-210,250\"/><BlockDef_2 water=\"1\" nodrag=\"0\" deadzone=\"0\" data=\"220,-20,670,-20,670,250,220,250\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"490,-300,550,-300,550,-240,490,-240\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,60,-210,60,-210,140,-290,140\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,140,-210,140,-210,290,-290,290\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-140,30,-110,30,-110,60,-140,60\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-210,60,-50,60,-50,90,-210,90\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-210,250,-170,250,-170,290,-210,290\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-170,250,-130,250,-130,290,-170,290\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"100,0,190,0,190,90,100,90\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"40,30,100,30,100,90,40,90\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-20,60,40,60,40,90,-20,90\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-130,250,40,250,40,290,-130,290\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"40,250,220,250,220,290,40,290\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"190,90,220,90,220,250,190,250\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"190,-60,220,-60,220,-20,190,-20\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"190,-20,220,-20,220,90,190,90\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,250,400,250,400,290,220,290\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"400,250,440,250,440,290,400,290\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"440,250,480,250,480,290,440,290\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"480,250,580,250,580,290,480,290\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"580,250,670,250,670,290,580,290\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"670,160,800,160,800,290,670,290\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"800,160,910,160,910,290,800,290\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"860,100,910,100,910,160,860,160\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"800,100,860,100,860,160,800,160\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"800,-90,910,-90,910,100,800,100\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"670,30,800,30,800,160,670,160\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"670,-90,800,-90,800,30,670,30\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"10,-90,160,-90,160,-30,10,-30\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"60,-150,130,-150,130,-90,60,-90\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-110,-90,10,-90,10,0,-110,0\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-110,-150,0,-150,0,-90,-110,-90\"/><BlockDef_34 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"130,-150,220,-150,220,-120,130,-120\"/><BlockDef_35 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,-240,310,-240,310,-180,220,-180\"/><BlockDef_36 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,-180,280,-180,280,-120,220,-120\"/><BlockDef_37 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"250,-120,280,-120,280,-90,250,-90\"/><BlockDef_38 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"310,-240,370,-240,370,-210,310,-210\"/><BlockDef_39 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"370,-240,460,-240,460,-150,370,-150\"/><BlockDef_40 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"370,-150,430,-150,430,-90,370,-90\"/><BlockDef_41 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"430,-150,460,-150,460,-120,430,-120\"/><BlockDef_42 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"460,-150,490,-150,490,-120,460,-120\"/><BlockDef_43 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"460,-180,490,-180,490,-150,460,-150\"/><BlockDef_44 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"310,-90,340,-90,340,-60,310,-60\"/><BlockDef_45 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"250,-60,460,-60,460,-30,250,-30\"/><BlockDef_46 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"460,-90,520,-90,520,-30,460,-30\"/><BlockDef_47 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"520,-60,640,-60,640,-30,520,-30\"/><BlockDef_48 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"550,-90,580,-90,580,-60,550,-60\"/><BlockDef_49 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"520,-210,550,-210,550,-60,520,-60\"/><BlockDef_50 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"550,-210,580,-210,580,-180,550,-180\"/><BlockDef_51 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"640,-440,790,-440,790,-310,640,-310\"/><BlockDef_52 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"580,-440,640,-440,640,-380,580,-380\"/><BlockDef_53 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"580,-380,640,-380,640,-320,580,-320\"/><BlockDef_54 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"580,-320,640,-320,640,-270,580,-270\"/><BlockDef_55 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"610,-270,640,-270,640,-240,610,-240\"/><BlockDef_56 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"580,-150,610,-150,610,-120,580,-120\"/><BlockDef_57 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"610,-240,640,-240,640,-120,610,-120\"/><NumElementBlocks data=\"3\"/><ElementDef_1 data=\"1,-70,-70,4\"/><ElementDef_2 data=\"2,700,-350,3\"/><ElementDef_3 data=\"3,280,-260\"/><NumStamps data=\"254\"/><StampDef_1 data=\"38,-190,110\"/><StampDef_2 data=\"38,-150,110\"/><StampDef_3 data=\"38,-110,110\"/><StampDef_4 data=\"38,-70,110\"/><StampDef_5 data=\"38,-30,110\"/><StampDef_6 data=\"38,10,110\"/><StampDef_7 data=\"38,50,110\"/><StampDef_8 data=\"38,90,110\"/><StampDef_9 data=\"38,130,110\"/><StampDef_10 data=\"38,170,110\"/><StampDef_11 data=\"93,-180,140\"/><StampDef_12 data=\"93,-120,140\"/><StampDef_13 data=\"93,-60,140\"/><StampDef_14 data=\"93,0,140\"/><StampDef_15 data=\"93,60,140\"/><StampDef_16 data=\"93,120,140\"/><StampDef_17 data=\"93,180,140\"/><StampDef_18 data=\"93,160,200\"/><StampDef_19 data=\"93,160,260\"/><StampDef_20 data=\"93,100,200\"/><StampDef_21 data=\"93,100,260\"/><StampDef_22 data=\"93,40,200\"/><StampDef_23 data=\"93,40,260\"/><StampDef_24 data=\"93,-20,200\"/><StampDef_25 data=\"93,-20,260\"/><StampDef_26 data=\"93,-80,200\"/><StampDef_27 data=\"93,-80,260\"/><StampDef_28 data=\"93,-140,200\"/><StampDef_29 data=\"93,-200,200\"/><StampDef_30 data=\"93,-200,260\"/><StampDef_31 data=\"39,-127,165.10000000000002\"/><StampDef_32 data=\"39,104,209.95\"/><StampDef_33 data=\"39,-12,154.14999999999998\"/><StampDef_34 data=\"39,-34,220\"/><StampDef_35 data=\"93,-150,260\"/><StampDef_36 data=\"93,-110,260\"/><StampDef_37 data=\"40,-160,238\"/><StampDef_38 data=\"41,-114,237\"/><StampDef_39 data=\"42,52,244\"/><StampDef_40 data=\"40,153,234\"/><StampDef_41 data=\"43,118,243\"/><StampDef_42 data=\"38,240,-10\"/><StampDef_43 data=\"38,280,-10\"/><StampDef_44 data=\"38,320,-10\"/><StampDef_45 data=\"38,360,-10\"/><StampDef_46 data=\"38,400,-10\"/><StampDef_47 data=\"38,440,-10\"/><StampDef_48 data=\"38,480,-10\"/><StampDef_49 data=\"38,520,-10\"/><StampDef_50 data=\"38,560,-10\"/><StampDef_51 data=\"38,600,-10\"/><StampDef_52 data=\"38,640,-10\"/><StampDef_53 data=\"38,680,-10\"/><StampDef_54 data=\"93,250,20\"/><StampDef_55 data=\"93,310,20\"/><StampDef_56 data=\"93,370,20\"/><StampDef_57 data=\"93,430,20\"/><StampDef_58 data=\"93,490,20\"/><StampDef_59 data=\"93,540,20\"/><StampDef_60 data=\"93,600,20\"/><StampDef_61 data=\"93,650,20\"/><StampDef_62 data=\"93,370,80\"/><StampDef_63 data=\"93,430,80\"/><StampDef_64 data=\"93,490,80\"/><StampDef_65 data=\"93,550,80\"/><StampDef_66 data=\"93,600,80\"/><StampDef_67 data=\"93,650,80\"/><StampDef_68 data=\"93,650,140\"/><StampDef_69 data=\"93,590,140\"/><StampDef_70 data=\"93,530,140\"/><StampDef_71 data=\"93,470,140\"/><StampDef_72 data=\"93,410,140\"/><StampDef_73 data=\"93,350,140\"/><StampDef_74 data=\"93,290,140\"/><StampDef_75 data=\"93,230,140\"/><StampDef_76 data=\"93,310,200\"/><StampDef_77 data=\"93,370,200\"/><StampDef_78 data=\"93,430,200\"/><StampDef_79 data=\"93,490,200\"/><StampDef_80 data=\"93,550,200\"/><StampDef_81 data=\"93,610,200\"/><StampDef_82 data=\"93,670,200\"/><StampDef_83 data=\"93,640,260\"/><StampDef_84 data=\"93,590,260\"/><StampDef_85 data=\"93,530,260\"/><StampDef_86 data=\"93,470,260\"/><StampDef_87 data=\"93,410,260\"/><StampDef_88 data=\"93,350,260\"/><StampDef_89 data=\"93,290,260\"/><StampDef_90 data=\"93,230,260\"/><StampDef_91 data=\"39,302.6,184.64999999999998\"/><StampDef_92 data=\"39,521.8,76.39999999999998\"/><StampDef_93 data=\"39,604.85,169.95\"/><StampDef_94 data=\"93,250,80\"/><StampDef_95 data=\"93,310,80\"/><StampDef_96 data=\"39,310,100\"/><StampDef_97 data=\"40,460,233\"/><StampDef_98 data=\"41,554,236\"/><StampDef_99 data=\"43,584,241\"/><StampDef_100 data=\"42,291,241\"/><StampDef_101 data=\"40,620,235\"/><StampDef_102 data=\"42,642,241\"/><StampDef_103 data=\"93,250,200\"/><StampDef_104 data=\"4,-148,63\"/><StampDef_105 data=\"14,-178,64\"/><StampDef_106 data=\"3,-240,64\"/><StampDef_107 data=\"2,-131,32\"/><StampDef_108 data=\"4,-118,32\"/><StampDef_109 data=\"2,-101.5,-145\"/><StampDef_110 data=\"4,-8.5,-146\"/><StampDef_111 data=\"14,-71.5,-145\"/><StampDef_112 data=\"14,-37.5,-145\"/><StampDef_113 data=\"2,68,-145\"/><StampDef_114 data=\"3,124,-144\"/><StampDef_115 data=\"14,185,-145\"/><StampDef_116 data=\"4,215,-146\"/><StampDef_117 data=\"3,276,-235\"/><StampDef_118 data=\"3,361,-235\"/><StampDef_119 data=\"14,424,-236\"/><StampDef_120 data=\"4,452,-237\"/><StampDef_121 data=\"2,225,-235\"/><StampDef_122 data=\"2,496,-295\"/><StampDef_123 data=\"4,545,-294\"/><StampDef_124 data=\"14,522,-294\"/><StampDef_125 data=\"2,590,-436\"/><StampDef_126 data=\"3,645,-435\"/><StampDef_127 data=\"3,731,-435\"/><StampDef_128 data=\"4,786,-436\"/><StampDef_129 data=\"2,678,-86\"/><StampDef_130 data=\"3,735,-85\"/><StampDef_131 data=\"3,821,-84\"/><StampDef_132 data=\"3,908,-85\"/><StampDef_133 data=\"32,-247,197\"/><StampDef_134 data=\"35,-229,214\"/><StampDef_135 data=\"34,-225,157\"/><StampDef_136 data=\"32,-47,270\"/><StampDef_137 data=\"34,-80,261\"/><StampDef_138 data=\"36,-116,273\"/><StampDef_139 data=\"35,23,272\"/><StampDef_140 data=\"36,-193,267\"/><StampDef_141 data=\"32,-271,275\"/><StampDef_142 data=\"32,137,276\"/><StampDef_143 data=\"35,104,262\"/><StampDef_144 data=\"35,-261,94\"/><StampDef_145 data=\"32,57,46\"/><StampDef_146 data=\"35,79,68\"/><StampDef_147 data=\"32,168,27\"/><StampDef_148 data=\"37,151,48\"/><StampDef_149 data=\"36,116,21\"/><StampDef_150 data=\"36,-117,74\"/><StampDef_151 data=\"36,257,270\"/><StampDef_152 data=\"32,316,269\"/><StampDef_153 data=\"33,376,277\"/><StampDef_154 data=\"36,356,260\"/><StampDef_155 data=\"36,205,158\"/><StampDef_156 data=\"33,203,183\"/><StampDef_157 data=\"33,-71,74\"/><StampDef_158 data=\"33,51,-69\"/><StampDef_159 data=\"34,136,-59\"/><StampDef_160 data=\"36,108,-78\"/><StampDef_161 data=\"36,204,-42\"/><StampDef_162 data=\"36,209,59\"/><StampDef_163 data=\"36,77,-127\"/><StampDef_164 data=\"33,112,-110\"/><StampDef_165 data=\"32,254,-202\"/><StampDef_166 data=\"34,294,-212\"/><StampDef_167 data=\"34,251,-140\"/><StampDef_168 data=\"34,430,-178\"/><StampDef_169 data=\"32,399,-207\"/><StampDef_170 data=\"36,434,-211\"/><StampDef_171 data=\"36,386,-115\"/><StampDef_172 data=\"36,477,-137\"/><StampDef_173 data=\"33,325,-72\"/><StampDef_174 data=\"33,503,-43\"/><StampDef_175 data=\"36,474,-71\"/><StampDef_176 data=\"35,411,-46\"/><StampDef_177 data=\"35,517,-265\"/><StampDef_178 data=\"35,413,-130\"/><StampDef_179 data=\"35,626,-143\"/><StampDef_180 data=\"33,618,-228\"/><StampDef_181 data=\"36,634,-189\"/><StampDef_182 data=\"36,539,-163\"/><StampDef_183 data=\"32,537,-103\"/><StampDef_184 data=\"32,623,-45\"/><StampDef_185 data=\"36,599,-47\"/><StampDef_186 data=\"36,564,-76\"/><StampDef_187 data=\"32,595.55,-365\"/><StampDef_188 data=\"34,624,-338\"/><StampDef_189 data=\"35,596,-299\"/><StampDef_190 data=\"35,773,-415\"/><StampDef_191 data=\"36,705.55,-410\"/><StampDef_192 data=\"34,733,-419\"/><StampDef_193 data=\"34,539,-252\"/><StampDef_194 data=\"34,652,-407\"/><StampDef_195 data=\"34,-39.5,-22\"/><StampDef_196 data=\"34,533,264\"/><StampDef_197 data=\"35,563,259\"/><StampDef_198 data=\"36,453,262\"/><StampDef_199 data=\"32,778,176\"/><StampDef_200 data=\"34,755,194\"/><StampDef_201 data=\"34,782,251\"/><StampDef_202 data=\"32,694,243\"/><StampDef_203 data=\"32,892,218\"/><StampDef_204 data=\"34,863,183\"/><StampDef_205 data=\"36,845,233\"/><StampDef_206 data=\"36,687,181\"/><StampDef_207 data=\"36,701,72\"/><StampDef_208 data=\"33,755,85\"/><StampDef_209 data=\"32,777,45\"/><StampDef_210 data=\"36,717,133\"/><StampDef_211 data=\"32,870,22\"/><StampDef_212 data=\"33,835,-17\"/><StampDef_213 data=\"33,703,-57\"/><StampDef_214 data=\"34,750,-30\"/><StampDef_215 data=\"34,881,-59\"/><StampDef_216 data=\"34,890,126\"/><StampDef_217 data=\"36,693,10\"/><StampDef_218 data=\"36,840,61\"/><StampDef_219 data=\"36,871,140\"/><StampDef_220 data=\"36,780,-8\"/><StampDef_221 data=\"36,635,266\"/><StampDef_222 data=\"36,167,72\"/><StampDef_223 data=\"36,-230,111\"/><StampDef_224 data=\"36,-7.5,-69\"/><StampDef_225 data=\"6,729,-111\"/><StampDef_226 data=\"91,819,-146\"/><StampDef_227 data=\"7,800,-107\"/><StampDef_228 data=\"10,881,-129\"/><StampDef_229 data=\"13,862,-111\"/><StampDef_230 data=\"43,680,-98\"/><StampDef_231 data=\"5,758,-458\"/><StampDef_232 data=\"92,611,-488\"/><StampDef_233 data=\"11,631,-457\"/><StampDef_234 data=\"40,674,-457\"/><StampDef_235 data=\"42,714,-449\"/><StampDef_236 data=\"8,361,-254\"/><StampDef_237 data=\"9,430,-275\"/><StampDef_238 data=\"5,419,-258\"/><StampDef_239 data=\"91,385,-297\"/><StampDef_240 data=\"42,336,-247\"/><StampDef_241 data=\"40,95,-166\"/><StampDef_242 data=\"7,162,-190\"/><StampDef_243 data=\"13,186,-170\"/><StampDef_244 data=\"5,145,-168\"/><StampDef_245 data=\"12,199,-165\"/><StampDef_246 data=\"12,-21,-163\"/><StampDef_247 data=\"5,-55,-168\"/><StampDef_248 data=\"9,-90,-166\"/><StampDef_249 data=\"43,87,-157\"/><StampDef_250 data=\"10,539,-311\"/><StampDef_251 data=\"11,513,-314\"/><StampDef_252 data=\"6,-229,36\"/><StampDef_253 data=\"7,-174,43\"/><StampDef_254 data=\"10,-155,50\"/><NumLevelBlocks data=\"1\"/><LevelBlockDef_1 data=\"22,1,1,0,1,42\"/><NumInitialBlocks data=\"23\"/><InitialBlockDef_1 data=\"-1.3344847030116052,2.0367422767306222,1.5619338091322799,1,0,1,32,true,5\"/><InitialBlockDef_2 data=\"5.334874579455232,7.005056997698171,-3.141587070175666,0,1,1,6,true,7\"/><InitialBlockDef_3 data=\"-2.6716430831220834,1.3380219882243882,-0.00007194399169771009,1,0,1,2,true,7\"/><InitialBlockDef_4 data=\"1.003319024040364,1.0035902821589961,-1.5724828849858432,1,0,1,0,true,3\"/><InitialBlockDef_5 data=\"2.3336586627003184,-0.33294550523325406,0.0000040098046160273235,1,0,1,0,true,3\"/><InitialBlockDef_6 data=\"6.000070762504113,-0.9981138556121202,-1.5715475611066747,1,0,1,32,true,5\"/><InitialBlockDef_7 data=\"4.661666628569152,-3.6661111103764363,5.972587114587121e-8,1,0,1,10,true,6\"/><InitialBlockDef_8 data=\"7.999528371575731,-0.9967467367583802,-1.5708748454050727,1,0,1,31,true,4\"/><InitialBlockDef_9 data=\"9.999670719133364,-2.9976522041950933,-1.5689959719043418,1,0,1,32,true,5\"/><InitialBlockDef_10 data=\"15.141965819555093,7.338357328188258,-1.5707835858499424,0,1,1,6,true,7\"/><InitialBlockDef_11 data=\"10.688553511908355,-5.987846675349427,1.5829433428636337,1,0,1,0,true,3\"/><InitialBlockDef_12 data=\"13.326482106901734,-2.333900985952183,0.002773374950840089,1,0,1,31,true,4\"/><InitialBlockDef_13 data=\"16.9985777233657,-3.99944553924511,-1.570100167031425,1,0,1,32,true,5\"/><InitialBlockDef_14 data=\"17.332369504351554,-7.664635784178446,3.140108033526883,1,0,1,31,true,4\"/><InitialBlockDef_15 data=\"21.997291945823626,-0.9956251729229066,-1.5690246638001804,1,0,1,31,true,4\"/><InitialBlockDef_16 data=\"19.995175053871076,-2.6616666656598142,1.570796332922356,0,0,1,11,true,6\"/><InitialBlockDef_17 data=\"19.32955498576273,-4.999633594579586,1.5713634337679467,1,0,1,36,true,12\"/><InitialBlockDef_18 data=\"19.997167022132807,-7.000405169092347,-1.5695754751583015,1,0,1,31,true,4\"/><InitialBlockDef_19 data=\"18.670957644116665,-10.99806738818732,1.5715055174526318,1,1,1,41,true,3\"/><InitialBlockDef_20 data=\"15.671708396661232,-8.658855151191734,0.000045304173770159685,1,1,1,43,true,6\"/><InitialBlockDef_21 data=\"15.653659713140234,-9.659964986314835,0.004453982071026442,1,1,1,43,true,6\"/><InitialBlockDef_22 data=\"14.676867839078072,-8.666644680617825,0.00028939521157060936,1,0,1,10,true,6\"/><InitialBlockDef_23 data=\"0.9993412429260464,-3.6616661941668793,-2.8482262198323665e-7,1,0,1,4,true,7\"/><ScrollLimits data=\"-275,897,-618,280,0,0\"/><Score data=\"7500\" /></BalanceLevel>";  ["5525a3be11e00da140e5477d13a1751d"] = "<BalanceLevel><NumStaticBlocks data=\"36\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-320,10,-270,10,-270,150,-320,150\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-320,-30,-270,-30,-270,10,-320,10\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-320,-70,-270,-70,-270,-30,-320,-30\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-320,-260,-270,-260,-270,-70,-320,-70\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-320,150,-170,150,-170,290,-320,290\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-320,-340,-160,-340,-160,-260,-320,-260\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-270,-260,-210,-260,-270,-200\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-160,-340,-70,-340,-70,-260,-160,-260\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-70,-340,110,-340,110,-260,-70,-260\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"110,-340,210,-340,210,-260,110,-260\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"210,-300,250,-300,250,-260,210,-260\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"250,-300,290,-300,290,-260,250,-260\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"210,-340,250,-340,250,-300,210,-300\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"250,-340,290,-340,290,-300,250,-300\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"290,-340,400,-340,400,-260,290,-260\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"400,-340,500,-340,500,-260,400,-260\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-170,150,-30,150,-30,290,-170,290\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-30,150,40,150,40,220,-30,220\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"40,150,110,150,110,220,40,220\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-30,220,40,220,40,290,-30,290\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"40,220,110,220,110,290,40,290\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,150,270,150,270,190,230,190\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"270,150,310,150,310,190,270,190\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"270,190,310,190,310,230,270,230\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,190,270,190,270,230,230,230\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"110,150,230,150,230,290,110,290\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,230,310,230,310,290,230,290\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"310,150,460,150,460,290,310,290\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"310,50,410,50,410,150,310,150\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"410,50,500,50,500,150,410,150\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"460,150,500,150,500,290,460,290\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"310,-110,500,-110,500,50,310,50\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"460,-260,500,-260,500,-220,460,-220\"/><BlockDef_34 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"460,-220,500,-220,500,-180,460,-180\"/><BlockDef_35 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"460,-180,500,-180,500,-110,460,-110\"/><BlockDef_36 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"400,-260,460,-260,460,-200\"/><NumElementBlocks data=\"3\"/><ElementDef_1 data=\"1,-190,200,1\"/><ElementDef_2 data=\"2,380,-60,1\"/><ElementDef_3 data=\"4,60,110,this portable ground block can|be dragged and will stay fixed|in midair. Useful!\"/><NumStamps data=\"83\"/><StampDef_1 data=\"3,-8,155\"/><StampDef_2 data=\"3,79,155\"/><StampDef_3 data=\"3,167,155\"/><StampDef_4 data=\"3,255,155\"/><StampDef_5 data=\"4,309,154\"/><StampDef_6 data=\"2,-267,155\"/><StampDef_7 data=\"14,-246.5,156\"/><StampDef_8 data=\"92,-100,119\"/><StampDef_9 data=\"92,165,104\"/><StampDef_10 data=\"92,273,127\"/><StampDef_11 data=\"3,-94,156\"/><StampDef_12 data=\"13,125,129\"/><StampDef_13 data=\"7,88,132\"/><StampDef_14 data=\"10,223,141\"/><StampDef_15 data=\"9,240,137\"/><StampDef_16 data=\"11,-53,136\"/><StampDef_17 data=\"8,23,118\"/><StampDef_18 data=\"91,-31,96\"/><StampDef_19 data=\"5,11,134\"/><StampDef_20 data=\"43,-74,143\"/><StampDef_21 data=\"12,-248,138\"/><StampDef_22 data=\"91,198,113\"/><StampDef_23 data=\"15,330.95,-104\"/><StampDef_24 data=\"2,315,-105\"/><StampDef_25 data=\"4,453.95,-106\"/><StampDef_26 data=\"15,436.95,-104\"/><StampDef_27 data=\"32,141,207\"/><StampDef_28 data=\"33,158,189\"/><StampDef_29 data=\"34,211,254\"/><StampDef_30 data=\"36,213,196\"/><StampDef_31 data=\"36,58,242\"/><StampDef_32 data=\"33,89,259\"/><StampDef_33 data=\"34,-73,196\"/><StampDef_34 data=\"32,-107.5,235\"/><StampDef_35 data=\"35,18,179\"/><StampDef_36 data=\"37,-19,273\"/><StampDef_37 data=\"37,-60,257\"/><StampDef_38 data=\"37,289,254\"/><StampDef_39 data=\"33,293,173\"/><StampDef_40 data=\"33,440,219\"/><StampDef_41 data=\"32,369,176\"/><StampDef_42 data=\"33,385,257\"/><StampDef_43 data=\"33,-290,262\"/><StampDef_44 data=\"32,-301,205\"/><StampDef_45 data=\"35,-195,252\"/><StampDef_46 data=\"36,18,235\"/><StampDef_47 data=\"36,263,209\"/><StampDef_48 data=\"36,66,178\"/><StampDef_49 data=\"32,-299,65\"/><StampDef_50 data=\"34,-284,119\"/><StampDef_51 data=\"36,-283,-49\"/><StampDef_52 data=\"36,-281,36\"/><StampDef_53 data=\"32,384,-2\"/><StampDef_54 data=\"35,431,1\"/><StampDef_55 data=\"36,458.95,-31\"/><StampDef_56 data=\"36,325,23\"/><StampDef_57 data=\"32,472,96\"/><StampDef_58 data=\"35,332,76\"/><StampDef_59 data=\"36,385,116\"/><StampDef_60 data=\"36,335,226\"/><StampDef_61 data=\"36,468,172\"/><StampDef_62 data=\"32,-301,-177\"/><StampDef_63 data=\"33,-283,-117\"/><StampDef_64 data=\"33,-222,-288\"/><StampDef_65 data=\"32,-294,-321\"/><StampDef_66 data=\"34,-175,-328\"/><StampDef_67 data=\"33,-84,-286\"/><StampDef_68 data=\"36,-251,-245\"/><StampDef_69 data=\"32,74,-281\"/><StampDef_70 data=\"34,56,-299\"/><StampDef_71 data=\"33,-27,-323\"/><StampDef_72 data=\"36,-129,-297\"/><StampDef_73 data=\"36,-15,-282\"/><StampDef_74 data=\"36,187,-328\"/><StampDef_75 data=\"34,183,-288\"/><StampDef_76 data=\"34,383,-293\"/><StampDef_77 data=\"36,326,-333\"/><StampDef_78 data=\"32,323,-283\"/><StampDef_79 data=\"33,485,-149\"/><StampDef_80 data=\"34,448,-304\"/><StampDef_81 data=\"35,446,-240\"/><StampDef_82 data=\"36,265,-287\"/><StampDef_83 data=\"36,432,120\"/><NumLevelBlocks data=\"0\"/><NumInitialBlocks data=\"4\"/><InitialBlockDef_1 data=\"-6.139605922761299,4.337675489506442,0.000657988190675436,10,0,1,22,true,7\"/><InitialBlockDef_2 data=\"12.883527110253477,-4.331690191194804,-0.0012026870604569294,10,0,1,22,true,7\"/><InitialBlockDef_3 data=\"2.4073925083204695,-2.4609265563712275,0,4,0,1,15,true,7\"/><InitialBlockDef_4 data=\"2.3135936504316614,-4.455922995139511,2.435965892579893e-7,10,0,1,22,true,7\"/><ScrollLimits data=\"-303,472,-331,275,-20,-50\"/><Score data=\"3000\" /></BalanceLevel>";  ["7404f66dc38e85348cfc56d112bc1aed"] = "<BalanceLevel><NumStaticBlocks data=\"27\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-430,130,-310,130,-310,240,-430,240\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-430,240,-370,240,-370,290,-430,290\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-370,240,-310,240,-310,290,-370,290\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-310,130,-250,130,-250,190,-310,190\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-310,190,-190,190,-190,290,-310,290\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-250,130,-190,130,-190,190,-250,190\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-190,130,-100,130,-100,220,-190,220\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-190,220,-100,220,-100,290,-190,290\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,130,60,130,60,290,-100,290\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"60,130,100,130,100,170,60,170\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"100,130,140,130,140,170,100,170\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"60,170,100,170,100,210,60,210\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"100,170,140,170,140,210,100,210\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"60,210,140,210,140,290,60,290\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"140,130,290,130,290,290,140,290\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-340,-220,-250,-220,-290,-180,-340,-180\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-430,-220,-340,-220,-340,-130,-430,-130\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-340,-180,-290,-180,-340,-130\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-430,-350,-250,-350,-250,-220,-430,-220\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-250,-350,-110,-350,-110,-220,-250,-220\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-110,-260,-70,-260,-70,-220,-110,-220\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-70,-260,-30,-260,-30,-220,-70,-220\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-110,-300,-70,-300,-70,-260,-110,-260\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-70,-300,-30,-300,-30,-260,-70,-260\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-110,-350,-30,-350,-30,-300,-110,-300\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-30,-350,100,-350,100,-220,-30,-220\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"100,-350,290,-350,290,-220,100,-220\"/><NumElementBlocks data=\"4\"/><ElementDef_1 data=\"1,170,-260,3\"/><ElementDef_2 data=\"2,-30,180,1\"/><ElementDef_3 data=\"3,-270,110\"/><ElementDef_4 data=\"4,-160,90,if you get stuck there is always|a help and reset button in the|top right. which is handy! \"/><NumStamps data=\"71\"/><StampDef_1 data=\"3,-389,136\"/><StampDef_2 data=\"3,-304,136\"/><StampDef_3 data=\"3,-217,135\"/><StampDef_4 data=\"3,-129,135\"/><StampDef_5 data=\"4,-74,134\"/><StampDef_6 data=\"2,26,132\"/><StampDef_7 data=\"3,82,132\"/><StampDef_8 data=\"3,169,131\"/><StampDef_9 data=\"3,256,130\"/><StampDef_10 data=\"32,-208,208\"/><StampDef_11 data=\"32,-398,177\"/><StampDef_12 data=\"33,-387,160\"/><StampDef_13 data=\"36,-333,212\"/><StampDef_14 data=\"35,-401,225\"/><StampDef_15 data=\"35,-244,251\"/><StampDef_16 data=\"34,-276,207\"/><StampDef_17 data=\"36,-215,159\"/><StampDef_18 data=\"35,-119,252\"/><StampDef_19 data=\"32,-23.94999999999999,234\"/><StampDef_20 data=\"34,27,226\"/><StampDef_21 data=\"32,184,242\"/><StampDef_22 data=\"35,171,227\"/><StampDef_23 data=\"33,245,202\"/><StampDef_24 data=\"32,188,163\"/><StampDef_25 data=\"33,247,266\"/><StampDef_26 data=\"36,116,193\"/><StampDef_27 data=\"36,0,249\"/><StampDef_28 data=\"36,-137,197\"/><StampDef_29 data=\"36,-298,155\"/><StampDef_30 data=\"36,-343,270\"/><StampDef_31 data=\"34,99,264\"/><StampDef_32 data=\"33,-70.05,237\"/><StampDef_33 data=\"36,28.94999999999999,192\"/><StampDef_34 data=\"34,81,149\"/><StampDef_35 data=\"32,69,-239\"/><StampDef_36 data=\"32,-396,-153\"/><StampDef_37 data=\"33,-357,-206\"/><StampDef_38 data=\"35,-405,-210\"/><StampDef_39 data=\"36,-326,-167\"/><StampDef_40 data=\"34,-301,-198\"/><StampDef_41 data=\"32,-273,-310\"/><StampDef_42 data=\"33,-393,-311\"/><StampDef_43 data=\"34,-318,-276\"/><StampDef_44 data=\"36,-386,-263\"/><StampDef_45 data=\"36,-136,-246\"/><StampDef_46 data=\"34,-157,-266\"/><StampDef_47 data=\"33,-227,-241\"/><StampDef_48 data=\"32,-181,-330\"/><StampDef_49 data=\"34,-47,-236\"/><StampDef_50 data=\"36,-44,-323\"/><StampDef_51 data=\"34,15,-293\"/><StampDef_52 data=\"36,80,-322\"/><StampDef_53 data=\"36,233.5,-311\"/><StampDef_54 data=\"32,176.5,-326\"/><StampDef_55 data=\"33,140.5,-326\"/><StampDef_56 data=\"35,234.5,-293\"/><StampDef_57 data=\"5,103,108\"/><StampDef_58 data=\"7,239,108\"/><StampDef_59 data=\"10,256,117\"/><StampDef_60 data=\"12,48,116\"/><StampDef_61 data=\"12,-108,118\"/><StampDef_62 data=\"42,-396,121\"/><StampDef_63 data=\"10,-332,95\"/><StampDef_64 data=\"40,-337,114\"/><StampDef_65 data=\"92,-372,80\"/><StampDef_66 data=\"11,-352,112\"/><StampDef_67 data=\"9,68,112\"/><StampDef_68 data=\"7,166,85\"/><StampDef_69 data=\"6,178,103\"/><StampDef_70 data=\"43,-202,121\"/><StampDef_71 data=\"10,-172,119\"/><NumLevelBlocks data=\"5\"/><LevelBlockDef_1 data=\"3,1,0,0,1,0\"/><LevelBlockDef_2 data=\"7,1,1,0,1,24\"/><LevelBlockDef_3 data=\"3,1,0,270,1,0\"/><LevelBlockDef_4 data=\"3,1,1,180,1,41\"/><LevelBlockDef_5 data=\"7,1,0,0,1,4\"/><NumInitialBlocks data=\"6\"/><InitialBlockDef_1 data=\"3.011810317861767,3.67110253473143,-12.565859486110758,5,0,1,18,true,7\"/><InitialBlockDef_2 data=\"3.0321490982783685,-0.3203211287880891,0.0008504685095976913,0,0,1,3,true,7\"/><InitialBlockDef_3 data=\"6.681559658473597,-6.672058393127069,-3.1423246229300927,1,1,1,24,true,7\"/><InitialBlockDef_4 data=\"4.686884113802097,-6.669920722062641,-3.143101847761043,1,1,1,24,true,7\"/><InitialBlockDef_5 data=\"6.7120707620941396,3.6702558758636235,-0.0014690446617235046,0,0,1,14,true,7\"/><InitialBlockDef_6 data=\"3.133394839371886,1.675752912624221,0.0004395175915293051,0,0,1,13,true,7\"/><ScrollLimits data=\"-419,266,-335,273,0,0\"/><Score data=\"4000\" /></BalanceLevel>";  ["331502f2076b02e9c469fd04633243c4"] = "<BalanceLevel><NumStaticBlocks data=\"38\"/><BlockDef_1 water=\"0\" nodrag=\"1\" deadzone=\"0\" data=\"-300,-150,280,-150,300,-130,300,-100,280,-80,-300,-80,-320,-100,-320,-130\"/><BlockDef_2 water=\"0\" nodrag=\"1\" deadzone=\"0\" data=\"-300,-60,280,-60,300,-40,300,40,280,60,-300,60,-320,40,-320,-40\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,240,-330,240,-330,300,-450,300\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,240,-290,240,-290,300,-330,300\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,240,-250,240,-250,300,-290,300\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-610,70,-450,70,-450,300,-610,300\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-120,240,20,240,20,300,-120,300\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-250,240,-120,240,-120,300,-250,300\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"20,240,60,240,60,300,20,300\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"60,240,100,240,100,300,60,300\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"100,240,260,240,260,300,100,300\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"260,140,370,140,370,300,260,300\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"260,100,300,100,300,140,260,140\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"260,60,300,60,300,100,260,100\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"300,100,370,100,370,140,300,140\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"300,60,370,60,370,100,300,100\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"260,-160,370,-160,370,60,260,60\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,70,-280,70,-280,120,-330,120\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-510,-160,-280,-160,-280,70,-510,70\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-410,-290,-280,-290,-280,-160,-410,-160\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-280,-290,-60,-290,-60,-160,-280,-160\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-60,-290,10,-290,10,-230,-60,-230\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-60,-230,10,-230,10,-160,-60,-160\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"10,-230,80,-230,80,-160,10,-160\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"10,-290,80,-290,80,-230,10,-230\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"80,-290,260,-290,260,-160,80,-160\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,-200,-410,-200,-410,-160,-450,-160\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-490,-200,-450,-200,-450,-160,-490,-160\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-490,-240,-450,-240,-450,-200,-490,-200\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-450,-240,-410,-240,-410,-200,-450,-200\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-490,-290,-410,-290,-410,-240,-490,-240\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-610,-290,-490,-290,-490,-160,-610,-160\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-610,-160,-510,-160,-510,70,-610,70\"/><BlockDef_34 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"260,-200,300,-200,300,-160,260,-160\"/><BlockDef_35 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"300,-200,370,-200,370,-160,300,-160\"/><BlockDef_36 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"260,-240,300,-240,300,-200,260,-200\"/><BlockDef_37 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"300,-240,370,-240,370,-200,300,-200\"/><BlockDef_38 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"260,-290,370,-290,370,-240,260,-240\"/><NumElementBlocks data=\"3\"/><ElementDef_1 data=\"1,-190,-200,3\"/><ElementDef_2 data=\"2,180,-200,3\"/><ElementDef_3 data=\"4,-250,200,your almost there.|just this last tricky level.||you can do it!!!\"/><NumStamps data=\"112\"/><StampDef_1 data=\"90,-300,40\"/><StampDef_2 data=\"90,-301,-40\"/><StampDef_3 data=\"90,-299,-99\"/><StampDef_4 data=\"90,-299,-132\"/><StampDef_5 data=\"90,280,39\"/><StampDef_6 data=\"90,280,-40\"/><StampDef_7 data=\"90,280,-134\"/><StampDef_8 data=\"90,280,-100\"/><StampDef_9 data=\"3,-307,244\"/><StampDef_10 data=\"3,-222,244\"/><StampDef_11 data=\"3,-135,244\"/><StampDef_12 data=\"3,-46,245\"/><StampDef_13 data=\"3,41,245\"/><StampDef_14 data=\"3,129,245\"/><StampDef_15 data=\"2,-448,244\"/><StampDef_16 data=\"3,-394,245\"/><StampDef_17 data=\"4,255,245\"/><StampDef_18 data=\"14,225,245\"/><StampDef_19 data=\"14,188,245\"/><StampDef_20 data=\"32,-510,252\"/><StampDef_21 data=\"33,-485,232\"/><StampDef_22 data=\"34,-513,127\"/><StampDef_23 data=\"36,-462,172\"/><StampDef_24 data=\"36,-523,201\"/><StampDef_25 data=\"33,-352,266\"/><StampDef_26 data=\"36,-404,266\"/><StampDef_27 data=\"36,-264,265\"/><StampDef_28 data=\"36,-469,94\"/><StampDef_29 data=\"36,-357,20\"/><StampDef_30 data=\"32,-375,-4\"/><StampDef_31 data=\"33,-317,-18\"/><StampDef_32 data=\"34,-477,22\"/><StampDef_33 data=\"34,-453,-79\"/><StampDef_34 data=\"34,-336,-139\"/><StampDef_35 data=\"34,-528,-78\"/><StampDef_36 data=\"33,-298,98\"/><StampDef_37 data=\"34,-413,-133\"/><StampDef_38 data=\"34,-339,-239\"/><StampDef_39 data=\"33,-449,-259\"/><StampDef_40 data=\"34,-293,-193\"/><StampDef_41 data=\"36,-362,-188\"/><StampDef_42 data=\"36,-390,-257\"/><StampDef_43 data=\"36,-522,-205\"/><StampDef_44 data=\"34,-520,-265\"/><StampDef_45 data=\"36,-430,-175\"/><StampDef_46 data=\"36,-425,37\"/><StampDef_47 data=\"36,-375,-82\"/><StampDef_48 data=\"36,-480,-133\"/><StampDef_49 data=\"36,-469,-223\"/><StampDef_50 data=\"36,-296,-262\"/><StampDef_51 data=\"32,-183,267\"/><StampDef_52 data=\"34,-138,269\"/><StampDef_53 data=\"34,0,267\"/><StampDef_54 data=\"33,-70,271\"/><StampDef_55 data=\"33,166,269\"/><StampDef_56 data=\"34,239,269\"/><StampDef_57 data=\"32,293,181\"/><StampDef_58 data=\"33,316,224\"/><StampDef_59 data=\"35,310,157\"/><StampDef_60 data=\"36,334,189\"/><StampDef_61 data=\"36,289,252\"/><StampDef_62 data=\"36,129,264\"/><StampDef_63 data=\"36,-427,-24\"/><StampDef_64 data=\"34,-77,-190\"/><StampDef_65 data=\"36,-72,-251\"/><StampDef_66 data=\"32,-186.5,-266\"/><StampDef_67 data=\"35,-259.5,-264\"/><StampDef_68 data=\"35,-17,-264\"/><StampDef_69 data=\"35,49,-257\"/><StampDef_70 data=\"32,51,-183\"/><StampDef_71 data=\"34,35,-206\"/><StampDef_72 data=\"36,-9,-216\"/><StampDef_73 data=\"34,-112,-237\"/><StampDef_74 data=\"34,119.55000000000001,-261\"/><StampDef_75 data=\"32,306,-261\"/><StampDef_76 data=\"34,276,-224\"/><StampDef_77 data=\"35,326,-183\"/><StampDef_78 data=\"36,290,-188\"/><StampDef_79 data=\"36,326,-220\"/><StampDef_80 data=\"36,188,-265\"/><StampDef_81 data=\"36,101,-182\"/><StampDef_82 data=\"36,-33,-177\"/><StampDef_83 data=\"36,309,-77\"/><StampDef_84 data=\"32,321,-124\"/><StampDef_85 data=\"32,324,15\"/><StampDef_86 data=\"34,287,7\"/><StampDef_87 data=\"34,321,-47\"/><StampDef_88 data=\"36,270,-74\"/><StampDef_89 data=\"36,279,116\"/><StampDef_90 data=\"36,325,82\"/><StampDef_91 data=\"35,321,119\"/><StampDef_92 data=\"33,285,76\"/><StampDef_93 data=\"34,79,260\"/><StampDef_94 data=\"36,-318,106\"/><StampDef_95 data=\"6,-401,217\"/><StampDef_96 data=\"5,-301,220\"/><StampDef_97 data=\"5,212,222\"/><StampDef_98 data=\"6,148,218\"/><StampDef_99 data=\"92,189,188\"/><StampDef_100 data=\"92,-354,190\"/><StampDef_101 data=\"8,-338,226\"/><StampDef_102 data=\"9,-44,195\"/><StampDef_103 data=\"13,-45,218\"/><StampDef_104 data=\"42,-140,229\"/><StampDef_105 data=\"41,-107,224\"/><StampDef_106 data=\"11,98,224\"/><StampDef_107 data=\"8,78,230\"/><StampDef_108 data=\"10,251,227\"/><StampDef_109 data=\"7,-3,223\"/><StampDef_110 data=\"43,-280,231\"/><StampDef_111 data=\"10,-216,228\"/><StampDef_112 data=\"9,-192,223\"/><NumLevelBlocks data=\"8\"/><LevelBlockDef_1 data=\"7,1,0,0,1,2\"/><LevelBlockDef_2 data=\"7,1,0,0,1,2\"/><LevelBlockDef_3 data=\"7,1,0,0,1,2\"/><LevelBlockDef_4 data=\"7,1,0,0,1,2\"/><LevelBlockDef_5 data=\"7,3,1,0,1,17\"/><LevelBlockDef_6 data=\"7,3,1,0,1,17\"/><LevelBlockDef_7 data=\"5,1,1,0,0,0\"/><LevelBlockDef_8 data=\"4,1,1,0,0,0\"/><NumInitialBlocks data=\"8\"/><InitialBlockDef_1 data=\"-11.998760676238659,3.6611814812257446,-0.00011681769248816035,3,1,1,17,true,7\"/><InitialBlockDef_2 data=\"-11.949008133264346,5.655401103519746,-0.00032153212173360125,3,1,1,17,true,7\"/><InitialBlockDef_3 data=\"4.921872323351624,7.660306132404366,0.005226590525661722,1,1,0,17,true,5\"/><InitialBlockDef_4 data=\"-6.254226580241942,7.667115584683997,0.00023775392210468127,1,1,0,17,true,4\"/><InitialBlockDef_5 data=\"-3.2571697356585974,7.337499757885257,-0.0013191834873806758,1,0,1,2,true,7\"/><InitialBlockDef_6 data=\"-1.2596292456803706,7.3325124540995175,-0.0019101719770433215,1,0,1,2,true,7\"/><InitialBlockDef_7 data=\"0.7362062884251522,7.337343743183908,-0.0006593016855240439,1,0,1,2,true,7\"/><InitialBlockDef_8 data=\"2.925142449911565,7.338264611450634,0.0007392784479249167,1,0,1,2,true,7\"/><ScrollLimits data=\"-529,348,-276,275,-10,-10\"/><Score data=\"10000\" /></BalanceLevel>";  ["16413899c74c67c48a527e4665ccec38"] = "<BalanceLevel><NumStaticBlocks data=\"19\"/><BlockDef_1 water=\"1\" nodrag=\"0\" deadzone=\"0\" data=\"-160,100,140,100,140,290,-160,290\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-440,-130,-330,-130,-330,-20,-440,-20\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-410,-20,-370,-20,-370,20,-410,20\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-370,20,-330,20,-330,60,-370,60\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-370,-20,-330,-20,-330,20,-370,20\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-410,20,-370,20,-370,60,-410,60\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,-130,-160,-130,-160,60,-330,60\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,60,-160,60,-160,180,-290,180\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-410,60,-290,60,-290,180,-410,180\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-410,180,-160,180,-160,290,-410,290\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-440,-20,-410,-20,-400,290,-440,290\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"140,-130,190,-130,190,-90,140,-90\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"250,-130,340,-130,340,-20,250,-20\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"250,-20,340,-20,340,90,250,90\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"190,-130,250,-130,250,-90,190,-90\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"140,-90,250,-90,250,90,140,90\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"140,180,340,180,340,290,140,290\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"140,90,230,90,230,180,140,180\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,90,340,90,340,180,230,180\"/><NumElementBlocks data=\"4\"/><ElementDef_1 data=\"1,-210,10,2\"/><ElementDef_2 data=\"2,180,10,4\"/><ElementDef_3 data=\"3,-200,-150\"/><ElementDef_4 data=\"4,-310,-170,these blocks are magnetic. they will stick to all other| metal shapes. you can also| stick them to the robot heads.\"/><NumStamps data=\"83\"/><StampDef_1 data=\"38,-140,110\"/><StampDef_2 data=\"38,-100,110\"/><StampDef_3 data=\"38,-60,110\"/><StampDef_4 data=\"38,-20,110\"/><StampDef_5 data=\"38,20,110\"/><StampDef_6 data=\"38,60,110\"/><StampDef_7 data=\"38,100,110\"/><StampDef_8 data=\"38,140,110\"/><StampDef_9 data=\"93,-130,130\"/><StampDef_10 data=\"93,-10,130\"/><StampDef_11 data=\"93,-10,130\"/><StampDef_12 data=\"93,50,130\"/><StampDef_13 data=\"93,110,130\"/><StampDef_14 data=\"93,-130,190\"/><StampDef_15 data=\"93,-70,190\"/><StampDef_16 data=\"93,110,250\"/><StampDef_17 data=\"93,-130,310\"/><StampDef_18 data=\"93,-70,310\"/><StampDef_19 data=\"93,-10,310\"/><StampDef_20 data=\"93,50,310\"/><StampDef_21 data=\"93,110,310\"/><StampDef_22 data=\"32,-270,78\"/><StampDef_23 data=\"35,-201,135\"/><StampDef_24 data=\"34,-260,1\"/><StampDef_25 data=\"32,-272,-28\"/><StampDef_26 data=\"36,-272,20\"/><StampDef_27 data=\"32,-377,158\"/><StampDef_28 data=\"35,-388,143\"/><StampDef_29 data=\"34,-315,128\"/><StampDef_30 data=\"33,-365,82\"/><StampDef_31 data=\"33,-354,-3\"/><StampDef_32 data=\"32,-216,271\"/><StampDef_33 data=\"35,-234,255\"/><StampDef_34 data=\"34,-183,202\"/><StampDef_35 data=\"33,-370,245\"/><StampDef_36 data=\"33,-278,196\"/><StampDef_37 data=\"36,-313,253\"/><StampDef_38 data=\"36,-385,-59\"/><StampDef_39 data=\"36,-234,108\"/><StampDef_40 data=\"32,208,156\"/><StampDef_41 data=\"35,195,141\"/><StampDef_42 data=\"37,162,230\"/><StampDef_43 data=\"32,246,251\"/><StampDef_44 data=\"33,225,218\"/><StampDef_45 data=\"34,265,101\"/><StampDef_46 data=\"35,236.5,5.050000000000011\"/><StampDef_47 data=\"36,241.5,37.05000000000001\"/><StampDef_48 data=\"34,228,-77\"/><StampDef_49 data=\"37,153.5,61.05000000000001\"/><StampDef_50 data=\"37,152,169\"/><StampDef_51 data=\"37,-305,-77\"/><StampDef_52 data=\"3,-349,-124\"/><StampDef_53 data=\"3,-276,-124\"/><StampDef_54 data=\"14,-228,-124\"/><StampDef_55 data=\"14,-202,-125\"/><StampDef_56 data=\"4,-168,-127\"/><StampDef_57 data=\"15,-187,-126\"/><StampDef_58 data=\"2,146,-129\"/><StampDef_59 data=\"3,198,-129\"/><StampDef_60 data=\"14,260,-130\"/><StampDef_61 data=\"32,275,142\"/><StampDef_62 data=\"33,150.5,-102.94999999999999\"/><StampDef_63 data=\"35,200.5,-48.94999999999999\"/><StampDef_64 data=\"9,-253,-143\"/><StampDef_65 data=\"12,-271,-139\"/><StampDef_66 data=\"7,-377,-163\"/><StampDef_67 data=\"5,-364,-145.95\"/><StampDef_68 data=\"7,153,-150\"/><StampDef_69 data=\"10,256,-149\"/><StampDef_70 data=\"12,239,-173\"/><StampDef_71 data=\"6,204,-157\"/><StampDef_72 data=\"36,-190,-99\"/><StampDef_73 data=\"93,50,250\"/><StampDef_74 data=\"93,-10,250\"/><StampDef_75 data=\"93,-10,190\"/><StampDef_76 data=\"93,-70,130\"/><StampDef_77 data=\"93,-130,250\"/><StampDef_78 data=\"93,-70,250\"/><StampDef_79 data=\"39,-12.850000000000023,246\"/><StampDef_80 data=\"93,50,190\"/><StampDef_81 data=\"93,110,190\"/><StampDef_82 data=\"39,21.25,178.64999999999998\"/><StampDef_83 data=\"39,-66.5,159.35000000000002\"/><NumLevelBlocks data=\"3\"/><LevelBlockDef_1 data=\"7,1,1,0,1,24\"/><LevelBlockDef_2 data=\"7,1,1,0,1,24\"/><LevelBlockDef_3 data=\"3,1,1,180,1,41\"/><NumInitialBlocks data=\"2\"/><InitialBlockDef_1 data=\"3.6703007614763905,0.4718394995231503,0.00010572168986427862,1,1,1,24,true,7\"/><InitialBlockDef_2 data=\"6.420215476726167,-4.9949011150503235,0.000012982448095400746,1,1,1,24,true,7\"/><ScrollLimits data=\"-391,275,-370,275,-60,-30\"/><Score data=\"3000\" /></BalanceLevel>";  ["30662498f1312057946605fe2128567b"] = "<BalanceLevel><NumStaticBlocks data=\"53\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-150,-260,-150,-80,-190,-40,-190,-260\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"450,-260,640,-260,640,-40,490,-40,450,-80\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,-40,-290,-40,-290,240,590,240,590,110,640,110,640,300,-330,300\"/><BlockDef_4 water=\"1\" nodrag=\"0\" deadzone=\"0\" data=\"-290,0,590,0,590,240,-290,240\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,240,-200,240,-200,300,-330,300\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-200,240,-140,240,-140,300,-200,300\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-140,240,-80,240,-80,300,-140,300\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-80,240,110,240,110,300,-80,300\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"110,240,150,240,150,280,110,280\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"110,280,150,280,150,300,110,300\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"150,240,190,240,190,280,150,280\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"150,280,190,280,190,300,150,300\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"190,240,330,240,330,300,190,300\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"330,240,630,240,630,300,330,300\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,200,-290,200,-290,240,-330,240\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,160,-290,160,-290,200,-330,200\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,60,-290,60,-290,160,-330,160\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,-40,-290,-40,-290,60,-330,60\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"590,70,640,70,640,110,590,110\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"590,30,640,30,640,70,590,70\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"590,-40,640,-40,640,30,590,30\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-40,-230,-40,-290,20\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,-150,-190,-150,-190,-40,-330,-40\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,-260,-190,-260,-190,-150,-330,-150\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-190,-300,-150,-300,-150,-260,-190,-260\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-150,-390,-110,-390,-110,-350,-150,-350\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-110,-390,-70,-390,-70,-350,-110,-350\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-190,-390,-150,-390,-150,-300,-190,-300\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-150,-350,-70,-350,-150,-270\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,-330,-260,-330,-260,-260,-330,-260\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-260,-330,-190,-330,-190,-260,-260,-260\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,-510,-290,-510,-290,-470,-330,-470\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,-470,-290,-470,-290,-330,-330,-330\"/><BlockDef_34 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,-550,-290,-550,-290,-510,-330,-510\"/><BlockDef_35 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,-660,-290,-660,-290,-550,-330,-550\"/><BlockDef_36 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-660,-230,-660,-290,-600\"/><BlockDef_37 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,-700,-60,-700,-60,-660,-330,-660\"/><BlockDef_38 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-60,-700,60,-700,60,-660,-60,-660\"/><BlockDef_39 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"60,-700,100,-700,100,-660,60,-660\"/><BlockDef_40 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"100,-700,140,-700,140,-660,100,-660\"/><BlockDef_41 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"140,-700,240,-700,240,-660,140,-660\"/><BlockDef_42 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"240,-700,350,-700,350,-660,240,-660\"/><BlockDef_43 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"350,-700,640,-700,640,-660,350,-660\"/><BlockDef_44 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"600,-660,640,-660,640,-490,600,-490\"/><BlockDef_45 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"600,-490,640,-490,640,-450,600,-450\"/><BlockDef_46 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"600,-450,640,-450,640,-410,600,-410\"/><BlockDef_47 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"600,-410,640,-410,640,-300,600,-300\"/><BlockDef_48 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"380,-350,450,-350,450,-280\"/><BlockDef_49 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"450,-390,600,-390,600,-260,450,-260\"/><BlockDef_50 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"600,-300,640,-300,640,-260,600,-260\"/><BlockDef_51 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"380,-390,450,-390,450,-350,380,-350\"/><BlockDef_52 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"530,-40,590,-40,590,20\"/><BlockDef_53 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"540,-660,600,-660,600,-600\"/><NumElementBlocks data=\"4\"/><ElementDef_1 data=\"1,-200,-180,2\"/><ElementDef_2 data=\"2,490,-180,4\"/><ElementDef_3 data=\"3,450,-410\"/><ElementDef_4 data=\"4,-120,-430,this is going to test your bridge|building skills. remember not to|let any metal shapes touch|the water though!\"/><NumStamps data=\"213\"/><StampDef_1 data=\"38,-270,0\"/><StampDef_2 data=\"38,-230,0\"/><StampDef_3 data=\"38,-190,0\"/><StampDef_4 data=\"38,-150,0\"/><StampDef_5 data=\"38,-110,0\"/><StampDef_6 data=\"38,-70,0\"/><StampDef_7 data=\"38,-30,0\"/><StampDef_8 data=\"38,10,0\"/><StampDef_9 data=\"38,50,0\"/><StampDef_10 data=\"38,90,0\"/><StampDef_11 data=\"38,130,0\"/><StampDef_12 data=\"38,170,0\"/><StampDef_13 data=\"38,210,0\"/><StampDef_14 data=\"38,250,0\"/><StampDef_15 data=\"38,290,0\"/><StampDef_16 data=\"38,330,0\"/><StampDef_17 data=\"38,370,0\"/><StampDef_18 data=\"38,410,0\"/><StampDef_19 data=\"38,450,0\"/><StampDef_20 data=\"38,490,0\"/><StampDef_21 data=\"38,530,0\"/><StampDef_22 data=\"38,570,0\"/><StampDef_23 data=\"93,-260,30\"/><StampDef_24 data=\"93,-200,30\"/><StampDef_25 data=\"93,-80,30\"/><StampDef_26 data=\"93,-260,90\"/><StampDef_27 data=\"93,-260,150\"/><StampDef_28 data=\"93,-260,210\"/><StampDef_29 data=\"93,-200,210\"/><StampDef_30 data=\"93,-200,150\"/><StampDef_31 data=\"93,-140,150\"/><StampDef_32 data=\"93,-140,210\"/><StampDef_33 data=\"93,-80,210\"/><StampDef_34 data=\"93,-80,150\"/><StampDef_35 data=\"93,-80,90\"/><StampDef_36 data=\"93,-20,90\"/><StampDef_37 data=\"93,-20,150\"/><StampDef_38 data=\"93,-20,210\"/><StampDef_39 data=\"93,40,210\"/><StampDef_40 data=\"93,40,150\"/><StampDef_41 data=\"93,40,90\"/><StampDef_42 data=\"93,100,90\"/><StampDef_43 data=\"93,100,150\"/><StampDef_44 data=\"93,100,210\"/><StampDef_45 data=\"93,160,210\"/><StampDef_46 data=\"93,160,150\"/><StampDef_47 data=\"93,160,30\"/><StampDef_48 data=\"93,220,90\"/><StampDef_49 data=\"93,220,150\"/><StampDef_50 data=\"93,220,210\"/><StampDef_51 data=\"93,280,210\"/><StampDef_52 data=\"93,280,150\"/><StampDef_53 data=\"93,280,90\"/><StampDef_54 data=\"93,280,30\"/><StampDef_55 data=\"93,340,30\"/><StampDef_56 data=\"93,340,150\"/><StampDef_57 data=\"93,340,210\"/><StampDef_58 data=\"93,400,210\"/><StampDef_59 data=\"93,400,150\"/><StampDef_60 data=\"93,400,90\"/><StampDef_61 data=\"93,400,30\"/><StampDef_62 data=\"93,460,30\"/><StampDef_63 data=\"93,520,30\"/><StampDef_64 data=\"93,580,30\"/><StampDef_65 data=\"93,580,90\"/><StampDef_66 data=\"93,460,90\"/><StampDef_67 data=\"93,460,150\"/><StampDef_68 data=\"93,520,150\"/><StampDef_69 data=\"93,580,150\"/><StampDef_70 data=\"93,580,210\"/><StampDef_71 data=\"93,520,210\"/><StampDef_72 data=\"93,460,210\"/><StampDef_73 data=\"39,452.25,177.05\"/><StampDef_74 data=\"39,373.45,138.7\"/><StampDef_75 data=\"39,464.35,121.10000000000002\"/><StampDef_76 data=\"39,-59.849999999999994,111.75\"/><StampDef_77 data=\"39,-115.6,150.60000000000002\"/><StampDef_78 data=\"39,-19.30000000000001,138.14999999999998\"/><StampDef_79 data=\"39,-29.05000000000001,183.10000000000002\"/><StampDef_80 data=\"93,-140,90\"/><StampDef_81 data=\"93,-200,90\"/><StampDef_82 data=\"93,-140,30\"/><StampDef_83 data=\"93,-20,30\"/><StampDef_84 data=\"93,40,30\"/><StampDef_85 data=\"93,100,30\"/><StampDef_86 data=\"93,160,90\"/><StampDef_87 data=\"93,220,30\"/><StampDef_88 data=\"93,340,90\"/><StampDef_89 data=\"93,520,90\"/><StampDef_90 data=\"4,594,-386\"/><StampDef_91 data=\"3,540,-385\"/><StampDef_92 data=\"2,388,-384\"/><StampDef_93 data=\"3,453,-384\"/><StampDef_94 data=\"15,403,-383\"/><StampDef_95 data=\"3,-127,-385\"/><StampDef_96 data=\"2,-183,-385\"/><StampDef_97 data=\"4,-72,-386\"/><StampDef_98 data=\"2,-281,-325\"/><StampDef_99 data=\"14,-250,-324\"/><StampDef_100 data=\"14,-224,-324\"/><StampDef_101 data=\"4,-193,-325\"/><StampDef_102 data=\"40,-240,223\"/><StampDef_103 data=\"41,-195,226\"/><StampDef_104 data=\"42,-108,232\"/><StampDef_105 data=\"43,-74,233\"/><StampDef_106 data=\"43,404,233\"/><StampDef_107 data=\"40,445,225\"/><StampDef_108 data=\"42,506,233\"/><StampDef_109 data=\"42,-115,-400\"/><StampDef_110 data=\"12,-76,-406\"/><StampDef_111 data=\"8,-91,-399\"/><StampDef_112 data=\"5,-165,-406\"/><StampDef_113 data=\"9,-141,-407\"/><StampDef_114 data=\"9,396,-406\"/><StampDef_115 data=\"8,504,-403\"/><StampDef_116 data=\"11,585,-408\"/><StampDef_117 data=\"41,554,-405\"/><StampDef_118 data=\"43,526,-397\"/><StampDef_119 data=\"43,-212,-336\"/><StampDef_120 data=\"41,-270,-344\"/><StampDef_121 data=\"32,-215,-58\"/><StampDef_122 data=\"37,-232,-80\"/><StampDef_123 data=\"37,-311,-63\"/><StampDef_124 data=\"34,-276,-119\"/><StampDef_125 data=\"35,-220.5,-124\"/><StampDef_126 data=\"35,-310,11\"/><StampDef_127 data=\"32,-304,-239\"/><StampDef_128 data=\"35,-261.5,-237\"/><StampDef_129 data=\"34,-290,-186\"/><StampDef_130 data=\"34,-308,92\"/><StampDef_131 data=\"32,-319,131\"/><StampDef_132 data=\"36,-295,145\"/><StampDef_133 data=\"36,-303,220\"/><StampDef_134 data=\"32,-226.95,267\"/><StampDef_135 data=\"33,-243,252\"/><StampDef_136 data=\"34,-282,267\"/><StampDef_137 data=\"34,-171,-98\"/><StampDef_138 data=\"34,-171.5,-283\"/><StampDef_139 data=\"36,-102,-332\"/><StampDef_140 data=\"32,-169,-356\"/><StampDef_141 data=\"35,-279,-29\"/><StampDef_142 data=\"35,-49,262\"/><StampDef_143 data=\"32,-3,277\"/><StampDef_144 data=\"34,59,251\"/><StampDef_145 data=\"36,82,268\"/><StampDef_146 data=\"36,-110,260\"/><StampDef_147 data=\"34,-167,249\"/><StampDef_148 data=\"34,-181,280\"/><StampDef_149 data=\"32,222,260\"/><StampDef_150 data=\"35,276,262\"/><StampDef_151 data=\"36,259,249\"/><StampDef_152 data=\"36,137,264\"/><StampDef_153 data=\"36,465,261\"/><StampDef_154 data=\"32,428,258\"/><StampDef_155 data=\"33,368,275\"/><StampDef_156 data=\"35,553,261\"/><StampDef_157 data=\"34,608,264\"/><StampDef_158 data=\"34,608,145\"/><StampDef_159 data=\"32,621,199\"/><StampDef_160 data=\"33,-312,-308\"/><StampDef_161 data=\"35,-275,-277\"/><StampDef_162 data=\"35,607,-23\"/><StampDef_163 data=\"32,620,49\"/><StampDef_164 data=\"36,602,87\"/><StampDef_165 data=\"36,557,-27\"/><StampDef_166 data=\"32,561,-151\"/><StampDef_167 data=\"34,578,-171\"/><StampDef_168 data=\"33,555,-197\"/><StampDef_169 data=\"33,490,-95\"/><StampDef_170 data=\"32,595,-68\"/><StampDef_171 data=\"32,574,-322\"/><StampDef_172 data=\"32,492,-354\"/><StampDef_173 data=\"34,553,-308\"/><StampDef_174 data=\"33,605,-238\"/><StampDef_175 data=\"36,552,-94\"/><StampDef_176 data=\"36,604,-119\"/><StampDef_177 data=\"36,575,-244\"/><StampDef_178 data=\"36,523,-64\"/><StampDef_179 data=\"36,613,9\"/><StampDef_180 data=\"36,485,-304\"/><StampDef_181 data=\"36,562,-362\"/><StampDef_182 data=\"34,523,-279\"/><StampDef_183 data=\"34,419,-340\"/><StampDef_184 data=\"33,388,-366\"/><StampDef_185 data=\"36,438,-367\"/><StampDef_186 data=\"36,615,-357\"/><StampDef_187 data=\"36,614,-528\"/><StampDef_188 data=\"32,619,-574\"/><StampDef_189 data=\"34,623,-467\"/><StampDef_190 data=\"34,581,-645\"/><StampDef_191 data=\"34,491,-678\"/><StampDef_192 data=\"33,612,-677\"/><StampDef_193 data=\"33,-212,-302\"/><StampDef_194 data=\"33,-307,-377\"/><StampDef_195 data=\"32,-318,-444\"/><StampDef_196 data=\"36,-301,-422\"/><StampDef_197 data=\"36,-304,-496\"/><StampDef_198 data=\"36,-317,-587\"/><StampDef_199 data=\"33,-304,-618\"/><StampDef_200 data=\"34,-246,-677\"/><StampDef_201 data=\"36,-268,-645\"/><StampDef_202 data=\"36,-309,-675\"/><StampDef_203 data=\"36,-87,-364\"/><StampDef_204 data=\"32,-98,-678\"/><StampDef_205 data=\"32,40,-669\"/><StampDef_206 data=\"34,-13,-691\"/><StampDef_207 data=\"36,-164,-676\"/><StampDef_208 data=\"36,125,-676\"/><StampDef_209 data=\"34,207,-677\"/><StampDef_210 data=\"35,166,-674\"/><StampDef_211 data=\"35,320,-675\"/><StampDef_212 data=\"36,391,-674\"/><StampDef_213 data=\"34,445,-672\"/><NumLevelBlocks data=\"6\"/><LevelBlockDef_1 data=\"26,1,0,0,0,0\"/><LevelBlockDef_2 data=\"26,1,0,0,0,0\"/><LevelBlockDef_3 data=\"22,1,0,0,0,0\"/><LevelBlockDef_4 data=\"4,1,0,0,0,0\"/><LevelBlockDef_5 data=\"4,1,0,0,0,0\"/><LevelBlockDef_6 data=\"5,1,0,0,0,0\"/><NumInitialBlocks data=\"23\"/><InitialBlockDef_1 data=\"-3.78168208381202,7.004977119099947,1.5707631474693566,0,0,1,14,true,7\"/><InitialBlockDef_2 data=\"8.215681911963303,5.005144754958101,7.856774770168817,0,0,1,14,true,7\"/><InitialBlockDef_3 data=\"8.831210308060333,7.0049841485083535,7.853992398379274,0,0,1,14,true,7\"/><InitialBlockDef_4 data=\"-5.492897216510839,6.669650317139531,3.1395797481297842,0,0,1,14,true,7\"/><InitialBlockDef_5 data=\"4.075818771647086,5.00931355253546,1.5713121970928003,0,0,1,13,true,7\"/><InitialBlockDef_6 data=\"2.205223568302669,7.336600905321858,-0.001733481108994677,0,0,1,13,true,7\"/><InitialBlockDef_7 data=\"-0.4825017064731029,6.671687948955326,-9.424785737074513,0,0,1,3,true,7\"/><InitialBlockDef_8 data=\"5.30916225761921,7.004999657614464,-1.5707952887725118,0,0,1,5,true,7\"/><InitialBlockDef_9 data=\"14.893427662176972,7.003409497033996,17.277572350744336,0,0,1,5,true,7\"/><InitialBlockDef_10 data=\"-5.410708456235912,4.673952954283375,-3.1439335612264934,0,0,1,5,true,7\"/><InitialBlockDef_11 data=\"18.772284964551417,7.0037764869676815,4.711721169226044,0,0,1,5,true,7\"/><InitialBlockDef_12 data=\"12.231034306538437,7.00279159350863,1.5694455866982904,0,0,1,14,true,7\"/><InitialBlockDef_13 data=\"6.6656862392900535,7.004561740823799,1.570412980750895,0,0,1,3,true,7\"/><InitialBlockDef_14 data=\"18.66097671676016,4.674404130512503,-3.141454123961961,0,0,1,3,true,7\"/><InitialBlockDef_15 data=\"1.8320808819705536,5.340473006067623,-6.285821841207314,0,0,1,3,true,7\"/><InitialBlockDef_16 data=\"-3.411762538515502,4.676221993526365,-3.142028672010677,0,0,1,5,true,7\"/><InitialBlockDef_17 data=\"-7.954522551219268,-11.66205548081779,-6.2835770979907775,5,0,1,18,true,7\"/><InitialBlockDef_18 data=\"12.894265852669648,5.3382955164891,-4.713996380639577,0,0,1,53,true,19\"/><InitialBlockDef_19 data=\"16.224421011331966,6.3371878157396715,3.139927006372262,0,0,1,53,true,19\"/><InitialBlockDef_20 data=\"-8.27334738526489,5.67166666576707,-6.283185306639827,0,0,1,53,true,19\"/><InitialBlockDef_21 data=\"-1.682217241122418,3.6807993626703865,4.7132773339187075,0,0,1,53,true,19\"/><InitialBlockDef_22 data=\"6.757744932504697,5.009356926715305,4.712037887727921,0,0,1,5,true,7\"/><InitialBlockDef_23 data=\"-1.0361055592669433,5.009661055873587,-7.853136238164203,0,0,1,3,true,7\"/><ScrollLimits data=\"-321,623,-688,280,10,0\"/><Score data=\"15000\" /></BalanceLevel>";  ["52206852b5a84cf2e6fe54fbb14af742"] = "<BalanceLevel><NumStaticBlocks data=\"58\"/><BlockDef_1 water=\"1\" nodrag=\"0\" deadzone=\"0\" data=\"-380,160,-90,160,-90,270,-380,270\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-590,150,-380,150,-380,270,370,270,370,60,620,60,620,380,-590,380\"/><BlockDef_3 water=\"1\" nodrag=\"0\" deadzone=\"0\" data=\"-20,160,370,160,370,270,-20,270\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"370,60,490,60,490,180,370,180\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"490,60,550,60,550,120,490,120\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"550,60,610,60,610,120,550,120\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"490,120,550,120,550,180,490,180\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"550,120,610,120,610,180,550,180\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"370,180,610,180,610,380,370,380\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"250,270,370,270,370,380,250,380\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"210,270,250,270,250,310,210,310\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"170,270,210,270,210,310,170,310\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"170,310,210,310,210,350,170,350\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"210,310,250,310,250,350,210,350\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"170,350,250,350,250,380,170,380\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"30,270,170,270,170,380,30,380\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-50,270,30,270,30,340,-50,340\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-50,340,30,340,30,380,-50,380\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-220,270,-50,270,-50,380,-220,380\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-270,270,-220,270,-220,320,-270,320\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-320,270,-270,270,-270,320,-320,320\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-320,320,-270,320,-270,380,-320,380\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-270,320,-220,320,-220,380,-270,380\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-500,270,-320,270,-320,380,-500,380\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-500,150,-380,150,-380,270,-500,270\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-90,200,-20,200,-20,270,-90,270\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-120,100,0,100,0,160,-20,160,-20,200,-90,200,-90,160,-120,160\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,70,-70,70,-70,100,-100,100\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,40,-70,40,-70,70,-100,70\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-190,100,-120,100,-120,160,-190,160\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"0,100,70,100,70,160,0,160\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"70,100,140,100,140,160,70,160\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"140,100,170,100,170,130,140,130\"/><BlockDef_34 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"140,130,170,130,170,160,140,160\"/><BlockDef_35 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-10,40,20,40,20,70,-10,70\"/><BlockDef_36 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-40,10,-10,10,-10,40,-40,40\"/><BlockDef_37 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-10,10,20,10,20,40,-10,40\"/><BlockDef_38 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"110,40,170,40,170,100,110,100\"/><BlockDef_39 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"50,40,110,40,110,100,50,100\"/><BlockDef_40 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"110,-20,170,-20,170,40,110,40\"/><BlockDef_41 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"110,-80,170,-80,170,-20,110,-20\"/><BlockDef_42 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"80,-80,110,-80,110,-50,80,-50\"/><BlockDef_43 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"80,-50,110,-50,110,-20,80,-20\"/><BlockDef_44 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"140,-110,170,-110,170,-80,140,-80\"/><BlockDef_45 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"140,-140,170,-140,170,-110,140,-110\"/><BlockDef_46 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-160,40,-130,40,-130,70,-160,70\"/><BlockDef_47 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-160,10,-130,10,-130,40,-160,40\"/><BlockDef_48 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-160,-200,50,-200,50,10,-160,10\"/><BlockDef_49 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"50,-170,110,-170,110,-110,50,-110\"/><BlockDef_50 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"50,-200,80,-200,80,-170,50,-170\"/><BlockDef_51 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"80,-200,110,-200,110,-170,80,-170\"/><BlockDef_52 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"110,-200,140,-200,140,-170,110,-170\"/><BlockDef_53 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"140,-200,170,-200,170,-170,140,-170\"/><BlockDef_54 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-160,-370,20,-370,20,-200,-160,-200\"/><BlockDef_55 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-20,-400,20,-400,20,-370,-20,-370\"/><BlockDef_56 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-60,-400,-20,-400,-20,-370,-60,-370\"/><BlockDef_57 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-160,-400,-60,-400,-60,-370,-160,-370\"/><BlockDef_58 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,-400,-160,-400,-160,-200,-360,-200\"/><NumElementBlocks data=\"6\"/><ElementDef_1 data=\"2,-30,-280,2\"/><ElementDef_2 data=\"1,-280,-240,3\"/><ElementDef_3 data=\"3,440,40\"/><ElementDef_4 data=\"3,-450,130\"/><ElementDef_5 data=\"4,-550,110,there can be more than one chest|per level. The same objects can|be found in both so you can|easily switch shapes between them.\"/><ElementDef_6 data=\"4,-310,230,A circuit is broken if a metal|shape is touching water.|Electricity and water do not mix!\"/><NumStamps data=\"163\"/><StampDef_1 data=\"38,-360,170\"/><StampDef_2 data=\"38,-320,170\"/><StampDef_3 data=\"38,-280,170\"/><StampDef_4 data=\"38,-240,170\"/><StampDef_5 data=\"38,-200,170\"/><StampDef_6 data=\"38,-160,170\"/><StampDef_7 data=\"38,-120,170\"/><StampDef_8 data=\"38,-80,170\"/><StampDef_9 data=\"38,350,170\"/><StampDef_10 data=\"38,310,170\"/><StampDef_11 data=\"38,270,170\"/><StampDef_12 data=\"38,230,170\"/><StampDef_13 data=\"38,190,170\"/><StampDef_14 data=\"39,-161.05,217.3\"/><StampDef_15 data=\"39,-276.05,200.10000000000002\"/><StampDef_16 data=\"39,94,225.39999999999998\"/><StampDef_17 data=\"39,269.95,201.3\"/><StampDef_18 data=\"39,138.1,194\"/><StampDef_19 data=\"38,150,170\"/><StampDef_20 data=\"38,110,170\"/><StampDef_21 data=\"38,70,170\"/><StampDef_22 data=\"38,30,170\"/><StampDef_23 data=\"38,-10,170\"/><StampDef_24 data=\"3,-542,155\"/><StampDef_25 data=\"3,-454,155\"/><StampDef_26 data=\"15,-405,155\"/><StampDef_27 data=\"4,-386,154\"/><StampDef_28 data=\"3,569,66\"/><StampDef_29 data=\"14,505,66\"/><StampDef_30 data=\"3,443,66\"/><StampDef_31 data=\"15,392,66\"/><StampDef_32 data=\"2,377,65\"/><StampDef_33 data=\"93,10,200\"/><StampDef_34 data=\"93,70,200\"/><StampDef_35 data=\"93,10,260\"/><StampDef_36 data=\"93,70,260\"/><StampDef_37 data=\"93,130,260\"/><StampDef_38 data=\"93,130,200\"/><StampDef_39 data=\"93,190,210\"/><StampDef_40 data=\"93,190,270\"/><StampDef_41 data=\"93,250,200\"/><StampDef_42 data=\"93,250,260\"/><StampDef_43 data=\"93,310,270\"/><StampDef_44 data=\"93,310,210\"/><StampDef_45 data=\"93,370,210\"/><StampDef_46 data=\"93,370,270\"/><StampDef_47 data=\"93,-350,200\"/><StampDef_48 data=\"93,-290,200\"/><StampDef_49 data=\"93,-230,200\"/><StampDef_50 data=\"93,-170,200\"/><StampDef_51 data=\"93,-120,200\"/><StampDef_52 data=\"93,-120,260\"/><StampDef_53 data=\"93,-180,260\"/><StampDef_54 data=\"93,-240,260\"/><StampDef_55 data=\"93,-300,260\"/><StampDef_56 data=\"93,-360,260\"/><StampDef_57 data=\"32,413,215\"/><StampDef_58 data=\"34,553,200\"/><StampDef_59 data=\"32,581,342\"/><StampDef_60 data=\"35,563,326\"/><StampDef_61 data=\"34,448,321\"/><StampDef_62 data=\"32,524,92\"/><StampDef_63 data=\"35,435,81\"/><StampDef_64 data=\"36,524,265\"/><StampDef_65 data=\"36,382.05,357\"/><StampDef_66 data=\"33,267,290\"/><StampDef_67 data=\"32,317.05,370\"/><StampDef_68 data=\"34,187,277\"/><StampDef_69 data=\"36,232,327\"/><StampDef_70 data=\"35,145,347\"/><StampDef_71 data=\"35,466,151\"/><StampDef_72 data=\"35,384,295\"/><StampDef_73 data=\"35,52,286\"/><StampDef_74 data=\"37,68,344\"/><StampDef_75 data=\"36,343,303\"/><StampDef_76 data=\"32,-80,295\"/><StampDef_77 data=\"34,-181,349\"/><StampDef_78 data=\"35,-105,342\"/><StampDef_79 data=\"36,-166,288\"/><StampDef_80 data=\"37,-25,293\"/><StampDef_81 data=\"37,10,325\"/><StampDef_82 data=\"32,-9,371\"/><StampDef_83 data=\"33,-300,293\"/><StampDef_84 data=\"35,-238,277\"/><StampDef_85 data=\"32,-299,343\"/><StampDef_86 data=\"33,-238,369\"/><StampDef_87 data=\"32,-481,289\"/><StampDef_88 data=\"33,-411,350\"/><StampDef_89 data=\"34,-348,287\"/><StampDef_90 data=\"35,-467,350\"/><StampDef_91 data=\"32,-574,191\"/><StampDef_92 data=\"35,-562,201\"/><StampDef_93 data=\"33,-567,332\"/><StampDef_94 data=\"34,-520,245\"/><StampDef_95 data=\"35,-416,199\"/><StampDef_96 data=\"33,-469,180\"/><StampDef_97 data=\"35,-449,244\"/><StampDef_98 data=\"36,-392,236\"/><StampDef_99 data=\"36,-74,212\"/><StampDef_100 data=\"32,-24,114\"/><StampDef_101 data=\"34,-82,116\"/><StampDef_102 data=\"35,-45,149\"/><StampDef_103 data=\"33,-41,244\"/><StampDef_104 data=\"33,-177,119\"/><StampDef_105 data=\"32,93,134\"/><StampDef_106 data=\"32,143,11\"/><StampDef_107 data=\"36,-141,141\"/><StampDef_108 data=\"36,-82,53\"/><StampDef_109 data=\"33,8,23\"/><StampDef_110 data=\"34,156,111\"/><StampDef_111 data=\"33,73,53\"/><StampDef_112 data=\"36,149,286\"/><StampDef_113 data=\"32,-129,-148\"/><StampDef_114 data=\"34,-6,-141\"/><StampDef_115 data=\"33,-66,-67\"/><StampDef_116 data=\"35,9,-42\"/><StampDef_117 data=\"37,-141,-17\"/><StampDef_118 data=\"32,93,-152\"/><StampDef_119 data=\"35,78,-130\"/><StampDef_120 data=\"36,-145,56\"/><StampDef_121 data=\"36,159,-130\"/><StampDef_122 data=\"36,163,-2\"/><StampDef_123 data=\"36,36,124\"/><StampDef_124 data=\"33,-66,-187\"/><StampDef_125 data=\"32,-86,-284\"/><StampDef_126 data=\"35,-92,-265\"/><StampDef_127 data=\"35,-46,-232\"/><StampDef_128 data=\"34,-37.5,-361.05\"/><StampDef_129 data=\"33,-87,-317\"/><StampDef_130 data=\"36,-73.5,-235.05\"/><StampDef_131 data=\"36,-103,-301\"/><StampDef_132 data=\"36,-275,-300\"/><StampDef_133 data=\"33,-307,-305\"/><StampDef_134 data=\"36,-218.5,-272\"/><StampDef_135 data=\"36,-343.5,-309\"/><StampDef_136 data=\"36,123,-187\"/><StampDef_137 data=\"35,65,-188\"/><StampDef_138 data=\"36,128,-62\"/><StampDef_139 data=\"34,152,-40\"/><StampDef_140 data=\"33,391,149\"/><StampDef_141 data=\"33,594,143\"/><StampDef_142 data=\"34,593,98\"/><StampDef_143 data=\"36,523,150\"/><StampDef_144 data=\"36,207.05,373\"/><StampDef_145 data=\"36,-65,186\"/><StampDef_146 data=\"36,-178,-216\"/><StampDef_147 data=\"33,-257,-314\"/><StampDef_148 data=\"33,-137,-226\"/><StampDef_149 data=\"35,-149,-323\"/><StampDef_150 data=\"36,-110,-385\"/><StampDef_151 data=\"34,-258,-364\"/><StampDef_152 data=\"32,-343,-385\"/><StampDef_153 data=\"33,-176,-378\"/><StampDef_154 data=\"42,-395,140\"/><StampDef_155 data=\"42,601,51\"/><StampDef_156 data=\"13,515,39\"/><StampDef_157 data=\"92,580,16\"/><StampDef_158 data=\"11,563,44\"/><StampDef_159 data=\"12,543,51\"/><StampDef_160 data=\"8,383,46\"/><StampDef_161 data=\"12,-516,137\"/><StampDef_162 data=\"11,-554,135\"/><StampDef_163 data=\"5,-585,132\"/><NumLevelBlocks data=\"0\"/><NumInitialBlocks data=\"18\"/><InitialBlockDef_1 data=\"-5.329916212473766,3.003942966255248,-0.0010572317934531353,1,0,0,0,true,4\"/><InitialBlockDef_2 data=\"-2.335963222676149,0.6640480611145059,3.1410876579337943,1,0,0,0,true,5\"/><InitialBlockDef_3 data=\"-0.33560176271782427,2.671634612669046,-3.141563912383067,1,0,1,0,true,3\"/><InitialBlockDef_4 data=\"1.000597790852387,1.3357562205172389,1.5723414888327216,1,0,0,0,true,5\"/><InitialBlockDef_5 data=\"3.0000227905478596,0.3365037681399767,-1.5684381589579384,1,0,0,0,true,2\"/><InitialBlockDef_6 data=\"3.671434379638767,-3.330020344012822,3.142286786754056,1,0,0,0,true,4\"/><InitialBlockDef_7 data=\"5.675002801300234,-5.328299449913419,3.146612009657239,1,0,0,0,true,4\"/><InitialBlockDef_8 data=\"0.9859198675827441,8.273985494027434,-3.143554408465766,1,1,0,0,true,22\"/><InitialBlockDef_9 data=\"7.942183392658958,8.335651789157014,-0.004288083202822038,1,1,0,0,true,22\"/><InitialBlockDef_10 data=\"5.621110542414176,8.334812588708965,-1.5761468894724786,1,1,0,0,true,22\"/><InitialBlockDef_11 data=\"-5.993915741740495,8.670590146231778,-0.001076715236416087,1,0,0,0,true,5\"/><InitialBlockDef_12 data=\"-3.99523533424452,7.3270019484910485,3.1419822099826313,1,0,0,0,true,5\"/><InitialBlockDef_13 data=\"6.6155973867776785,8.661364620044726,4.7071358355315045,1,0,1,10,true,6\"/><InitialBlockDef_14 data=\"-0.34001014034778226,8.662020500472993,10.995753207052678,1,0,1,10,true,6\"/><InitialBlockDef_15 data=\"4.291927871497119,8.301098662215288,6.280104242796447,1,0,1,10,true,6\"/><InitialBlockDef_16 data=\"3.2978149330898217,8.329340221550945,-3.144675986851554,1,1,0,0,true,22\"/><InitialBlockDef_17 data=\"1.9811893516539842,8.655369322735105,-14.141791251041264,1,0,1,10,true,6\"/><InitialBlockDef_18 data=\"11.337736981078207,7.669972251667396,-3.1419175536659956,0,0,1,3,true,7\"/><ScrollLimits data=\"-581,611,-385,371,-300,20\"/><Score data=\"5000\" /></BalanceLevel>";  ["a3beec60abb9d8f57478f368975bf404"] = "<BalanceLevel><NumStaticBlocks data=\"41\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,280,-70,280,-70,380,-290,380\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"170,-200,390,-200,390,-70,300,-70,300,-90,170,-90\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-80,-220,-80,-90,-220,-90,-220,-220,-150,-220\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-10,-210,-10,-210,170,-290,170\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"520,-90,660,-90,660,280,590,280,590,30,520,30\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"390,-200,520,-200,520,-70,390,-70\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"520,-170,560,-170,560,-130,520,-130\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"560,-170,600,-170,600,-130,560,-130\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"520,-130,560,-130,560,-90,520,-90\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"560,-130,600,-130,600,-90,560,-90\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"390,-290,520,-290,520,-200,390,-200\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"520,-290,660,-290,660,-170,520,-170\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"600,-170,660,-170,660,-90,600,-90\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"520,30,590,30,590,100\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"300,-70,520,-70,520,30,300,30\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"400,280,590,280,590,380,400,380\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-250,-90,-210,-90,-210,-50,-250,-50\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-250,-50,-210,-50,-210,-10,-250,-10\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-50,-250,-50,-250,-10,-290,-10\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-90,-250,-90,-250,-50,-290,-50\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,170,-210,170,-210,280,-290,280\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"590,280,630,280,630,320,590,320\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"630,280,660,280,660,320,630,320\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"590,320,630,320,630,380,590,380\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"630,320,660,320,660,380,630,380\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"200,280,300,280,300,380,200,380\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"300,280,400,280,400,380,300,380\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"120,280,160,280,160,320,120,320\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"160,280,200,280,200,320,160,320\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"120,320,160,320,160,380,120,380\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"160,320,200,320,200,380,160,380\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-150,-290,-80,-290,-80,-220,-150,-220\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-290,-150,-290,-150,-220,-290,-220\"/><BlockDef_34 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-220,-220,-220,-220,-90,-290,-90\"/><BlockDef_35 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"170,-290,310,-290,310,-200,170,-200\"/><BlockDef_36 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"310,-240,350,-240,350,-200,310,-200\"/><BlockDef_37 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"310,-290,350,-290,350,-240,310,-240\"/><BlockDef_38 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"350,-240,390,-240,390,-200,350,-200\"/><BlockDef_39 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"350,-290,390,-290,390,-240,350,-240\"/><BlockDef_40 water=\"0\" nodrag=\"1\" deadzone=\"0\" data=\"-240,10,-240,-230,-220,-250,310,-250,330,-230,330,10,310,30,-220,30\"/><BlockDef_41 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-70,280,120,280,120,380,-70,380\"/><NumElementBlocks data=\"4\"/><ElementDef_1 data=\"1,-150,-130,3\"/><ElementDef_2 data=\"2,220,-130,3\"/><ElementDef_3 data=\"3,430,260\"/><ElementDef_4 data=\"4,530,240,sticky balloons smothered in| honey. They could be useful in|sticking to other shapes.\"/><NumStamps data=\"106\"/><StampDef_1 data=\"90,-220,9.800000000000011\"/><StampDef_2 data=\"90,-220,-231.3\"/><StampDef_3 data=\"90,310,10.399999999999977\"/><StampDef_4 data=\"90,310,-229.35\"/><StampDef_5 data=\"3,-150,287\"/><StampDef_6 data=\"2,-205,285\"/><StampDef_7 data=\"3,-64,286.5\"/><StampDef_8 data=\"3,21,286\"/><StampDef_9 data=\"3,109,286\"/><StampDef_10 data=\"3,198,285.5\"/><StampDef_11 data=\"3,287,286\"/><StampDef_12 data=\"4,582,285\"/><StampDef_13 data=\"3,374,286.5\"/><StampDef_14 data=\"3,463,286\"/><StampDef_15 data=\"15,513,285.5\"/><StampDef_16 data=\"15,528.5,285\"/><StampDef_17 data=\"14,554,286\"/><StampDef_18 data=\"32,520,313\"/><StampDef_19 data=\"34,570,327\"/><StampDef_20 data=\"36,573,307\"/><StampDef_21 data=\"32,420,325\"/><StampDef_22 data=\"33,321,312\"/><StampDef_23 data=\"36,448,331\"/><StampDef_24 data=\"35,369,324\"/><StampDef_25 data=\"34,216,328\"/><StampDef_26 data=\"36,237,311\"/><StampDef_27 data=\"36,283,328\"/><StampDef_28 data=\"32,-44,315\"/><StampDef_29 data=\"34,-3,329\"/><StampDef_30 data=\"33,41,311\"/><StampDef_31 data=\"33,99,326\"/><StampDef_32 data=\"36,176,308\"/><StampDef_33 data=\"36,-226,318\"/><StampDef_34 data=\"32,-191,340\"/><StampDef_35 data=\"32,-117,313\"/><StampDef_36 data=\"34,-99,336\"/><StampDef_37 data=\"34,-167,308\"/><StampDef_38 data=\"34,-241,222\"/><StampDef_39 data=\"32,-227,185\"/><StampDef_40 data=\"34,-237,48\"/><StampDef_41 data=\"33,-225,82\"/><StampDef_42 data=\"36,-238,121\"/><StampDef_43 data=\"32,-174,-259\"/><StampDef_44 data=\"34,-218,-251.3\"/><StampDef_45 data=\"36,-165,-232\"/><StampDef_46 data=\"36,-98,-231\"/><StampDef_47 data=\"35,-102,-265\"/><StampDef_48 data=\"37,-146,-197\"/><StampDef_49 data=\"32,-95.5,-202\"/><StampDef_50 data=\"34,-229,-36\"/><StampDef_51 data=\"33,-244,-70\"/><StampDef_52 data=\"36,-222,-79\"/><StampDef_53 data=\"36,-247,-175\"/><StampDef_54 data=\"32,-250,303\"/><StampDef_55 data=\"32,623,199\"/><StampDef_56 data=\"35,597,240\"/><StampDef_57 data=\"35,613,79\"/><StampDef_58 data=\"36,600,110\"/><StampDef_59 data=\"36,629,329\"/><StampDef_60 data=\"36,-203,-201\"/><StampDef_61 data=\"32,542,-70\"/><StampDef_62 data=\"33,582,-38\"/><StampDef_63 data=\"34,628,-77\"/><StampDef_64 data=\"35,621,7\"/><StampDef_65 data=\"35,538,10\"/><StampDef_66 data=\"36,570,49\"/><StampDef_67 data=\"36,621,304\"/><StampDef_68 data=\"36,353,-9\"/><StampDef_69 data=\"32,378,-32\"/><StampDef_70 data=\"34,459,10\"/><StampDef_71 data=\"33,455,-48\"/><StampDef_72 data=\"34,407,-183\"/><StampDef_73 data=\"32,482,-154\"/><StampDef_74 data=\"34,420,-124\"/><StampDef_75 data=\"36,499,-93\"/><StampDef_76 data=\"34,588,-234\"/><StampDef_77 data=\"34,541,-273\"/><StampDef_78 data=\"32,628,-194\"/><StampDef_79 data=\"32,412,-278\"/><StampDef_80 data=\"33,480,-228\"/><StampDef_81 data=\"34,365,-222\"/><StampDef_82 data=\"36,424,-223\"/><StampDef_83 data=\"36,571,-199\"/><StampDef_84 data=\"36,579,-146\"/><StampDef_85 data=\"32,227,-244\"/><StampDef_86 data=\"34,282.05,-266\"/><StampDef_87 data=\"34,280,-217\"/><StampDef_88 data=\"34,310,-128\"/><StampDef_89 data=\"33,302,-183\"/><StampDef_90 data=\"36,361,-105\"/><StampDef_91 data=\"91,-147,225\"/><StampDef_92 data=\"92,-75,254\"/><StampDef_93 data=\"5,-178,266\"/><StampDef_94 data=\"8,-128,267\"/><StampDef_95 data=\"10,-109,273\"/><StampDef_96 data=\"41,-13,266\"/><StampDef_97 data=\"11,19,266\"/><StampDef_98 data=\"91,253,226\"/><StampDef_99 data=\"9,236,264\"/><StampDef_100 data=\"8,290,268\"/><StampDef_101 data=\"40,184,265.5\"/><StampDef_102 data=\"43,152,274\"/><StampDef_103 data=\"12,271,272\"/><StampDef_104 data=\"13,346,261\"/><StampDef_105 data=\"7,489,264\"/><StampDef_106 data=\"12,510,268\"/><NumLevelBlocks data=\"10\"/><LevelBlockDef_1 data=\"27,1,0,0,1,37\"/><LevelBlockDef_2 data=\"27,1,0,0,1,37\"/><LevelBlockDef_3 data=\"7,1,1,0,1,24\"/><LevelBlockDef_4 data=\"7,1,1,0,1,24\"/><LevelBlockDef_5 data=\"7,1,1,0,1,24\"/><LevelBlockDef_6 data=\"7,3,1,0,1,17\"/><LevelBlockDef_7 data=\"7,3,1,0,1,17\"/><LevelBlockDef_8 data=\"7,3,1,0,1,17\"/><LevelBlockDef_9 data=\"7,3,1,0,1,17\"/><LevelBlockDef_10 data=\"7,3,1,0,1,17\"/><NumInitialBlocks data=\"0\"/><ScrollLimits data=\"-252,629,-275,343,310,60\"/><Score data=\"8000\" /></BalanceLevel>";  ["b521ae10992a61fd98144dc0971a9a99"] = "<BalanceLevel><NumStaticBlocks data=\"31\"/><BlockDef_1 water=\"1\" nodrag=\"0\" deadzone=\"0\" data=\"-100,210,300,210,300,240,150,240,150,290,50,290,50,240,-100,240\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-500,150,-390,150,-390,240,-500,240\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-500,240,-390,240,-390,290,-500,290\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-390,150,-330,150,-330,210,-390,210\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-390,210,-270,210,-270,290,-390,290\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,150,-270,150,-270,210,-330,210\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-270,150,-100,150,-100,290,-270,290\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,240,50,240,50,290,-100,290\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"150,240,190,240,190,290,150,290\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"190,240,230,240,230,290,190,290\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,240,300,240,300,290,230,290\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"450,150,510,150,510,290,450,290\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"300,150,450,150,450,290,300,290\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-500,-310,-430,-310,-430,-140,-500,-140\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-430,-310,-340,-310,-340,-220,-430,-220\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-500,-140,-430,-140,-500,-70\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-340,-260,-300,-260,-300,-220,-340,-220\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-340,-310,-300,-310,-300,-260,-340,-260\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-300,-260,-260,-260,-260,-220,-300,-220\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-300,-310,-260,-310,-260,-260,-300,-260\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-110,-310,-20,-310,-110,-220\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-260,-310,-110,-310,-110,-220,-260,-220\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"280,-310,450,-310,450,-220,280,-220\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"450,-220,530,-220,530,-90,450,-90\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"450,-90,530,-90,530,-10\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"450,-260,490,-260,490,-220,450,-220\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"450,-310,490,-310,490,-260,450,-260\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"490,-260,530,-260,530,-220,490,-220\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"490,-310,530,-310,530,-260,490,-260\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"190,-310,280,-310,280,-220\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"390,-220,450,-220,450,-160\"/><NumElementBlocks data=\"5\"/><ElementDef_1 data=\"3,-310,130\"/><ElementDef_2 data=\"1,-180,200,1\"/><ElementDef_3 data=\"2,370,200,1\"/><ElementDef_4 data=\"4,-430,110,shapes can be stored and retrieved| in the big chest. If a shape is| lost off screen then it will| reappear inside your chest.\"/><ElementDef_5 data=\"4,450,110,Only metal blocks conduct|electricity. avoid contact with|water - it will short out|your circuit.\"/><NumStamps data=\"91\"/><StampDef_1 data=\"38,-80,220\"/><StampDef_2 data=\"38,-40,220\"/><StampDef_3 data=\"38,0,220\"/><StampDef_4 data=\"38,40,220\"/><StampDef_5 data=\"38,80,220\"/><StampDef_6 data=\"38,120,220\"/><StampDef_7 data=\"38,160,220\"/><StampDef_8 data=\"38,200,220\"/><StampDef_9 data=\"38,280,220\"/><StampDef_10 data=\"93,-70,243\"/><StampDef_11 data=\"93,-10,240\"/><StampDef_12 data=\"93,50,240\"/><StampDef_13 data=\"93,110,240\"/><StampDef_14 data=\"93,160,240\"/><StampDef_15 data=\"93,280,240\"/><StampDef_16 data=\"93,80,300\"/><StampDef_17 data=\"93,140,300\"/><StampDef_18 data=\"3,-459,156\"/><StampDef_19 data=\"3,-386,156\"/><StampDef_20 data=\"3,-312,155\"/><StampDef_21 data=\"14,-264,155\"/><StampDef_22 data=\"14,-238,155\"/><StampDef_23 data=\"4,-108.5,154\"/><StampDef_24 data=\"15,-126.5,155\"/><StampDef_25 data=\"2,308,154\"/><StampDef_26 data=\"15,323,155\"/><StampDef_27 data=\"3,465,155\"/><StampDef_28 data=\"32,-203.5,258\"/><StampDef_29 data=\"35,-179.5,246\"/><StampDef_30 data=\"33,-252.5,210\"/><StampDef_31 data=\"36,-123,244\"/><StampDef_32 data=\"32,-472,223\"/><StampDef_33 data=\"33,-403,179\"/><StampDef_34 data=\"36,-407,223\"/><StampDef_35 data=\"34,-325,259\"/><StampDef_36 data=\"36,-299,228\"/><StampDef_37 data=\"36,-361,243\"/><StampDef_38 data=\"35,-363,239\"/><StampDef_39 data=\"37,-310,174\"/><StampDef_40 data=\"35,-462,266\"/><StampDef_41 data=\"32,27,262\"/><StampDef_42 data=\"34,-16.94999999999999,254\"/><StampDef_43 data=\"34,-75,267\"/><StampDef_44 data=\"32,377,256\"/><StampDef_45 data=\"35,336.95,253\"/><StampDef_46 data=\"35,267,265\"/><StampDef_47 data=\"36,469,181\"/><StampDef_48 data=\"32,491,221\"/><StampDef_49 data=\"34,480,266\"/><StampDef_50 data=\"35,170,251\"/><StampDef_51 data=\"32,-456,-161\"/><StampDef_52 data=\"33,-485,-241\"/><StampDef_53 data=\"34,-446,-279\"/><StampDef_54 data=\"35,-490,-109\"/><StampDef_55 data=\"36,-361,-245\"/><StampDef_56 data=\"37,-404,-246\"/><StampDef_57 data=\"32,-280,-286\"/><StampDef_58 data=\"35,-207,-242\"/><StampDef_59 data=\"32,-179,-264\"/><StampDef_60 data=\"35,-126,-234\"/><StampDef_61 data=\"32,-77,-287\"/><StampDef_62 data=\"36,-275,-235\"/><StampDef_63 data=\"32,479,-136\"/><StampDef_64 data=\"34,500,-191\"/><StampDef_65 data=\"35,378,-253\"/><StampDef_66 data=\"32,308,-274\"/><StampDef_67 data=\"34,295,-263\"/><StampDef_68 data=\"32,473,-284\"/><StampDef_69 data=\"33,504,-65\"/><StampDef_70 data=\"36,430,-265\"/><StampDef_71 data=\"36,233,-283\"/><StampDef_72 data=\"36,264,-256\"/><StampDef_73 data=\"36,429.95,224\"/><StampDef_74 data=\"36,216,269\"/><StampDef_75 data=\"9,-369,135\"/><StampDef_76 data=\"93,220,240\"/><StampDef_77 data=\"38,240,220\"/><StampDef_78 data=\"42,8,233\"/><StampDef_79 data=\"43,-75,233\"/><StampDef_80 data=\"41,270,228\"/><StampDef_81 data=\"43,241,232\"/><StampDef_82 data=\"10,-387,139\"/><StampDef_83 data=\"5,-476,133\"/><StampDef_84 data=\"7,-255,134\"/><StampDef_85 data=\"43,-237,140\"/><StampDef_86 data=\"42,-116.5,142\"/><StampDef_87 data=\"8,317,138\"/><StampDef_88 data=\"5,495.05,133\"/><StampDef_89 data=\"9,446,137\"/><StampDef_90 data=\"10,431.95,142\"/><StampDef_91 data=\"35,421,-207\"/><NumLevelBlocks data=\"4\"/><LevelBlockDef_1 data=\"7,0,0,0,1,14\"/><LevelBlockDef_2 data=\"26,1,0,180,1,38\"/><LevelBlockDef_3 data=\"5,1,0,0,1,32\"/><LevelBlockDef_4 data=\"3,1,0,180,1,0\"/><NumInitialBlocks data=\"5\"/><InitialBlockDef_1 data=\"-2.335389635104653,7.338277968417699,0.00012772790414495265,0,0,1,5,true,7\"/><InitialBlockDef_2 data=\"9.002126639772698,7.338205013969623,-0.0001283342968154248,0,0,1,3,true,7\"/><InitialBlockDef_3 data=\"1.1586492049706627,7.338479667879949,-0.00011665860346312057,0,0,1,13,true,7\"/><InitialBlockDef_4 data=\"-1.011382357074728,5.6768714209267035,0.00009101792626700182,1,0,1,31,true,4\"/><InitialBlockDef_5 data=\"12.054826174393988,4.338251302869027,-3.141516376680281,1,0,1,0,true,3\"/><ScrollLimits data=\"-490,503,-286,270,-180,-10\"/><Score data=\"3000\" /></BalanceLevel>";  ["b911ba778652c7beb6655cc15e558cb9"] = "<BalanceLevel><NumStaticBlocks data=\"51\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-103,249,142,249,142,170,190,170,190,210,190,320,-103,320\"/><BlockDef_2 water=\"0\" nodrag=\"1\" deadzone=\"0\" data=\"-120,170,160,170,180,190,180,340,160,360,-120,360,-140,340,-140,190\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-30,-420,200,-420,200,-290,-30,-290\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"340,100,420,100,420,210,340,210\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"340,60,380,60,380,100,340,100\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"340,20,380,20,380,60,340,60\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"380,60,420,60,420,100,380,100\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"380,20,420,20,420,60,380,60\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"340,-290,420,-290,420,20,340,20\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-460,360,-420,360,-420,400,-460,400\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-460,320,-420,320,-420,360,-460,360\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-500,110,-420,110,-420,320,-500,320\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-500,360,-460,360,-460,400,-500,400\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-500,320,-460,320,-460,360,-500,360\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-500,-290,-420,-290,-420,-180,-500,-180\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-500,-180,-460,-180,-460,-140,-500,-140\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-460,-180,-420,-180,-420,-140,-460,-140\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-500,-140,-460,-140,-460,-100,-500,-100\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-460,-140,-420,-140,-420,-100,-460,-100\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-420,-290,-360,-290,-420,-230\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-420,150,-360,210,-420,210\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"280,-290,340,-290,340,-230\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"340,150,340,210,280,210\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-420,210,-230,210,-230,400,-420,400\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-500,10,-420,10,-420,110,-500,110\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-230,360,-190,360,-190,400,-230,400\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-190,360,-150,360,-150,400,-190,400\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-230,320,-190,320,-190,360,-230,360\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-190,320,-150,320,-150,360,-190,360\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-230,209,-103,210,-103,319,-230,320\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-500,-100,-420,-100,-420,10,-500,10\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-150,320,190,320,190,400,-150,400\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"190,210,420,210,420,400,190,400\"/><BlockDef_34 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-157,170,-103,170,-103,210,-157,209\"/><BlockDef_35 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"280,-420,420,-420,420,-290,280,-290\"/><BlockDef_36 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-500,-380,-360,-380,-360,-290,-500,-290\"/><BlockDef_37 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,-420,-230,-420,-230,-290,-360,-290\"/><BlockDef_38 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-230,-330,-190,-330,-190,-290,-230,-290\"/><BlockDef_39 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-190,-330,-150,-330,-150,-290,-190,-290\"/><BlockDef_40 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-230,-370,-190,-370,-190,-330,-230,-330\"/><BlockDef_41 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-190,-370,-150,-370,-150,-330,-190,-330\"/><BlockDef_42 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-150,-420,-30,-420,-30,-290,-150,-290\"/><BlockDef_43 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"240,-330,280,-330,280,-290,240,-290\"/><BlockDef_44 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"200,-330,240,-330,240,-290,200,-290\"/><BlockDef_45 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"240,-370,280,-370,280,-330,240,-330\"/><BlockDef_46 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"200,-370,240,-370,240,-330,200,-330\"/><BlockDef_47 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-230,-420,-150,-420,-150,-370,-230,-370\"/><BlockDef_48 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-500,-420,-460,-420,-460,-380,-500,-380\"/><BlockDef_49 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-460,-420,-360,-420,-360,-380,-460,-380\"/><BlockDef_50 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"200,-420,280,-420,280,-370,200,-370\"/><BlockDef_51 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-310,-290,-150,-290,-190,-250,-270,-250\"/><NumElementBlocks data=\"3\"/><ElementDef_1 data=\"1,20,300,1\"/><ElementDef_2 data=\"2,20,-330,3\"/><ElementDef_3 data=\"3,-240,190\"/><NumStamps data=\"125\"/><StampDef_1 data=\"90,-119,340.1\"/><StampDef_2 data=\"90,160,341.45\"/><StampDef_3 data=\"90,164,191.39999999999998\"/><StampDef_4 data=\"90,-122,189.89999999999998\"/><StampDef_5 data=\"3,-306,217\"/><StampDef_6 data=\"3,-219,217\"/><StampDef_7 data=\"4,-166,215\"/><StampDef_8 data=\"2,-150,175\"/><StampDef_9 data=\"19,-372.5,201.5\"/><StampDef_10 data=\"22,-358,214\"/><StampDef_11 data=\"20,-412,159.5\"/><StampDef_12 data=\"27,-383,188\"/><StampDef_13 data=\"20,-403,171\"/><StampDef_14 data=\"20,-375,197.5\"/><StampDef_15 data=\"2,148,175\"/><StampDef_16 data=\"4,-109.5,175\"/><StampDef_17 data=\"20,-367,205.5\"/><StampDef_18 data=\"14,-130,176\"/><StampDef_19 data=\"4,188,175.5\"/><StampDef_20 data=\"14,169,177\"/><StampDef_21 data=\"2,196,216.5\"/><StampDef_22 data=\"3,243,216\"/><StampDef_23 data=\"26,326.5,166.5\"/><StampDef_24 data=\"26,300.5,192.5\"/><StampDef_25 data=\"22,-356,214\"/><StampDef_26 data=\"23,286,210.5\"/><StampDef_27 data=\"2,-97,255\"/><StampDef_28 data=\"14,-67.5,256.5\"/><StampDef_29 data=\"4,-33.5,254\"/><StampDef_30 data=\"15,-48.5,255\"/><StampDef_31 data=\"14,103.39999999999998,255.85000000000002\"/><StampDef_32 data=\"4,133,253\"/><StampDef_33 data=\"2,82.5,255\"/><StampDef_34 data=\"32,-203,248\"/><StampDef_35 data=\"35,-181,269\"/><StampDef_36 data=\"34,-129,231\"/><StampDef_37 data=\"33,-125,303\"/><StampDef_38 data=\"32,-374,348\"/><StampDef_39 data=\"33,-353,328\"/><StampDef_40 data=\"33,-266,336\"/><StampDef_41 data=\"34,-379,253\"/><StampDef_42 data=\"33,-296,268\"/><StampDef_43 data=\"36,-253,250\"/><StampDef_44 data=\"36,-307,355\"/><StampDef_45 data=\"36,-164,345\"/><StampDef_46 data=\"34,-80,362\"/><StampDef_47 data=\"32,23.5,373\"/><StampDef_48 data=\"34,106,337\"/><StampDef_49 data=\"34,91,373\"/><StampDef_50 data=\"34,169,369\"/><StampDef_51 data=\"34,-208,374\"/><StampDef_52 data=\"34,-451,252\"/><StampDef_53 data=\"32,-462,156\"/><StampDef_54 data=\"33,-435,196\"/><StampDef_55 data=\"36,-448,345\"/><StampDef_56 data=\"36,-141,199\"/><StampDef_57 data=\"36,-449,48\"/><StampDef_58 data=\"36,-66,282\"/><StampDef_59 data=\"34,154,293\"/><StampDef_60 data=\"34,171,218\"/><StampDef_61 data=\"36,109,301\"/><StampDef_62 data=\"36,172,259\"/><StampDef_63 data=\"33,-436,81\"/><StampDef_64 data=\"32,-468,-56\"/><StampDef_65 data=\"33,-439,-12\"/><StampDef_66 data=\"34,-434,-79\"/><StampDef_67 data=\"34,244,280\"/><StampDef_68 data=\"32,369,345\"/><StampDef_69 data=\"34,333,293\"/><StampDef_70 data=\"36,283,351\"/><StampDef_71 data=\"33,382,232\"/><StampDef_72 data=\"32,221,329\"/><StampDef_73 data=\"33,302,245\"/><StampDef_74 data=\"33,-470,-157\"/><StampDef_75 data=\"33,-461,-266\"/><StampDef_76 data=\"32,-441,-212\"/><StampDef_77 data=\"32,403,124\"/><StampDef_78 data=\"35,358,120\"/><StampDef_79 data=\"34,379,178\"/><StampDef_80 data=\"34,375,-54\"/><StampDef_81 data=\"32,397,-78\"/><StampDef_82 data=\"32,359,-198\"/><StampDef_83 data=\"33,379,-153\"/><StampDef_84 data=\"36,357,40\"/><StampDef_85 data=\"36,357,-117\"/><StampDef_86 data=\"36,391,-264\"/><StampDef_87 data=\"36,-401,-277\"/><StampDef_88 data=\"32,-452,-361\"/><StampDef_89 data=\"34,-388,-325\"/><StampDef_90 data=\"36,-397,-362\"/><StampDef_91 data=\"36,-282,-372\"/><StampDef_92 data=\"32,-258,-330\"/><StampDef_93 data=\"33,-311,-343\"/><StampDef_94 data=\"33,-413,-401\"/><StampDef_95 data=\"32,-253,-398\"/><StampDef_96 data=\"32,-72,-353\"/><StampDef_97 data=\"33,-105,-326\"/><StampDef_98 data=\"33,-131,-392\"/><StampDef_99 data=\"33,-342,-399\"/><StampDef_100 data=\"34,-204,-268\"/><StampDef_101 data=\"36,-247,-270\"/><StampDef_102 data=\"35,-176,-349\"/><StampDef_103 data=\"35,153,-344\"/><StampDef_104 data=\"32,177,-361\"/><StampDef_105 data=\"34,123,-387\"/><StampDef_106 data=\"36,113,-315\"/><StampDef_107 data=\"36,177,-304\"/><StampDef_108 data=\"32,306,-334\"/><StampDef_109 data=\"33,376,-378\"/><StampDef_110 data=\"34,374,-322\"/><StampDef_111 data=\"34,319,-390\"/><StampDef_112 data=\"33,257,-349\"/><StampDef_113 data=\"35,219,-315\"/><StampDef_114 data=\"34,230,-389\"/><StampDef_115 data=\"34,327,-271\"/><StampDef_116 data=\"34,396,73\"/><StampDef_117 data=\"91,261,154\"/><StampDef_118 data=\"5,229,193\"/><StampDef_119 data=\"10,307,171\"/><StampDef_120 data=\"7,288.5,187.5\"/><StampDef_121 data=\"91,-328,168\"/><StampDef_122 data=\"7,-301,195\"/><StampDef_123 data=\"12,-346,200\"/><StampDef_124 data=\"9,-393,161\"/><StampDef_125 data=\"11,-129,157\"/><NumLevelBlocks data=\"11\"/><LevelBlockDef_1 data=\"7,1,0,0,1,18\"/><LevelBlockDef_2 data=\"7,1,0,0,1,4\"/><LevelBlockDef_3 data=\"7,1,0,0,1,4\"/><LevelBlockDef_4 data=\"3,1,0,0,1,0\"/><LevelBlockDef_5 data=\"27,1,0,0,1,37\"/><LevelBlockDef_6 data=\"7,1,0,0,1,18\"/><LevelBlockDef_7 data=\"7,1,0,0,1,2\"/><LevelBlockDef_8 data=\"7,1,0,0,1,2\"/><LevelBlockDef_9 data=\"5,1,0,0,1,32\"/><LevelBlockDef_10 data=\"4,1,0,0,1,31\"/><LevelBlockDef_11 data=\"7,1,0,0,1,2\"/><NumInitialBlocks data=\"4\"/><InitialBlockDef_1 data=\"-2.4364137986054506,7.663651421703755,-0.003230788749854459,5,0,1,18,true,7\"/><InitialBlockDef_2 data=\"-0.4416158827905647,7.658967669239057,-0.0033212857853175187,5,0,1,18,true,7\"/><InitialBlockDef_3 data=\"1.7263865621676127,7.650556644992999,-0.0039341442083750565,5,0,1,18,true,7\"/><InitialBlockDef_4 data=\"3.7247804287885415,7.640989187836487,-0.0035455717720221107,5,0,1,18,true,7\"/><ScrollLimits data=\"-469,406,-400,377,10,90\"/><Score data=\"10000\" /></BalanceLevel>";  ["b25389210da30ebf3c145a6c3ab02b4c"] = "<BalanceLevel><NumStaticBlocks data=\"78\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-270,-10,-150,-10,-150,100,-270,100\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-270,100,-210,100,-210,160,-270,160\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-210,100,-150,100,-150,160,-210,160\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-310,-10,-270,-10,-270,30,-310,30\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,-10,-310,-10,-310,30,-350,30\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,30,-310,30,-310,70,-350,70\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-310,30,-270,30,-270,70,-310,70\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-350,70,-270,70,-270,160,-350,160\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-380,70,-350,70,-350,160,-380,160\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-380,-10,-350,-10,-350,70,-380,70\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-310,-170,-310,-170,-270,-290,-270\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-170,-310,-130,-310,-170,-270\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-470,-130,-470,-130,-310,-290,-310\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-380,-390,-290,-390,-290,-270,-380,-270\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-380,-470,-290,-470,-290,-390,-380,-390\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-380,-660,-130,-660,-130,-470,-380,-470\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-130,-660,0,-660,0,-560,-130,-560\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"0,-600,40,-600,40,-560,0,-560\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"40,-600,80,-600,80,-560,40,-560\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"0,-660,40,-660,40,-600,0,-600\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"40,-660,80,-660,80,-600,40,-600\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"80,-660,200,-660,200,-560,80,-560\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"200,-660,290,-660,290,-540,200,-540\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-130,-560,-50,-560,-130,-480\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-380,-270,-280,-270,-380,-170\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"200,-540,290,-540,290,-450,200,-450\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"200,-450,290,-450,290,-320,200,-320\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"110,-410,200,-410,200,-320,110,-320\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"290,-410,390,-410,390,-320,290,-320\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"110,-320,390,-320,390,-80,110,-80\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-380,160,-150,160,-150,280,-380,280\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-150,160,-30,160,-30,280,-150,280\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-30,160,110,160,110,280,-30,280\"/><BlockDef_34 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"110,160,390,160,390,280,110,280\"/><BlockDef_35 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"110,-80,190,-80,190,0,110,0\"/><BlockDef_36 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"270,-80,350,-80,350,0,270,0\"/><BlockDef_37 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"190,-80,230,-80,230,-40,190,-40\"/><BlockDef_38 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,-80,270,-80,270,-40,230,-40\"/><BlockDef_39 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"350,-80,390,-80,390,-40,350,-40\"/><BlockDef_40 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"350,-40,390,-40,390,0,350,0\"/><BlockDef_41 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,-40,270,-40,270,0,230,0\"/><BlockDef_42 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"190,-40,230,-40,230,0,190,0\"/><BlockDef_43 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,0,390,0,390,160,230,160\"/><BlockDef_44 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"110,0,230,0,230,120,110,120\"/><BlockDef_45 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"110,120,150,120,150,160,110,160\"/><BlockDef_46 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"150,120,190,120,190,160,150,160\"/><BlockDef_47 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"190,120,230,120,230,160,190,160\"/><BlockDef_48 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-150,40,-90,40,-150,100\"/><BlockDef_49 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-150,-10,-90,-10,-90,40,-150,40\"/><BlockDef_50 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"390,220,490,220,490,280,390,280\"/><BlockDef_51 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"490,30,750,30,750,280,490,280\"/><BlockDef_52 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"750,160,790,160,790,200,750,200\"/><BlockDef_53 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"790,160,830,160,830,200,790,200\"/><BlockDef_54 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"750,200,790,200,790,240,750,240\"/><BlockDef_55 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"790,200,830,200,830,240,790,240\"/><BlockDef_56 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"830,160,870,160,870,280,830,280\"/><BlockDef_57 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"750,240,830,240,830,280,750,280\"/><BlockDef_58 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"750,30,870,30,870,160,750,160\"/><BlockDef_59 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"290,-660,390,-660,390,-560,290,-560\"/><BlockDef_60 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"390,-600,430,-600,430,-560,390,-560\"/><BlockDef_61 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"390,-660,430,-660,430,-600,390,-600\"/><BlockDef_62 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"430,-600,470,-600,470,-560,430,-560\"/><BlockDef_63 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"430,-660,470,-660,470,-600,430,-600\"/><BlockDef_64 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"470,-660,570,-660,570,-560,470,-560\"/><BlockDef_65 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"570,-600,610,-600,610,-560,570,-560\"/><BlockDef_66 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"650,-660,870,-660,870,-420,650,-420\"/><BlockDef_67 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"610,-600,650,-600,650,-560,610,-560\"/><BlockDef_68 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"570,-660,610,-660,610,-600,570,-600\"/><BlockDef_69 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"610,-660,650,-660,650,-600,610,-600\"/><BlockDef_70 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"570,-560,650,-560,650,-480\"/><BlockDef_71 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"650,-420,690,-420,690,-380,650,-380\"/><BlockDef_72 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"690,-420,730,-420,730,-380,690,-380\"/><BlockDef_73 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"650,-380,690,-380,690,-340,650,-340\"/><BlockDef_74 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"690,-380,730,-380,730,-340,690,-340\"/><BlockDef_75 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"730,-420,820,-420,820,-340,730,-340\"/><BlockDef_76 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"820,-420,870,-420,870,-220,820,-220\"/><BlockDef_77 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"650,-340,820,-340,820,-180,700,-180,650,-230\"/><BlockDef_78 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"820,-220,870,-220,870,-180,820,-180\"/><NumElementBlocks data=\"4\"/><ElementDef_1 data=\"3,-200,-30\"/><ElementDef_2 data=\"1,30,210,1\"/><ElementDef_3 data=\"3,690,10\"/><ElementDef_4 data=\"2,530,110,4\"/><NumStamps data=\"239\"/><StampDef_1 data=\"3,-340,-4\"/><StampDef_2 data=\"3,-254,-5\"/><StampDef_3 data=\"3,-168,-6\"/><StampDef_4 data=\"4,-100,-6\"/><StampDef_5 data=\"15,-119,-6\"/><StampDef_6 data=\"2,-144,163\"/><StampDef_7 data=\"3,-86,165\"/><StampDef_8 data=\"15,-22,164\"/><StampDef_9 data=\"15,-37.5,165\"/><StampDef_10 data=\"15,86,165\"/><StampDef_11 data=\"4,105,165\"/><StampDef_12 data=\"2,116,-405\"/><StampDef_13 data=\"4,192,-406\"/><StampDef_14 data=\"4,383,-407\"/><StampDef_15 data=\"2,295,-407\"/><StampDef_16 data=\"3,338,-407\"/><StampDef_17 data=\"14,147,-404\"/><StampDef_18 data=\"15,172,-404\"/><StampDef_19 data=\"2,394,226\"/><StampDef_20 data=\"14,424,226\"/><StampDef_21 data=\"14,450,226\"/><StampDef_22 data=\"4,480,225\"/><StampDef_23 data=\"3,627,36\"/><StampDef_24 data=\"3,713,36\"/><StampDef_25 data=\"3,799,36\"/><StampDef_26 data=\"14,857,36\"/><StampDef_27 data=\"2,493,36\"/><StampDef_28 data=\"3,538,36\"/><StampDef_29 data=\"32,311,-376\"/><StampDef_30 data=\"33,354,-350\"/><StampDef_31 data=\"34,375,-383\"/><StampDef_32 data=\"36,376,-339\"/><StampDef_33 data=\"36,311,-338\"/><StampDef_34 data=\"32,336,-259\"/><StampDef_35 data=\"33,258,-291\"/><StampDef_36 data=\"34,350,-155\"/><StampDef_37 data=\"32,147,-144\"/><StampDef_38 data=\"35,163,-161\"/><StampDef_39 data=\"37,274,-120\"/><StampDef_40 data=\"32,140,-282\"/><StampDef_41 data=\"33,160,-263\"/><StampDef_42 data=\"36,253,-213\"/><StampDef_43 data=\"36,373,-207\"/><StampDef_44 data=\"36,374,-301\"/><StampDef_45 data=\"36,364,-96\"/><StampDef_46 data=\"36,204,-111\"/><StampDef_47 data=\"36,132,-215\"/><StampDef_48 data=\"36,196,-297\"/><StampDef_49 data=\"32,319,-27\"/><StampDef_50 data=\"33,332,-46\"/><StampDef_51 data=\"35,285,-63\"/><StampDef_52 data=\"36,136,-27\"/><StampDef_53 data=\"32,152,-41\"/><StampDef_54 data=\"36,174,-15\"/><StampDef_55 data=\"35,208,-59\"/><StampDef_56 data=\"35,255,61\"/><StampDef_57 data=\"32,277,80\"/><StampDef_58 data=\"33,290,63\"/><StampDef_59 data=\"34,368,124\"/><StampDef_60 data=\"32,365,35\"/><StampDef_61 data=\"36,312,141\"/><StampDef_62 data=\"36,150,85\"/><StampDef_63 data=\"32,165,67\"/><StampDef_64 data=\"33,125,25\"/><StampDef_65 data=\"34,203,21\"/><StampDef_66 data=\"35,203,108\"/><StampDef_67 data=\"35,172,239\"/><StampDef_68 data=\"32,205,214\"/><StampDef_69 data=\"32,336,254\"/><StampDef_70 data=\"32,295,177\"/><StampDef_71 data=\"36,361,233\"/><StampDef_72 data=\"36,266,17\"/><StampDef_73 data=\"36,128,185\"/><StampDef_74 data=\"33,274,251\"/><StampDef_75 data=\"34,379,176\"/><StampDef_76 data=\"34,91.5,254\"/><StampDef_77 data=\"33,32.5,262\"/><StampDef_78 data=\"32,-123,193\"/><StampDef_79 data=\"33,-81,229\"/><StampDef_80 data=\"34,-58.5,186\"/><StampDef_81 data=\"36,-127,249\"/><StampDef_82 data=\"36,-55,267\"/><StampDef_83 data=\"35,-97,267\"/><StampDef_84 data=\"35,223,-177\"/><StampDef_85 data=\"35,-210,221\"/><StampDef_86 data=\"32,-261,190\"/><StampDef_87 data=\"34,-267,248\"/><StampDef_88 data=\"33,-176,180\"/><StampDef_89 data=\"37,-177,262\"/><StampDef_90 data=\"32,-345,185\"/><StampDef_91 data=\"33,-326,202\"/><StampDef_92 data=\"33,-348,258\"/><StampDef_93 data=\"33,-181,38\"/><StampDef_94 data=\"32,-203,64\"/><StampDef_95 data=\"33,-245,27\"/><StampDef_96 data=\"33,-330,92\"/><StampDef_97 data=\"35,-303,113\"/><StampDef_98 data=\"32,-105,18\"/><StampDef_99 data=\"34,-127,56\"/><StampDef_100 data=\"34,-331,16\"/><StampDef_101 data=\"34,-288,51\"/><StampDef_102 data=\"36,-175,135\"/><StampDef_103 data=\"36,-247,127\"/><StampDef_104 data=\"35,-231,136\"/><StampDef_105 data=\"35,245,-355\"/><StampDef_106 data=\"33,230,-370\"/><StampDef_107 data=\"33,272,-432\"/><StampDef_108 data=\"32,140,-374\"/><StampDef_109 data=\"33,160,-351\"/><StampDef_110 data=\"33,224,-521\"/><StampDef_111 data=\"32,267,-503\"/><StampDef_112 data=\"34,229,-477\"/><StampDef_113 data=\"35,258,-529\"/><StampDef_114 data=\"35,224,-607\"/><StampDef_115 data=\"33,272,-623\"/><StampDef_116 data=\"32,104,-598\"/><StampDef_117 data=\"36,271,-574\"/><StampDef_118 data=\"36,136,134\"/><StampDef_119 data=\"36,-222,-393\"/><StampDef_120 data=\"32,-190,-358\"/><StampDef_121 data=\"34,-149,-433\"/><StampDef_122 data=\"35,-145,-337\"/><StampDef_123 data=\"37,-264,-332\"/><StampDef_124 data=\"32,-259,-441\"/><StampDef_125 data=\"32,-330,-337\"/><StampDef_126 data=\"34,-307,-409\"/><StampDef_127 data=\"33,-341,-455\"/><StampDef_128 data=\"36,-241,-287\"/><StampDef_129 data=\"33,-341,-243\"/><StampDef_130 data=\"34,-203,-282\"/><StampDef_131 data=\"33,-175,-556\"/><StampDef_132 data=\"32,-198,-581\"/><StampDef_133 data=\"33,-290,-514\"/><StampDef_134 data=\"34,-324,-608\"/><StampDef_135 data=\"35,-215,-516\"/><StampDef_136 data=\"36,-250,-562\"/><StampDef_137 data=\"36,-332,-504\"/><StampDef_138 data=\"36,-163,-608\"/><StampDef_139 data=\"36,-145,-488\"/><StampDef_140 data=\"36,-328,-291\"/><StampDef_141 data=\"36,-70,-597\"/><StampDef_142 data=\"32,-28,-579\"/><StampDef_143 data=\"34,-30,-623\"/><StampDef_144 data=\"35,-104,-620\"/><StampDef_145 data=\"35,-102,-579\"/><StampDef_146 data=\"35,-110,-527\"/><StampDef_147 data=\"35,-235,-633\"/><StampDef_148 data=\"35,351,-604\"/><StampDef_149 data=\"36,170,-588\"/><StampDef_150 data=\"36,32,-580\"/><StampDef_151 data=\"36,452,-578\"/><StampDef_152 data=\"36,416,-616\"/><StampDef_153 data=\"32,518,-582\"/><StampDef_154 data=\"32,326,-574\"/><StampDef_155 data=\"33,544,-615\"/><StampDef_156 data=\"33,502,-602\"/><StampDef_157 data=\"33,635,-575\"/><StampDef_158 data=\"33,752,-531\"/><StampDef_159 data=\"32,773,-511\"/><StampDef_160 data=\"32,832,-587\"/><StampDef_161 data=\"32,687,-621\"/><StampDef_162 data=\"32,680,-445\"/><StampDef_163 data=\"32,738,-299\"/><StampDef_164 data=\"32,678,-236\"/><StampDef_165 data=\"32,843,-194\"/><StampDef_166 data=\"35,828,-210\"/><StampDef_167 data=\"35,690,-254\"/><StampDef_168 data=\"35,786,-244\"/><StampDef_169 data=\"33,675,-311\"/><StampDef_170 data=\"33,792,-397\"/><StampDef_171 data=\"33,681,-524\"/><StampDef_172 data=\"33,837,-496\"/><StampDef_173 data=\"36,731,-221\"/><StampDef_174 data=\"36,810,-324\"/><StampDef_175 data=\"36,775,-195\"/><StampDef_176 data=\"36,845,-298\"/><StampDef_177 data=\"36,753,-365\"/><StampDef_178 data=\"36,711,-403\"/><StampDef_179 data=\"36,661,-364\"/><StampDef_180 data=\"36,812,-463\"/><StampDef_181 data=\"36,718,-496\"/><StampDef_182 data=\"36,781,-597\"/><StampDef_183 data=\"36,702,-574\"/><StampDef_184 data=\"36,587,-578\"/><StampDef_185 data=\"36,633,-620\"/><StampDef_186 data=\"36,444,-618\"/><StampDef_187 data=\"36,624,-540\"/><StampDef_188 data=\"34,453,-583\"/><StampDef_189 data=\"34,68,-627\"/><StampDef_190 data=\"34,465,257\"/><StampDef_191 data=\"36,419,253\"/><StampDef_192 data=\"32,712,210\"/><StampDef_193 data=\"32,631,93\"/><StampDef_194 data=\"32,557,228\"/><StampDef_195 data=\"34,570,208\"/><StampDef_196 data=\"34,705,119\"/><StampDef_197 data=\"33,633,248\"/><StampDef_198 data=\"33,647,145\"/><StampDef_199 data=\"36,736,261\"/><StampDef_200 data=\"36,512,254\"/><StampDef_201 data=\"36,511,184\"/><StampDef_202 data=\"36,699,62\"/><StampDef_203 data=\"36,820,117\"/><StampDef_204 data=\"33,787,140\"/><StampDef_205 data=\"33,778,59\"/><StampDef_206 data=\"32,851,73\"/><StampDef_207 data=\"32,851,253\"/><StampDef_208 data=\"33,783,259\"/><StampDef_209 data=\"36,809,176\"/><StampDef_210 data=\"36,843,234\"/><StampDef_211 data=\"36,701,197\"/><StampDef_212 data=\"36,595.5,132.05\"/><StampDef_213 data=\"33,588.5,109.05000000000001\"/><StampDef_214 data=\"5,837,13\"/><StampDef_215 data=\"91,808,-25\"/><StampDef_216 data=\"92,577,-11\"/><StampDef_217 data=\"5,545,12\"/><StampDef_218 data=\"8,596,17\"/><StampDef_219 data=\"9,767,-13\"/><StampDef_220 data=\"13,767,9\"/><StampDef_221 data=\"12,639,21\"/><StampDef_222 data=\"43,515,20\"/><StampDef_223 data=\"40,419,205\"/><StampDef_224 data=\"42,473,211\"/><StampDef_225 data=\"12,429,208\"/><StampDef_226 data=\"7,-309,-24\"/><StampDef_227 data=\"9,-107,-23\"/><StampDef_228 data=\"6,-362,-32\"/><StampDef_229 data=\"11,-267,-47\"/><StampDef_230 data=\"5,-267,-28\"/><StampDef_231 data=\"12,-131,-18\"/><StampDef_232 data=\"5,-88,143\"/><StampDef_233 data=\"8,-122,147\"/><StampDef_234 data=\"11,-33,143\"/><StampDef_235 data=\"43,-59,152\"/><StampDef_236 data=\"9,179,-425\"/><StampDef_237 data=\"42,144,-419\"/><StampDef_238 data=\"11,367,-427\"/><StampDef_239 data=\"8,346,-419\"/><NumLevelBlocks data=\"17\"/><LevelBlockDef_1 data=\"3,1,0,0,1,0\"/><LevelBlockDef_2 data=\"7,1,0,0,1,22\"/><LevelBlockDef_3 data=\"4,1,0,0,0,0\"/><LevelBlockDef_4 data=\"5,1,0,180,0,0\"/><LevelBlockDef_5 data=\"5,1,0,0,0,0\"/><LevelBlockDef_6 data=\"4,1,0,270,0,0\"/><LevelBlockDef_7 data=\"3,1,0,0,1,0\"/><LevelBlockDef_8 data=\"3,1,0,90,1,0\"/><LevelBlockDef_9 data=\"7,1,0,0,1,4\"/><LevelBlockDef_10 data=\"4,1,0,270,0,0\"/><LevelBlockDef_11 data=\"4,1,0,0,0,0\"/><LevelBlockDef_12 data=\"4,1,0,90,0,0\"/><LevelBlockDef_13 data=\"3,1,0,0,1,0\"/><LevelBlockDef_14 data=\"3,1,0,90,1,0\"/><LevelBlockDef_15 data=\"3,1,0,180,1,0\"/><LevelBlockDef_16 data=\"7,1,0,0,1,22\"/><LevelBlockDef_17 data=\"7,0,0,0,1,3\"/><NumInitialBlocks data=\"0\"/><ScrollLimits data=\"-352,857,-631,271,0,0\"/><Score data=\"10000\" /></BalanceLevel>";  ["bc27c2a0c144aab9863092bb2161ad58"] = "<BalanceLevel><NumStaticBlocks data=\"29\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,-250,-320,-250,-320,-60,-360,-60\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,110,-110,110,-110,150,-130,170,-130,290,-360,290\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-130,220,-90,220,-90,260,-130,260\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-90,220,-50,220,-50,260,-90,260\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-130,260,-90,260,-90,290,-130,290\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-90,260,-50,260,-50,290,-90,290\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-50,220,90,220,90,290,-50,290\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"290,70,330,70,330,110,290,110\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"70,110,330,110,330,290,90,290,90,170,70,150\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"290,30,330,30,330,70,290,70\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"290,-110,330,-110,330,30,290,30\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"290,-250,330,-250,330,-110,290,-110\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,-60,-320,-60,-320,110,-360,110\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-320,-250,-250,-250,-320,-180\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-130,-250,-60,-250,-60,-180,-130,-180\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-130,-180,-20,-180,-20,-130,-80,-130\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-20,-180,30,-180,30,-130,-20,-130\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"30,-180,100,-180,50,-130,30,-130\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"30,-250,100,-250,100,-180,30,-180\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-200,-250,-130,-250,-130,-180\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"100,-250,170,-250,100,-180\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,-250,290,-250,290,-190\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,-350,-200,-350,-200,-250,-360,-250\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-200,-350,100,-350,100,-250,-200,-250\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"100,-300,150,-300,150,-250,100,-250\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"100,-350,150,-350,150,-300,100,-300\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"150,-300,200,-300,200,-250,150,-250\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"150,-350,200,-350,200,-300,150,-300\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"200,-350,330,-350,330,-250,200,-250\"/><NumElementBlocks data=\"4\"/><ElementDef_1 data=\"1,-250,160,1\"/><ElementDef_2 data=\"2,210,160,1\"/><ElementDef_3 data=\"4,-100,180,This caged monster is angry and| cannot sit still. However it can| be dragged around and used| like any other block.\"/><ElementDef_4 data=\"4,-30,-220,drag your mouse to the edges|of the screen or use the arrow|and w s a d keys to scroll|around levels.\"/><NumStamps data=\"78\"/><StampDef_1 data=\"2,-317.5,115\"/><StampDef_2 data=\"15,-297.5,116\"/><StampDef_3 data=\"2,-189.7,115\"/><StampDef_4 data=\"14,-170.5,116\"/><StampDef_5 data=\"15,-143,115\"/><StampDef_6 data=\"4,-122,113\"/><StampDef_7 data=\"2,81,114\"/><StampDef_8 data=\"14,111,115\"/><StampDef_9 data=\"14,137,115\"/><StampDef_10 data=\"15,164,114\"/><StampDef_11 data=\"15,267,115\"/><StampDef_12 data=\"4,287,114\"/><StampDef_13 data=\"32,-244.5,212\"/><StampDef_14 data=\"33,-191,206\"/><StampDef_15 data=\"32,-326,254\"/><StampDef_16 data=\"36,-224,224\"/><StampDef_17 data=\"36,-317,168\"/><StampDef_18 data=\"33,-288,216\"/><StampDef_19 data=\"35,-131,136\"/><StampDef_20 data=\"34,-160,258\"/><StampDef_21 data=\"36,-243.95,269\"/><StampDef_22 data=\"34,-68,233\"/><StampDef_23 data=\"33,-11,235\"/><StampDef_24 data=\"36,74,263\"/><StampDef_25 data=\"32,28,275\"/><StampDef_26 data=\"32,183,219\"/><StampDef_27 data=\"35,211.95,211\"/><StampDef_28 data=\"36,-341,203\"/><StampDef_29 data=\"33,95,134\"/><StampDef_30 data=\"32,307,254\"/><StampDef_31 data=\"35,267.95,173\"/><StampDef_32 data=\"33,303,45\"/><StampDef_33 data=\"36,313,-87\"/><StampDef_34 data=\"32,321,-34\"/><StampDef_35 data=\"32,-66,-152\"/><StampDef_36 data=\"33,-33,-144\"/><StampDef_37 data=\"2,-51,-174\"/><StampDef_38 data=\"14,-23,-174\"/><StampDef_39 data=\"4,30,-175\"/><StampDef_40 data=\"14,4,-175\"/><StampDef_41 data=\"35,-118,-240\"/><StampDef_42 data=\"36,-78,-214\"/><StampDef_43 data=\"35,-172,-316\"/><StampDef_44 data=\"32,-48,-320\"/><StampDef_45 data=\"32,78,-275\"/><StampDef_46 data=\"35,63,-293\"/><StampDef_47 data=\"35,-298,-236\"/><StampDef_48 data=\"33,90,-306\"/><StampDef_49 data=\"35,86,-214\"/><StampDef_50 data=\"32,-321,-325\"/><StampDef_51 data=\"34,-259,-302\"/><StampDef_52 data=\"32,-345,-116\"/><StampDef_53 data=\"35,-335,-132\"/><StampDef_54 data=\"34,-343,13\"/><StampDef_55 data=\"36,113,141\"/><StampDef_56 data=\"35,-229,271\"/><StampDef_57 data=\"35,142,268\"/><StampDef_58 data=\"32,317,-199\"/><StampDef_59 data=\"35,308,-166\"/><StampDef_60 data=\"34,233,-285\"/><StampDef_61 data=\"34,302,-326\"/><StampDef_62 data=\"36,170,-267\"/><StampDef_63 data=\"36,135,-330\"/><StampDef_64 data=\"43,41,213\"/><StampDef_65 data=\"41,5,226\"/><StampDef_66 data=\"7,-305,95\"/><StampDef_67 data=\"9,-128,75\"/><StampDef_68 data=\"5,-142,92\"/><StampDef_69 data=\"91,-176,62\"/><StampDef_70 data=\"12,-188.7,97\"/><StampDef_71 data=\"12,-115,101\"/><StampDef_72 data=\"9,277,93\"/><StampDef_73 data=\"8,100,75\"/><StampDef_74 data=\"6,122,87\"/><StampDef_75 data=\"7,129,90\"/><StampDef_76 data=\"41,69,207\"/><StampDef_77 data=\"42,-66,215\"/><StampDef_78 data=\"43,-104,216\"/><NumLevelBlocks data=\"0\"/><NumInitialBlocks data=\"6\"/><InitialBlockDef_1 data=\"-3.6418329624978454,3.001303931185471,-3.143441262502685,1,0,1,32,true,5\"/><InitialBlockDef_2 data=\"3.311996876310138,3.0025515632728426,3.139092330975698,1,0,1,31,true,4\"/><InitialBlockDef_3 data=\"-9.661530485608722,0.6715380556271433,1.570958351076641,1,0,1,38,true,26\"/><InitialBlockDef_4 data=\"-9.667028650140946,-3.9846615868965443,0.0003671958907523856,1,0,1,2,true,7\"/><InitialBlockDef_5 data=\"-9.667691011622342,-1.9899631781545064,0.00025258146639102306,1,0,1,4,true,7\"/><InitialBlockDef_6 data=\"-0.7453208257098156,6.666809983738476,-6.283104930846674,5,0,1,18,true,7\"/><ScrollLimits data=\"-347,321,-334,275,-50,0\"/><Score data=\"3000\" /></BalanceLevel>";  ["blockdefs"] = "<BalanceBlockLibrary><NumBlocks data=\"36\"/><BlockDef_1 data=\"-60,-10,60,-10,60,20,-60,20\"/><BlockDef_2 data=\"-30,-40,30,-40,30,-10,60,-10,60,20,0,20,0,-10,-30,-10\"/><BlockDef_3 data=\"0,-10,0,-40,60,-40,60,-10,30,-10,30,20,-30,20,-30,-10\"/><BlockDef_4 data=\"-30,-20,60,-20,60,10,30,10,30,40,0,40,0,10,-30,10\"/><BlockDef_5 data=\"-30,-20,30,-20,30,-50,60,-50,60,-20,60,10,-30,10\"/><BlockDef_6 data=\"-30,-20,-30,-50,0,-50,0,-20,60,-20,60,10,-30,10\"/><BlockDef_7 data=\"-10,-10,20,-10,20,20,-10,20\"/><BlockDef_8 data=\"-30,-40,30,-40,30,20,-30,20\"/><BlockDef_9 data=\"30,-10,30,20,0,20\"/><BlockDef_10 data=\"60,-40,60,50,-30,50\"/><BlockDef_11 data=\"40,-20,40,30,-10,30\"/><BlockDef_12 data=\"50,-20,50,40,-10,40\"/><BlockDef_13 data=\"0,-30,0,0,30,0,30,-30,60,-30,60,30,-30,30,-30,-30\"/><BlockDef_14 data=\"0,0,0,-30,30,-30,30,0,60,0,60,30,30,30,30,60,0,60,0,30,-30,30,-30,0\"/><BlockDef_15 data=\"-30,-30,90,-30,90,30,60,30,60,60,30,60,30,30,-30,30\"/><BlockDef_16 data=\"-30,-30,90,-30,90,30,30,30,30,60,0,60,0,30,-30,30\"/><BlockDef_17 data=\"-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,30,30,30,60,0,60,0,30,-60,30\"/><BlockDef_18 data=\"-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,60,30,60,60,30,60,30,30,-60,30\"/><BlockDef_19 data=\"-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,0,30,0,60,-30,60,-30,30,-60,30\"/><BlockDef_20 data=\"-10,-50,20,-50,20,40,50,40,50,70,-40,70,-40,40,-10,40\"/><BlockDef_21 data=\"-40,-50,50,-50,50,40,-40,40\"/><BlockDef_22 data=\"-40,-50,40,-50,40,20,-40,20\"/><BlockDef_23 data=\"-20,-20,20,-20,20,20,-20,20\"/><BlockDef_24 data=\"-60,-70,60,-70,60,50,-60,50\"/><BlockDef_25 data=\"-20,-30,30,-30,40,20,-30,20\"/><BlockDef_26 data=\"-120,-10,120,-10,120,20,-120,20\"/><BlockDef_27 data=\"-60,-30,-30,-30,-30,0,60,0,60,-30,90,-30,90,30,-60,30\"/><BlockDef_28 data=\"-60,-60,-30,-60,-30,0,30,0,30,-60,60,-60,60,30,-60,30\"/><BlockDef_29 data=\"-30,-70,30,-70,30,20,-30,20\"/><BlockDef_30 data=\"-20,-20,50,-20,50,30,-20,30\"/><BlockDef_31 data=\"-30,-40,30,-40,30,0,-10,0,-10,30,-30,30\"/><BlockDef_32 data=\"-30,-40,30,-40,30,30,-30,30\"/><BlockDef_33 data=\"-30,-40,-10,-40,-10,10,0,10,0,-10,10,-10,10,10,20,10,20,-40,40,-40,40,30,-30,30\"/><BlockDef_34 data=\"-30,-40,30,-40,30,-20,-10,-20,-10,-10,30,-10,30,0,-10,0,-10,10,30,10,30,30,-30,30\"/><BlockDef_35 data=\"-30,-40,30,-40,30,0,20,0,20,20,30,20,30,30,0,30,0,0,-10,0,-10,30,-30,30\"/><BlockDef_36 data=\"-30,-30,-10,-30,-10,20,10,20,10,-30,30,-30,30,40,-30,40\"/></BalanceBlockLibrary>";  ["ce92a03ac60382683ad7badafe5de0ad"] = "<BalanceLevel><NumStaticBlocks data=\"9\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"1\" data=\"280,190,290,190,380,100,520,100,590,170,590,290,730,290,730,170,810,90,870,90,950,11,991,11,990,90,1070,80,1078,11,1130,10,1130,340,320,340,320,260,280,260\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"10,110,180,100,180,130,160,150,160,190,10,190\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"160,190,280,190,280,300,160,300\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"280,260,320,260,320,300,280,300\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"280,300,320,300,320,340,280,340\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"160,300,280,300,280,340,160,340\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"10,190,160,190,160,340,10,340\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-80,110,10,100,10,340,-80,340\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"1\" data=\"880,-260,1130,-260,1130,-200,1040,-200,1020,-220,900,-220,880,-240\"/><NumElementBlocks data=\"5\"/><ElementDef_1 data=\"1,220,240,1\"/><ElementDef_2 data=\"2,1030,60,1\"/><ElementDef_3 data=\"3,100,80\"/><ElementDef_4 data=\"4,0,60,Beware!!!||deadly ground is harmful to your|shapes. However coffin blocks|can be placed down without| being affected.\"/><ElementDef_5 data=\"3,920,-280\"/><NumStamps data=\"158\"/><StampDef_1 data=\"87,580,173.3\"/><StampDef_2 data=\"77,474,109.89999999999998\"/><StampDef_3 data=\"80,510,110.14999999999998\"/><StampDef_4 data=\"89,370,123.35000000000002\"/><StampDef_5 data=\"89,376,116.60000000000002\"/><StampDef_6 data=\"89,382,111.19999999999999\"/><StampDef_7 data=\"77,412,109.80000000000001\"/><StampDef_8 data=\"89,384,109.39999999999998\"/><StampDef_9 data=\"89,378,114.94999999999999\"/><StampDef_10 data=\"86,546,137.64999999999998\"/><StampDef_11 data=\"80,514.5,110.05000000000001\"/><StampDef_12 data=\"80,510,110.35000000000002\"/><StampDef_13 data=\"76,601,299.95\"/><StampDef_14 data=\"77,652,299.7\"/><StampDef_15 data=\"89,805,107\"/><StampDef_16 data=\"89,812,100.35000000000002\"/><StampDef_17 data=\"89,810,102.60000000000002\"/><StampDef_18 data=\"89,810,102.39999999999998\"/><StampDef_19 data=\"89,875,97.60000000000002\"/><StampDef_20 data=\"80,874.5,100.10000000000002\"/><StampDef_21 data=\"77,841,100.25\"/><StampDef_22 data=\"89,880,93.44999999999999\"/><StampDef_23 data=\"89,885,89.30000000000001\"/><StampDef_24 data=\"89,885,87.85000000000002\"/><StampDef_25 data=\"89,809,103.19999999999999\"/><StampDef_26 data=\"77,1053.95,21.30000000000001\"/><StampDef_27 data=\"77,1117.95,21.149999999999977\"/><StampDef_28 data=\"69,417.5,223.5\"/><StampDef_29 data=\"67,507.5,178.5\"/><StampDef_30 data=\"69,544.5,293.5\"/><StampDef_31 data=\"65,354.5,291.5\"/><StampDef_32 data=\"72,521,277\"/><StampDef_33 data=\"74,569,218\"/><StampDef_34 data=\"73,362,186\"/><StampDef_35 data=\"72,318,236\"/><StampDef_36 data=\"75,417,294\"/><StampDef_37 data=\"73,456,147\"/><StampDef_38 data=\"67,823,254\"/><StampDef_39 data=\"65,1074,173\"/><StampDef_40 data=\"69,1054,291\"/><StampDef_41 data=\"66,973,221\"/><StampDef_42 data=\"68,835,143\"/><StampDef_43 data=\"75,1086,272\"/><StampDef_44 data=\"74,835,228\"/><StampDef_45 data=\"72,963,186.5\"/><StampDef_46 data=\"71,932,290\"/><StampDef_47 data=\"70,1055.5,228.5\"/><StampDef_48 data=\"75,940,97\"/><StampDef_49 data=\"74,949,307\"/><StampDef_50 data=\"70,753,261\"/><StampDef_51 data=\"70,786,175\"/><StampDef_52 data=\"48,498,232\"/><StampDef_53 data=\"51,556,185\"/><StampDef_54 data=\"51,358,234\"/><StampDef_55 data=\"53,475,302\"/><StampDef_56 data=\"53,407,149\"/><StampDef_57 data=\"53,640,316\"/><StampDef_58 data=\"48,900,180.5\"/><StampDef_59 data=\"49,1036,109\"/><StampDef_60 data=\"48,1004,114.5\"/><StampDef_61 data=\"51,1088.95,71\"/><StampDef_62 data=\"51,1009,294\"/><StampDef_63 data=\"50,784,298\"/><StampDef_64 data=\"51,1052,127\"/><StampDef_65 data=\"49,754,206.5\"/><StampDef_66 data=\"3,-43,106.5\"/><StampDef_67 data=\"3,44,106\"/><StampDef_68 data=\"3,131,106\"/><StampDef_69 data=\"4,175,105\"/><StampDef_70 data=\"2,166.75,196\"/><StampDef_71 data=\"46,500.5,82.5\"/><StampDef_72 data=\"62,325,149\"/><StampDef_73 data=\"60,325,155.75\"/><StampDef_74 data=\"64,559,145\"/><StampDef_75 data=\"59,475,91.80000000000001\"/><StampDef_76 data=\"62,459,99\"/><StampDef_77 data=\"55,358,113.75\"/><StampDef_78 data=\"41,854,77\"/><StampDef_79 data=\"43,829,86.19999999999999\"/><StampDef_80 data=\"44,396,90\"/><StampDef_81 data=\"45,421.5,91.5\"/><StampDef_82 data=\"57,694,286\"/><StampDef_83 data=\"59,624,284\"/><StampDef_84 data=\"62,611,291.4\"/><StampDef_85 data=\"46,666.5,274.5\"/><StampDef_86 data=\"42,971.95,2.5999999999999943\"/><StampDef_87 data=\"55,923,25.5\"/><StampDef_88 data=\"89,891,82.05000000000001\"/><StampDef_89 data=\"89,897,76\"/><StampDef_90 data=\"44,744,140.89999999999998\"/><StampDef_91 data=\"63,738,161.89999999999998\"/><StampDef_92 data=\"62,792,97.89999999999998\"/><StampDef_93 data=\"60,788,111.19999999999999\"/><StampDef_94 data=\"7,161,82.5\"/><StampDef_95 data=\"53,1085.95,104\"/><StampDef_96 data=\"60,1096.95,9.050000000000011\"/><StampDef_97 data=\"59,1096.95,6.050000000000011\"/><StampDef_98 data=\"62,901,68.55000000000001\"/><StampDef_99 data=\"80,285,200\"/><StampDef_100 data=\"89,301,192\"/><StampDef_101 data=\"80,294,200\"/><StampDef_102 data=\"89,298,196\"/><StampDef_103 data=\"89,295,200\"/><StampDef_104 data=\"80,285,200\"/><StampDef_105 data=\"89,299,194\"/><StampDef_106 data=\"83,326,166\"/><StampDef_107 data=\"89,352,141\"/><StampDef_108 data=\"89,359,134\"/><StampDef_109 data=\"89,365,128\"/><StampDef_110 data=\"88,520,113\"/><StampDef_111 data=\"88,516,109\"/><StampDef_112 data=\"80,509,110\"/><StampDef_113 data=\"81,696,302\"/><StampDef_114 data=\"78,721,300\"/><StampDef_115 data=\"81,696,302\"/><StampDef_116 data=\"83,779,132\"/><StampDef_117 data=\"82,745,167\"/><StampDef_118 data=\"83,923,49\"/><StampDef_119 data=\"89,947.95,25\"/><StampDef_120 data=\"89,953,20\"/><StampDef_121 data=\"81,965.95,23\"/><StampDef_122 data=\"89,946,27\"/><StampDef_123 data=\"79,987.95,21\"/><StampDef_124 data=\"81,1005.95,23\"/><StampDef_125 data=\"32,127,212\"/><StampDef_126 data=\"34,109,228\"/><StampDef_127 data=\"32,-25,142\"/><StampDef_128 data=\"34,-22,276\"/><StampDef_129 data=\"35,77,296\"/><StampDef_130 data=\"35,152,130\"/><StampDef_131 data=\"34,56,144\"/><StampDef_132 data=\"35,34,216\"/><StampDef_133 data=\"35,191,313\"/><StampDef_134 data=\"36,272.5,281\"/><StampDef_135 data=\"35,220.5,283\"/><StampDef_136 data=\"33,-52,219\"/><StampDef_137 data=\"34,305.5,276\"/><StampDef_138 data=\"34,-24,328\"/><StampDef_139 data=\"6,-73,79\"/><StampDef_140 data=\"10,49,90\"/><StampDef_141 data=\"91,-22,43\"/><StampDef_142 data=\"7,31,87\"/><StampDef_143 data=\"49,1053,-219\"/><StampDef_144 data=\"53,1076,-231\"/><StampDef_145 data=\"52,940,-231\"/><StampDef_146 data=\"53,924,-238\"/><StampDef_147 data=\"74,990,-237\"/><StampDef_148 data=\"70,1102,-233\"/><StampDef_149 data=\"76,894,-252\"/><StampDef_150 data=\"77,946,-252\"/><StampDef_151 data=\"81,994,-250\"/><StampDef_152 data=\"77,1042,-252\"/><StampDef_153 data=\"79,1078,-252\"/><StampDef_154 data=\"81,1100,-250\"/><StampDef_155 data=\"81,1133,-250\"/><StampDef_156 data=\"41,1096,-271\"/><StampDef_157 data=\"44,991,-274\"/><StampDef_158 data=\"56,1066,-274\"/><NumLevelBlocks data=\"11\"/><LevelBlockDef_1 data=\"28,14,0,0,1,26\"/><LevelBlockDef_2 data=\"26,1,0,0,1,38\"/><LevelBlockDef_3 data=\"19,1,0,0,1,28\"/><LevelBlockDef_4 data=\"28,14,0,270,1,26\"/><LevelBlockDef_5 data=\"5,1,0,0,1,32\"/><LevelBlockDef_6 data=\"26,1,0,180,1,38\"/><LevelBlockDef_7 data=\"2,1,0,0,1,34\"/><LevelBlockDef_8 data=\"28,14,0,0,1,26\"/><LevelBlockDef_9 data=\"2,1,0,0,1,34\"/><LevelBlockDef_10 data=\"25,1,0,0,0,0\"/><LevelBlockDef_11 data=\"5,1,0,0,1,32\"/><NumInitialBlocks data=\"0\"/><ScrollLimits data=\"-51,1119,-457,327,240,20\"/><Score data=\"10000\" /></BalanceLevel>";  ["d60bce2af0b93b5a9934386c89bca1e4"] = "<BalanceLevel><NumStaticBlocks data=\"29\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-270,-160,-270,-160,-230,-130,-180,-130,-140,-150,-120,-180,-130,-190,-100,-180,-90,-150,-100,-130,-80,-130,10,-150,30,-180,20,-190,40,-180,60,-150,50,-130,70,-130,100,-160,150,-290,150\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,-270,310,-270,310,-60,180,-60\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,150,-160,150,-160,180,-130,180,-130,310,-290,310\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-130,180,50,180,50,310,-130,310\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"50,180,90,180,90,220,50,220\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"90,180,130,180,130,220,90,220\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"50,220,90,220,90,260,50,260\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"90,220,130,220,130,260,90,260\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"50,260,130,260,130,310,50,310\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"130,180,310,180,310,310,130,310\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,100,260,100,260,180,180,180\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,20,260,20,260,100,180,100\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"260,100,310,100,310,180,260,180\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"260,-60,310,-60,310,100,260,100\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,-20,220,-20,220,20,180,20\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,-60,220,-60,220,-20,180,-20\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,-20,260,-20,260,20,220,20\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"220,-60,260,-60,260,-20,220,-20\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,-410,310,-410,310,-270,180,-270\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-410,-160,-410,-160,-270,-290,-270\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-160,-320,-110,-320,-110,-270,-160,-270\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-160,-370,-110,-370,-110,-320,-160,-320\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-110,-370,-60,-370,-60,-320,-110,-320\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-110,-320,-60,-320,-60,-270,-110,-270\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-160,-410,-60,-410,-60,-370,-160,-370\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-60,-410,80,-410,80,-270,-60,-270\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"130,-320,180,-320,180,-270,130,-270\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"80,-320,130,-320,130,-270,80,-270\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"80,-410,180,-410,180,-320,80,-320\"/><NumElementBlocks data=\"5\"/><ElementDef_1 data=\"5,-170,50,1\"/><ElementDef_2 data=\"5,-170,-100,1\"/><ElementDef_3 data=\"1,-30,230,1\"/><ElementDef_4 data=\"2,220,-190,4\"/><ElementDef_5 data=\"4,-110,140,cannons!!!||how are you supposed to build|a tower with all that going on?\"/><NumStamps data=\"80\"/><StampDef_1 data=\"3,122,185\"/><StampDef_2 data=\"4,177,184\"/><StampDef_3 data=\"14,60.30000000000001,186\"/><StampDef_4 data=\"2,31.30000000000001,185\"/><StampDef_5 data=\"14,-105,185\"/><StampDef_6 data=\"4,-78,184\"/><StampDef_7 data=\"2,-156,186\"/><StampDef_8 data=\"14,-131,185\"/><StampDef_9 data=\"32,-155,214\"/><StampDef_10 data=\"33,-235,243\"/><StampDef_11 data=\"32,-255,170\"/><StampDef_12 data=\"34,-170,273\"/><StampDef_13 data=\"36,-143,258\"/><StampDef_14 data=\"36,-195,191\"/><StampDef_15 data=\"36,-262,278\"/><StampDef_16 data=\"33,-153,86\"/><StampDef_17 data=\"32,-248,-29\"/><StampDef_18 data=\"33,-160,-44\"/><StampDef_19 data=\"34,-203,110\"/><StampDef_20 data=\"36,-254,90\"/><StampDef_21 data=\"36,-236,14\"/><StampDef_22 data=\"36,-231,-185\"/><StampDef_23 data=\"32,-164,-193\"/><StampDef_24 data=\"33,-180,-211\"/><StampDef_25 data=\"33,-188,-19\"/><StampDef_26 data=\"33,-232,-137\"/><StampDef_27 data=\"34,-253,-249\"/><StampDef_28 data=\"34,-99.5,278\"/><StampDef_29 data=\"33,36.5,250\"/><StampDef_30 data=\"36,-21.5,282\"/><StampDef_31 data=\"36,-112.5,231\"/><StampDef_32 data=\"36,-243.5,-83.5\"/><StampDef_33 data=\"34,-128,-288\"/><StampDef_34 data=\"32,99,282\"/><StampDef_35 data=\"33,116,235\"/><StampDef_36 data=\"35,73,205\"/><StampDef_37 data=\"34,274,235\"/><StampDef_38 data=\"32,178,212\"/><StampDef_39 data=\"33,217,269\"/><StampDef_40 data=\"36,257,207\"/><StampDef_41 data=\"36,166,276\"/><StampDef_42 data=\"32,-182,-379\"/><StampDef_43 data=\"33,-251,-358\"/><StampDef_44 data=\"34,-201,-318\"/><StampDef_45 data=\"36,-177,-356\"/><StampDef_46 data=\"36,-241,-296\"/><StampDef_47 data=\"36,202,114\"/><StampDef_48 data=\"34,233,144\"/><StampDef_49 data=\"32,289,54\"/><StampDef_50 data=\"34,238,-9\"/><StampDef_51 data=\"34,196,58\"/><StampDef_52 data=\"32,195,-40\"/><StampDef_53 data=\"33,298,-45\"/><StampDef_54 data=\"36,220,45\"/><StampDef_55 data=\"36,287,135\"/><StampDef_56 data=\"36,263,-113\"/><StampDef_57 data=\"33,192,-108\"/><StampDef_58 data=\"34,272.5,-257.95\"/><StampDef_59 data=\"34,290,-200\"/><StampDef_60 data=\"37,280,-83\"/><StampDef_61 data=\"37,-80,-350\"/><StampDef_62 data=\"33,46,-335\"/><StampDef_63 data=\"32,-9,-294\"/><StampDef_64 data=\"32,-29,-382\"/><StampDef_65 data=\"32,157,-370\"/><StampDef_66 data=\"32,270,-367\"/><StampDef_67 data=\"34,247,-350\"/><StampDef_68 data=\"36,132,-345\"/><StampDef_69 data=\"36,101,-384\"/><StampDef_70 data=\"36,-30,-316\"/><StampDef_71 data=\"34,105,-297\"/><StampDef_72 data=\"33,212,-313\"/><StampDef_73 data=\"33,292,-300\"/><StampDef_74 data=\"33,229,-81\"/><StampDef_75 data=\"8,-148,168\"/><StampDef_76 data=\"9,-130,164\"/><StampDef_77 data=\"13,68,159\"/><StampDef_78 data=\"9,108,165\"/><StampDef_79 data=\"11,148,141\"/><StampDef_80 data=\"5,148,161\"/><NumLevelBlocks data=\"0\"/><NumInitialBlocks data=\"9\"/><InitialBlockDef_1 data=\"5.0013636876783885,5.337326748377416,-0.0009707173097554884,1,0,1,2,true,7\"/><InitialBlockDef_2 data=\"0.9907002333084013,4.669991461833676,3.1409208422396504,1,0,1,2,true,7\"/><InitialBlockDef_3 data=\"0.6670057382074408,3.007784369916774,-4.714014823495985,1,0,1,2,true,7\"/><InitialBlockDef_4 data=\"2.999725009051105,3.3403966743494595,-0.002140534522575202,1,0,1,2,true,7\"/><InitialBlockDef_5 data=\"-1.3311010222304143,3.005848660685856,1.5718675958129626,1,0,1,2,true,7\"/><InitialBlockDef_6 data=\"2.664838245349232,5.004244316063678,7.853770610168871,1,0,1,2,true,7\"/><InitialBlockDef_7 data=\"-1.011214629842159,3.0099623701794935,0,13,0,1,25,true,7\"/><InitialBlockDef_8 data=\"-0.6719630586100919,5.001903264301565,-1.5702462832453303,1,0,1,2,true,7\"/><InitialBlockDef_9 data=\"4.999864748280427,3.3414932180490897,-0.0006042958101131897,0,0,1,13,true,7\"/><ScrollLimits data=\"-275,296,-390,292,10,-50\"/><Score data=\"6000\" /></BalanceLevel>";  ["d443c89a835481a653e6b6b5781e2475"] = "<BalanceLevel><NumStaticBlocks data=\"30\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-210,-300,90,-300,90,-160,-210,-160\"/><BlockDef_2 water=\"1\" nodrag=\"0\" deadzone=\"0\" data=\"-120,160,120,160,120,290,-120,290\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-120,260,120,260,120,290,-120,290\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-120,260,40,260,40,290,-120,290\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"40,260,80,260,80,290,40,290\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"80,260,120,260,120,290,80,290\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,60,-120,60,-120,220,-290,220\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,220,-200,220,-200,290,-360,290\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-200,220,-120,220,-120,290,-200,290\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,140,-290,140,-290,220,-360,220\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,100,-290,100,-290,140,-330,140\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-330,60,-290,60,-290,100,-330,100\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,100,-330,100,-330,140,-360,140\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,60,-330,60,-330,100,-360,100\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,-60,-290,-60,-290,60,-360,60\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,-160,-290,-160,-290,-60,-360,-60\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,-300,-210,-300,-210,-160,-360,-160\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"90,-300,130,-300,130,-260,90,-260\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"90,-260,130,-260,130,-220,90,-220\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"90,-220,170,-220,170,-160,90,-160\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"130,-300,170,-300,170,-260,130,-260\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"130,-260,170,-260,170,-220,130,-220\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"170,-300,290,-300,290,-160,170,-160\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"120,-160,290,-160,290,110,120,110\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"120,110,180,110,180,170,120,170\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,110,240,110,240,170,180,170\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"120,170,180,170,180,230,120,230\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,170,240,170,240,230,180,230\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"240,110,290,110,290,230,240,230\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"120,230,290,230,290,290,120,290\"/><NumElementBlocks data=\"3\"/><ElementDef_1 data=\"1,160,10,4\"/><ElementDef_2 data=\"2,10,-200,3\"/><ElementDef_3 data=\"4,-180,20,These crates are covered in |sticky honey. They will stick to| other shapes and even walls| and ceilings.\"/><NumStamps data=\"69\"/><StampDef_1 data=\"38,-100,170\"/><StampDef_2 data=\"38,-60,170\"/><StampDef_3 data=\"38,-20,170\"/><StampDef_4 data=\"38,20,170\"/><StampDef_5 data=\"38,60,170\"/><StampDef_6 data=\"38,100,170\"/><StampDef_7 data=\"2,-285,65\"/><StampDef_8 data=\"14,-256,66\"/><StampDef_9 data=\"3,-194,65\"/><StampDef_10 data=\"4,-127,65\"/><StampDef_11 data=\"15,-146,65\"/><StampDef_12 data=\"32,-141,91\"/><StampDef_13 data=\"35,-173,117\"/><StampDef_14 data=\"32,-266,201\"/><StampDef_15 data=\"33,-178,195\"/><StampDef_16 data=\"93,-90,200\"/><StampDef_17 data=\"93,-30,200\"/><StampDef_18 data=\"93,30,200\"/><StampDef_19 data=\"93,90,200\"/><StampDef_20 data=\"93,90,260\"/><StampDef_21 data=\"93,30,260\"/><StampDef_22 data=\"93,-30,260\"/><StampDef_23 data=\"93,-90,260\"/><StampDef_24 data=\"34,-273,89\"/><StampDef_25 data=\"36,-228,145\"/><StampDef_26 data=\"32,-222,284\"/><StampDef_27 data=\"33,-328,241\"/><StampDef_28 data=\"35,-138,251\"/><StampDef_29 data=\"35,-325,-9\"/><StampDef_30 data=\"32,-307,-121\"/><StampDef_31 data=\"35,-344,-91\"/><StampDef_32 data=\"35,-343,160\"/><StampDef_33 data=\"32,7,284\"/><StampDef_34 data=\"34,-79.94999999999999,276\"/><StampDef_35 data=\"36,-342,115\"/><StampDef_36 data=\"33,-302,35\"/><StampDef_37 data=\"33,157,254\"/><StampDef_38 data=\"32,210,276\"/><StampDef_39 data=\"33,264,244\"/><StampDef_40 data=\"32,217,125\"/><StampDef_41 data=\"33,149,147\"/><StampDef_42 data=\"32,-237,-223\"/><StampDef_43 data=\"34,-262,-201\"/><StampDef_44 data=\"33,-302,-255\"/><StampDef_45 data=\"36,-336,-193\"/><StampDef_46 data=\"36,-92,-199\"/><StampDef_47 data=\"32,-55,-263\"/><StampDef_48 data=\"34,-140,-228\"/><StampDef_49 data=\"32,122,-182\"/><StampDef_50 data=\"34,11.550000000000011,-267\"/><StampDef_51 data=\"34,-54.44999999999999,-233\"/><StampDef_52 data=\"37,-37.44999999999999,-277\"/><StampDef_53 data=\"36,156,-242\"/><StampDef_54 data=\"36,72.55000000000001,-269\"/><StampDef_55 data=\"33,257,-210\"/><StampDef_56 data=\"32,218,-269\"/><StampDef_57 data=\"36,218,-194\"/><StampDef_58 data=\"33,252,-100\"/><StampDef_59 data=\"34,151,-125\"/><StampDef_60 data=\"34,272,165\"/><StampDef_61 data=\"33,272,1\"/><StampDef_62 data=\"34,217,65\"/><StampDef_63 data=\"37,-115,-283\"/><StampDef_64 data=\"36,-183,-182\"/><StampDef_65 data=\"43,-228,53\"/><StampDef_66 data=\"8,-140,50\"/><StampDef_67 data=\"11,-243,31\"/><StampDef_68 data=\"40,-262,44\"/><StampDef_69 data=\"10,-210,46\"/><NumLevelBlocks data=\"0\"/><NumInitialBlocks data=\"9\"/><InitialBlockDef_1 data=\"-3.980665123545484,-4.3384663800778895,-1.5708273376113318,0,1,1,6,true,7\"/><InitialBlockDef_2 data=\"-2.6508754435164428,-4.33843364821116,1.5708457524988195,0,1,1,6,true,7\"/><InitialBlockDef_3 data=\"-8.303615082678705,-0.9912298121631892,-1.5674680119562097,1,0,1,4,true,7\"/><InitialBlockDef_4 data=\"-8.650763192479756,1.3368853222228736,0.0016117697812936805,1,0,1,4,true,7\"/><InitialBlockDef_5 data=\"-8.553570124715177,-2.654748106443968,0.0046996078911529324,1,0,1,34,true,2\"/><InitialBlockDef_6 data=\"-0.3436021168432318,-4.670908014216268,3.142629304926058,0,1,1,39,true,22\"/><InitialBlockDef_7 data=\"-3.003681258324247,3.533813660839475,-0.000990017667741615,0,1,1,56,true,7\"/><InitialBlockDef_8 data=\"2.671713852469418,-4.334209280552454,1.570782063351964,0,1,1,56,true,7\"/><InitialBlockDef_9 data=\"3.0041427370010307,3.4216333651384496,0.0006461298265810469,0,1,1,56,true,7\"/><ScrollLimits data=\"-348,275,-288,285,-50,0\"/><Score data=\"4000\" /></BalanceLevel>";  ["d4014502e01cb6fb22c20988f6131e51"] = "<BalanceLevel><NumStaticBlocks data=\"17\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"1\" data=\"-40,-50,40,-50,40,220,40,290,-40,290,-40,220\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-90,-280,10,-280,10,-240,-90,-240\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-90,-240,90,-240,50,-200,-50,-200\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"10,-280,50,-280,50,-240,10,-240\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"50,-280,90,-280,90,-240,50,-240\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-300,-30,-180,90,-300,90\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-300,90,-230,90,-230,160,-300,160\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-230,90,-180,90,-110,160,-230,160\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-300,160,-100,160,-100,290,-300,290\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,160,-40,220,-100,220\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,220,-40,220,-40,290,-100,290\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"40,220,100,220,100,290,40,290\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"100,160,100,220,40,220\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"100,160,300,160,300,290,100,290\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"240,30,240,160,110,160\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"240,30,300,30,300,160,240,160\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"300,-30,300,30,240,30\"/><NumElementBlocks data=\"3\"/><ElementDef_1 data=\"1,-190,180,1\"/><ElementDef_2 data=\"2,180,180,1\"/><ElementDef_3 data=\"3,0,-300\"/><NumStamps data=\"71\"/><StampDef_1 data=\"3,-28,-275\"/><StampDef_2 data=\"2,-83,-276\"/><StampDef_3 data=\"14,34,-275\"/><StampDef_4 data=\"4,82,-276\"/><StampDef_5 data=\"14,61,-275\"/><StampDef_6 data=\"76,-27,-40\"/><StampDef_7 data=\"79,-2,-40\"/><StampDef_8 data=\"78,29,-40\"/><StampDef_9 data=\"80,5,-40\"/><StampDef_10 data=\"65,16,208\"/><StampDef_11 data=\"66,-8,70\"/><StampDef_12 data=\"69,-18,275\"/><StampDef_13 data=\"67,6,-7\"/><StampDef_14 data=\"73,21,128\"/><StampDef_15 data=\"75,-16,157\"/><StampDef_16 data=\"72,22,250\"/><StampDef_17 data=\"73,-23,8\"/><StampDef_18 data=\"72,24,22\"/><StampDef_19 data=\"63,-36,195\"/><StampDef_20 data=\"48,20,169\"/><StampDef_21 data=\"51,29,185\"/><StampDef_22 data=\"53,-24,233\"/><StampDef_23 data=\"51,-24,194\"/><StampDef_24 data=\"51,24,275\"/><StampDef_25 data=\"52,21,52\"/><StampDef_26 data=\"53,0,40\"/><StampDef_27 data=\"53,-25,104\"/><StampDef_28 data=\"51,24,88\"/><StampDef_29 data=\"48,-26,39\"/><StampDef_30 data=\"50,-29,227\"/><StampDef_31 data=\"64,-39,99\"/><StampDef_32 data=\"63,33,51\"/><StampDef_33 data=\"35,-13,-217\"/><StampDef_34 data=\"35,-50,-257\"/><StampDef_35 data=\"32,38,-214\"/><StampDef_36 data=\"35,23,-255\"/><StampDef_37 data=\"36,55,-230\"/><StampDef_38 data=\"36,-58,-224\"/><StampDef_39 data=\"33,-24,-225\"/><StampDef_40 data=\"35,85,262\"/><StampDef_41 data=\"32,184.95,235\"/><StampDef_42 data=\"35,225.95000000000005,242\"/><StampDef_43 data=\"35,146,238\"/><StampDef_44 data=\"32,279,185\"/><StampDef_45 data=\"35,278,257\"/><StampDef_46 data=\"36,256,218\"/><StampDef_47 data=\"36,110,186\"/><StampDef_48 data=\"36,114,261\"/><StampDef_49 data=\"36,84,201\"/><StampDef_50 data=\"36,274,105\"/><StampDef_51 data=\"34,263,127\"/><StampDef_52 data=\"33,252,43\"/><StampDef_53 data=\"34,284,58\"/><StampDef_54 data=\"33,49,240\"/><StampDef_55 data=\"33,201,96\"/><StampDef_56 data=\"33,286,3\"/><StampDef_57 data=\"33,-166,257\"/><StampDef_58 data=\"32,-249,254\"/><StampDef_59 data=\"33,-113.5,198\"/><StampDef_60 data=\"34,-117,257\"/><StampDef_61 data=\"34,-267,45\"/><StampDef_62 data=\"34,-216,71\"/><StampDef_63 data=\"34,-269.5,121\"/><StampDef_64 data=\"36,-268,75\"/><StampDef_65 data=\"36,-116.5,230\"/><StampDef_66 data=\"36,-272.5,210\"/><StampDef_67 data=\"36,-76,206\"/><StampDef_68 data=\"33,-57,245\"/><StampDef_69 data=\"36,-184,106\"/><StampDef_70 data=\"36,-188,229\"/><StampDef_71 data=\"36,65,-246\"/><NumLevelBlocks data=\"9\"/><LevelBlockDef_1 data=\"11,1,1,180,1,50\"/><LevelBlockDef_2 data=\"11,1,1,270,1,50\"/><LevelBlockDef_3 data=\"5,1,0,270,1,32\"/><LevelBlockDef_4 data=\"4,1,0,90,1,31\"/><LevelBlockDef_5 data=\"1,1,0,90,1,33\"/><LevelBlockDef_6 data=\"1,1,0,90,1,33\"/><LevelBlockDef_7 data=\"2,1,0,90,1,34\"/><LevelBlockDef_8 data=\"2,1,0,90,1,34\"/><LevelBlockDef_9 data=\"26,1,0,0,1,38\"/><NumInitialBlocks data=\"0\"/><ScrollLimits data=\"-285,288,-513,275,0,-50\"/><Score data=\"7500\" /></BalanceLevel>";  ["dd2d169ced24b0d1b7506070b9be78ba"] = "<BalanceLevel><NumStaticBlocks data=\"54\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"1030,-110,1220,-110,1220,10,1030,10\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"380,-330,450,-330,450,-260,410,-260,380,-290\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-80,-250,-40,-250,-40,-210,-80,-210\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,-210,-40,-210,-100,-150\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-120,-250,-80,-250,-80,-210,-120,-210\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-160,-250,-120,-250,-120,-210,-160,-210\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-260,-250,-160,-250,-160,-150,-260,-150\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-160,-210,-100,-210,-100,-150,-160,-150\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-430,-250,-360,-250,-360,-150,-430,-150\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,-250,-260,-250,-260,-150,-360,-150\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-430,90,-390,90,-390,130,-430,130\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-430,50,-390,50,-390,90,-430,90\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-430,-70,-390,-70,-390,50,-430,50\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-430,-150,-390,-150,-390,-70,-430,-70\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-390,-150,-340,-150,-390,-100\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-280,130,-100,130,-100,290,-280,290\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-430,130,-360,130,-360,210,-430,210\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-430,210,-360,210,-360,290,-430,290\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,130,-280,130,-280,210,-360,210\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,210,-280,210,-280,290,-360,290\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,130,-40,130,-40,190,-100,190\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,190,-40,190,-100,250\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"280,-570,430,-570,430,-430,280,-430\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"280,-380,330,-380,330,-330,280,-330\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"280,-430,330,-430,330,-380,280,-380\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"330,-430,430,-430,430,-330,330,-330\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,-430,280,-430,280,-330\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"180,-570,280,-570,280,-430,180,-430\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"450,-330,520,-330,520,-260,450,-260\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"520,-330,660,-330,660,-260,520,-260\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"100,-570,180,-570,180,-490,100,-490\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"340,-330,380,-330,380,-290\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"20,-570,100,-570,100,-490\"/><BlockDef_34 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"660,-330,700,-330,700,-300,660,-260\"/><BlockDef_35 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-430,-570,-360,-570,-360,-480,-430,-480\"/><BlockDef_36 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-360,-570,-230,-570,-230,-480,-360,-480\"/><BlockDef_37 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-230,-570,-110,-570,-200,-480,-230,-480\"/><BlockDef_38 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-430,-400,-390,-400,-390,-250,-430,-250\"/><BlockDef_39 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-430,-480,-390,-480,-390,-440,-430,-440\"/><BlockDef_40 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-430,-440,-390,-440,-390,-400,-430,-400\"/><BlockDef_41 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"1030,10,1090,10,1090,70\"/><BlockDef_42 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"1090,10,1160,10,1160,70,1090,70\"/><BlockDef_43 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"1160,10,1220,10,1220,70,1160,70\"/><BlockDef_44 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"1160,70,1220,70,1220,220,1160,220\"/><BlockDef_45 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"1160,220,1220,220,1220,290,1160,290\"/><BlockDef_46 water=\"1\" nodrag=\"0\" deadzone=\"0\" data=\"-100,240,1160,240,1160,290,-100,290\"/><BlockDef_47 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"1080,-560,1220,-560,1220,-460,1080,-460\"/><BlockDef_48 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"1080,-460,1120,-460,1120,-420,1080,-420\"/><BlockDef_49 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"1120,-460,1160,-460,1160,-420,1120,-420\"/><BlockDef_50 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"1080,-420,1120,-420,1120,-380\"/><BlockDef_51 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"1120,-420,1160,-420,1160,-380,1120,-380\"/><BlockDef_52 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"1160,-460,1220,-460,1220,-380,1160,-380\"/><BlockDef_53 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"1160,-380,1220,-380,1220,-320\"/><BlockDef_54 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"950,-560,1080,-560,1080,-490,1000,-490\"/><NumElementBlocks data=\"4\"/><ElementDef_1 data=\"1,-190,180,1\"/><ElementDef_2 data=\"2,1110,-60,1\"/><ElementDef_3 data=\"3,-100,-270\"/><ElementDef_4 data=\"3,590,-350\"/><NumStamps data=\"198\"/><StampDef_1 data=\"38,-80,250\"/><StampDef_2 data=\"38,-40,250\"/><StampDef_3 data=\"38,0,250\"/><StampDef_4 data=\"38,40,250\"/><StampDef_5 data=\"38,80,250\"/><StampDef_6 data=\"38,120,250\"/><StampDef_7 data=\"38,160,250\"/><StampDef_8 data=\"38,200,250\"/><StampDef_9 data=\"38,240,250\"/><StampDef_10 data=\"38,280,250\"/><StampDef_11 data=\"38,320,250\"/><StampDef_12 data=\"38,360,250\"/><StampDef_13 data=\"38,400,250\"/><StampDef_14 data=\"38,440,250\"/><StampDef_15 data=\"38,480,250\"/><StampDef_16 data=\"38,520,250\"/><StampDef_17 data=\"38,560,250\"/><StampDef_18 data=\"38,600,250\"/><StampDef_19 data=\"38,640,250\"/><StampDef_20 data=\"38,680,250\"/><StampDef_21 data=\"38,720,250\"/><StampDef_22 data=\"38,760,250\"/><StampDef_23 data=\"38,800,250\"/><StampDef_24 data=\"38,840,250\"/><StampDef_25 data=\"38,880,250\"/><StampDef_26 data=\"38,920,250\"/><StampDef_27 data=\"38,960,250\"/><StampDef_28 data=\"38,1000,250\"/><StampDef_29 data=\"38,1040,250\"/><StampDef_30 data=\"38,1080,250\"/><StampDef_31 data=\"38,1120,250\"/><StampDef_32 data=\"38,1160,250\"/><StampDef_33 data=\"93,-70,270\"/><StampDef_34 data=\"93,-10,270\"/><StampDef_35 data=\"93,50,270\"/><StampDef_36 data=\"93,110,270\"/><StampDef_37 data=\"93,170,270\"/><StampDef_38 data=\"93,230,270\"/><StampDef_39 data=\"93,290,270\"/><StampDef_40 data=\"93,350,270\"/><StampDef_41 data=\"93,410,270\"/><StampDef_42 data=\"93,470,270\"/><StampDef_43 data=\"93,530,270\"/><StampDef_44 data=\"93,590,270\"/><StampDef_45 data=\"93,650,270\"/><StampDef_46 data=\"93,710,270\"/><StampDef_47 data=\"93,770,270\"/><StampDef_48 data=\"93,830,270\"/><StampDef_49 data=\"93,880,270\"/><StampDef_50 data=\"93,940,270\"/><StampDef_51 data=\"93,1000,270\"/><StampDef_52 data=\"93,1060,270\"/><StampDef_53 data=\"93,1120,270\"/><StampDef_54 data=\"93,1180,270\"/><StampDef_55 data=\"3,492,-325\"/><StampDef_56 data=\"2,437,-326\"/><StampDef_57 data=\"3,580,-325\"/><StampDef_58 data=\"14,643,-326\"/><StampDef_59 data=\"15,671,-327\"/><StampDef_60 data=\"4,692,-327\"/><StampDef_61 data=\"3,-329,-244\"/><StampDef_62 data=\"3,-241,-244\"/><StampDef_63 data=\"3,-156,-245\"/><StampDef_64 data=\"14,-94,-246\"/><StampDef_65 data=\"15,-67,-246\"/><StampDef_66 data=\"4,-47,-247\"/><StampDef_67 data=\"2,-386,-245\"/><StampDef_68 data=\"3,-328,135\"/><StampDef_69 data=\"2,-384,134\"/><StampDef_70 data=\"14,-265,134\"/><StampDef_71 data=\"15,-239.25,134\"/><StampDef_72 data=\"4,-41.5,133\"/><StampDef_73 data=\"3,-97,135\"/><StampDef_74 data=\"15,1054.95,-104\"/><StampDef_75 data=\"15,1067.95,-104\"/><StampDef_76 data=\"2,1037,-105\"/><StampDef_77 data=\"3,1206,-105\"/><StampDef_78 data=\"32,-340,226\"/><StampDef_79 data=\"33,-301,262\"/><StampDef_80 data=\"34,-293,158\"/><StampDef_81 data=\"33,-403,254\"/><StampDef_82 data=\"34,-394,162\"/><StampDef_83 data=\"36,-377,186\"/><StampDef_84 data=\"36,-180,234\"/><StampDef_85 data=\"33,-201.5,241\"/><StampDef_86 data=\"32,-117,266\"/><StampDef_87 data=\"33,-84.5,202\"/><StampDef_88 data=\"34,-52,157\"/><StampDef_89 data=\"36,-73,170\"/><StampDef_90 data=\"36,-162,249\"/><StampDef_91 data=\"33,-252.5,243\"/><StampDef_92 data=\"34,-408,2\"/><StampDef_93 data=\"36,-415,-49\"/><StampDef_94 data=\"36,-306,-180\"/><StampDef_95 data=\"32,-280,-211\"/><StampDef_96 data=\"33,-343,-215\"/><StampDef_97 data=\"36,-341,-167\"/><StampDef_98 data=\"32,-182,-168\"/><StampDef_99 data=\"34,-237,-168\"/><StampDef_100 data=\"33,-203,-217\"/><StampDef_101 data=\"33,-111,-161\"/><StampDef_102 data=\"34,-144,-196\"/><StampDef_103 data=\"35,-112,-195\"/><StampDef_104 data=\"36,-380,-138\"/><StampDef_105 data=\"33,-60,-227\"/><StampDef_106 data=\"36,-105,-226\"/><StampDef_107 data=\"35,-405,61\"/><StampDef_108 data=\"37,-416,104\"/><StampDef_109 data=\"32,-413,-108\"/><StampDef_110 data=\"34,-412,-226\"/><StampDef_111 data=\"34,-384,-177\"/><StampDef_112 data=\"36,-330,182\"/><StampDef_113 data=\"36,-195,275\"/><StampDef_114 data=\"36,-409,-336\"/><StampDef_115 data=\"32,-414,-420\"/><StampDef_116 data=\"32,-282,-516\"/><StampDef_117 data=\"33,-247,-494\"/><StampDef_118 data=\"34,-342,-496\"/><StampDef_119 data=\"33,-323,-541\"/><StampDef_120 data=\"33,-401,-524\"/><StampDef_121 data=\"32,-180,-538\"/><StampDef_122 data=\"34,-403,-305\"/><StampDef_123 data=\"32,379,-393\"/><StampDef_124 data=\"34,402,-371\"/><StampDef_125 data=\"34,353,-351\"/><StampDef_126 data=\"34,392,-519\"/><StampDef_127 data=\"33,305,-467\"/><StampDef_128 data=\"34,418,-455\"/><StampDef_129 data=\"36,344,-516\"/><StampDef_130 data=\"36,371,-462\"/><StampDef_131 data=\"36,211,-465\"/><StampDef_132 data=\"34,259,-528\"/><StampDef_133 data=\"33,202,-526\"/><StampDef_134 data=\"33,242,-478\"/><StampDef_135 data=\"32,241,-400\"/><StampDef_136 data=\"36,265,-416\"/><StampDef_137 data=\"36,305,-352\"/><StampDef_138 data=\"36,263,-376\"/><StampDef_139 data=\"36,122,-521\"/><StampDef_140 data=\"33,146,-505\"/><StampDef_141 data=\"34,84,-531\"/><StampDef_142 data=\"34,418,-290\"/><StampDef_143 data=\"33,436,-306\"/><StampDef_144 data=\"36,391,-318\"/><StampDef_145 data=\"36,502,-281\"/><StampDef_146 data=\"33,584,-289\"/><StampDef_147 data=\"32,616,-275\"/><StampDef_148 data=\"34,640,-309\"/><StampDef_149 data=\"36,537,-291\"/><StampDef_150 data=\"36,679,-306\"/><StampDef_151 data=\"35,304,-404\"/><StampDef_152 data=\"35,1183,175\"/><StampDef_153 data=\"32,1206,107\"/><StampDef_154 data=\"34,1175,124\"/><StampDef_155 data=\"33,1208,202\"/><StampDef_156 data=\"33,1207,142\"/><StampDef_157 data=\"35,1193,239\"/><StampDef_158 data=\"32,1118,33\"/><StampDef_159 data=\"32,1205,-44\"/><StampDef_160 data=\"34,1051.95,-9\"/><StampDef_161 data=\"34,1111,-10\"/><StampDef_162 data=\"36,1082,-3\"/><StampDef_163 data=\"36,1167.95,-14\"/><StampDef_164 data=\"33,1193,46\"/><StampDef_165 data=\"7,1187,-126\"/><StampDef_166 data=\"10,1171,-118\"/><StampDef_167 data=\"6,1236,-131\"/><StampDef_168 data=\"43,1041,-117\"/><StampDef_169 data=\"12,1061,-123\"/><StampDef_170 data=\"9,-335,113\"/><StampDef_171 data=\"11,-296,90\"/><StampDef_172 data=\"6,-281,107\"/><StampDef_173 data=\"10,-359,119\"/><StampDef_174 data=\"5,-89,111\"/><StampDef_175 data=\"7,-52,116\"/><StampDef_176 data=\"6,-201,-271\"/><StampDef_177 data=\"5,-313,-268\"/><StampDef_178 data=\"12,-355,-261\"/><StampDef_179 data=\"9,-281,-267\"/><StampDef_180 data=\"92,-257,-301\"/><StampDef_181 data=\"43,-152,-258\"/><StampDef_182 data=\"41,-124,133\"/><StampDef_183 data=\"5,521,-347\"/><StampDef_184 data=\"7,485,-345\"/><StampDef_185 data=\"13,668,-353\"/><StampDef_186 data=\"12,681,-347\"/><StampDef_187 data=\"41,455,-345\"/><StampDef_188 data=\"10,503,-341\"/><StampDef_189 data=\"32,1179,-417\"/><StampDef_190 data=\"35,1197,-440\"/><StampDef_191 data=\"34,1103,-500\"/><StampDef_192 data=\"33,1183,-519\"/><StampDef_193 data=\"34,1135,-398\"/><StampDef_194 data=\"35,1000,-524\"/><StampDef_195 data=\"34,1039,-508\"/><StampDef_196 data=\"32,1064,-536\"/><StampDef_197 data=\"36,1150,-483\"/><StampDef_198 data=\"36,1099,-439\"/><NumLevelBlocks data=\"10\"/><LevelBlockDef_1 data=\"5,1,0,180,1,32\"/><LevelBlockDef_2 data=\"5,1,0,0,1,32\"/><LevelBlockDef_3 data=\"4,1,0,0,1,31\"/><LevelBlockDef_4 data=\"4,1,0,180,1,31\"/><LevelBlockDef_5 data=\"4,1,0,0,1,31\"/><LevelBlockDef_6 data=\"4,1,0,180,1,31\"/><LevelBlockDef_7 data=\"4,1,0,0,1,31\"/><LevelBlockDef_8 data=\"4,1,0,180,1,31\"/><LevelBlockDef_9 data=\"4,1,0,0,1,31\"/><LevelBlockDef_10 data=\"5,1,0,0,1,32\"/><NumInitialBlocks data=\"12\"/><InitialBlockDef_1 data=\"1.1451506242668714,5.673840998932982,0,4,0,1,15,false,7\"/><InitialBlockDef_2 data=\"5.5373959305073726,-2.4648403696209553,0,4,0,1,15,false,7\"/><InitialBlockDef_3 data=\"11.676040415731594,2.8305470815119915,0,4,0,1,15,false,7\"/><InitialBlockDef_4 data=\"17.638663381101043,-5.566123305206655,0,4,0,1,15,false,7\"/><InitialBlockDef_5 data=\"30.870351611968132,1.1840723493261263,0,4,0,1,15,false,7\"/><InitialBlockDef_6 data=\"-11.410133744274864,4.004791265572708,-0.00007936312365073499,1,0,1,32,false,5\"/><InitialBlockDef_7 data=\"-9.410572299241098,2.6714253540152972,-3.1424191421354086,1,0,1,32,false,5\"/><InitialBlockDef_8 data=\"-11.426232223311848,2.0089000228302716,-0.0001894086876771228,1,0,1,32,false,5\"/><InitialBlockDef_9 data=\"-9.423379862842461,0.6761080599608666,-3.14276073550149,1,0,1,32,false,5\"/><InitialBlockDef_10 data=\"-10.374465965088207,0.015252577638035503,-0.001015064493746357,1,0,1,31,false,4\"/><InitialBlockDef_11 data=\"-10.375071126240607,-1.3237529852426757,-3.141768699998008,1,0,1,31,false,4\"/><InitialBlockDef_12 data=\"22.633333333333333,5.433333333333334,0,4,0,1,15,false,7\"/><ScrollLimits data=\"-416,1207,-541,278,-110,-20\"/><Score data=\"7500\" /></BalanceLevel>";  ["dec2ed540054b695c09e903543774df9"] = "<BalanceLevel><NumStaticBlocks data=\"28\"/><BlockDef_1 water=\"1\" nodrag=\"0\" deadzone=\"0\" data=\"-70,50,370,50,370,190,-70,190\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-190,-170,-110,-170,-110,-90,-190,-90\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-110,-170,-30,-170,-30,-90,-110,-90\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-30,-130,10,-130,10,-90,-30,-90\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-30,-170,10,-170,10,-130,-30,-130\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"10,-130,50,-130,50,-90,10,-90\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"10,-170,50,-170,50,-130,10,-130\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"50,-170,130,-170,130,-90,50,-90\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-170,-190,-170,-190,-70,-290,-70\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,-70,-190,-70,-190,40,-290,40\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,40,-250,40,-250,80,-290,80\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-250,40,-210,40,-210,80,-250,80\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-210,40,-70,40,-70,190,-210,190\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,80,-210,80,-210,190,-290,190\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-290,190,-70,190,-70,280,-290,280\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-70,190,-30,190,-30,230,-70,230\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-30,190,10,190,10,230,-30,230\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-70,230,-30,230,-30,280,-70,280\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-30,230,10,230,10,280,-30,280\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"10,190,110,190,110,280,10,280\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"110,190,290,190,290,280,110,280\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"290,190,330,190,330,230,290,230\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"330,190,370,190,370,230,330,230\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"290,230,330,230,330,280,290,280\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"330,230,370,230,370,280,330,280\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"370,140,570,140,570,280,370,280\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"370,-40,570,-40,570,140,370,140\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"130,-170,220,-170,220,-120,190,-90,130,-90\"/><NumElementBlocks data=\"3\"/><ElementDef_1 data=\"2,-130,90,1\"/><ElementDef_2 data=\"1,450,10,1\"/><ElementDef_3 data=\"3,-110,-190\"/><NumStamps data=\"112\"/><StampDef_1 data=\"38,-20,60\"/><StampDef_2 data=\"38,20,60\"/><StampDef_3 data=\"38,60,60\"/><StampDef_4 data=\"38,100,60\"/><StampDef_5 data=\"38,140,60\"/><StampDef_6 data=\"38,180,60\"/><StampDef_7 data=\"38,220,60\"/><StampDef_8 data=\"38,260,60\"/><StampDef_9 data=\"38,300,60\"/><StampDef_10 data=\"38,340,60\"/><StampDef_11 data=\"38,380,60\"/><StampDef_12 data=\"39,254.5,112.39999999999998\"/><StampDef_13 data=\"39,47.19999999999999,159.8\"/><StampDef_14 data=\"39,94.05000000000001,100.89999999999998\"/><StampDef_15 data=\"39,257.7,162.5\"/><StampDef_16 data=\"39,159.10000000000002,129\"/><StampDef_17 data=\"38,-60,60\"/><StampDef_18 data=\"39,3,132.10000000000002\"/><StampDef_19 data=\"14,520.3,-34\"/><StampDef_20 data=\"14,546,-34\"/><StampDef_21 data=\"2,379.5,-35\"/><StampDef_22 data=\"15,398.75,-34\"/><StampDef_23 data=\"4,-73,44\"/><StampDef_24 data=\"2,-184.05,45\"/><StampDef_25 data=\"3,-248,-165\"/><StampDef_26 data=\"3,-160,-165\"/><StampDef_27 data=\"3,-72,-165\"/><StampDef_28 data=\"3,15,-165\"/><StampDef_29 data=\"3,103,-166\"/><StampDef_30 data=\"14,166,-166\"/><StampDef_31 data=\"4,212,-166\"/><StampDef_32 data=\"14,192,-166\"/><StampDef_33 data=\"32,-214,-47\"/><StampDef_34 data=\"33,-257,12\"/><StampDef_35 data=\"35,-209,14\"/><StampDef_36 data=\"35,37,-113\"/><StampDef_37 data=\"33,-276,-46\"/><StampDef_38 data=\"34,-47,-144\"/><StampDef_39 data=\"32,-144,-111\"/><StampDef_40 data=\"33,-257,-136\"/><StampDef_41 data=\"34,-211,-110\"/><StampDef_42 data=\"33,112,-143\"/><StampDef_43 data=\"32,206,-132\"/><StampDef_44 data=\"33,184,-109\"/><StampDef_45 data=\"36,149,-134\"/><StampDef_46 data=\"36,-82,-112\"/><StampDef_47 data=\"36,-175,-145\"/><StampDef_48 data=\"36,-155,149\"/><StampDef_49 data=\"33,-121.05000000000001,156\"/><StampDef_50 data=\"35,-255,157\"/><StampDef_51 data=\"32,-230,100\"/><StampDef_52 data=\"32,-118,238\"/><StampDef_53 data=\"34,-184,249\"/><StampDef_54 data=\"35,-259,226\"/><StampDef_55 data=\"32,85,217\"/><StampDef_56 data=\"35,43,251\"/><StampDef_57 data=\"33,-15,205\"/><StampDef_58 data=\"32,265,215\"/><StampDef_59 data=\"34,239,236\"/><StampDef_60 data=\"33,166,203\"/><StampDef_61 data=\"36,183,251\"/><StampDef_62 data=\"36,-16,252\"/><StampDef_63 data=\"36,456,220\"/><StampDef_64 data=\"32,419,180\"/><StampDef_65 data=\"33,488,168\"/><StampDef_66 data=\"33,542,254\"/><StampDef_67 data=\"33,396,255\"/><StampDef_68 data=\"36,347,249\"/><StampDef_69 data=\"36,517,63\"/><StampDef_70 data=\"32,519.5,33\"/><StampDef_71 data=\"34,456,65\"/><StampDef_72 data=\"35,388,101\"/><StampDef_73 data=\"33,518,120\"/><StampDef_74 data=\"33,337,204\"/><StampDef_75 data=\"91,25,-224\"/><StampDef_76 data=\"92,90,-201\"/><StampDef_77 data=\"91,-217,-225\"/><StampDef_78 data=\"5,178,-189\"/><StampDef_79 data=\"13,-13,-190\"/><StampDef_80 data=\"8,-4,-186\"/><StampDef_81 data=\"11,-54,-187\"/><StampDef_82 data=\"10,145,-186\"/><StampDef_83 data=\"8,-249,-184\"/><StampDef_84 data=\"42,-191,-180\"/><StampDef_85 data=\"91,534,-96\"/><StampDef_86 data=\"8,517,-53\"/><StampDef_87 data=\"10,389,-51\"/><StampDef_88 data=\"40,568,-57\"/><StampDef_89 data=\"93,-40,80\"/><StampDef_90 data=\"93,20,80\"/><StampDef_91 data=\"93,80,80\"/><StampDef_92 data=\"93,140,80\"/><StampDef_93 data=\"93,200,80\"/><StampDef_94 data=\"93,-40,140\"/><StampDef_95 data=\"93,20,140\"/><StampDef_96 data=\"93,80,140\"/><StampDef_97 data=\"93,130,140\"/><StampDef_98 data=\"93,190,140\"/><StampDef_99 data=\"93,-40,200\"/><StampDef_100 data=\"93,20,200\"/><StampDef_101 data=\"93,80,200\"/><StampDef_102 data=\"93,140,200\"/><StampDef_103 data=\"93,190,200\"/><StampDef_104 data=\"93,260,80\"/><StampDef_105 data=\"93,310,80\"/><StampDef_106 data=\"93,370,80\"/><StampDef_107 data=\"93,250,140\"/><StampDef_108 data=\"93,310,140\"/><StampDef_109 data=\"93,370,140\"/><StampDef_110 data=\"93,250,200\"/><StampDef_111 data=\"93,310,200\"/><StampDef_112 data=\"93,370,200\"/><NumLevelBlocks data=\"7\"/><LevelBlockDef_1 data=\"4,1,1,0,0,0\"/><LevelBlockDef_2 data=\"7,0,1,0,1,6\"/><LevelBlockDef_3 data=\"7,1,0,0,1,4\"/><LevelBlockDef_4 data=\"7,1,0,0,1,2\"/><LevelBlockDef_5 data=\"7,1,1,0,1,24\"/><LevelBlockDef_6 data=\"7,1,0,0,1,22\"/><LevelBlockDef_7 data=\"7,1,0,0,1,22\"/><NumInitialBlocks data=\"0\"/><ScrollLimits data=\"-275,555,-384,267,50,-90\"/><Score data=\"5000\" /></BalanceLevel>";  ["ec9e83ba7de071ab5a1e48bc5dde301d"] = "<BalanceLevel><NumStaticBlocks data=\"3\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-230,0,-70,0,-70,110,-230,110\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"1\" data=\"-310,-650,-123,-650,-123,-575,-123,-277,-120,-280,100,-280,100,-230,80,-210,-100,-210,-130,-180,-230,-180,-230,110,-70,110,-70,0,-40,0,-40,200,440,200,440,-20,560,-20,560,-170,440,-170,440,-540,280,-540,230,-580,-120,-580,-120,-650,750,-650,750,290,-310,290\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"440,-170,560,-170,560,-20,440,-20\"/><NumElementBlocks data=\"3\"/><ElementDef_1 data=\"1,-160,50,1\"/><ElementDef_2 data=\"2,480,-90,4\"/><ElementDef_3 data=\"3,30,-300\"/><NumStamps data=\"228\"/><StampDef_1 data=\"76,-109,-270\"/><StampDef_2 data=\"77,-57,-270\"/><StampDef_3 data=\"81,-10,-268\"/><StampDef_4 data=\"77,38,-270\"/><StampDef_5 data=\"78,90,-270\"/><StampDef_6 data=\"76,-57,9\"/><StampDef_7 data=\"78,-49,9\"/><StampDef_8 data=\"80,-59,9\"/><StampDef_9 data=\"76,-31,210\"/><StampDef_10 data=\"77,21,210\"/><StampDef_11 data=\"77,85,210\"/><StampDef_12 data=\"77,148,210\"/><StampDef_13 data=\"77,212,210\"/><StampDef_14 data=\"77,275,210\"/><StampDef_15 data=\"77,339,210\"/><StampDef_16 data=\"77,402,210\"/><StampDef_17 data=\"78,431,210\"/><StampDef_18 data=\"80,415,210\"/><StampDef_19 data=\"80,410,210\"/><StampDef_20 data=\"2,-220.5,5\"/><StampDef_21 data=\"15,-201.5,6\"/><StampDef_22 data=\"14,-93.1,5.350000000000023\"/><StampDef_23 data=\"65,-90,142\"/><StampDef_24 data=\"72,-67,180\"/><StampDef_25 data=\"75,-172,208\"/><StampDef_26 data=\"67,-270,116\"/><StampDef_27 data=\"69,-260,267\"/><StampDef_28 data=\"74,-230,129\"/><StampDef_29 data=\"71,-292,218\"/><StampDef_30 data=\"67,-237,188\"/><StampDef_31 data=\"67,-16,269\"/><StampDef_32 data=\"58,137,247\"/><StampDef_33 data=\"63,119,249\"/><StampDef_34 data=\"71,119,249\"/><StampDef_35 data=\"68,185,242\"/><StampDef_36 data=\"72,-86,255\"/><StampDef_37 data=\"73,-86,264\"/><StampDef_38 data=\"73,301,259\"/><StampDef_39 data=\"72,325,241\"/><StampDef_40 data=\"72,-177,274\"/><StampDef_41 data=\"72,-263.5,17\"/><StampDef_42 data=\"72,471,243\"/><StampDef_43 data=\"66,506,204\"/><StampDef_44 data=\"59,49,197\"/><StampDef_45 data=\"66,-121,-598\"/><StampDef_46 data=\"73,-121,-623\"/><StampDef_47 data=\"74,-121,-617\"/><StampDef_48 data=\"62,69,271\"/><StampDef_49 data=\"62,69,267\"/><StampDef_50 data=\"62,80,267\"/><StampDef_51 data=\"73,72,271\"/><StampDef_52 data=\"67,-263,-162\"/><StampDef_53 data=\"69,-256,-90\"/><StampDef_54 data=\"75,-287,-52\"/><StampDef_55 data=\"75,412,270\"/><StampDef_56 data=\"67,353,279\"/><StampDef_57 data=\"65,591,248\"/><StampDef_58 data=\"73,570,268\"/><StampDef_59 data=\"74,559,267\"/><StampDef_60 data=\"74,586,115\"/><StampDef_61 data=\"73,567,138\"/><StampDef_62 data=\"65,484,59\"/><StampDef_63 data=\"69,575,19\"/><StampDef_64 data=\"73,478,127\"/><StampDef_65 data=\"72,524,10\"/><StampDef_66 data=\"74,463,7\"/><StampDef_67 data=\"74,564,-335\"/><StampDef_68 data=\"67,519,-279\"/><StampDef_69 data=\"65,584,-221\"/><StampDef_70 data=\"68,486,-467\"/><StampDef_71 data=\"66,584,-576\"/><StampDef_72 data=\"69,614,-419\"/><StampDef_73 data=\"69,466,-205\"/><StampDef_74 data=\"69,310,-610\"/><StampDef_75 data=\"65,433,-595\"/><StampDef_76 data=\"67,203,-603\"/><StampDef_77 data=\"69,118,-632\"/><StampDef_78 data=\"72,241,271\"/><StampDef_79 data=\"72,622,190\"/><StampDef_80 data=\"72,615,-112\"/><StampDef_81 data=\"75,608,-39\"/><StampDef_82 data=\"75,467,-370\"/><StampDef_83 data=\"75,521,-608\"/><StampDef_84 data=\"71,577,-512\"/><StampDef_85 data=\"73,575,-512\"/><StampDef_86 data=\"73,546,-417\"/><StampDef_87 data=\"73,364,-573\"/><StampDef_88 data=\"72,255,-615\"/><StampDef_89 data=\"72,398,-632\"/><StampDef_90 data=\"72,148,-610\"/><StampDef_91 data=\"67,-61,-617\"/><StampDef_92 data=\"73,15,-607\"/><StampDef_93 data=\"74,50,-601\"/><StampDef_94 data=\"74,-201,-447\"/><StampDef_95 data=\"69,-204,-535\"/><StampDef_96 data=\"66,-265,-463\"/><StampDef_97 data=\"65,-152,-219\"/><StampDef_98 data=\"69,-287,-314\"/><StampDef_99 data=\"72,-55.5,61\"/><StampDef_100 data=\"72,-61,-239\"/><StampDef_101 data=\"73,12,-233\"/><StampDef_102 data=\"75,72,-237\"/><StampDef_103 data=\"75,-265,-242\"/><StampDef_104 data=\"72,-176,-318\"/><StampDef_105 data=\"73,-159,-299\"/><StampDef_106 data=\"72,-278,-383\"/><StampDef_107 data=\"71,-201,-366\"/><StampDef_108 data=\"71,-207,-210\"/><StampDef_109 data=\"73,-266,-597\"/><StampDef_110 data=\"72,-266,-598\"/><StampDef_111 data=\"67,-154,-407\"/><StampDef_112 data=\"67,-201,-628\"/><StampDef_113 data=\"67,5,-241\"/><StampDef_114 data=\"48,-183,153\"/><StampDef_115 data=\"49,-168,133\"/><StampDef_116 data=\"51,-154,158\"/><StampDef_117 data=\"52,-87,214\"/><StampDef_118 data=\"49,-113,230\"/><StampDef_119 data=\"49,-226,236\"/><StampDef_120 data=\"51,-279,160\"/><StampDef_121 data=\"49,35,242\"/><StampDef_122 data=\"50,161.05,264\"/><StampDef_123 data=\"50,256,234\"/><StampDef_124 data=\"53,-36,242\"/><StampDef_125 data=\"53,-187,248\"/><StampDef_126 data=\"53,84,226\"/><StampDef_127 data=\"48,497,260\"/><StampDef_128 data=\"48,503,100\"/><StampDef_129 data=\"49,509,243\"/><StampDef_130 data=\"51,265,242\"/><StampDef_131 data=\"51,393,238\"/><StampDef_132 data=\"51,-53,91\"/><StampDef_133 data=\"53,-58.5,35\"/><StampDef_134 data=\"53,-253,72\"/><StampDef_135 data=\"53,217,265\"/><StampDef_136 data=\"53,566,223\"/><StampDef_137 data=\"48,587,170\"/><StampDef_138 data=\"48,584,-78\"/><StampDef_139 data=\"49,460,160\"/><StampDef_140 data=\"49,594,66\"/><StampDef_141 data=\"49,494,0\"/><StampDef_142 data=\"51,543,62\"/><StampDef_143 data=\"51,589,-133\"/><StampDef_144 data=\"51,504,-198\"/><StampDef_145 data=\"48,584,-286\"/><StampDef_146 data=\"49,465,-323\"/><StampDef_147 data=\"51,587,-386\"/><StampDef_148 data=\"48,-134,274\"/><StampDef_149 data=\"48,-249,-52\"/><StampDef_150 data=\"51,-276,-21\"/><StampDef_151 data=\"51,-111,-240\"/><StampDef_152 data=\"48,-138,-249\"/><StampDef_153 data=\"51,-27,-222\"/><StampDef_154 data=\"48,41,-236\"/><StampDef_155 data=\"49,-73,-253\"/><StampDef_156 data=\"53,-116,-207\"/><StampDef_157 data=\"48,-232,-301\"/><StampDef_158 data=\"49,-146,-470\"/><StampDef_159 data=\"50,-227,-492\"/><StampDef_160 data=\"48,-221,-408\"/><StampDef_161 data=\"48,-296,-419\"/><StampDef_162 data=\"49,-286,-434\"/><StampDef_163 data=\"49,-288,-208\"/><StampDef_164 data=\"51,-219,-285\"/><StampDef_165 data=\"51,-147,-362\"/><StampDef_166 data=\"51,-149,-574\"/><StampDef_167 data=\"50,-163,-590\"/><StampDef_168 data=\"48,-279,-631\"/><StampDef_169 data=\"49,-266,-547\"/><StampDef_170 data=\"53,-242,-351\"/><StampDef_171 data=\"53,-25,-598\"/><StampDef_172 data=\"48,69,-630\"/><StampDef_173 data=\"49,-16,-625\"/><StampDef_174 data=\"49,108,-597\"/><StampDef_175 data=\"49,293,-559\"/><StampDef_176 data=\"48,352,-629\"/><StampDef_177 data=\"48,152,241\"/><StampDef_178 data=\"59,470,-276\"/><StampDef_179 data=\"63,513,-250\"/><StampDef_180 data=\"74,510,-252\"/><StampDef_181 data=\"72,466,-546\"/><StampDef_182 data=\"53,594,-302\"/><StampDef_183 data=\"53,487,-415\"/><StampDef_184 data=\"49,524,-365\"/><StampDef_185 data=\"49,522,-563\"/><StampDef_186 data=\"51,591,-619\"/><StampDef_187 data=\"48,540,-547\"/><StampDef_188 data=\"49,513,-500\"/><StampDef_189 data=\"50,608,-468\"/><StampDef_190 data=\"50,460.05,-627\"/><StampDef_191 data=\"49,398,-574\"/><StampDef_192 data=\"53,414,-563\"/><StampDef_193 data=\"40,-8,185\"/><StampDef_194 data=\"43,26,195\"/><StampDef_195 data=\"41,384,186\"/><StampDef_196 data=\"42,318,192\"/><StampDef_197 data=\"42,-31,-289\"/><StampDef_198 data=\"55,123,194\"/><StampDef_199 data=\"46,249,185\"/><StampDef_200 data=\"44,222,190\"/><StampDef_201 data=\"45,269,191\"/><StampDef_202 data=\"47,100,188\"/><StampDef_203 data=\"46,415,184\"/><StampDef_204 data=\"59,356,193\"/><StampDef_205 data=\"62,346,203\"/><StampDef_206 data=\"62,195,207\"/><StampDef_207 data=\"45,-42,-10\"/><StampDef_208 data=\"46,86,-296\"/><StampDef_209 data=\"46,-61,-15\"/><StampDef_210 data=\"44,-98,-291\"/><StampDef_211 data=\"45,-74,-290\"/><StampDef_212 data=\"62,-11,-288\"/><StampDef_213 data=\"62,-9,-585\"/><StampDef_214 data=\"59,251,-557\"/><StampDef_215 data=\"60,248,-564\"/><StampDef_216 data=\"62,408,-535\"/><StampDef_217 data=\"63,440,81\"/><StampDef_218 data=\"60,441,-270\"/><StampDef_219 data=\"59,-34,-579\"/><StampDef_220 data=\"59,444,-261\"/><StampDef_221 data=\"63,-39,123\"/><StampDef_222 data=\"62,-93,-208\"/><StampDef_223 data=\"64,42,-212\"/><StampDef_224 data=\"59,-190,-184\"/><StampDef_225 data=\"62,-126,-444\"/><StampDef_226 data=\"12,-201.25,-12\"/><StampDef_227 data=\"7,-92.10000000000002,-8.649999999999977\"/><StampDef_228 data=\"9,-218,-14\"/><NumLevelBlocks data=\"16\"/><LevelBlockDef_1 data=\"7,14,0,0,1,26\"/><LevelBlockDef_2 data=\"3,1,1,180,0,0\"/><LevelBlockDef_3 data=\"7,14,0,0,1,26\"/><LevelBlockDef_4 data=\"3,0,0,270,1,1\"/><LevelBlockDef_5 data=\"4,1,1,0,0,0\"/><LevelBlockDef_6 data=\"7,1,1,0,1,24\"/><LevelBlockDef_7 data=\"7,1,0,0,1,4\"/><LevelBlockDef_8 data=\"7,1,0,0,1,2\"/><LevelBlockDef_9 data=\"5,1,1,90,0,0\"/><LevelBlockDef_10 data=\"22,1,1,0,0,0\"/><LevelBlockDef_11 data=\"22,1,1,0,0,0\"/><LevelBlockDef_12 data=\"22,1,1,0,0,0\"/><LevelBlockDef_13 data=\"5,1,1,180,0,0\"/><LevelBlockDef_14 data=\"3,1,1,90,0,0\"/><LevelBlockDef_15 data=\"22,1,0,0,0,0\"/><LevelBlockDef_16 data=\"22,1,0,0,0,0\"/><NumInitialBlocks data=\"0\"/><ScrollLimits data=\"-295,616,-632,273,20,-100\"/><Score data=\"10000\" /></BalanceLevel>";  ["title_screen"] = "<BalanceLevel><NumStaticBlocks data=\"39\"/><BlockDef_1 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-310,120,-280,120,-280,160,-310,160\"/><BlockDef_2 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-280,120,-240,120,-240,160,-280,160\"/><BlockDef_3 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-310,160,-280,160,-280,200,-310,200\"/><BlockDef_4 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-280,160,-240,160,-240,200,-280,200\"/><BlockDef_5 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-310,200,-240,200,-240,290,-310,290\"/><BlockDef_6 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,200,-20,200,-20,280,-100,280\"/><BlockDef_7 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-20,240,230,240,230,290,-20,290\"/><BlockDef_8 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,200,300,200,300,290,230,290\"/><BlockDef_9 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,-20,300,-20,300,200,230,200\"/><BlockDef_10 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,-120,300,-120,300,-20,230,-20\"/><BlockDef_11 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,-160,270,-160,270,-120,230,-120\"/><BlockDef_12 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,-200,270,-200,270,-160,230,-160\"/><BlockDef_13 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"230,-300,300,-300,300,-200,230,-200\"/><BlockDef_14 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"60,-300,230,-300,230,-230,60,-230\"/><BlockDef_15 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"20,-270,60,-270,60,-230,20,-230\"/><BlockDef_16 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-20,-270,20,-270,20,-230,-20,-230\"/><BlockDef_17 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-20,-300,20,-300,20,-270,-20,-270\"/><BlockDef_18 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"20,-300,60,-300,60,-270,20,-270\"/><BlockDef_19 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-120,-300,-20,-300,-20,-230,-120,-230\"/><BlockDef_20 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-310,-300,-200,-300,-200,-230,-310,-230\"/><BlockDef_21 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-160,-270,-120,-270,-120,-230,-160,-230\"/><BlockDef_22 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-200,-270,-160,-270,-160,-230,-200,-230\"/><BlockDef_23 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-200,-300,-160,-300,-160,-270,-200,-270\"/><BlockDef_24 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-160,-300,-120,-300,-120,-270,-160,-270\"/><BlockDef_25 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-310,50,-240,50,-240,120,-310,120\"/><BlockDef_26 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-310,-20,-240,-20,-240,50,-310,50\"/><BlockDef_27 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-310,-160,-240,-160,-240,-20,-310,-20\"/><BlockDef_28 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-310,-230,-240,-230,-240,-160,-310,-160\"/><BlockDef_29 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"270,-200,300,-200,300,-160,270,-160\"/><BlockDef_30 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"270,-160,300,-160,300,-120,270,-120\"/><BlockDef_31 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-240,250,-100,250,-100,290,-240,290\"/><BlockDef_32 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-240,120,-100,120,-100,250,-240,250\"/><BlockDef_33 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"100,120,230,120,230,240,100,240\"/><BlockDef_34 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,160,-60,160,-60,200,-100,200\"/><BlockDef_35 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,120,-60,120,-60,160,-100,160\"/><BlockDef_36 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-60,160,-20,160,-20,200,-60,200\"/><BlockDef_37 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-60,120,-20,120,-20,160,-60,160\"/><BlockDef_38 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-20,120,100,120,100,240,-20,240\"/><BlockDef_39 water=\"0\" nodrag=\"0\" deadzone=\"0\" data=\"-100,280,-20,280,-20,290,-100,290\"/><NumElementBlocks data=\"3\"/><ElementDef_1 data=\"2,590,-160,1\"/><ElementDef_2 data=\"1,-290,-50,2\"/><ElementDef_3 data=\"2,270,-50,4\"/><NumStamps data=\"74\"/><StampDef_1 data=\"2,-232,125\"/><StampDef_2 data=\"3,-177,126\"/><StampDef_3 data=\"3,-92,126\"/><StampDef_4 data=\"3,-6,125\"/><StampDef_5 data=\"3,79,126\"/><StampDef_6 data=\"3,166,126\"/><StampDef_7 data=\"4,222,125\"/><StampDef_8 data=\"5,-128,102\"/><StampDef_9 data=\"7,-203,75\"/><StampDef_10 data=\"13,-202,100\"/><StampDef_11 data=\"92,-157,68\"/><StampDef_12 data=\"11,-185,103\"/><StampDef_13 data=\"43,-228,110\"/><StampDef_14 data=\"41,-211,124\"/><StampDef_15 data=\"6,151,98\"/><StampDef_16 data=\"10,-88,106\"/><StampDef_17 data=\"91,97,65\"/><StampDef_18 data=\"7,75,104\"/><StampDef_19 data=\"12,55,112\"/><StampDef_20 data=\"41,208,105\"/><StampDef_21 data=\"8,-39,110\"/><StampDef_22 data=\"32,-221,158\"/><StampDef_23 data=\"34,-159,189\"/><StampDef_24 data=\"35,-118,147\"/><StampDef_25 data=\"35,-219,233\"/><StampDef_26 data=\"35,-114,235\"/><StampDef_27 data=\"35,28,197\"/><StampDef_28 data=\"37,-4,151\"/><StampDef_29 data=\"36,-118,183\"/><StampDef_30 data=\"36,83,170\"/><StampDef_31 data=\"32,79,223\"/><StampDef_32 data=\"32,209,151\"/><StampDef_33 data=\"36,180,183\"/><StampDef_34 data=\"35,120,152\"/><StampDef_35 data=\"36,-53,170\"/><StampDef_36 data=\"35,137,223\"/><StampDef_37 data=\"33,210,268\"/><StampDef_38 data=\"34,12,267\"/><StampDef_39 data=\"32,-57,233\"/><StampDef_40 data=\"35,149,251\"/><StampDef_41 data=\"35,83.05000000000001,276\"/><StampDef_42 data=\"34,-185,279\"/><StampDef_43 data=\"36,-131,267\"/><StampDef_44 data=\"36,-265,270\"/><StampDef_45 data=\"32,272,231\"/><StampDef_46 data=\"35,-276,243\"/><StampDef_47 data=\"33,-266,186\"/><StampDef_48 data=\"32,-253,7\"/><StampDef_49 data=\"33,-274,38\"/><StampDef_50 data=\"35,-256,74\"/><StampDef_51 data=\"36,-276,140\"/><StampDef_52 data=\"36,-266,90\"/><StampDef_53 data=\"36,251,189\"/><StampDef_54 data=\"35,254,98\"/><StampDef_55 data=\"35,-179,-253\"/><StampDef_56 data=\"32,-260,-254\"/><StampDef_57 data=\"34,-220,-243\"/><StampDef_58 data=\"36,-205,-266\"/><StampDef_59 data=\"36,-263,-192\"/><StampDef_60 data=\"37,-255.5,-144\"/><StampDef_61 data=\"33,-280.5,-172\"/><StampDef_62 data=\"33,269,34\"/><StampDef_63 data=\"32,259,-179\"/><StampDef_64 data=\"36,242,77\"/><StampDef_65 data=\"36,-85,-255\"/><StampDef_66 data=\"34,-46,-265\"/><StampDef_67 data=\"35,-35,-240\"/><StampDef_68 data=\"34,120,-259\"/><StampDef_69 data=\"32,149,-243\"/><StampDef_70 data=\"34,199,-265\"/><StampDef_71 data=\"36,253,-249\"/><StampDef_72 data=\"36,43,-258\"/><StampDef_73 data=\"36,96,-241\"/><StampDef_74 data=\"36,5,-269\"/><NumLevelBlocks data=\"0\"/><NumInitialBlocks data=\"7\"/><InitialBlockDef_1 data=\"-7.004657008698117,2.9955659964342924,-0.00003389789677704374,1,0,0,0,false,30\"/><InitialBlockDef_2 data=\"6.666921356835889,3.0021500959401877,0.003563752508368783,1,0,0,0,false,30\"/><InitialBlockDef_3 data=\"-4.767457566405463,3.0046698633972686,-0.0003313465287832898,1,0,0,0,false,31\"/><InitialBlockDef_4 data=\"-2.5403837591456404,3.002027525323671,-0.002925995129961732,1,0,0,0,false,32\"/><InitialBlockDef_5 data=\"-0.00497064847081341,3.002719544707326,0.002165048180150129,1,0,0,0,false,33\"/><InitialBlockDef_6 data=\"2.196109115873994,3.002131877584406,-0.000582037947775893,1,0,0,0,false,34\"/><InitialBlockDef_7 data=\"4.433333405105383,2.671666666662504,-4.165574411969396e-12,1,0,0,0,false,35\"/><ScrollLimits data=\"-275,275,-275,275,0,0\"/><Score data=\"10000\" /></BalanceLevel>"; } function (_arg1:String):void{ var _local2:*; var _local3:*; var _local4:Array; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:XML; var _local9:Number; var _local10:Object; var _local11:Boolean; var _local12:Point; var _local13:Array; var _local14:Boolean; var _local15:Number; var _local16:Object; var _local17:Array; _local2 = 0; _local3 = 0; _local8 = new XML(); _local8 = new XML( [_arg1]); levelStaticBlocks = new Array();   = new Array(); levelStaticMCBlocks = new Array(); waterFlag = new Array(); levelStamps = new Array(); _local9 = Number(_local8["NumStaticBlocks"].@data); _local2 = 0; while (_local2 < _local9) { _local4 = _local8[("BlockDef_" + (_local2 + 1))].@data.split(","); _local5 = _local8[("BlockDef_" + (_local2 + 1))].@water; if (_local8[("BlockDef_" + (_local2 + 1))].@nodrag != undefined){ _local6 = _local8[("BlockDef_" + (_local2 + 1))].@nodrag; } else { _local6 = 0; }; if (_local8[("BlockDef_" + (_local2 + 1))].@deadzone != undefined){ _local7 = _local8[("BlockDef_" + (_local2 + 1))].@deadzone; } else { _local7 = 0; }; _local13 = new Array(); _local3 = 0; while (_local3 < _local4.length) { _local12 = new Point(_local4[_local3], _local4[(_local3 + 1)]); _local13.push(_local12); _local3 = (_local3 + 2); }; levelStaticBlocks.push(_local13); if (_local5 == 0){ waterFlag.push(false); } else { waterFlag.push(true); }; if (_local6 == 0){ noDragFlag.push(false); } else { noDragFlag.push(true); }; if (_local7 == 0){ deadZoneFlag.push(false); } else { deadZoneFlag.push(true); }; _local2++; }; if (_local8["NumElementBlocks"]){ _local9 = Number(_local8["NumElementBlocks"].@data); _local2 = 0; while (_local2 < _local9) { _local4 = _local8[("ElementDef_" + (_local2 + 1))].@data.split(","); _local10 = new Object(); _local10.object = Number(_local4[0]); _local10.x = _local4[1]; _local10.y = _local4[2]; if (_local4[0] == 4){ _local10.message = _local4[3]; }; if ((((((_local4[0] == 1)) || ((_local4[0] == 2)))) || ((_local4[0] == 5)))){ if (_local4[3] != undefined){ _local10.frame = Number(_local4[3]); } else { _local10.frame = 1; }; }; levelStaticMCBlocks.push(_local10); _local2++; }; }; if (_local8["NumStamps"]){ _local9 = Number(_local8["NumStamps"].@data); _local2 = 0; while (_local2 < _local9) { _local4 = _local8[("StampDef_" + (_local2 + 1))].@data.split(","); _local10 = new Object(); _local10.object = _local4[0]; _local10.x = _local4[1]; _local10.y = _local4[2]; levelStamps.push(_local10); _local2++; }; }; if (_local8["NumLevelBlocks"]){ rootLine.levelBlocks.clearLevelBlocks(); _local9 = Number(_local8["NumLevelBlocks"].@data); _local11 = false; _local2 = 0; while (_local2 < _local9) { _local4 = _local8[("LevelBlockDef_" + (_local2 + 1))].@data.split(","); if (_local4[2] == 0){ _local11 = false; } else { _local11 = true; }; _local14 = false; _local15 = 0; if (_local4[4] != undefined){ if (_local4[4] == 1){ _local14 = true; _local15 = _local4[5]; }; }; rootLine.levelBlocks.addLevelBlock(_local4[0], _local4[1], _local11, _local14, _local15, _local4[3]); _local2++; }; }; blocksInPlay = new Array(); if (_local8["NumInitialBlocks"]){ _local9 = Number(_local8["NumInitialBlocks"].@data); _local11 = false; _local2 = 0; while (_local2 < _local9) { _local4 = _local8[("InitialBlockDef_" + (_local2 + 1))].@data.split(","); _local16 = new Object(); _local16.x = _local4[0]; _local16.y = _local4[1]; _local16.rotation = _local4[2]; _local16.material = _local4[3]; if (_local4[4] == 0){ _local16.magnetic = false; } else { _local16.magnetic = true; }; if (_local4[5] == 0){ _local16.preDefinedBlock = false; } else { _local16.preDefinedBlock = true; }; _local16.preDefinedBlockID = _local4[6]; if (_local4[7] == 0){ _local16.heavy = false; } else { _local16.heavy = true; }; _local16.shapeID = _local4[8]; blocksInPlay.push(_local16); _local2++; }; }; if (_local8["ScrollLimits"] != undefined){ _local17 = new Array(); _local17 = _local8["ScrollLimits"].@data.split(","); if (_local17[4]){ } else { _local17[4] = 0; _local17[5] = 0; }; scrollEdges = new Array(Number(_local17[2]), Number(_local17[1]), Number(_local17[3]), Number(_local17[0]), Number(_local17[4]), Number(_local17[5])); }; if (_local8["Score"] != undefined){ levelScore = Number(_local8["Score"].@data); } else { levelScore = 10000; };   = true;  (); } public function loadLevel(_arg1:String):void{   = false; levelStaticBlocks = new Array();   = new Array(); levelStaticMCBlocks = new Array(); waterFlag = new Array(); noDragFlag = new Array(); deadZoneFlag = new Array(); levelStamps = new Array(); blocksInPlay = new Array(); (_arg1); } public function unlockNextLevel(){ selectedLevel++; NitromeGame.setLevelUnlocked(selectedLevel); } public function loadSelectedLevel(){ var _local1:*; _local1 = NitromeGame.getLevelName(selectedLevel); loadLevel(_local1); } function  (){ if (!titleScreen){ rootLine.gotoAndPlay("play_game"); } else { NitromeGame.transition.doTween("show_title"); }; } public static function closeHelp(){ rootLine.inGameHelpMessage.play(); } public static function closeLevelComplete(){ rootLine.levelCompleteMessage.play(); } public static function pauseGame(){ BalanceGame.paused = true; rootLine.pauseMessage.play(); } public static function endGame(){ rootLine.myBalanceGame.stopGame(); } public static function startLevel(){ rootLine.startMessage.play(); } static function setRootLine(_arg1:Object){ rootLine = _arg1; } public static function continueGame(){ rootLine.pauseMessage.play(); } public static function levelComplete(){ if (selectedLevel < 32){ rootLine.play(); } else { NitromeGame.transition.doTween("congrats"); }; } public static function showHelp(){ BalanceGame.paused = true; rootLine.inGameHelpMessage.play(); } public static function closeHint(){ rootLine.helpDisplay.play(); } } }//package com.nitrome.balancer
Section 87
//Fishy (com.nitrome.balancer.Fishy) package com.nitrome.balancer { import flash.display.*; public class Fishy extends MovieClip { var water:Block; var :Number; var  :Boolean;// = true public var fishClip:MovieClip; var  :Number;// = 0 var  :Boolean;// = true static var FRYDELAY:Number = 30; public function Fishy(){  = true;  = true;  = -(Infinity);  = 0; super(); this.gotoAndPlay(Math.floor((Math.random() * 55))); } function (){  = false; this.stop(); this.fishClip.gotoAndStop("dead"); } function setup(_arg1:Block){  = (_arg1.sprite.y + _arg1.sprite.getBounds(_arg1.sprite).top); this.water = _arg1; } function update(_arg1:Boolean){ if (water == null){ setup(this.parent["water"]); } else { if ( == false){ if ( ){ this.fishClip.deadFish.gotoAndPlay(Math.floor((Math.random() * 10)));  = false; }; if ( > (FRYDELAY + 15)){ if (this.parent.y > ){ this.parent.y--; }; } else {  ++; }; }; if ( == true){ if (((water.electrified) && (_arg1))){ if ( >= FRYDELAY){ (); } else {  ++; }; } else {  = 0; }; }; }; } } }//package com.nitrome.balancer
Section 88
//LevelBlocks_game (com.nitrome.balancer.LevelBlocks_game) package com.nitrome.balancer { import flash.display.*; import flash.events.*; public class LevelBlocks_game extends MovieClip { var levelBlocks:Array; var rootLine:MovieClip; public function LevelBlocks_game(){ levelBlocks = new Array(); } function clearLevelBlocks(){ levelBlocks = new Array(); } function addLevelBlock(_arg1:Number, _arg2:Number, _arg3:Boolean, _arg4:Boolean=false, _arg5:Number=0, _arg6:Number=0){ var _local7:Object; _local7 = new Object(); _local7.shapeID = _arg1; _local7.material = _arg2; _local7.sticky = _arg3; _local7.preDefinedBlock = _arg4; _local7.preDefinedBlockID = _arg5; _local7.rotation = _arg6; levelBlocks.push(_local7); } } }//package com.nitrome.balancer
Section 89
//LevelElementDefs (com.nitrome.balancer.LevelElementDefs) package com.nitrome.balancer { public class LevelElementDefs { static var BLOCK62:Array = new Array(34, Block.METAL, false); static var material:Array = new Array(Block.METAL, Block.METAL, Block.WOOD, Block.WOOD, Block.METAL); static var ALLBLOCKS:Array = new Array(BLOCK1, BLOCK2, BLOCK3, BLOCK4, BLOCK5, BLOCK6, BLOCK7, BLOCK8, BLOCK9, BLOCK10, BLOCK11, BLOCK12, BLOCK13, BLOCK14, BLOCK15, BLOCK16, BLOCK17, BLOCK18, BLOCK19, BLOCK20, BLOCK21, BLOCK22, BLOCK23, BLOCK24, BLOCK25, BLOCK26, BLOCK27, BLOCK28, BLOCK29, BLOCK30, BLOCK31, BLOCK32, BLOCK33, BLOCK34, BLOCK35, BLOCK36, BLOCK37, BLOCK38, BLOCK39, BLOCK40, BLOCK41, BLOCK42, BLOCK43, BLOCK44, BLOCK45, BLOCK46, BLOCK47, BLOCK48, BLOCK49, BLOCK50, BLOCK51, BLOCK52, BLOCK53, BLOCK54, BLOCK55, BLOCK56, BLOCK57, BLOCK58, BLOCK59, BLOCK60, BLOCK61, BLOCK62, BLOCK63); static var BLOCK10:Array = new Array(6, Block.WOOD, false); static var BLOCK11:Array = new Array(6, Block.METAL, false); static var BLOCK13:Array = new Array(6, Block.WOOD, false); static var BLOCK14:Array = new Array(7, Block.WOOD, false); static var BLOCK15:Array = new Array(7, Block.WOOD, false); static var BLOCK16:Array = new Array(7, Block.WEIGHTLESS, false); static var BLOCK17:Array = new Array(7, Block.BALLOON, false); static var BLOCK18:Array = new Array(7, Block.BALLOON, true); static var BLOCK19:Array = new Array(7, Block.RATTLER, false); static var BLOCK12:Array = new Array(6, Block.WOOD, false); static var BLOCK1:Array = new Array(3, Block.METAL, false); static var BLOCK2:Array = new Array(3, Block.WOOD, false); static var BLOCK3:Array = new Array(7, Block.METAL, false); static var BLOCK4:Array = new Array(7, Block.WOOD, false); static var BLOCK5:Array = new Array(7, Block.METAL, false); static var BLOCK6:Array = new Array(7, Block.WOOD, false); static var BLOCK7:Array = new Array(7, Block.WOOD, true); static var BLOCK8:Array = new Array(4, Block.WOOD, false); static var BLOCK9:Array = new Array(5, Block.WOOD, false); static var BLOCK22:Array = new Array(7, Block.FOODBLOCK, false); static var BLOCK23:Array = new Array(7, Block.TESLA, false); static var BLOCK24:Array = new Array(24, Block.HEAVY, false); static var BLOCK25:Array = new Array(7, Block.METAL, true); static var BLOCK26:Array = new Array(7, Block.SCREW, false); static var BLOCK20:Array = new Array(7, Block.WHEELBLOCKR, false); static var BLOCK28:Array = new Array(22, Block.METAL, false); static var BLOCK29:Array = new Array(19, Block.METAL, false); static var BLOCK27:Array = new Array(28, Block.ANTIDEAD, false); static var shapeID:Array = new Array(20, 20, 21, 29, 7); static var BLOCK21:Array = new Array(7, Block.WHEELBLOCKL, false); static var BLOCK30:Array = new Array(9, Block.METAL, false); static var BLOCK31:Array = new Array(11, Block.METAL, false); static var BLOCK32:Array = new Array(4, Block.METAL, false); static var BLOCK33:Array = new Array(5, Block.METAL, false); static var BLOCK34:Array = new Array(1, Block.METAL, false); static var BLOCK35:Array = new Array(2, Block.METAL, false); static var BLOCK36:Array = new Array(13, Block.METAL, false); static var BLOCK37:Array = new Array(12, Block.METAL, false); static var BLOCK38:Array = new Array(27, Block.METAL, false); static var BLOCK39:Array = new Array(26, Block.METAL, false); static var BLOCK40:Array = new Array(22, Block.WOOD, true); static var BLOCK42:Array = new Array(3, Block.METAL, true); static var BLOCK43:Array = new Array(22, Block.METAL, true); static var BLOCK44:Array = new Array(6, Block.METAL, true); static var BLOCK45:Array = new Array(5, Block.METAL, true); static var BLOCK46:Array = new Array(4, Block.METAL, true); static var BLOCK47:Array = new Array(1, Block.METAL, true); static var BLOCK41:Array = new Array(6, Block.WOOD, true); static var BLOCK49:Array = new Array(12, Block.METAL, true); static var STAMPLAYERS:Array = new Array(1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0); static var BLOCK48:Array = new Array(2, Block.METAL, true); static var sensor:Array = new Array(false, false, false, true, false); static var BLOCK51:Array = new Array(11, Block.METAL, true); static var BLOCK53:Array = new Array(12, Block.WOOD, false); static var BLOCK55:Array = new Array(11, Block.WOOD, true); static var BLOCK50:Array = new Array(9, Block.METAL, true); static var BLOCK52:Array = new Array(27, Block.WOOD, false); static var BLOCK54:Array = new Array(19, Block.WOOD, false); static var BLOCK56:Array = new Array(25, Block.METAL, false); static var BLOCK58:Array = new Array(30, Block.METAL, false); static var sticky:Array = new Array(false, false, false, false, false); static var BLOCK63:Array = new Array(35, Block.METAL, false); static var TESLADISTANCE = 9; static var BLOCK60:Array = new Array(32, Block.METAL, false); static var BLOCK61:Array = new Array(33, Block.METAL, false); static var BLOCK57:Array = new Array(7, Block.WOOD, true); static var BLOCK59:Array = new Array(31, Block.METAL, false); } }//package com.nitrome.balancer
Section 90
//Spark (com.nitrome.balancer.Spark) package com.nitrome.balancer { import flash.display.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; import Box2D.Dynamics.Joints.*; import Box2D.Common.*; import Box2D.Dynamics.Contacts.*; public class Spark extends MovieClip { var live:Boolean;// = true var path:Array; var dying:Boolean;// = false var :b2Body; var :Number;// = 0 var  :Block; var  :Block; var positionInPath:Number;// = 0 var :b2Body; var ;// = 0 var ;// = 0 var :Number;// = 0 var ;// = 0 var ;// = 30 var blockList:Array; var m_world:b2World; static var MAXYSPEED = 8; static var MAXXSPEED = 8; static var ACCELLERATION = 2; public function Spark(){  = 0;  = 0;  = 0;  = 0; live = true; dying = false; positionInPath = 0;  = 30;  = 0; super(); addFrameScript(0, frame1, 1194, ); path = new Array(); } function (){ stop(); } function setEndBlock(_arg1:b2Body){ this. = _arg1.GetUserData().blockRef; this. = _arg1; } function setWorld(_arg1:b2World){ this.m_world = _arg1; } function (_arg1:b2Body){ var _local2:b2Body; _local2 = m_world.m_bodyList; while (_local2) { if (((_local2) && (_local2.GetUserData()))){ if (_local2 == _arg1){ return (_local2); }; }; _local2 = _local2.m_next; }; return (_arg1); } function frame1(){ stop(); } function  (){ var _local1:b2Body; if (path.length == 0){ path = blockList; positionInPath = 0; } else { positionInPath++; }; if (positionInPath == path.length){ (); return; }; _local1 = path[positionInPath];  = (_local1.GetWorldCenter().x * 30);  = (_local1.GetWorldCenter().y * 30);  = ( + (Math.floor((Math.random() * 10)) - 5));  = ( + (Math.floor((Math.random() * 10)) - 5));  = 0; } function setBlockList(_arg1:Array){ this.blockList = _arg1; } function setStartBlock(_arg1:b2Body){ this. = _arg1.GetUserData().blockRef; this. = _arg1;  (); } function fizzleOut(){ dying = true; } function update(){ var _local1:Boolean; var _local2:Boolean; if (dying){ this.play(); if (this.currentFrame > 40){ live = false; }; }; ++; _local1 = false; _local2 = false; if ( > x){  = ( + ACCELLERATION); if ( > MAXXSPEED){  = MAXXSPEED; }; x = (x + ); if (Math.abs((x - )) <= (MAXXSPEED * 2)){ _local1 = true; }; }; if ( < x){  = ( - ACCELLERATION); if ( < -(MAXXSPEED)){  = -(MAXXSPEED); }; x = (x + ); if (Math.abs((x - )) <= (MAXXSPEED * 2)){ _local1 = true; }; }; if ( > y){  = ( + ACCELLERATION); if ( > MAXYSPEED){  = MAXYSPEED; }; y = (y + ); if (Math.abs((y - )) <= (MAXYSPEED * 2)){ _local2 = true; }; }; if ( < y){  = ( - ACCELLERATION); if ( < -(MAXYSPEED)){  = -(MAXYSPEED); }; y = (y + ); if (Math.abs((y - )) <= (MAXYSPEED * 2)){ _local2 = true; }; }; if (((((((_local1) || ((x == )))) && (((_local2) || ((y == )))))) || (( >= )))){  (); }; } function (){ live = false; } function (_arg1:b2Body):Boolean{ var _local2:int; var _local3:Boolean; _local3 = false; _local2 = 0; while (_local2 < path.length) { if (path[_local2] == _arg1){ _local3 = true; break; }; _local2++; }; return (_local3); } } }//package com.nitrome.balancer
Section 91
//ArmorButton (com.nitrome.game.ArmorButton) package com.nitrome.game { import flash.display.*; public dynamic class ArmorButton extends MovieClip { } }//package com.nitrome.game
Section 92
//BackToTitleButton (com.nitrome.game.BackToTitleButton) package com.nitrome.game { import flash.events.*; import flash.utils.*; public class BackToTitleButton extends SimpleButton { public var __setPropDict:Dictionary; public var __id3_:BalancerFont; public function BackToTitleButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20); } function frame10(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 1)) && ((int(__setPropDict[__id3_]) <= 10))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 11)) && ((int(__setPropDict[__id3_]) <= 20))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 11)) && ((int(__setPropDict[__id3_]) <= 20))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame18(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 11)) && ((int(__setPropDict[__id3_]) <= 20))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 1)) && ((int(__setPropDict[__id3_]) <= 10))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame6(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 1)) && ((int(__setPropDict[__id3_]) <= 10))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame7(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 1)) && ((int(__setPropDict[__id3_]) <= 10))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame1(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 1)) && ((int(__setPropDict[__id3_]) <= 10))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame19(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 11)) && ((int(__setPropDict[__id3_]) <= 20))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 11)) && ((int(__setPropDict[__id3_]) <= 20))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame17(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 11)) && ((int(__setPropDict[__id3_]) <= 20))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame4(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 1)) && ((int(__setPropDict[__id3_]) <= 10))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame9(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 1)) && ((int(__setPropDict[__id3_]) <= 10))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 11)) && ((int(__setPropDict[__id3_]) <= 20))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 1)) && ((int(__setPropDict[__id3_]) <= 10))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame2(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 1)) && ((int(__setPropDict[__id3_]) <= 10))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function (){ try { __id3_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id3_.align = "center"; __id3_.align_vert = "center"; __id3_.color = 0xCCCCCC; __id3_.id = "None"; __id3_.line_spacing = 18; __id3_.text = "Back"; __id3_.tracking = 0; try { __id3_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame15(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 11)) && ((int(__setPropDict[__id3_]) <= 20))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame20(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 11)) && ((int(__setPropDict[__id3_]) <= 20))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame5(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 1)) && ((int(__setPropDict[__id3_]) <= 10))))))){ __setPropDict[__id3_] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 11)) && ((int(__setPropDict[__id3_]) <= 20))))))){ __setPropDict[__id3_] = currentFrame; (); }; } override public function onClick(_arg1:MouseEvent):void{ NitromeGame.transition.doTween("title_screen"); } function (){ try { __id3_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id3_.align = "center"; __id3_.align_vert = "center"; __id3_.color = 0xFFFFFF; __id3_.id = "None"; __id3_.line_spacing = 18; __id3_.text = "Back"; __id3_.tracking = 0; try { __id3_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package com.nitrome.game
Section 93
//BalancerFont (com.nitrome.game.BalancerFont) package com.nitrome.game { public class BalancerFont extends TextComponent { public function BalancerFont(){ _tracking = 0; _line_spacing = 18; _id = "None"; } override public function get id():String{ return (_id); } override public function set id(_arg1:String){ _id = _arg1; } override public function set tracking(_arg1:int){ _tracking = _arg1; } override protected function getClassNameFromChar(_arg1:String):String{ if (_arg1 == "Space"){ return ("SPACE"); }; if (_arg1 == "."){ return ("STOP"); }; if (_arg1 == "?"){ return ("QUESTION"); }; if (_arg1 == ","){ return ("COMMA"); }; if (_arg1 == "!"){ return ("EXCLAMATION"); }; if (_arg1 == "\\"){ return ("BACKSLASH"); }; if (_arg1 == "/"){ return ("FORWARDSLASH"); }; if (_arg1 == "="){ return ("EQUALS"); }; if (_arg1 == "+"){ return ("PLUS"); }; if (_arg1 == "("){ return ("LEFTBRACKET"); }; if (_arg1 == ")"){ return ("RIGHTBRACKET"); }; if (_arg1 == "-"){ return ("HYPHEN"); }; if (_arg1 == "\""){ return ("QUOTES"); }; if (_arg1 == ":"){ return ("COLON"); }; if (_arg1 == "�"){ return ("POUND"); }; if (_arg1 == "_"){ return ("UNDERSCORE"); }; if (_arg1 == "@"){ return ("AT"); }; if (_arg1 == "'"){ return ("APOSTROPHE"); }; if ((((((_arg1 == "\n")) || ((_arg1 == "\r")))) || ((_arg1 == "|")))){ return ("NEWLINE"); }; return (_arg1); } override public function get tracking():int{ return (_tracking); } override public function set line_spacing(_arg1:int){ _line_spacing = _arg1; } override public function get line_spacing():int{ return (_line_spacing); } } }//package com.nitrome.game
Section 94
//CloseHelpButton (com.nitrome.game.CloseHelpButton) package com.nitrome.game { import com.nitrome.balancer.*; import flash.events.*; import flash.utils.*; public class CloseHelpButton extends SimpleButton { public var __id33_:BalancerFont; public var __setPropDict:Dictionary; public function CloseHelpButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10); } function (){ try { __id33_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id33_.align = "center"; __id33_.align_vert = "center"; __id33_.color = 0xFFFFFF; __id33_.id = "None"; __id33_.line_spacing = 18; __id33_.text = "Resume"; __id33_.tracking = 0; try { __id33_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 1)) && ((int(__setPropDict[__id33_]) <= 10))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 11)) && ((int(__setPropDict[__id33_]) <= 20))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 11)) && ((int(__setPropDict[__id33_]) <= 20))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame18(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 11)) && ((int(__setPropDict[__id33_]) <= 20))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 1)) && ((int(__setPropDict[__id33_]) <= 10))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 11)) && ((int(__setPropDict[__id33_]) <= 20))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 11)) && ((int(__setPropDict[__id33_]) <= 20))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame17(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 11)) && ((int(__setPropDict[__id33_]) <= 20))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame19(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 11)) && ((int(__setPropDict[__id33_]) <= 20))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame6(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 1)) && ((int(__setPropDict[__id33_]) <= 10))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 11)) && ((int(__setPropDict[__id33_]) <= 20))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame4(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 1)) && ((int(__setPropDict[__id33_]) <= 10))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame9(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 1)) && ((int(__setPropDict[__id33_]) <= 10))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame1(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 1)) && ((int(__setPropDict[__id33_]) <= 10))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame20(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 11)) && ((int(__setPropDict[__id33_]) <= 20))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame2(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 1)) && ((int(__setPropDict[__id33_]) <= 10))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame5(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 1)) && ((int(__setPropDict[__id33_]) <= 10))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame7(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 1)) && ((int(__setPropDict[__id33_]) <= 10))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 1)) && ((int(__setPropDict[__id33_]) <= 10))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[__id33_] == undefined)) || (!((((int(__setPropDict[__id33_]) >= 11)) && ((int(__setPropDict[__id33_]) <= 20))))))){ __setPropDict[__id33_] = currentFrame; (); }; } function (){ try { __id33_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id33_.align = "center"; __id33_.align_vert = "center"; __id33_.color = 0xCCCCCC; __id33_.id = "None"; __id33_.line_spacing = 18; __id33_.text = "Resume"; __id33_.tracking = 0; try { __id33_["componentInspectorSetting"] = false; } catch(e:Error) { }; } override public function onClick(_arg1:MouseEvent):void{ Controller.closeHelp(); } } }//package com.nitrome.game
Section 95
//CongratulationsSubmitScoreButton (com.nitrome.game.CongratulationsSubmitScoreButton) package com.nitrome.game { import flash.utils.*; public dynamic class CongratulationsSubmitScoreButton extends SubmitScoreButton { public var __setPropDict:Dictionary; public var __id4_:BalancerFont; public function CongratulationsSubmitScoreButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20); } function  (){ try { __id4_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id4_.align = "center"; __id4_.align_vert = "center"; __id4_.color = 0xCCCCCC; __id4_.id = "None"; __id4_.line_spacing = 18; __id4_.text = "Submit Score"; __id4_.tracking = 0; try { __id4_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function  (){ try { __id4_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id4_.align = "center"; __id4_.align_vert = "center"; __id4_.color = 0xFFFFFF; __id4_.id = "None"; __id4_.line_spacing = 18; __id4_.text = "Submit Score"; __id4_.tracking = 0; try { __id4_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 1)) && ((int(__setPropDict[__id4_]) <= 10))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame14(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 11)) && ((int(__setPropDict[__id4_]) <= 20))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame12(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 11)) && ((int(__setPropDict[__id4_]) <= 20))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame18(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 11)) && ((int(__setPropDict[__id4_]) <= 20))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame3(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 1)) && ((int(__setPropDict[__id4_]) <= 10))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame6(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 1)) && ((int(__setPropDict[__id4_]) <= 10))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame7(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 1)) && ((int(__setPropDict[__id4_]) <= 10))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame1(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 1)) && ((int(__setPropDict[__id4_]) <= 10))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame19(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 11)) && ((int(__setPropDict[__id4_]) <= 20))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame13(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 11)) && ((int(__setPropDict[__id4_]) <= 20))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame17(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 11)) && ((int(__setPropDict[__id4_]) <= 20))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame4(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 1)) && ((int(__setPropDict[__id4_]) <= 10))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame9(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 1)) && ((int(__setPropDict[__id4_]) <= 10))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame16(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 11)) && ((int(__setPropDict[__id4_]) <= 20))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame8(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 1)) && ((int(__setPropDict[__id4_]) <= 10))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame2(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 1)) && ((int(__setPropDict[__id4_]) <= 10))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame5(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 1)) && ((int(__setPropDict[__id4_]) <= 10))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame15(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 11)) && ((int(__setPropDict[__id4_]) <= 20))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame20(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 11)) && ((int(__setPropDict[__id4_]) <= 20))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } function frame11(){ if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 11)) && ((int(__setPropDict[__id4_]) <= 20))))))){ __setPropDict[__id4_] = currentFrame;  (); }; } } }//package com.nitrome.game
Section 96
//ContinueGameButton (com.nitrome.game.ContinueGameButton) package com.nitrome.game { import com.nitrome.balancer.*; import flash.events.*; import flash.utils.*; public class ContinueGameButton extends SimpleButton { public var __id21_:BalancerFont; public var __setPropDict:Dictionary; public function ContinueGameButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10); } function  (){ try { __id21_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id21_.align = "center"; __id21_.align_vert = "center"; __id21_.color = 0xCCCCCC; __id21_.id = "None"; __id21_.line_spacing = 18; __id21_.text = "Resume"; __id21_.tracking = 0; try { __id21_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function  (){ try { __id21_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id21_.align = "center"; __id21_.align_vert = "center"; __id21_.color = 0xFFFFFF; __id21_.id = "None"; __id21_.line_spacing = 18; __id21_.text = "Resume"; __id21_.tracking = 0; try { __id21_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 1)) && ((int(__setPropDict[__id21_]) <= 10))))))){ __setPropDict[__id21_] = currentFrame;  (); }; } function frame14(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 11)) && ((int(__setPropDict[__id21_]) <= 20))))))){ __setPropDict[__id21_] = currentFrame;  (); }; } function frame12(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 11)) && ((int(__setPropDict[__id21_]) <= 20))))))){ __setPropDict[__id21_] = currentFrame;  (); }; } function frame18(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 11)) && ((int(__setPropDict[__id21_]) <= 20))))))){ __setPropDict[__id21_] = currentFrame;  (); }; } function frame3(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 1)) && ((int(__setPropDict[__id21_]) <= 10))))))){ __setPropDict[__id21_] = currentFrame;  (); }; } function frame15(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 11)) && ((int(__setPropDict[__id21_]) <= 20))))))){ __setPropDict[__id21_] = currentFrame;  (); }; } function frame16(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 11)) && ((int(__setPropDict[__id21_]) <= 20))))))){ __setPropDict[__id21_] = currentFrame;  (); }; } function frame17(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 11)) && ((int(__setPropDict[__id21_]) <= 20))))))){ __setPropDict[__id21_] = currentFrame;  (); }; } function frame19(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 11)) && ((int(__setPropDict[__id21_]) <= 20))))))){ __setPropDict[__id21_] = currentFrame;  (); }; } function frame6(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 1)) && ((int(__setPropDict[__id21_]) <= 10))))))){ __setPropDict[__id21_] = currentFrame;  (); }; } function frame13(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 11)) && ((int(__setPropDict[__id21_]) <= 20))))))){ __setPropDict[__id21_] = currentFrame;  (); }; } function frame4(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 1)) && ((int(__setPropDict[__id21_]) <= 10))))))){ __setPropDict[__id21_] = currentFrame;  (); }; } function frame9(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 1)) && ((int(__setPropDict[__id21_]) <= 10))))))){ __setPropDict[__id21_] = currentFrame;  (); }; } function frame1(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 1)) && ((int(__setPropDict[__id21_]) <= 10))))))){ __setPropDict[__id21_] = currentFrame;  (); }; } function frame2(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 1)) && ((int(__setPropDict[__id21_]) <= 10))))))){ __setPropDict[__id21_] = currentFrame;  (); }; } function frame5(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 1)) && ((int(__setPropDict[__id21_]) <= 10))))))){ __setPropDict[__id21_] = currentFrame;  (); }; } function frame7(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 1)) && ((int(__setPropDict[__id21_]) <= 10))))))){ __setPropDict[__id21_] = currentFrame;  (); }; } function frame20(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 11)) && ((int(__setPropDict[__id21_]) <= 20))))))){ __setPropDict[__id21_] = currentFrame;  (); }; } function frame11(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 11)) && ((int(__setPropDict[__id21_]) <= 20))))))){ __setPropDict[__id21_] = currentFrame;  (); }; } function frame8(){ if ((((__setPropDict[__id21_] == undefined)) || (!((((int(__setPropDict[__id21_]) >= 1)) && ((int(__setPropDict[__id21_]) <= 10))))))){ __setPropDict[__id21_] = currentFrame;  (); }; } override public function onClick(_arg1:MouseEvent):void{ Controller.continueGame(); } } }//package com.nitrome.game
Section 97
//CreditsButton (com.nitrome.game.CreditsButton) package com.nitrome.game { import com.nitrome.balancer.*; import flash.events.*; import flash.utils.*; public class CreditsButton extends SimpleButton { public var __setPropDict:Dictionary; public var __id8_:BalancerFont; public function CreditsButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20); } function (){ try { __id8_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id8_.align = "center"; __id8_.align_vert = "center"; __id8_.color = 0xFFFFFF; __id8_.id = "None"; __id8_.line_spacing = 18; __id8_.text = "Credits"; __id8_.tracking = 0; try { __id8_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 1)) && ((int(__setPropDict[__id8_]) <= 10))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 11)) && ((int(__setPropDict[__id8_]) <= 20))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 11)) && ((int(__setPropDict[__id8_]) <= 20))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame18(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 11)) && ((int(__setPropDict[__id8_]) <= 20))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 1)) && ((int(__setPropDict[__id8_]) <= 10))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame7(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 1)) && ((int(__setPropDict[__id8_]) <= 10))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function (){ try { __id8_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id8_.align = "center"; __id8_.align_vert = "center"; __id8_.color = 0xCCCCCC; __id8_.id = "None"; __id8_.line_spacing = 18; __id8_.text = "Credits"; __id8_.tracking = 0; try { __id8_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame19(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 11)) && ((int(__setPropDict[__id8_]) <= 20))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame6(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 1)) && ((int(__setPropDict[__id8_]) <= 10))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 11)) && ((int(__setPropDict[__id8_]) <= 20))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame17(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 11)) && ((int(__setPropDict[__id8_]) <= 20))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame4(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 1)) && ((int(__setPropDict[__id8_]) <= 10))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame9(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 1)) && ((int(__setPropDict[__id8_]) <= 10))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame1(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 1)) && ((int(__setPropDict[__id8_]) <= 10))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 11)) && ((int(__setPropDict[__id8_]) <= 20))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 1)) && ((int(__setPropDict[__id8_]) <= 10))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame2(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 1)) && ((int(__setPropDict[__id8_]) <= 10))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame5(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 1)) && ((int(__setPropDict[__id8_]) <= 10))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 11)) && ((int(__setPropDict[__id8_]) <= 20))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame20(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 11)) && ((int(__setPropDict[__id8_]) <= 20))))))){ __setPropDict[__id8_] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 11)) && ((int(__setPropDict[__id8_]) <= 20))))))){ __setPropDict[__id8_] = currentFrame; (); }; } override public function onClick(_arg1:MouseEvent):void{ Controller.endGame(); NitromeGame.transition.doTween("credits"); } } }//package com.nitrome.game
Section 98
//EndGameButton (com.nitrome.game.EndGameButton) package com.nitrome.game { import com.nitrome.balancer.*; import flash.events.*; import flash.utils.*; public class EndGameButton extends SimpleButton { public var __id22_:BalancerFont; public var __setPropDict:Dictionary; public function EndGameButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10); } function  (){ try { __id22_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id22_.align = "center"; __id22_.align_vert = "center"; __id22_.color = 0xCCCCCC; __id22_.id = "None"; __id22_.line_spacing = 18; __id22_.text = "Quit"; __id22_.tracking = 0; try { __id22_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 1)) && ((int(__setPropDict[__id22_]) <= 10))))))){ __setPropDict[__id22_] = currentFrame;  (); }; } function frame14(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 11)) && ((int(__setPropDict[__id22_]) <= 20))))))){ __setPropDict[__id22_] = currentFrame;  (); }; } function frame12(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 11)) && ((int(__setPropDict[__id22_]) <= 20))))))){ __setPropDict[__id22_] = currentFrame;  (); }; } function frame18(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 11)) && ((int(__setPropDict[__id22_]) <= 20))))))){ __setPropDict[__id22_] = currentFrame;  (); }; } function frame3(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 1)) && ((int(__setPropDict[__id22_]) <= 10))))))){ __setPropDict[__id22_] = currentFrame;  (); }; } function frame15(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 11)) && ((int(__setPropDict[__id22_]) <= 20))))))){ __setPropDict[__id22_] = currentFrame;  (); }; } function frame16(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 11)) && ((int(__setPropDict[__id22_]) <= 20))))))){ __setPropDict[__id22_] = currentFrame;  (); }; } function frame17(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 11)) && ((int(__setPropDict[__id22_]) <= 20))))))){ __setPropDict[__id22_] = currentFrame;  (); }; } function frame19(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 11)) && ((int(__setPropDict[__id22_]) <= 20))))))){ __setPropDict[__id22_] = currentFrame;  (); }; } function frame6(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 1)) && ((int(__setPropDict[__id22_]) <= 10))))))){ __setPropDict[__id22_] = currentFrame;  (); }; } function frame13(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 11)) && ((int(__setPropDict[__id22_]) <= 20))))))){ __setPropDict[__id22_] = currentFrame;  (); }; } function frame4(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 1)) && ((int(__setPropDict[__id22_]) <= 10))))))){ __setPropDict[__id22_] = currentFrame;  (); }; } function frame9(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 1)) && ((int(__setPropDict[__id22_]) <= 10))))))){ __setPropDict[__id22_] = currentFrame;  (); }; } function frame1(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 1)) && ((int(__setPropDict[__id22_]) <= 10))))))){ __setPropDict[__id22_] = currentFrame;  (); }; } function frame20(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 11)) && ((int(__setPropDict[__id22_]) <= 20))))))){ __setPropDict[__id22_] = currentFrame;  (); }; } function frame2(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 1)) && ((int(__setPropDict[__id22_]) <= 10))))))){ __setPropDict[__id22_] = currentFrame;  (); }; } function frame5(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 1)) && ((int(__setPropDict[__id22_]) <= 10))))))){ __setPropDict[__id22_] = currentFrame;  (); }; } function frame8(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 1)) && ((int(__setPropDict[__id22_]) <= 10))))))){ __setPropDict[__id22_] = currentFrame;  (); }; } function frame11(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 11)) && ((int(__setPropDict[__id22_]) <= 20))))))){ __setPropDict[__id22_] = currentFrame;  (); }; } function frame7(){ if ((((__setPropDict[__id22_] == undefined)) || (!((((int(__setPropDict[__id22_]) >= 1)) && ((int(__setPropDict[__id22_]) <= 10))))))){ __setPropDict[__id22_] = currentFrame;  (); }; } override public function onClick(_arg1:MouseEvent):void{ var e = _arg1; NitromeGame.transition.doTween(function (){ Controller.endGame(); NitromeGame.timeline.gotoAndStop("title_screen"); }); } function  (){ try { __id22_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id22_.align = "center"; __id22_.align_vert = "center"; __id22_.color = 0xFFFFFF; __id22_.id = "None"; __id22_.line_spacing = 18; __id22_.text = "Quit"; __id22_.tracking = 0; try { __id22_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package com.nitrome.game
Section 99
//ExitToLevelSelectButton (com.nitrome.game.ExitToLevelSelectButton) package com.nitrome.game { import flash.display.*; public dynamic class ExitToLevelSelectButton extends MovieClip { } }//package com.nitrome.game
Section 100
//FxToggle (com.nitrome.game.FxToggle) package com.nitrome.game { import flash.events.*; public class FxToggle extends SimpleButton { public function FxToggle(){ if (!NitromeGame.sfx){ gotoAndStop("_off_up"); } else { gotoAndStop("_on_up"); }; } override protected function updateGraphic():void{ if (over){ if (NitromeGame.sound_manager.sfx){ gotoAndStop("_on_over"); } else { if (!NitromeGame.sound_manager.sfx){ gotoAndStop("_off_over"); }; }; } else { if (NitromeGame.sound_manager.sfx){ gotoAndStop("_on_up"); } else { if (!NitromeGame.sound_manager.sfx){ gotoAndStop("_off_up"); }; }; }; } override public function onClick(_arg1:MouseEvent):void{ NitromeGame.sound_manager.toggleSfx(); updateGraphic(); } } }//package com.nitrome.game
Section 101
//HelpButton (com.nitrome.game.HelpButton) package com.nitrome.game { import com.nitrome.balancer.*; import flash.events.*; import flash.utils.*; public class HelpButton extends SimpleButton { public var __id6_:BalancerFont; public var __setPropDict:Dictionary; public function HelpButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10); } function   (){ try { __id6_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id6_.align = "center"; __id6_.align_vert = "center"; __id6_.color = 0xCCCCCC; __id6_.id = "None"; __id6_.line_spacing = 18; __id6_.text = "Help"; __id6_.tracking = 0; try { __id6_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function   (){ try { __id6_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id6_.align = "center"; __id6_.align_vert = "center"; __id6_.color = 0xFFFFFF; __id6_.id = "None"; __id6_.line_spacing = 18; __id6_.text = "Help"; __id6_.tracking = 0; try { __id6_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 1)) && ((int(__setPropDict[__id6_]) <= 10))))))){ __setPropDict[__id6_] = currentFrame;   (); }; } function frame14(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 11)) && ((int(__setPropDict[__id6_]) <= 20))))))){ __setPropDict[__id6_] = currentFrame;   (); }; } function frame12(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 11)) && ((int(__setPropDict[__id6_]) <= 20))))))){ __setPropDict[__id6_] = currentFrame;   (); }; } function frame18(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 11)) && ((int(__setPropDict[__id6_]) <= 20))))))){ __setPropDict[__id6_] = currentFrame;   (); }; } function frame3(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 1)) && ((int(__setPropDict[__id6_]) <= 10))))))){ __setPropDict[__id6_] = currentFrame;   (); }; } function frame15(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 11)) && ((int(__setPropDict[__id6_]) <= 20))))))){ __setPropDict[__id6_] = currentFrame;   (); }; } function frame16(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 11)) && ((int(__setPropDict[__id6_]) <= 20))))))){ __setPropDict[__id6_] = currentFrame;   (); }; } function frame17(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 11)) && ((int(__setPropDict[__id6_]) <= 20))))))){ __setPropDict[__id6_] = currentFrame;   (); }; } function frame19(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 11)) && ((int(__setPropDict[__id6_]) <= 20))))))){ __setPropDict[__id6_] = currentFrame;   (); }; } function frame6(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 1)) && ((int(__setPropDict[__id6_]) <= 10))))))){ __setPropDict[__id6_] = currentFrame;   (); }; } function frame13(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 11)) && ((int(__setPropDict[__id6_]) <= 20))))))){ __setPropDict[__id6_] = currentFrame;   (); }; } function frame4(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 1)) && ((int(__setPropDict[__id6_]) <= 10))))))){ __setPropDict[__id6_] = currentFrame;   (); }; } function frame9(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 1)) && ((int(__setPropDict[__id6_]) <= 10))))))){ __setPropDict[__id6_] = currentFrame;   (); }; } function frame1(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 1)) && ((int(__setPropDict[__id6_]) <= 10))))))){ __setPropDict[__id6_] = currentFrame;   (); }; } function frame20(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 11)) && ((int(__setPropDict[__id6_]) <= 20))))))){ __setPropDict[__id6_] = currentFrame;   (); }; } function frame2(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 1)) && ((int(__setPropDict[__id6_]) <= 10))))))){ __setPropDict[__id6_] = currentFrame;   (); }; } function frame5(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 1)) && ((int(__setPropDict[__id6_]) <= 10))))))){ __setPropDict[__id6_] = currentFrame;   (); }; } function frame7(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 1)) && ((int(__setPropDict[__id6_]) <= 10))))))){ __setPropDict[__id6_] = currentFrame;   (); }; } function frame8(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 1)) && ((int(__setPropDict[__id6_]) <= 10))))))){ __setPropDict[__id6_] = currentFrame;   (); }; } function frame11(){ if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 11)) && ((int(__setPropDict[__id6_]) <= 20))))))){ __setPropDict[__id6_] = currentFrame;   (); }; } override public function onClick(_arg1:MouseEvent):void{ Controller.endGame(); NitromeGame.transition.doTween("help"); } } }//package com.nitrome.game
Section 102
//InGameHelpButton (com.nitrome.game.InGameHelpButton) package com.nitrome.game { import com.nitrome.balancer.*; import flash.events.*; public class InGameHelpButton extends SimpleButton { override public function onClick(_arg1:MouseEvent):void{ Controller.showHelp(); } } }//package com.nitrome.game
Section 103
//IngameSubmitScoreButton (com.nitrome.game.IngameSubmitScoreButton) package com.nitrome.game { import flash.utils.*; public dynamic class IngameSubmitScoreButton extends SubmitScoreButton { public var __setPropDict:Dictionary; public var __id25_:NumbskullFont; public function IngameSubmitScoreButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20); } function frame10(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 1)) && ((int(__setPropDict[__id25_]) <= 10))))))){ __setPropDict[__id25_] = currentFrame;  (); }; } function frame14(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 11)) && ((int(__setPropDict[__id25_]) <= 20))))))){ __setPropDict[__id25_] = currentFrame;  (); }; } function  (){ try { __id25_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id25_.align = "center"; __id25_.align_vert = "top"; __id25_.color = 11977954; __id25_.id = "None"; __id25_.line_spacing = 18; __id25_.text = "submit score"; __id25_.tracking = 0; try { __id25_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame18(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 11)) && ((int(__setPropDict[__id25_]) <= 20))))))){ __setPropDict[__id25_] = currentFrame;  (); }; } function frame3(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 1)) && ((int(__setPropDict[__id25_]) <= 10))))))){ __setPropDict[__id25_] = currentFrame;  (); }; } function frame6(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 1)) && ((int(__setPropDict[__id25_]) <= 10))))))){ __setPropDict[__id25_] = currentFrame;  (); }; } function frame7(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 1)) && ((int(__setPropDict[__id25_]) <= 10))))))){ __setPropDict[__id25_] = currentFrame;  (); }; } function frame1(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 1)) && ((int(__setPropDict[__id25_]) <= 10))))))){ __setPropDict[__id25_] = currentFrame;  (); }; } function frame19(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 11)) && ((int(__setPropDict[__id25_]) <= 20))))))){ __setPropDict[__id25_] = currentFrame;  (); }; } function frame12(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 11)) && ((int(__setPropDict[__id25_]) <= 20))))))){ __setPropDict[__id25_] = currentFrame;  (); }; } function frame13(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 11)) && ((int(__setPropDict[__id25_]) <= 20))))))){ __setPropDict[__id25_] = currentFrame;  (); }; } function frame17(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 11)) && ((int(__setPropDict[__id25_]) <= 20))))))){ __setPropDict[__id25_] = currentFrame;  (); }; } function frame4(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 1)) && ((int(__setPropDict[__id25_]) <= 10))))))){ __setPropDict[__id25_] = currentFrame;  (); }; } function frame16(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 11)) && ((int(__setPropDict[__id25_]) <= 20))))))){ __setPropDict[__id25_] = currentFrame;  (); }; } function  (){ try { __id25_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id25_.align = "center"; __id25_.align_vert = "top"; __id25_.color = 2574473; __id25_.id = "None"; __id25_.line_spacing = 18; __id25_.text = "submit score"; __id25_.tracking = 0; try { __id25_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame9(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 1)) && ((int(__setPropDict[__id25_]) <= 10))))))){ __setPropDict[__id25_] = currentFrame;  (); }; } function frame2(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 1)) && ((int(__setPropDict[__id25_]) <= 10))))))){ __setPropDict[__id25_] = currentFrame;  (); }; } function frame5(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 1)) && ((int(__setPropDict[__id25_]) <= 10))))))){ __setPropDict[__id25_] = currentFrame;  (); }; } function frame15(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 11)) && ((int(__setPropDict[__id25_]) <= 20))))))){ __setPropDict[__id25_] = currentFrame;  (); }; } function frame8(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 1)) && ((int(__setPropDict[__id25_]) <= 10))))))){ __setPropDict[__id25_] = currentFrame;  (); }; } function frame11(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 11)) && ((int(__setPropDict[__id25_]) <= 20))))))){ __setPropDict[__id25_] = currentFrame;  (); }; } function frame20(){ if ((((__setPropDict[__id25_] == undefined)) || (!((((int(__setPropDict[__id25_]) >= 11)) && ((int(__setPropDict[__id25_]) <= 20))))))){ __setPropDict[__id25_] = currentFrame;  (); }; } } }//package com.nitrome.game
Section 104
//LevelStartButton (com.nitrome.game.LevelStartButton) package com.nitrome.game { import com.nitrome.balancer.*; import flash.events.*; import flash.utils.*; public class LevelStartButton extends SimpleButton { private var  :Boolean; public var numberField:BalancerFont; private var  :Number; public var __setPropDict:Dictionary; public function LevelStartButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20);   = Number(name.substr(6));   = NitromeGame.getLevelUnlocked( ); useHandCursor = (buttonMode =  ); this.addEventListener(Event.ENTER_FRAME, enterFrame); } public function addedToStage(_arg1:Event):void{ updateGraphic(); } function frame10(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame;  (); }; } function frame14(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame;  (); }; } function frame12(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame;  (); }; } function frame18(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame;  (); }; } function frame3(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame;  (); }; } function frame7(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame;  (); }; } function frame1(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame;  (); }; } function frame19(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame;  (); }; } function frame6(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame;  (); }; } function frame13(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame;  (); }; } public function enterFrame(_arg1:Event):void{ updateGraphic(); this.removeEventListener(Event.ENTER_FRAME, enterFrame); } function frame4(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame;  (); }; } function frame9(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame;  (); }; } function frame16(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame;  (); }; } function frame8(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame;  (); }; } function frame2(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame;  (); }; } function frame5(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame;  (); }; } function frame15(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame;  (); }; } function frame20(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame;  (); }; } function frame11(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame;  (); }; } function frame17(){ if ((((__setPropDict[numberField] == undefined)) || (!((((int(__setPropDict[numberField]) >= 1)) && ((int(__setPropDict[numberField]) <= 20))))))){ __setPropDict[numberField] = currentFrame;  (); }; } function  (){ try { numberField["componentInspectorSetting"] = true; } catch(e:Error) { }; numberField.align = "center"; numberField.align_vert = "center"; numberField.color = 0xFFFFFF; numberField.id = "None"; numberField.line_spacing = 18; numberField.text = "1"; numberField.tracking = 0; try { numberField["componentInspectorSetting"] = false; } catch(e:Error) { }; } override protected function updateGraphic():void{ if ( ){ if (over){ gotoAndStop("over"); } else { gotoAndStop("up"); }; } else { gotoAndStop("locked"); }; if (numberField){ numberField.text = String( ); numberField.visible =  ; numberField.color = ((( ) && (over))) ? 0xFFFFFF : 0xCCCCCC; }; } override public function onClick(_arg1:MouseEvent):void{ var e = _arg1; if ( ){ NitromeGame.transition.doTween(function (){ NitromeGame.timeline.gotoAndStop("game"); Controller.selectedLevel =  ; Score.value = 0; }); }; } } }//package com.nitrome.game
Section 105
//LoadIndicator (com.nitrome.game.LoadIndicator) package com.nitrome.game { import flash.display.*; public class LoadIndicator extends MovieClip { public function LoadIndicator(_arg1:Number=0, _arg2:Number=0){ addFrameScript(6, frame7, 11, frame12); x = _arg1; y = _arg2; } public function ():void{ stop(); if (parent){ parent.removeChild(this); }; } function frame12(){ (); } public function finishedLoading():void{ gotoAndPlay("outAnimation"); } function frame7(){ gotoAndPlay("loop"); } } }//package com.nitrome.game
Section 106
//MusicToggle (com.nitrome.game.MusicToggle) package com.nitrome.game { import flash.events.*; public class MusicToggle extends SimpleButton { public function MusicToggle(){ if (!NitromeGame.music){ gotoAndStop("_off_up"); } else { gotoAndStop("_on_up"); }; } override protected function updateGraphic():void{ if (over){ if (NitromeGame.sound_manager.music){ gotoAndStop("_on_over"); } else { if (!NitromeGame.sound_manager.music){ gotoAndStop("_off_over"); }; }; } else { if (NitromeGame.sound_manager.music){ gotoAndStop("_on_up"); } else { if (!NitromeGame.sound_manager.music){ gotoAndStop("_off_up"); }; }; }; } override public function onClick(_arg1:MouseEvent):void{ NitromeGame.sound_manager.toggleMusic(); updateGraphic(); } } }//package com.nitrome.game
Section 107
//NextLevelButton (com.nitrome.game.NextLevelButton) package com.nitrome.game { import com.nitrome.balancer.*; import flash.events.*; import flash.utils.*; public class NextLevelButton extends SimpleButton { public var __setPropDict:Dictionary; public var __id0_:BalancerFont; public function NextLevelButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10); } function  (){ try { __id0_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id0_.align = "center"; __id0_.align_vert = "center"; __id0_.color = 0xCCCCCC; __id0_.id = "None"; __id0_.line_spacing = 18; __id0_.text = "Next Level"; __id0_.tracking = 0; try { __id0_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 1)) && ((int(__setPropDict[__id0_]) <= 10))))))){ __setPropDict[__id0_] = currentFrame;  (); }; } function frame14(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 11)) && ((int(__setPropDict[__id0_]) <= 20))))))){ __setPropDict[__id0_] = currentFrame;   (); }; } function frame12(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 11)) && ((int(__setPropDict[__id0_]) <= 20))))))){ __setPropDict[__id0_] = currentFrame;   (); }; } function frame18(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 11)) && ((int(__setPropDict[__id0_]) <= 20))))))){ __setPropDict[__id0_] = currentFrame;   (); }; } function frame3(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 1)) && ((int(__setPropDict[__id0_]) <= 10))))))){ __setPropDict[__id0_] = currentFrame;  (); }; } function frame15(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 11)) && ((int(__setPropDict[__id0_]) <= 20))))))){ __setPropDict[__id0_] = currentFrame;   (); }; } function frame17(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 11)) && ((int(__setPropDict[__id0_]) <= 20))))))){ __setPropDict[__id0_] = currentFrame;   (); }; } function frame19(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 11)) && ((int(__setPropDict[__id0_]) <= 20))))))){ __setPropDict[__id0_] = currentFrame;   (); }; } function frame6(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 1)) && ((int(__setPropDict[__id0_]) <= 10))))))){ __setPropDict[__id0_] = currentFrame;  (); }; } function frame13(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 11)) && ((int(__setPropDict[__id0_]) <= 20))))))){ __setPropDict[__id0_] = currentFrame;   (); }; } function frame4(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 1)) && ((int(__setPropDict[__id0_]) <= 10))))))){ __setPropDict[__id0_] = currentFrame;  (); }; } function frame9(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 1)) && ((int(__setPropDict[__id0_]) <= 10))))))){ __setPropDict[__id0_] = currentFrame;  (); }; } function frame1(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 1)) && ((int(__setPropDict[__id0_]) <= 10))))))){ __setPropDict[__id0_] = currentFrame;  (); }; } function frame16(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 11)) && ((int(__setPropDict[__id0_]) <= 20))))))){ __setPropDict[__id0_] = currentFrame;   (); }; } function frame20(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 11)) && ((int(__setPropDict[__id0_]) <= 20))))))){ __setPropDict[__id0_] = currentFrame;   (); }; } function frame2(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 1)) && ((int(__setPropDict[__id0_]) <= 10))))))){ __setPropDict[__id0_] = currentFrame;  (); }; } function frame5(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 1)) && ((int(__setPropDict[__id0_]) <= 10))))))){ __setPropDict[__id0_] = currentFrame;  (); }; } function frame7(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 1)) && ((int(__setPropDict[__id0_]) <= 10))))))){ __setPropDict[__id0_] = currentFrame;  (); }; } function frame8(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 1)) && ((int(__setPropDict[__id0_]) <= 10))))))){ __setPropDict[__id0_] = currentFrame;  (); }; } function frame11(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 11)) && ((int(__setPropDict[__id0_]) <= 20))))))){ __setPropDict[__id0_] = currentFrame;   (); }; } function   (){ try { __id0_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id0_.align = "center"; __id0_.align_vert = "center"; __id0_.color = 0xFFFFFF; __id0_.id = "None"; __id0_.line_spacing = 18; __id0_.text = "Next Level"; __id0_.tracking = 0; try { __id0_["componentInspectorSetting"] = false; } catch(e:Error) { }; } override public function onClick(_arg1:MouseEvent):void{ Controller.closeLevelComplete(); } } }//package com.nitrome.game
Section 108
//NitromeLink (com.nitrome.game.NitromeLink) package com.nitrome.game { import flash.display.*; import flash.events.*; import flash.net.*; public class NitromeLink extends SimpleButton { public function NitromeLink(){ this.addEventListener(MouseEvent.CLICK, ); } public function (_arg1:MouseEvent):void{ navigateToURL(new URLRequest("http://www.nitrome.com/"), "_blank"); } } }//package com.nitrome.game
Section 109
//PauseButton (com.nitrome.game.PauseButton) package com.nitrome.game { import com.nitrome.balancer.*; import flash.events.*; public class PauseButton extends SimpleButton { override public function onClick(_arg1:MouseEvent):void{ Controller.pauseGame(); } } }//package com.nitrome.game
Section 110
//PauseSubmitScoreButton (com.nitrome.game.PauseSubmitScoreButton) package com.nitrome.game { import com.nitrome.balancer.*; import flash.events.*; import flash.utils.*; public class PauseSubmitScoreButton extends SimpleButton { public var __id5_:BalancerFont; public var __setPropDict:Dictionary; public function PauseSubmitScoreButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20); if (Score.value == 0){ visible = false; }; } function  (){ try { __id5_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id5_.align = "center"; __id5_.align_vert = "center"; __id5_.color = 0xFFFFFF; __id5_.id = "None"; __id5_.line_spacing = 18; __id5_.text = "Submit Score"; __id5_.tracking = 0; try { __id5_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 1)) && ((int(__setPropDict[__id5_]) <= 10))))))){ __setPropDict[__id5_] = currentFrame;  (); }; } function frame14(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 11)) && ((int(__setPropDict[__id5_]) <= 20))))))){ __setPropDict[__id5_] = currentFrame;  (); }; } function frame12(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 11)) && ((int(__setPropDict[__id5_]) <= 20))))))){ __setPropDict[__id5_] = currentFrame;  (); }; } function frame18(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 11)) && ((int(__setPropDict[__id5_]) <= 20))))))){ __setPropDict[__id5_] = currentFrame;  (); }; } function frame3(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 1)) && ((int(__setPropDict[__id5_]) <= 10))))))){ __setPropDict[__id5_] = currentFrame;  (); }; } function frame6(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 1)) && ((int(__setPropDict[__id5_]) <= 10))))))){ __setPropDict[__id5_] = currentFrame;  (); }; } function frame7(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 1)) && ((int(__setPropDict[__id5_]) <= 10))))))){ __setPropDict[__id5_] = currentFrame;  (); }; } function frame1(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 1)) && ((int(__setPropDict[__id5_]) <= 10))))))){ __setPropDict[__id5_] = currentFrame;  (); }; } function frame19(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 11)) && ((int(__setPropDict[__id5_]) <= 20))))))){ __setPropDict[__id5_] = currentFrame;  (); }; } function frame13(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 11)) && ((int(__setPropDict[__id5_]) <= 20))))))){ __setPropDict[__id5_] = currentFrame;  (); }; } function frame17(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 11)) && ((int(__setPropDict[__id5_]) <= 20))))))){ __setPropDict[__id5_] = currentFrame;  (); }; } function frame4(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 1)) && ((int(__setPropDict[__id5_]) <= 10))))))){ __setPropDict[__id5_] = currentFrame;  (); }; } function frame9(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 1)) && ((int(__setPropDict[__id5_]) <= 10))))))){ __setPropDict[__id5_] = currentFrame;  (); }; } function frame16(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 11)) && ((int(__setPropDict[__id5_]) <= 20))))))){ __setPropDict[__id5_] = currentFrame;  (); }; } function frame8(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 1)) && ((int(__setPropDict[__id5_]) <= 10))))))){ __setPropDict[__id5_] = currentFrame;  (); }; } function frame2(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 1)) && ((int(__setPropDict[__id5_]) <= 10))))))){ __setPropDict[__id5_] = currentFrame;  (); }; } function frame5(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 1)) && ((int(__setPropDict[__id5_]) <= 10))))))){ __setPropDict[__id5_] = currentFrame;  (); }; } function frame15(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 11)) && ((int(__setPropDict[__id5_]) <= 20))))))){ __setPropDict[__id5_] = currentFrame;  (); }; } function frame20(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 11)) && ((int(__setPropDict[__id5_]) <= 20))))))){ __setPropDict[__id5_] = currentFrame;  (); }; } function frame11(){ if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 11)) && ((int(__setPropDict[__id5_]) <= 20))))))){ __setPropDict[__id5_] = currentFrame;  (); }; } override public function onClick(_arg1:MouseEvent):void{ var e = _arg1; NitromeGame.transition.doTween(function (){ Controller.endGame(); NitromeGame.timeline.gotoAndStop("submit_score"); }); } function  (){ try { __id5_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id5_.align = "center"; __id5_.align_vert = "center"; __id5_.color = 0xCCCCCC; __id5_.id = "None"; __id5_.line_spacing = 18; __id5_.text = "Submit Score"; __id5_.tracking = 0; try { __id5_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package com.nitrome.game
Section 111
//PlayButton (com.nitrome.game.PlayButton) package com.nitrome.game { import com.nitrome.balancer.*; import flash.events.*; import flash.utils.*; public class PlayButton extends SimpleButton { public var __setPropDict:Dictionary; public var __id2_:BalancerFont; public function PlayButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20); } function frame10(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){ __setPropDict[__id2_] = currentFrame;  (); }; } function frame14(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){ __setPropDict[__id2_] = currentFrame;  (); }; } function frame12(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){ __setPropDict[__id2_] = currentFrame;  (); }; } function frame18(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){ __setPropDict[__id2_] = currentFrame;  (); }; } function frame3(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){ __setPropDict[__id2_] = currentFrame;  (); }; } function frame6(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){ __setPropDict[__id2_] = currentFrame;  (); }; } function frame7(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){ __setPropDict[__id2_] = currentFrame;  (); }; } function frame1(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){ __setPropDict[__id2_] = currentFrame;  (); }; } function frame19(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){ __setPropDict[__id2_] = currentFrame;  (); }; } function frame13(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){ __setPropDict[__id2_] = currentFrame;  (); }; } function frame17(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){ __setPropDict[__id2_] = currentFrame;  (); }; } function frame4(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){ __setPropDict[__id2_] = currentFrame;  (); }; } function frame9(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){ __setPropDict[__id2_] = currentFrame;  (); }; } function frame16(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){ __setPropDict[__id2_] = currentFrame;  (); }; } function frame8(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){ __setPropDict[__id2_] = currentFrame;  (); }; } function frame2(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){ __setPropDict[__id2_] = currentFrame;  (); }; } function frame5(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 1)) && ((int(__setPropDict[__id2_]) <= 10))))))){ __setPropDict[__id2_] = currentFrame;  (); }; } function frame15(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){ __setPropDict[__id2_] = currentFrame;  (); }; } function frame20(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){ __setPropDict[__id2_] = currentFrame;  (); }; } function frame11(){ if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 11)) && ((int(__setPropDict[__id2_]) <= 20))))))){ __setPropDict[__id2_] = currentFrame;  (); }; } function  (){ try { __id2_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id2_.align = "center"; __id2_.align_vert = "center"; __id2_.color = 0xCCCCCC; __id2_.id = "None"; __id2_.line_spacing = 18; __id2_.text = "Play"; __id2_.tracking = 0; try { __id2_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function  (){ try { __id2_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id2_.align = "center"; __id2_.align_vert = "center"; __id2_.color = 0xFFFFFF; __id2_.id = "None"; __id2_.line_spacing = 18; __id2_.text = "Play"; __id2_.tracking = 0; try { __id2_["componentInspectorSetting"] = false; } catch(e:Error) { }; } override public function onClick(_arg1:MouseEvent):void{ Controller.endGame(); NitromeGame.transition.doTween("level_select"); } } }//package com.nitrome.game
Section 112
//Preloader (com.nitrome.game.Preloader) package com.nitrome.game { import flash.display.*; import flash.events.*; import flash.text.*; public class Preloader extends MovieClip { public var progress:TextField; public var __id1_:BalancerFont; public function Preloader(){ addEventListener(Event.ENTER_FRAME, enterFrame); (); } function (){ try { __id1_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id1_.align = "center"; __id1_.align_vert = "center"; __id1_.color = 0xFFFFFF; __id1_.id = "None"; __id1_.line_spacing = 18; __id1_.text = "Loading..."; __id1_.tracking = 1; try { __id1_["componentInspectorSetting"] = false; } catch(e:Error) { }; } public function finishedLoading(){ if (hasEventListener(Event.COMPLETE)){ removeEventListener(Event.ENTER_FRAME, enterFrame); dispatchEvent(new Event(Event.COMPLETE)); }; } public function enterFrame(_arg1:Event):void{ var _local2:Number; var _local3:TextField; if (stage.loaderInfo.bytesLoaded < stage.loaderInfo.bytesTotal){ _local2 = Math.floor(((100 * stage.loaderInfo.bytesLoaded) / stage.loaderInfo.bytesTotal)); _local3 = (getChildByName("progress") as TextField); _local3.text = (_local2.toString() + "%"); } else { (root as MovieClip).stop(); finishedLoading(); }; } } }//package com.nitrome.game
Section 113
//ResetButton (com.nitrome.game.ResetButton) package com.nitrome.game { import flash.events.*; public class ResetButton extends SimpleButton { override public function onClick(_arg1:MouseEvent):void{ NitromeGame.transition.doTween("game"); } } }//package com.nitrome.game
Section 114
//RestartLevelButton (com.nitrome.game.RestartLevelButton) package com.nitrome.game { import com.nitrome.balancer.*; import flash.events.*; import flash.utils.*; public class RestartLevelButton extends SimpleButton { public var __setPropDict:Dictionary; public var __id24_:NumbskullFont; public function RestartLevelButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10); } function   (){ try { __id24_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id24_.align = "center"; __id24_.align_vert = "top"; __id24_.color = 2574473; __id24_.id = "None"; __id24_.line_spacing = 18; __id24_.text = "restart level"; __id24_.tracking = 0; try { __id24_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 1)) && ((int(__setPropDict[__id24_]) <= 10))))))){ __setPropDict[__id24_] = currentFrame;   (); }; } function frame14(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 11)) && ((int(__setPropDict[__id24_]) <= 20))))))){ __setPropDict[__id24_] = currentFrame;   (); }; } function frame12(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 11)) && ((int(__setPropDict[__id24_]) <= 20))))))){ __setPropDict[__id24_] = currentFrame;   (); }; } function frame18(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 11)) && ((int(__setPropDict[__id24_]) <= 20))))))){ __setPropDict[__id24_] = currentFrame;   (); }; } function frame3(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 1)) && ((int(__setPropDict[__id24_]) <= 10))))))){ __setPropDict[__id24_] = currentFrame;   (); }; } function frame15(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 11)) && ((int(__setPropDict[__id24_]) <= 20))))))){ __setPropDict[__id24_] = currentFrame;   (); }; } function frame16(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 11)) && ((int(__setPropDict[__id24_]) <= 20))))))){ __setPropDict[__id24_] = currentFrame;   (); }; } function   (){ try { __id24_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id24_.align = "center"; __id24_.align_vert = "top"; __id24_.color = 11977954; __id24_.id = "None"; __id24_.line_spacing = 18; __id24_.text = "restart level"; __id24_.tracking = 0; try { __id24_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame19(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 11)) && ((int(__setPropDict[__id24_]) <= 20))))))){ __setPropDict[__id24_] = currentFrame;   (); }; } function frame6(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 1)) && ((int(__setPropDict[__id24_]) <= 10))))))){ __setPropDict[__id24_] = currentFrame;   (); }; } function frame13(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 11)) && ((int(__setPropDict[__id24_]) <= 20))))))){ __setPropDict[__id24_] = currentFrame;   (); }; } function frame17(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 11)) && ((int(__setPropDict[__id24_]) <= 20))))))){ __setPropDict[__id24_] = currentFrame;   (); }; } function frame4(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 1)) && ((int(__setPropDict[__id24_]) <= 10))))))){ __setPropDict[__id24_] = currentFrame;   (); }; } function frame9(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 1)) && ((int(__setPropDict[__id24_]) <= 10))))))){ __setPropDict[__id24_] = currentFrame;   (); }; } function frame1(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 1)) && ((int(__setPropDict[__id24_]) <= 10))))))){ __setPropDict[__id24_] = currentFrame;   (); }; } function frame20(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 11)) && ((int(__setPropDict[__id24_]) <= 20))))))){ __setPropDict[__id24_] = currentFrame;   (); }; } function frame2(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 1)) && ((int(__setPropDict[__id24_]) <= 10))))))){ __setPropDict[__id24_] = currentFrame;   (); }; } function frame5(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 1)) && ((int(__setPropDict[__id24_]) <= 10))))))){ __setPropDict[__id24_] = currentFrame;   (); }; } function frame7(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 1)) && ((int(__setPropDict[__id24_]) <= 10))))))){ __setPropDict[__id24_] = currentFrame;   (); }; } function frame8(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 1)) && ((int(__setPropDict[__id24_]) <= 10))))))){ __setPropDict[__id24_] = currentFrame;   (); }; } function frame11(){ if ((((__setPropDict[__id24_] == undefined)) || (!((((int(__setPropDict[__id24_]) >= 11)) && ((int(__setPropDict[__id24_]) <= 20))))))){ __setPropDict[__id24_] = currentFrame;   (); }; } override public function onClick(_arg1:MouseEvent):void{ var e = _arg1; NitromeGame.transition.doTween(function (){ Controller.endGame(); Score.value = 0; }); } } }//package com.nitrome.game
Section 115
//Score (com.nitrome.game.Score) package com.nitrome.game { public class Score { private static var r:int; private static var _value:int; private static var hash:String; public static function init():void{ r = (int((Math.random() * 2000000)) - 1000000); _value = r; hash = _value.toString(16); } public static function verify():Boolean{ return ((_value.toString(16) == hash)); } public static function get value():int{ return ((_value - r)); } public static function set value(_arg1:int):void{ var _local2:Boolean; _local2 = verify(); r = (int((Math.random() * 2000000)) - 1000000); _value = (r + _arg1); if (_local2){ hash = _value.toString(16); }; } } }//package com.nitrome.game
Section 116
//ScoresButton (com.nitrome.game.ScoresButton) package com.nitrome.game { import com.nitrome.balancer.*; import flash.events.*; import flash.utils.*; public class ScoresButton extends SimpleButton { public var __id7_:BalancerFont; public var __setPropDict:Dictionary; public function ScoresButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20); } function  (){ try { __id7_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id7_.align = "center"; __id7_.align_vert = "center"; __id7_.color = 0xCCCCCC; __id7_.id = "None"; __id7_.line_spacing = 18; __id7_.text = "Scores"; __id7_.tracking = 0; try { __id7_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 1)) && ((int(__setPropDict[__id7_]) <= 10))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame14(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 11)) && ((int(__setPropDict[__id7_]) <= 20))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame12(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 11)) && ((int(__setPropDict[__id7_]) <= 20))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame18(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 11)) && ((int(__setPropDict[__id7_]) <= 20))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame3(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 1)) && ((int(__setPropDict[__id7_]) <= 10))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame6(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 1)) && ((int(__setPropDict[__id7_]) <= 10))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame7(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 1)) && ((int(__setPropDict[__id7_]) <= 10))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame1(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 1)) && ((int(__setPropDict[__id7_]) <= 10))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame19(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 11)) && ((int(__setPropDict[__id7_]) <= 20))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame13(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 11)) && ((int(__setPropDict[__id7_]) <= 20))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame17(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 11)) && ((int(__setPropDict[__id7_]) <= 20))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame4(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 1)) && ((int(__setPropDict[__id7_]) <= 10))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame9(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 1)) && ((int(__setPropDict[__id7_]) <= 10))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame16(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 11)) && ((int(__setPropDict[__id7_]) <= 20))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame8(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 1)) && ((int(__setPropDict[__id7_]) <= 10))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame2(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 1)) && ((int(__setPropDict[__id7_]) <= 10))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame5(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 1)) && ((int(__setPropDict[__id7_]) <= 10))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame15(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 11)) && ((int(__setPropDict[__id7_]) <= 20))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame20(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 11)) && ((int(__setPropDict[__id7_]) <= 20))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function frame11(){ if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 11)) && ((int(__setPropDict[__id7_]) <= 20))))))){ __setPropDict[__id7_] = currentFrame;  (); }; } function  (){ try { __id7_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id7_.align = "center"; __id7_.align_vert = "center"; __id7_.color = 0xFFFFFF; __id7_.id = "None"; __id7_.line_spacing = 18; __id7_.text = "Scores"; __id7_.tracking = 0; try { __id7_["componentInspectorSetting"] = false; } catch(e:Error) { }; } override public function onClick(_arg1:MouseEvent):void{ Controller.endGame(); NitromeGame.transition.doTween("view_scores"); } } }//package com.nitrome.game
Section 117
//SimpleButton (com.nitrome.game.SimpleButton) package com.nitrome.game { import flash.display.*; import flash.events.*; public class SimpleButton extends MovieClip { protected var over:Boolean;// = false public function SimpleButton(){ over = false; super(); mouseChildren = false; buttonMode = true; this.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver); this.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut); this.addEventListener(MouseEvent.MOUSE_DOWN, onClick); stop(); } protected function onMouseOver(_arg1:MouseEvent):void{ over = true; updateGraphic(); } protected function onMouseOut(_arg1:MouseEvent):void{ over = false; updateGraphic(); } protected function updateGraphic():void{ if (over){ gotoAndStop("_over"); } else { gotoAndStop("_up"); }; } public function onClick(_arg1:MouseEvent):void{ } } }//package com.nitrome.game
Section 118
//SoundManager (com.nitrome.game.SoundManager) package com.nitrome.game { import flash.display.*; import flash.media.*; public class SoundManager extends SoundManagerSuper { protected const MENU_VOLUME:Number = 0.5; protected const GAME_VOLUME:Number = 0.5; public var charged:MovieClip; public var nitrome:MovieClip; public var balloon:MovieClip; public var monster_happy:MovieClip; public var slap:MovieClip; public var screw:MovieClip; public var splash:MovieClip; public var creak:MovieClip; public var wom:MovieClip; public var glassTap:MovieClip; public var metal_1:MovieClip; public var metal_2:MovieClip; public var deathground:MovieClip; public var monster_angry:MovieClip; public var cannon:MovieClip; public var metal_3:MovieClip; public var metal_4:MovieClip; public var tesla:MovieClip; public var electric:MovieClip; public var chargeup1:MovieClip; public var chargeup2:MovieClip; public var chargeup4:MovieClip; public var chargeup6:MovieClip; public var chargeup7:MovieClip; public var chargeup8:MovieClip; public var chargeup3:MovieClip; public var chargeup5:MovieClip; public var sticky:MovieClip; public static const GAME:uint = 1; public static const MENU:uint = 0; public function SoundManager(){ NitromeGame.sound_manager = this; music_sounds.push(new MenuMusic()); music_sounds.push(new GameMusic()); transforms.push(new SoundTransform(MENU_VOLUME, 0)); transforms.push(new SoundTransform(GAME_VOLUME, 0)); channels.push(new SoundChannel()); channels.push(new SoundChannel()); volumes.push(MENU_VOLUME); volumes.push(GAME_VOLUME);   = uint.MAX_VALUE; } } }//package com.nitrome.game
Section 119
//SoundManagerSuper (com.nitrome.game.SoundManagerSuper) package com.nitrome.game { import flash.display.*; import flash.events.*; public class SoundManagerSuper extends Sprite { protected const CROSS_FADE_SPEED:Number = 0.05; public var  :int; protected var  :Boolean;// = true public var  :Boolean;// = false protected var transforms:Array; protected var volumes:Array; protected var music_sounds:Array; protected var  :int; protected var  :Boolean;// = true protected var channels:Array; protected var  :Array; public function SoundManagerSuper(){ var _local1:int; var _local2:MovieClip;   = new Array(); music_sounds = new Array(); channels = new Array(); transforms = new Array(); volumes = new Array();   = true;   = true;  = false; super();   = NitromeGame.music;   = NitromeGame.sfx; _local1 = 0; while (_local1 < numChildren) { _local2 = (getChildAt(_local1) as MovieClip); if (_local2 != null){  [_local2.name] = _local2; }; _local1++; }; } public function set sfx(_arg1:Boolean):void{   = _arg1; } public function get music():Boolean{ return ( ); } public function toggleMusic():void{ if ( ){  (); } else {  (); }; } public function playSound(_arg1:String):void{ if ( ){ if ( [_arg1] != null){  [_arg1].gotoAndPlay(2); }; }; } private function  (_arg1:Event):void{ if (transforms[ ].volume > 0){ transforms[ ].volume = (transforms[ ].volume - CROSS_FADE_SPEED); channels[ ].soundTransform = transforms[ ]; }; if (transforms[ ].volume < 1){ transforms[ ].volume = (transforms[ ].volume + CROSS_FADE_SPEED); channels[ ].soundTransform = transforms[ ]; }; if ((((transforms[ ].volume >= volumes[ ])) && ((transforms[ ].volume <= 0)))){ channels[ ].stop();  = false; _arg1.target.removeEventListener(Event.ENTER_FRAME,  ); }; } public function  ():void{ NitromeGame.music = (  = true); playMusic( , true); } public function set music(_arg1:Boolean):void{   = _arg1; } public function playMusic(_arg1:uint, _arg2:Boolean=false):void{ var _local3:uint; if (((!((  == _arg1))) || (_arg2))){ if (_arg1 < music_sounds.length){ if ( ){ _local3 = 0; while (_local3 < music_sounds.length) { if (_local3 == _arg1){ } else { if (channels[_local3] != null){ channels[_local3].stop(); }; }; _local3++; }; transforms[_arg1].volume = volumes[_arg1]; channels[_arg1] = music_sounds[_arg1].play(0, int.MAX_VALUE, transforms[_arg1]); };   = _arg1; }; }; } public function  ():void{ NitromeGame.sfx = (  = false); } public function toggleSfx():void{   = !( ); NitromeGame.sfx = !(NitromeGame.sfx); } public function  ():void{ var _local1:uint; _local1 = 0; while (_local1 < channels.length) { if (channels[_local1] != null){ channels[_local1].stop(); }; _local1++; }; NitromeGame.music = (  = false); } public function get sfx():Boolean{ return ( ); } public function  ():void{ NitromeGame.sfx = (  = true); } public function  (_arg1:int):void{ if (((((!( )) || ((  == _arg1)))) || ( ))){ return; }; transforms[_arg1].volume = 0; channels[_arg1] = music_sounds[_arg1].play(0, int.MAX_VALUE, transforms[_arg1]);   =  ;   = _arg1;  = true; addEventListener(Event.ENTER_FRAME,  ); } } }//package com.nitrome.game
Section 120
//StartLevelButton (com.nitrome.game.StartLevelButton) package com.nitrome.game { import com.nitrome.balancer.*; import flash.events.*; import flash.utils.*; public class StartLevelButton extends SimpleButton { public var __setPropDict:Dictionary; public var __id31_:BalancerFont; public function StartLevelButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10); } function  (){ try { __id31_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id31_.align = "center"; __id31_.align_vert = "center"; __id31_.color = 0xCCCCCC; __id31_.id = "None"; __id31_.line_spacing = 18; __id31_.text = "Play"; __id31_.tracking = 0; try { __id31_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 1)) && ((int(__setPropDict[__id31_]) <= 10))))))){ __setPropDict[__id31_] = currentFrame;  (); }; } function frame14(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 11)) && ((int(__setPropDict[__id31_]) <= 20))))))){ __setPropDict[__id31_] = currentFrame;  (); }; } function frame12(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 11)) && ((int(__setPropDict[__id31_]) <= 20))))))){ __setPropDict[__id31_] = currentFrame;  (); }; } function frame18(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 11)) && ((int(__setPropDict[__id31_]) <= 20))))))){ __setPropDict[__id31_] = currentFrame;  (); }; } function frame3(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 1)) && ((int(__setPropDict[__id31_]) <= 10))))))){ __setPropDict[__id31_] = currentFrame;  (); }; } function frame15(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 11)) && ((int(__setPropDict[__id31_]) <= 20))))))){ __setPropDict[__id31_] = currentFrame;  (); }; } function frame16(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 11)) && ((int(__setPropDict[__id31_]) <= 20))))))){ __setPropDict[__id31_] = currentFrame;  (); }; } function frame17(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 11)) && ((int(__setPropDict[__id31_]) <= 20))))))){ __setPropDict[__id31_] = currentFrame;  (); }; } function frame19(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 11)) && ((int(__setPropDict[__id31_]) <= 20))))))){ __setPropDict[__id31_] = currentFrame;  (); }; } function frame6(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 1)) && ((int(__setPropDict[__id31_]) <= 10))))))){ __setPropDict[__id31_] = currentFrame;  (); }; } function frame13(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 11)) && ((int(__setPropDict[__id31_]) <= 20))))))){ __setPropDict[__id31_] = currentFrame;  (); }; } function frame4(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 1)) && ((int(__setPropDict[__id31_]) <= 10))))))){ __setPropDict[__id31_] = currentFrame;  (); }; } function frame9(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 1)) && ((int(__setPropDict[__id31_]) <= 10))))))){ __setPropDict[__id31_] = currentFrame;  (); }; } function frame1(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 1)) && ((int(__setPropDict[__id31_]) <= 10))))))){ __setPropDict[__id31_] = currentFrame;  (); }; } function frame20(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 11)) && ((int(__setPropDict[__id31_]) <= 20))))))){ __setPropDict[__id31_] = currentFrame;  (); }; } function frame2(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 1)) && ((int(__setPropDict[__id31_]) <= 10))))))){ __setPropDict[__id31_] = currentFrame;  (); }; } function frame5(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 1)) && ((int(__setPropDict[__id31_]) <= 10))))))){ __setPropDict[__id31_] = currentFrame;  (); }; } function frame7(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 1)) && ((int(__setPropDict[__id31_]) <= 10))))))){ __setPropDict[__id31_] = currentFrame;  (); }; } function frame8(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 1)) && ((int(__setPropDict[__id31_]) <= 10))))))){ __setPropDict[__id31_] = currentFrame;  (); }; } function frame11(){ if ((((__setPropDict[__id31_] == undefined)) || (!((((int(__setPropDict[__id31_]) >= 11)) && ((int(__setPropDict[__id31_]) <= 20))))))){ __setPropDict[__id31_] = currentFrame;  (); }; } function  (){ try { __id31_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id31_.align = "center"; __id31_.align_vert = "center"; __id31_.color = 0xFFFFFF; __id31_.id = "None"; __id31_.line_spacing = 18; __id31_.text = "Play"; __id31_.tracking = 0; try { __id31_["componentInspectorSetting"] = false; } catch(e:Error) { }; } override public function onClick(_arg1:MouseEvent):void{ Controller.startLevel(); } } }//package com.nitrome.game
Section 121
//SubmitScoreButton (com.nitrome.game.SubmitScoreButton) package com.nitrome.game { import flash.events.*; public class SubmitScoreButton extends SimpleButton { public function SubmitScoreButton(){ if (Score.value == 0){ visible = false; }; } override public function onClick(_arg1:MouseEvent):void{ var e = _arg1; NitromeGame.transition.doTween(function (){ NitromeGame.timeline.gotoAndStop("submit_score"); }); } } }//package com.nitrome.game
Section 122
//TemplateFont (com.nitrome.game.TemplateFont) package com.nitrome.game { public class TemplateFont extends TextComponent { public function TemplateFont(){ _tracking = 0; _line_spacing = 18; _id = "None"; } override public function get id():String{ return (_id); } override public function set id(_arg1:String){ _id = _arg1; } override public function set tracking(_arg1:int){ _tracking = _arg1; } override protected function getClassNameFromChar(_arg1:String):String{ if (_arg1 == "Space"){ return ("SPACE"); }; if (_arg1 == "."){ return ("STOP"); }; if (_arg1 == "?"){ return ("QUESTION"); }; if (_arg1 == ","){ return ("COMMA"); }; if (_arg1 == "!"){ return ("EXCLAMATION"); }; if (_arg1 == "\\"){ return ("BACKSLASH"); }; if (_arg1 == "/"){ return ("FORWARDSLASH"); }; if (_arg1 == "="){ return ("EQUALS"); }; if (_arg1 == "+"){ return ("PLUS"); }; if (_arg1 == "("){ return ("LEFTBRACKET"); }; if (_arg1 == ")"){ return ("RIGHTBRACKET"); }; if (_arg1 == "-"){ return ("HYPHEN"); }; if (_arg1 == "\""){ return ("QUOTES"); }; if (_arg1 == ":"){ return ("COLON"); }; if (_arg1 == "�"){ return ("POUND"); }; if (_arg1 == "_"){ return ("UNDERSCORE"); }; if (_arg1 == "@"){ return ("AT"); }; if (_arg1 == "'"){ return ("APOSTROPHE"); }; if ((((((_arg1 == "\n")) || ((_arg1 == "\r")))) || ((_arg1 == "|")))){ return ("NEWLINE"); }; return (_arg1); } override public function get tracking():int{ return (_tracking); } override public function set line_spacing(_arg1:int){ _line_spacing = _arg1; } override public function get line_spacing():int{ return (_line_spacing); } } }//package com.nitrome.game
Section 123
//TextComponent (com.nitrome.game.TextComponent) package com.nitrome.game { import flash.display.*; import flash.utils.*; import flash.geom.*; public class TextComponent extends Sprite { protected var  :String;// = "center" protected var  :Array; protected var  :String;// = "enter text" protected var _tracking:int;// = 0 protected var  :ColorTransform;// = null private var  :Number;// = 0 protected var  :Array; protected var _id:String;// = "None" private var  :Number;// = 0 protected var :String;// = "center" private var :Sprite; protected var :Sprite; protected var _line_spacing:int;// = 18 protected var :uint;// = 0xFFFFFF public function TextComponent(){   = "enter text"; _tracking = 0;  = "center";  = "center"; _line_spacing = 18; _id = "None";  = 0xFFFFFF;   = null;   = 0;  = 0; super(); init();  (); draw(); } public function get align():String{ return ( ); } private function init():void{  = new Array();  = new Array();   = width;  = height; scaleX = 1; scaleY = 1; removeChildAt(0); } public function set align(_arg1:String){  = _arg1; draw(); } private function  ():void{  = new Sprite(); addChild(); } public function get align_vert():String{ return (); } public function get text():String{ return ( ); } public function set id(_arg1:String){ _id = _arg1; draw(); } protected function draw():void{ var line:*; var i:int; var isLivePreview:Boolean; var c:*; var class_name:String; var class_id:Class; var temp:Sprite; var j:int; var x_tracking:*; .graphics.clear(); if ( != null){ this.removeChild(); };  = new Sprite();  = new Array(); line = 0;  .push(.addChild(new Sprite()));  = new Array();  .push(new Array()); i = 0; while (i <  .length) {   =  .toUpperCase(); c =  .charAt(i); class_name = getClassNameFromChar(c); if (class_name == "NEWLINE"){ line = (line + 1);  .push(new Array());  .push(.addChild(new Sprite()));  [line].y = (line_spacing * line); } else { if (class_name != ""){ try { class_id = (getDefinitionByName(((("Text_" + _id) + "_") + class_name)) as Class); } catch(e:ReferenceError) { try { class_id = (getDefinitionByName((("Text_" + _id) + "_SPACE")) as Class); } catch(e:ReferenceError) { break; }; }; if (Class != null){ temp = (new (class_id) as Sprite);  [line].push( [line].addChild(temp)); }; }; }; i = (i + 1); }; i = 0; while (i <  .length) { j = 1; while (j <  [i].length) { x_tracking = _tracking; if ( [i][(j - 1)].kerning != null){ x_tracking = (x_tracking +  [i][(j - 1)].kerning._x); } else { x_tracking = (x_tracking +  [i][(j - 1)].width); };  [i][j].x = ( [i][(j - 1)].x + x_tracking); j = (j + 1); }; if ( == "center"){  [i].x = ( [i].x + int(((  * 0.5) - ( [i].width * 0.5)))); } else { if ( == "right"){  [i].x = ( [i].x + int((  -  [i].width))); }; }; i = (i + 1); }; if ( == "bottom"){ .y = (.y + int(( - .height))); } else { if ( == "center"){ .y = (.y + int((( * 0.5) - (.height * 0.5)))); }; }; if (  != null){ .transform.colorTransform =  ; }; .cacheAsBitmap = true; this.addChild(); this.cacheAsBitmap = true; isLivePreview = ((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent"))); if (((isLivePreview) && ((  == "")))){ .graphics.clear(); .graphics.lineStyle(1, 0); .graphics.beginFill(0xFFFFFF, 0.5); .graphics.drawRoundRect(0, 0,  ,  , 10, 10); .graphics.endFill(); }; } public function get id():String{ return (_id); } public function set align_vert(_arg1:String){  = _arg1; draw(); } public function get color():uint{ return (); } public function set text(_arg1:String){   = _arg1; draw(); } public function set tracking(_arg1:int){ _tracking = _arg1; draw(); } public function setSize(_arg1:Number, _arg2:Number):void{   = _arg1;  = _arg2; draw(); } protected function getClassNameFromChar(_arg1:String):String{ if (_arg1 == "Space"){ return ("SPACE"); }; if (_arg1 == "."){ return ("STOP"); }; if (_arg1 == "?"){ return ("QUESTION"); }; if (_arg1 == ","){ return ("COMMA"); }; if (_arg1 == "!"){ return ("EXCLAMATION"); }; if (_arg1 == "\\"){ return ("BACKSLASH"); }; if (_arg1 == "/"){ return ("FORWARDSLASH"); }; if (_arg1 == "="){ return ("EQUALS"); }; if (_arg1 == "+"){ return ("PLUS"); }; if (_arg1 == "("){ return ("LEFTBRACKET"); }; if (_arg1 == ")"){ return ("RIGHTBRACKET"); }; if (_arg1 == "-"){ return ("HYPHEN"); }; if (_arg1 == "\""){ return ("QUOTES"); }; if (_arg1 == ":"){ return ("COLON"); }; if (_arg1 == "�"){ return ("POUND"); }; if (_arg1 == "_"){ return ("UNDERSCORE"); }; if (_arg1 == "@"){ return ("AT"); }; if (_arg1 == "'"){ return ("APOSTROPHE"); }; if ((((((_arg1 == "\n")) || ((_arg1 == "\r")))) || ((_arg1 == "|")))){ return ("NEWLINE"); }; return (_arg1); } public function get tracking():int{ return (_tracking); } public function set color(_arg1:uint):void{  = _arg1; if (_arg1 == 0xFFFFFF){   = null; } else {   = new ColorTransform((((_arg1 >> 16) % 0x0100) / 0xFF), (((_arg1 >> 8) % 0x0100) / 0xFF), ((_arg1 % 0x0100) / 0xFF)); }; draw(); } public function set line_spacing(_arg1:int){ _line_spacing = _arg1; draw(); } public function get line_spacing():int{ return (_line_spacing); } } }//package com.nitrome.game
Section 124
//Transition (com.nitrome.game.Transition) package com.nitrome.game { import flash.display.*; public class Transition extends MovieClip { private var :Function;// = null public function Transition(){  = null; super(); addFrameScript(0, frame1, 12, frame13); NitromeGame.transition = this; stop(); mouseEnabled = false; mouseChildren = false; } function frame1(){ (); } function frame13(){  (); } protected function ():void{ if ( != null){ gotoAndPlay(1); } else { stop(); this.visible = false; }; } public function doTween(_arg1:Object):void{ var target = _arg1; play(); if ((target is Function)){  = (target as Function); } else {  = function (){ NitromeGame.timeline.gotoAndStop(target); }; }; this.visible = true; } protected function  ():void{ if ( != null){ ();  = null; }; } } }//package com.nitrome.game
Section 125
//ArrowButton (com.nitrome.highscore.ArrowButton) package com.nitrome.highscore { import flash.events.*; import com.nitrome.game.*; public class ArrowButton extends SimpleButton { var  :HighScoreBoard; public function ArrowButton(){   = (parent as HighScoreBoard); visible = false; } public function hide():void{ visible = false; } override public function onClick(_arg1:MouseEvent):void{ if (name == "_prev_arrow"){  .shiftScoresPrev(); } else { if (name == "_next_arrow"){  .shiftScoresNext(); }; }; } public function show():void{ visible = true; } } }//package com.nitrome.highscore
Section 126
//ClearButton (com.nitrome.highscore.ClearButton) package com.nitrome.highscore { import flash.events.*; import com.nitrome.game.*; public class ClearButton extends SimpleButton { private var  :ScoreSubmitPanel; public function ClearButton(){   = (parent as ScoreSubmitPanel); } override public function onClick(_arg1:MouseEvent):void{  .clearName(); } } }//package com.nitrome.highscore
Section 127
//HighScoreBoard (com.nitrome.highscore.HighScoreBoard) package com.nitrome.highscore { import flash.display.*; import flash.events.*; import flash.net.*; public class HighScoreBoard extends MovieClip { public const MAX_DIGITS:int = 8; private const MAX_RANK:int = 100; public const NUM_LINES:int = 10; public var _score_line_7:ScoreLine; private var :Array; private var :Boolean;// = false public var _next_arrow:NextArrow; private var  :URLRequest; private var :URLVariables; public var _score_line_10:ScoreLine; private var :ArrowButton; public var _prev_arrow:PrevArrow; private var  :int; public var _score_line_1:ScoreLine; public var _score_line_2:ScoreLine; public var _score_line_3:ScoreLine; public var _score_line_4:ScoreLine; public var _score_line_5:ScoreLine; public var _score_line_6:ScoreLine; public var _score_line_8:ScoreLine; public var _score_line_9:ScoreLine; private var :URLLoader; private var :ArrowButton; public function HighScoreBoard(){ var _local1:int;  = false; super(); if (((root) && (((((((((root as MovieClip).currentLabel == "game")) || (((root as MovieClip).currentLabel == "congrats")))) || (((root as MovieClip).currentLabel == "help")))) || (((root as MovieClip).currentLabel == "credits")))))){ return; };  = new Array(NUM_LINES); if (NitromeGame.isAtURL(NitromeGame.NITROME) == false){ gotoAndStop("off"); } else { _local1 = 0; while (_local1 < .length) { [_local1] = (getChildByName(("_score_line_" + (_local1 + 1))) as HighScoreLine); _local1++; };  = (getChildByName("_prev_arrow") as ArrowButton);  = (getChildByName("_next_arrow") as ArrowButton); addEventListener(Event.ADDED_TO_STAGE, init); }; } public function (_arg1:int):void{  = _arg1;  = new URLLoader();  = new URLVariables();  = new URLRequest(NitromeGame.RETRIEVE_URL);  .method = URLRequestMethod.POST;  .data = ; .dataFormat = URLLoaderDataFormat.VARIABLES; .addEventListener(Event.COMPLETE, ); .addEventListener(IOErrorEvent.IO_ERROR, ); .min_rank = String(_arg1); .game_name = NitromeGame.game_id; .time_based = (NitromeGame.time_based) ? "1" : "0"; .load( ); } private function (_arg1:Event):void{ var _local2:String; _local2 = _arg1.target.data.result;  (_local2); } private function init(_arg1:Event):void{ (1); _arg1.target.removeEventListener(Event.ADDED_TO_STAGE, init); } public function shiftScoresPrev():void{ var _local1:int; _local1 = ( - 10); if (_local1 < 1){ _local1 = 1; }; (_local1); } public function set zero_fill(_arg1:Boolean):void{  = _arg1; } private function (_arg1:IOErrorEvent):void{ } public function get zero_fill():Boolean{ return (); } public function (_arg1:Array):void{ var _local2:int; var _local3:String; var _local4:String; if (_arg1.length > 0){ _local2 = 0; while (_local2 <= 9) { _local3 = String(_arg1[_local2].user_name); _local4 = String(_arg1[_local2].score); if ((((_local3 == "")) || ((_local3 == null)))){ [_local2].hide(); .hide(); } else { [_local2].displayData(( + _local2), _local3, _local4); }; _local2++; }; //unresolved jump }; } public function  (_arg1:String):void{ var _local2:int; var _local3:Object; if (_arg1 != "0"){ _local2 = 0; while (_local2 < .length) { _local3 = NitromeGame.getHighScoreLine(_arg1, (_local2 + 1)); if (_local3 == null){ [_local2].hide(); } else { [_local2].displayData(( + _local2), _local3.username, _local3.score); }; _local2++; }; if (NitromeGame.displayNextButton(_arg1)){ .show(); } else { .hide(); }; if (NitromeGame.displayPreviousButton(_arg1)){ .show(); } else { .hide(); }; }; } public function shiftScoresNext():void{ var _local1:int; _local1 = ( + 10); (_local1); } } }//package com.nitrome.highscore
Section 128
//HighScoreLine (com.nitrome.highscore.HighScoreLine) package com.nitrome.highscore { import flash.display.*; import flash.events.*; public class HighScoreLine extends Sprite { private const FADE_SPEED:Number = 0.3; private var  :int; private var  :BalancerFont; private var  :BalancerFont; public var _score_text:BalancerFont; private var  :Boolean; private var  :BalancerFont; private var  :int; public var _rank_text:BalancerFont; public var _name_text:BalancerFont; private var  :HighScoreBoard; public function HighScoreLine(){ visible = false;   = false;  = (getChildByName("_score_text") as BalancerFont);   = (getChildByName("_name_text") as BalancerFont);   = (getChildByName("_rank_text") as BalancerFont);   = (parent as HighScoreBoard); } public function hide():void{ visible = false;   = true; } private function  (_arg1:Event):void{ if ( >=  ){ alpha = (alpha + FADE_SPEED); if (alpha >= 1){ _arg1.target.removeEventListener(Event.ENTER_FRAME,  ); }; };  ++; } public function displayData(_arg1:int, _arg2:String, _arg3:String):void{ var _local4:int; var _local5:int; var _local6:int; var _local7:int;  .text = String((_arg1 + "."));  .text = _arg2.toUpperCase(); if ( .zero_fill){ _local4 =  .MAX_DIGITS; _local5 = _arg3.length; _local6 = (_local4 - _local5); _local7 = 1; while (_local7 <= _local6) { _arg3 = ("0" + _arg3); _local7++; };  .text = _arg3; } else {  .text = _arg3; }; alpha = 0; visible = true;   = (((_arg1 - 1) %  .NUM_LINES) * int((1 / FADE_SPEED)));  = 0; addEventListener(Event.ENTER_FRAME,  ); } } }//package com.nitrome.highscore
Section 129
//LetterButton (com.nitrome.highscore.LetterButton) package com.nitrome.highscore { import flash.events.*; import com.nitrome.game.*; public class LetterButton extends SimpleButton { private var   :TextComponent; public var _letter:BalancerFont; private var   :String; private var  :ScoreSubmitPanel; public function LetterButton(){   = (parent as ScoreSubmitPanel);   = name;   = (getChildByName("_letter") as TextComponent); addEventListener(Event.ADDED_TO_STAGE, init); } private function init(_arg1:Event):void{   .text =   ; _arg1.target.removeEventListener(Event.ADDED_TO_STAGE, init); } override protected function onMouseOut(_arg1:MouseEvent):void{ super.onMouseOut(_arg1);   .color = 0xCCCCCC; } override public function onClick(_arg1:MouseEvent):void{  .addLetter(  ); } override protected function onMouseOver(_arg1:MouseEvent):void{ super.onMouseOver(_arg1);   .color = 0xFFFFFF; } } }//package com.nitrome.highscore
Section 130
//ScoreSubmitPanel (com.nitrome.highscore.ScoreSubmitPanel) package com.nitrome.highscore { import flash.display.*; import flash.events.*; import com.nitrome.game.*; import flash.net.*; import flash.ui.*; public class ScoreSubmitPanel extends MovieClip { private const MAX_LENGTH:Number = 10; private var  :URLLoader; public var C:LetterButton; public var D:LetterButton; public var E:LetterButton; public var F:LetterButton; public var H:LetterButton; public var I:LetterButton; public var J:LetterButton; public var L:LetterButton; public var A:LetterButton; public var K:LetterButton; public var W:LetterButton; public var X:LetterButton; public var R:LetterButton; public var T:LetterButton; public var U:LetterButton; public var V:LetterButton; public var G:LetterButton; public var Y:LetterButton; public var Z:LetterButton; public var S:LetterButton; public var N:LetterButton; public var O:LetterButton; private var  :TextComponent; public var Q:LetterButton; public var M:LetterButton; public var _score_text:BalancerFont; private var :MovieClip; public var B:LetterButton; public var P:LetterButton; private var  :TextComponent; public var _name_text:BalancerFont; private var  :SubmitButton; public var _submit_button:SubmitButton; public var _clear_button:ClearButton; private var :URLRequest; private var :URLVariables; public function ScoreSubmitPanel(){  = (getChildByName("_submit_button") as SubmitButton);   = (getChildByName("_name_text") as TextComponent);  = (getChildByName("_score_text") as TextComponent); addEventListener(Event.ADDED_TO_STAGE, init); } public function addLetter(_arg1:String):void{ var _local2:String; var _local3:String; _local2 =  .text; if (_local2.length < MAX_LENGTH){ _arg1 = _arg1.toUpperCase(); _local3 = (_local2 + _arg1);  .text = _local3;  .enable(); }; } private function (_arg1:IOErrorEvent):void{ NitromeGame.timeline.gotoAndStop("view_scores"); } public function clearName():void{  .disable();  .text = ""; } private function keyPressed(_arg1:KeyboardEvent):void{ var _local2:int; _local2 = _arg1.charCode; if ((((((_local2 >= 65)) && ((_local2 <= 90)))) || ((((_local2 >= 97)) && ((_local2 <= 122)))))){ addLetter(String.fromCharCode(_local2)); }; if ((((_arg1.keyCode == Keyboard.BACKSPACE)) || ((_arg1.keyCode == Keyboard.DELETE)))){ clearName(); }; } private function (_arg1:Event):void{ NitromeGame.timeline.gotoAndStop("view_scores"); } private function init(_arg1:Event):void{ if (NitromeGame.isAtURL(NitromeGame.NITROME) == false){ gotoAndStop("off"); } else { stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed); _arg1.target.removeEventListener(Event.ADDED_TO_STAGE, init); }; } public function submitScore():void{ var _local1:String; stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyPressed); _local1 =  .text; if (_local1 != ""){  = new URLLoader();  = new URLVariables();  = new URLRequest(NitromeGame.SUBMIT_URL); .method = URLRequestMethod.POST; .data = ;  .addEventListener(Event.COMPLETE, );  .addEventListener(IOErrorEvent.IO_ERROR, ); .data_string = NitromeGame.getScoreData(Score.value, _local1); .time_based = "0"; .data = ;  .load(); } else { NitromeGame.timeline.gotoAndStop("view_scores"); }; } } }//package com.nitrome.highscore
Section 131
//SubmitButton (com.nitrome.highscore.SubmitButton) package com.nitrome.highscore { import flash.events.*; import com.nitrome.game.*; public class SubmitButton extends SimpleButton { private var  :Boolean;// = false private var disabled:Boolean;// = true private var  :ScoreSubmitPanel; public function SubmitButton(){   = false; disabled = true; super(); gotoAndStop("_up");   = (parent as ScoreSubmitPanel); } public function enable():void{ disabled = false; useHandCursor = true; buttonMode = true; updateGraphic(); } override protected function updateGraphic():void{ if (((!(over)) || (disabled))){ gotoAndStop("_up"); } else { gotoAndStop("_over"); }; } public function disable():void{ disabled = true; useHandCursor = false; buttonMode = false; updateGraphic(); } override public function onClick(_arg1:MouseEvent):void{ if (disabled){ gotoAndStop("_up"); } else { if (! ){  .submitScore();   = true; }; }; } } }//package com.nitrome.highscore
Section 132
//CustomCursor (com.nitrome.util.CustomCursor) package com.nitrome.util { import flash.display.*; import flash.events.*; import flash.ui.*; public class CustomCursor { public static var cursor:Sprite; protected static var cursorClass:Class; protected static var parent:DisplayObjectContainer; protected static function mouseLeave(_arg1:Event):void{ if (cursor){ cursor.visible = false; }; } protected static function addedToStage(_arg1:Event):void{ parent.removeEventListener(Event.ADDED_TO_STAGE, addedToStage); parent.stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMove); parent.stage.addEventListener(Event.MOUSE_LEAVE, mouseLeave); } protected static function mouseMove(_arg1:MouseEvent):void{ if (cursor){ cursor.x = (parent.mouseX << 0); cursor.y = (parent.mouseY << 0); if (!cursor.visible){ cursor.visible = true; }; _arg1.updateAfterEvent(); }; } public static function setCursor(_arg1:Class, _arg2:Number=0){ if (_arg1 == cursorClass){ if (((cursor) && (!((cursor.rotation == _arg2))))){ cursor.rotation = _arg2; }; return; }; if (cursor){ parent.removeChild(cursor); cursor = null; }; if (_arg1){ Mouse.hide(); } else { Mouse.show(); }; cursorClass = _arg1; if (_arg1 == null){ return; }; cursor = new cursorClass(); cursor.x = (parent.mouseX << 0); cursor.y = (parent.mouseY << 0); cursor.rotation = _arg2; cursor.mouseEnabled = false; cursor.mouseChildren = false; parent.addChild(cursor); } public static function setup(_arg1:DisplayObjectContainer):void{ parent = _arg1; if (parent.stage){ parent.stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMove); parent.stage.addEventListener(Event.MOUSE_LEAVE, mouseLeave); } else { parent.addEventListener(Event.ADDED_TO_STAGE, addedToStage); }; } } }//package com.nitrome.util
Section 133
//Geometry (com.nitrome.util.Geometry) package com.nitrome.util { import Box2D.Common.Math.*; import Box2D.Collision.Shapes.*; import Box2D.Collision.*; public class Geometry { public static function segmentTouchesRectangle(_arg1:b2AABB, _arg2:b2Vec2, _arg3:b2Vec2):Boolean{ var _local4:b2Vec2; var _local5:Number; var _local6:Array; var _local7:Number; var _local8:Number; var _local9:Number; if ((((_arg2.x < _arg1.lowerBound.x)) && ((_arg3.x < _arg1.lowerBound.x)))){ return (false); }; if ((((_arg2.x > _arg1.upperBound.x)) && ((_arg3.x > _arg1.upperBound.x)))){ return (false); }; if ((((_arg2.y < _arg1.lowerBound.y)) && ((_arg3.y < _arg1.lowerBound.y)))){ return (false); }; if ((((_arg2.y > _arg1.upperBound.y)) && ((_arg3.y > _arg1.upperBound.y)))){ return (false); }; _local4 = new b2Vec2((_arg3.y - _arg2.y), (_arg2.x - _arg3.x)); _local5 = b2Math.b2Dot(_local4, _arg2); _local6 = [new b2Vec2(_arg1.lowerBound.x, _arg1.lowerBound.y), new b2Vec2(_arg1.upperBound.x, _arg1.lowerBound.y), new b2Vec2(_arg1.upperBound.x, _arg1.upperBound.y), new b2Vec2(_arg1.lowerBound.x, _arg1.upperBound.y)]; _local7 = 0; _local8 = 0; while (_local8 < 4) { _local9 = b2Math.b2Dot(_local4, _local6[_local8]); if (_local9 > _local5){ _local7++; }; _local8++; }; return ((((_local7 > 0)) && ((_local7 < 4)))); } public static function nearestPointOnLine(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2):b2Vec2{ var _local4:b2Vec2; var _local5:b2Vec2; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; _local4 = new b2Vec2((_arg2.x - _arg1.x), (_arg2.y - _arg1.y)); _local4.Normalize(); _local5 = new b2Vec2(_local4.y, -(_local4.x)); _local6 = b2Math.b2Dot(_local4, _arg3); _local7 = b2Math.b2Dot(_local5, _arg1); _local8 = ((_local6 * _local4.x) + (_local7 * _local5.x)); _local9 = ((_local6 * _local4.y) + (_local7 * _local5.y)); return (new b2Vec2(_local8, _local9)); } public static function between(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2):Number{ var _local4:b2Vec2; var _local5:Number; var _local6:Number; var _local7:Number; _local4 = new b2Vec2((_arg2.x - _arg1.x), (_arg2.y - _arg1.y)); _local4.Normalize(); _local5 = b2Math.b2Dot(_arg1, _local4); _local6 = b2Math.b2Dot(_arg2, _local4); _local7 = b2Math.b2Dot(_arg3, _local4); if (_local5 == _local6){ return (0); }; return (((_local7 - _local5) / (_local6 - _local5))); } public static function nearestPointOnSegment(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2):b2Vec2{ var _local4:b2Vec2; var _local5:b2Vec2; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; _local4 = new b2Vec2((_arg2.x - _arg1.x), (_arg2.y - _arg1.y)); _local4.Normalize(); _local5 = new b2Vec2(_local4.y, -(_local4.x)); _local6 = b2Math.b2Dot(_local4, _arg1); _local7 = b2Math.b2Dot(_local4, _arg2); _local8 = b2Math.b2Dot(_local4, _arg3); _local9 = b2Math.b2Dot(_local5, _arg1); if (_local8 < _local6){ _local8 = _local6; }; if (_local8 > _local7){ _local8 = _local7; }; _local10 = ((_local8 * _local4.x) + (_local9 * _local5.x)); _local11 = ((_local8 * _local4.y) + (_local9 * _local5.y)); return (new b2Vec2(_local10, _local11)); } public static function setupPolygon(_arg1:b2PolygonDef, _arg2:Number, _arg3:Number, _arg4:b2Vec2=null, _arg5:Number=0):b2PolygonDef{ var _local6:Number; var _local7:Number; var _local8:Number; if (!_arg1){ _arg1 = new b2PolygonDef(); }; _arg1.vertexCount = _arg2; _local7 = (360 / _arg2); if (_arg4){ _local6 = 0; while (_local6 < _arg2) { _local8 = (_local6 * _local7); _arg1.vertices[_local6] = new b2Vec2(((Trig.getCos((_local8 + _arg5)) * _arg3) + _arg4.x), ((Trig.getSin((_local8 + _arg5)) * _arg3) + _arg4.y)); _local6++; }; } else { _local6 = 0; while (_local6 < _arg2) { _local8 = (_local6 * _local7); _arg1.vertices[_local6] = new b2Vec2((Trig.getCos((_local8 + _arg5)) * _arg3), (Trig.getSin((_local8 + _arg5)) * _arg3)); _local6++; }; }; return (_arg1); } public static function isLeft(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2):Number{ return ((((_arg2.x - _arg1.x) * (_arg3.y - _arg1.y)) - ((_arg3.x - _arg1.x) * (_arg2.y - _arg1.y)))); } public static function pointInsideTriangle(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2, _arg4:b2Vec2):Boolean{ var _local5:b2Vec2; var _local6:b2Vec2; var _local7:Number; var _local8:Number; var _local9:Number; _local5 = new b2Vec2((_arg2.y - _arg1.y), -((_arg2.x - _arg1.x))); _local7 = b2Math.b2Dot(_local5, _arg1); _local8 = b2Math.b2Dot(_local5, _arg3); _local9 = b2Math.b2Dot(_local5, _arg4); if (((_local9 - _local7) * (_local8 - _local7)) < 0){ return (false); }; _local5 = new b2Vec2((_arg3.y - _arg2.y), -((_arg3.x - _arg2.x))); _local7 = b2Math.b2Dot(_local5, _arg2); _local8 = b2Math.b2Dot(_local5, _arg1); _local9 = b2Math.b2Dot(_local5, _arg4); if (((_local9 - _local7) * (_local8 - _local7)) < 0){ return (false); }; _local5 = new b2Vec2((_arg1.y - _arg3.y), -((_arg1.x - _arg3.x))); _local7 = b2Math.b2Dot(_local5, _arg3); _local8 = b2Math.b2Dot(_local5, _arg2); _local9 = b2Math.b2Dot(_local5, _arg4); if (((_local9 - _local7) * (_local8 - _local7)) < 0){ return (false); }; return (true); } public static function lerpVec2(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:Number):b2Vec2{ return (new b2Vec2((_arg1.x + ((_arg2.x - _arg1.x) * _arg3)), (_arg1.y + ((_arg2.y - _arg1.y) * _arg3)))); } public static function squareDistancePointToPoint(_arg1:b2Vec2, _arg2:b2Vec2):Number{ var _local3:Number; var _local4:Number; _local3 = (_arg2.x - _arg1.x); _local4 = (_arg2.y - _arg1.y); return (((_local3 * _local3) + (_local4 * _local4))); } public static function squareDistancePointToSegment(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2):Number{ var _local4:b2Vec2; var _local5:b2Vec2; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; _local4 = new b2Vec2((_arg2.x - _arg1.x), (_arg2.y - _arg1.y)); _local4.Normalize(); _local5 = new b2Vec2(_local4.y, -(_local4.x)); _local6 = b2Math.b2Dot(_local4, _arg1); _local7 = b2Math.b2Dot(_local4, _arg2); _local8 = b2Math.b2Dot(_local4, _arg3); _local9 = b2Math.b2Dot(_local5, _arg1); if (_local8 < _local6){ _local8 = _local6; }; if (_local8 > _local7){ _local8 = _local7; }; _local10 = ((_local8 * _local4.x) + (_local9 * _local5.x)); _local11 = ((_local8 * _local4.y) + (_local9 * _local5.y)); _local12 = (_local10 - _arg3.x); _local13 = (_local11 - _arg3.y); return (((_local12 * _local12) + (_local13 * _local13))); } public static function segmentIntersection(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2, _arg4:b2Vec2):b2Vec2{ var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; _local7 = ((_arg1.x < _arg2.x)) ? _arg1.x : _arg2.x; _local8 = ((_arg1.x > _arg2.x)) ? _arg1.x : _arg2.x; _local9 = ((_arg3.x < _arg4.x)) ? _arg3.x : _arg4.x; _local10 = ((_arg3.x > _arg4.x)) ? _arg3.x : _arg4.x; if (_local8 < _local9){ return (null); }; if (_local7 > _local10){ return (null); }; _local11 = ((_arg1.y < _arg2.y)) ? _arg1.y : _arg2.y; _local12 = ((_arg1.y > _arg2.y)) ? _arg1.y : _arg2.y; _local13 = ((_arg3.y < _arg4.y)) ? _arg3.y : _arg4.y; _local14 = ((_arg3.y > _arg4.y)) ? _arg3.y : _arg4.y; if (_local12 < _local13){ return (null); }; if (_local11 > _local14){ return (null); }; _local5 = isLeft(_arg1, _arg2, _arg3); _local6 = isLeft(_arg1, _arg2, _arg4); if ((_local5 * _local6) >= 0){ return (null); }; _local5 = isLeft(_arg3, _arg4, _arg1); _local6 = isLeft(_arg3, _arg4, _arg2); if ((_local5 * _local6) >= 0){ return (null); }; return (lineIntersection(_arg1, _arg2, _arg3, _arg4)); } public static function lineIntersection(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2, _arg4:b2Vec2):b2Vec2{ var _local5:b2Vec2; var _local6:b2Vec2; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; _local5 = new b2Vec2((_arg2.x - _arg1.x), (_arg2.y - _arg1.y)); _local6 = new b2Vec2((_arg4.x - _arg3.x), (_arg4.y - _arg3.y)); _local7 = (_arg3.x - _arg1.x); _local8 = (_arg3.y - _arg1.y); _local9 = ((_local7 * _local6.y) - (_local8 * _local6.x)); _local10 = ((_local5.x * _local6.y) - (_local5.y * _local6.x)); _local11 = (_local9 / _local10); _local12 = (_arg1.x + (_local5.x * _local11)); _local13 = (_arg1.y + (_local5.y * _local11)); return (new b2Vec2(_local12, _local13)); } } }//package com.nitrome.util
Section 134
//Key (com.nitrome.util.Key) package com.nitrome.util { import flash.display.*; import flash.events.*; public class Key { public static const LEFT:uint = 37; public static const NUMPAD_DECIMAL:uint = 110; public static const A:uint = 65; public static const B:uint = 66; public static const C:uint = 67; public static const D:uint = 68; public static const E:uint = 69; public static const F:uint = 70; public static const G:uint = 71; public static const H:uint = 72; public static const I:uint = 73; public static const J:uint = 74; public static const K:uint = 75; public static const L:uint = 76; public static const M:uint = 77; public static const N:uint = 78; public static const O:uint = 79; public static const MINUS:uint = 189; public static const Q:uint = 81; public static const PAGE_DOWN:uint = 34; public static const S:uint = 83; public static const T:uint = 84; public static const U:uint = 85; public static const V:uint = 86; public static const P:uint = 80; public static const X:uint = 88; public static const R:uint = 82; public static const ALTERNATE:uint = 18; public static const QUOTE:uint = 222; public static const W:uint = 87; public static const BACKSPACE:uint = 8; public static const Y:uint = 89; public static const SHIFT:uint = 16; public static const PAGE_UP:uint = 33; public static const Z:uint = 90; public static const ESCAPE:uint = 27; public static const NUMPAD_ADD:uint = 107; public static const SEMICOLON:uint = 186; public static const UP:uint = 38; public static const DOWN:uint = 40; public static const F1:uint = 112; public static const F3:uint = 114; public static const F5:uint = 116; public static const F6:uint = 117; public static const F7:uint = 118; public static const F8:uint = 119; public static const F2:uint = 113; public static const F4:uint = 115; public static const ENTER:uint = 13; public static const INSERT:uint = 45; public static const END:uint = 35; public static const COMMA:uint = 188; public static const NUMBER_3:uint = 51; public static const NUMBER_5:uint = 53; public static const NUMBER_6:uint = 54; public static const NUMBER_0:uint = 48; public static const F9:uint = 120; public static const NUMBER_4:uint = 52; public static const NUMBER_7:uint = 55; public static const NUMBER_8:uint = 56; public static const NUMBER_2:uint = 50; public static const LEFTBRACKET:uint = 219; public static const NUMBER_9:uint = 57; public static const NUMBER_1:uint = 49; public static const BACKSLASH:uint = 220; public static const NUMPAD_MULTIPLY:uint = 106; public static const HOME:uint = 36; public static const F10:uint = 121; public static const F11:uint = 122; public static const F12:uint = 123; public static const F13:uint = 124; public static const F14:uint = 125; public static const SPACE:uint = 32; public static const F15:uint = 126; public static const RIGHTBRACKET:uint = 221; public static const EQUAL:uint = 187; public static const COMMAND:uint = 15; public static const CONTROL:uint = 17; public static const NUMPAD_ENTER:uint = 108; public static const NUMPAD:uint = 21; public static const TAB:uint = 9; public static const SLASH:uint = 191; public static const DELETE:uint = 46; public static const NUMPAD_DIVIDE:uint = 111; public static const NUMPAD_1:uint = 97; public static const NUMPAD_2:uint = 98; public static const NUMPAD_3:uint = 99; public static const NUMPAD_4:uint = 100; public static const NUMPAD_5:uint = 101; public static const NUMPAD_6:uint = 102; public static const NUMPAD_7:uint = 103; public static const NUMPAD_8:uint = 104; public static const NUMPAD_9:uint = 105; public static const PERIOD:uint = 190; public static const CAPS_LOCK:uint = 20; public static const NUMPAD_0:uint = 96; public static const BACKQUOTE:uint = 192; public static const NUMPAD_SUBTRACT:uint = 109; public static const RIGHT:uint = 39; protected static var keysDown:Object = new Object(); protected static var initialized:Boolean = false; public static function terminate(_arg1:Stage):void{ if (initialized){ _arg1.removeEventListener(KeyboardEvent.KEY_DOWN, keyPressed); _arg1.removeEventListener(KeyboardEvent.KEY_UP, keyReleased); _arg1.removeEventListener(Event.DEACTIVATE, clearKeys); initialized = false; keysDown = new Object(); }; } public static function isReady():Boolean{ return (initialized); } public static function keyReleased(_arg1:KeyboardEvent):void{ if ((_arg1.keyCode in keysDown)){ delete keysDown[_arg1.keyCode]; }; } public static function keyPressed(_arg1:KeyboardEvent):void{ keysDown[_arg1.keyCode] = true; } public static function isDown(_arg1:uint):Boolean{ if (!initialized){ }; return (Boolean((_arg1 in keysDown))); } public static function initialize(_arg1:Stage):void{ if (!initialized){ _arg1.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed); _arg1.addEventListener(KeyboardEvent.KEY_UP, keyReleased); _arg1.addEventListener(Event.DEACTIVATE, clearKeys); initialized = true; }; } public static function clearKeys(_arg1:Event):void{ keysDown = new Object(); } } }//package com.nitrome.util
Section 135
//Lock (com.nitrome.util.Lock) package com.nitrome.util { import flash.display.*; import flash.net.*; public class Lock extends MovieClip { public function Lock(){ addFrameScript(1, frame2); } function frame2(){ stop(); } public static function urlLock(_arg1:Stage):void{ var _local2:String; if (NitromeGame.isAtURL(NitromeGame.ARMOR) == true){ } else { _arg1.addChild(new (Lock)); _local2 = ("http://www.nitrome.com/games/" + NitromeGame.game_id); navigateToURL(new URLRequest(_local2), "_blank"); }; } } }//package com.nitrome.util
Section 136
//MD5 (com.nitrome.util.MD5) package com.nitrome.util { public class MD5 { private var  :int;// = 8 private var :String;// = "" public function MD5(_arg1:String=null, _arg2:int=0){  = "";   = 8; super(); if (_arg1 != null){ this. = _arg1; }; if (((((!((_arg2 == 0))) && ((_arg2 == 8)))) || ((_arg2 == 16)))){ this.  = _arg2; }; } private function  (_arg1:Array):String{ var _local2:String; var _local3:String; var _local4:int; var _local5:int; var _local6:int; _local2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; _local3 = new String(""); _local4 = 0; while (_local4 < (_arg1.length * 4)) { _local5 = (((((_arg1[(_local4 >> 2)] >> (8 * (_local4 % 4))) & 0xFF) << 16) | (((_arg1[((_local4 + 1) >> 2)] >> (8 * ((_local4 + 1) % 4))) & 0xFF) << 8)) | ((_arg1[((_local4 + 2) >> 2)] >> (8 * ((_local4 + 2) % 4))) & 0xFF)); _local6 = 0; while (_local6 < 4) { if (((_local4 * 8) + (_local6 * 6)) > (_arg1.length * 32)){ _local3 = (_local3 + ); } else { _local3 = (_local3 + _local2.charAt(((_local5 >> (6 * (3 - _local6))) & 63))); }; _local6++; }; _local4 = (_local4 + 3); }; return (_local3); } private function  (_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):int{ return ( ( ( ( (_arg2, _arg1),  (_arg4, _arg6)), _arg5), _arg3)); } private function  (_arg1:Array):String{ var _local2:String; var _local3:int; var _local4:int; _local2 = new String(""); _local3 = ((1 <<  ) - 1); _local4 = 0; while (_local4 < (_arg1.length * 32)) { _local2 = (_local2 + String.fromCharCode(((_arg1[(_local4 >> 5)] >>> (_local4 % 32)) & _local3))); _local4 = (_local4 +  ); }; return (_local2); } private function  (_arg1:String, _arg2:String):Array{ var _local3:Array; var _local4:Array; var _local5:Array; var _local6:int; var _local7:Array; _local3 = new Array( (_arg1)); if (_local3.length > 16){ _local3 =  (_local3, (_arg1.length *  )); }; _local4 = new Array(16); _local5 = new Array(16); _local6 = 0; while (_local6 < 16) { _local4[_local6] = (_local3[_local6] ^ 909522486); _local5[_local6] = (_local3[_local6] ^ 1549556828); _local6++; }; _local7 = new Array( (_local4.concat( (_arg2)), (0x0200 + (_arg2.length *  )))); return ( (_local5.concat(_local7), (0x0200 + 128))); } private function  (_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return ( (((_arg2 & _arg4) | (_arg3 & ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7)); } private function  (_arg1:String, _arg2:String):String{ return ( ( (_arg1, _arg2))); } public function hash(_arg1:String):String{ return ( (_arg1)); } private function  (_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return ( ((_arg3 ^ (_arg2 | ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7)); } private function  (_arg1:String):String{ return ( ( ( (_arg1), (_arg1.length *  )))); } private function  (_arg1:int, _arg2:int):int{ return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2)))); } private function  (_arg1:Array, _arg2:int):Array{ var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:int; var _local9:int; var _local10:int; var _local11:int; _arg1[(_arg2 >> 5)] = (_arg1[(_arg2 >> 5)] | (128 << (_arg2 % 32))); _arg1[((((_arg2 + 64) >>> 9) << 4) + 14)] = _arg2; _local3 = 1732584193; _local4 = -271733879; _local5 = -1732584194; _local6 = 271733878; _local7 = 0; while (_local7 < _arg1.length) { _local8 = _local3; _local9 = _local4; _local10 = _local5; _local11 = _local6; _local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 7, -680876936); _local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 1)], 12, -389564586); _local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 17, 606105819); _local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 3)], 22, -1044525330); _local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 7, -176418897); _local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 5)], 12, 1200080426); _local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 17, -1473231341); _local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 7)], 22, -45705983); _local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 7, 1770035416); _local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 9)], 12, -1958414417); _local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 17, -42063); _local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 11)], 22, -1990404162); _local3 = (_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 7, 1804603682); _local6 = (_local6, _local3, _local4, _local5, _arg1[(_local7 + 13)], 12, -40341101); _local5 = (_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 17, -1502002290); _local4 = (_local4, _local5, _local6, _local3, _arg1[(_local7 + 15)], 22, 1236535329); _local3 =  (_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 5, -165796510); _local6 =  (_local6, _local3, _local4, _local5, _arg1[(_local7 + 6)], 9, -1069501632); _local5 =  (_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 14, 643717713); _local4 =  (_local4, _local5, _local6, _local3, _arg1[(_local7 + 0)], 20, -373897302); _local3 =  (_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 5, -701558691); _local6 =  (_local6, _local3, _local4, _local5, _arg1[(_local7 + 10)], 9, 38016083); _local5 =  (_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 14, -660478335); _local4 =  (_local4, _local5, _local6, _local3, _arg1[(_local7 + 4)], 20, -405537848); _local3 =  (_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 5, 568446438); _local6 =  (_local6, _local3, _local4, _local5, _arg1[(_local7 + 14)], 9, -1019803690); _local5 =  (_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 14, -187363961); _local4 =  (_local4, _local5, _local6, _local3, _arg1[(_local7 + 8)], 20, 1163531501); _local3 =  (_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 5, -1444681467); _local6 =  (_local6, _local3, _local4, _local5, _arg1[(_local7 + 2)], 9, -51403784); _local5 =  (_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 14, 1735328473); _local4 =  (_local4, _local5, _local6, _local3, _arg1[(_local7 + 12)], 20, -1926607734); _local3 =  (_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 4, -378558); _local6 =  (_local6, _local3, _local4, _local5, _arg1[(_local7 + 8)], 11, -2022574463); _local5 =  (_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 16, 1839030562); _local4 =  (_local4, _local5, _local6, _local3, _arg1[(_local7 + 14)], 23, -35309556); _local3 =  (_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 4, -1530992060); _local6 =  (_local6, _local3, _local4, _local5, _arg1[(_local7 + 4)], 11, 1272893353); _local5 =  (_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 16, -155497632); _local4 =  (_local4, _local5, _local6, _local3, _arg1[(_local7 + 10)], 23, -1094730640); _local3 =  (_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 4, 681279174); _local6 =  (_local6, _local3, _local4, _local5, _arg1[(_local7 + 0)], 11, -358537222); _local5 =  (_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 16, -722521979); _local4 =  (_local4, _local5, _local6, _local3, _arg1[(_local7 + 6)], 23, 76029189); _local3 =  (_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 4, -640364487); _local6 =  (_local6, _local3, _local4, _local5, _arg1[(_local7 + 12)], 11, -421815835); _local5 =  (_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 16, 530742520); _local4 =  (_local4, _local5, _local6, _local3, _arg1[(_local7 + 2)], 23, -995338651); _local3 =  (_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 6, -198630844); _local6 =  (_local6, _local3, _local4, _local5, _arg1[(_local7 + 7)], 10, 1126891415); _local5 =  (_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 15, -1416354905); _local4 =  (_local4, _local5, _local6, _local3, _arg1[(_local7 + 5)], 21, -57434055); _local3 =  (_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 6, 1700485571); _local6 =  (_local6, _local3, _local4, _local5, _arg1[(_local7 + 3)], 10, -1894986606); _local5 =  (_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 15, -1051523); _local4 =  (_local4, _local5, _local6, _local3, _arg1[(_local7 + 1)], 21, -2054922799); _local3 =  (_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 6, 1873313359); _local6 =  (_local6, _local3, _local4, _local5, _arg1[(_local7 + 15)], 10, -30611744); _local5 =  (_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 15, -1560198380); _local4 =  (_local4, _local5, _local6, _local3, _arg1[(_local7 + 13)], 21, 1309151649); _local3 =  (_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 6, -145523070); _local6 =  (_local6, _local3, _local4, _local5, _arg1[(_local7 + 11)], 10, -1120210379); _local5 =  (_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 15, 718787259); _local4 =  (_local4, _local5, _local6, _local3, _arg1[(_local7 + 9)], 21, -343485551); _local3 =  (_local3, _local8); _local4 =  (_local4, _local9); _local5 =  (_local5, _local10); _local6 =  (_local6, _local11); _local7 = (_local7 + 16); }; return (new Array(_local3, _local4, _local5, _local6)); } private function  (_arg1:String):String{ return ( ( ( (_arg1), (_arg1.length *  )))); } private function  (_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return ( (((_arg2 ^ _arg3) ^ _arg4), _arg1, _arg2, _arg5, _arg6, _arg7)); } private function  (_arg1:String, _arg2:String):String{ return ( ( (_arg1, _arg2))); } private function  (_arg1:String):Array{ var _local2:Array; var _local3:int; var _local4:int; _local2 = new Array(); _local3 = ((1 <<  ) - 1); _local4 = 0; while (_local4 < (_arg1.length *  )) { _local2[(_local4 >> 5)] = (_local2[(_local4 >> 5)] | ((_arg1.charCodeAt((_local4 /  )) & _local3) << (_local4 % 32))); _local4 = (_local4 +  ); }; return (_local2); } private function  (_arg1:Array):String{ var _local2:String; var _local3:String; var _local4:int; _local2 = "0123456789abcdef"; _local3 = new String(""); _local4 = 0; while (_local4 < (_arg1.length * 4)) { _local3 = (_local3 + (_local2.charAt(((_arg1[(_local4 >> 2)] >> (((_local4 % 4) * 8) + 4)) & 15)) + _local2.charAt(((_arg1[(_local4 >> 2)] >> ((_local4 % 4) * 8)) & 15)))); _local4++; }; return (_local3); } private function  (_arg1:Number, _arg2:Number):Number{ var _local3:int; var _local4:int; _local3 = ((_arg1 & 0xFFFF) + (_arg2 & 0xFFFF)); _local4 = (((_arg1 >> 16) + (_arg2 >> 16)) + (_local3 >> 16)); return (((_local4 << 16) | (_local3 & 0xFFFF))); } private function (_arg1:String):String{ return ( ( ( (_arg1), (_arg1.length *  )))); } private function (_arg1:String, _arg2:String):String{ return ( ( (_arg1, _arg2))); } private function (_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return ( (((_arg2 & _arg3) | (~(_arg2) & _arg4)), _arg1, _arg2, _arg5, _arg6, _arg7)); } } }//package com.nitrome.util
Section 137
//Trig (com.nitrome.util.Trig) package com.nitrome.util { public class Trig { protected static var hasSetup:Boolean = false; public static var cos:Array; public static var sin:Array; public static function getCos(_arg1:Number):Number{ _arg1 = (_arg1 % 360); if (_arg1 < 0){ _arg1 = (_arg1 + 360); }; return (cos[(_arg1 << 0)]); } public static function getSin(_arg1:Number):Number{ _arg1 = (_arg1 % 360); if (_arg1 < 0){ _arg1 = (_arg1 + 360); }; return (sin[(_arg1 << 0)]); } public static function setup():void{ var _local1:int; if (hasSetup){ return; }; sin = []; cos = []; _local1 = 0; while (_local1 <= 360) { sin[_local1] = Math.sin(((_local1 * Math.PI) / 180)); cos[_local1] = Math.cos(((_local1 * Math.PI) / 180)); _local1++; }; } } }//package com.nitrome.util
Section 138
//BaseButton (fl.controls.BaseButton) package fl.controls { import flash.display.*; import flash.events.*; import fl.core.*; import fl.events.*; import flash.utils.*; public class BaseButton extends UIComponent { protected var _selected:Boolean;// = false private var  :String; protected var  :Timer; protected var mouseState:String; protected var background:DisplayObject; private var :Boolean;// = false protected var  :Boolean;// = false private static var defaultStyles:Object = {upSkin:"Button_upSkin", downSkin:"Button_downSkin", overSkin:"Button_overSkin", disabledSkin:"Button_disabledSkin", selectedDisabledSkin:"Button_selectedDisabledSkin", selectedUpSkin:"Button_selectedUpSkin", selectedDownSkin:"Button_selectedDownSkin", selectedOverSkin:"Button_selectedOverSkin", focusRectSkin:null, focusRectPadding:null, repeatDelay:500, repeatInterval:35}; public function BaseButton(){ _selected = false;  = false;  = false; super(); buttonMode = true; mouseChildren = false; useHandCursor = false; (); setMouseState("up");   = new Timer(1, 0);  .addEventListener(TimerEvent.TIMER, buttonDown, false, 0, true); } protected function endPress():void{  .reset(); } public function set mouseStateLocked(_arg1:Boolean):void{  = _arg1; if (_arg1 == false){ setMouseState( ); } else {   = mouseState; }; } public function get autoRepeat():Boolean{ return ( ); } public function set autoRepeat(_arg1:Boolean):void{  = _arg1; } override public function set enabled(_arg1:Boolean):void{ super.enabled = _arg1; mouseEnabled = _arg1; } public function get selected():Boolean{ return (_selected); } protected function  (_arg1:MouseEvent):void{ if (_arg1.type == MouseEvent.MOUSE_DOWN){ setMouseState("down"); startPress(); } else { if ((((_arg1.type == MouseEvent.ROLL_OVER)) || ((_arg1.type == MouseEvent.MOUSE_UP)))){ setMouseState("over"); endPress(); } else { if (_arg1.type == MouseEvent.ROLL_OUT){ setMouseState("up"); endPress(); }; }; }; } public function setMouseState(_arg1:String):void{ if (){   = _arg1; return; }; if (mouseState == _arg1){ return; }; mouseState = _arg1; invalidate(InvalidationType.STATE); } protected function startPress():void{ if ( ){  .delay = Number(getStyleValue("repeatDelay"));  .start(); }; dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true)); } protected function buttonDown(_arg1:TimerEvent):void{ if (! ){ endPress(); return; }; if ( .currentCount == 1){  .delay = Number(getStyleValue("repeatInterval")); }; dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true)); } public function set selected(_arg1:Boolean):void{ if (_selected == _arg1){ return; }; _selected = _arg1; invalidate(InvalidationType.STATE); } override public function get enabled():Boolean{ return (super.enabled); } override protected function draw():void{ if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){ drawBackground(); invalidate(InvalidationType.SIZE, false); }; if (isInvalid(InvalidationType.SIZE)){ drawLayout(); }; super.draw(); } protected function ():void{ addEventListener(MouseEvent.ROLL_OVER,  , false, 0, true); addEventListener(MouseEvent.MOUSE_DOWN,  , false, 0, true); addEventListener(MouseEvent.MOUSE_UP,  , false, 0, true); addEventListener(MouseEvent.ROLL_OUT,  , false, 0, true); } protected function drawLayout():void{ background.width = width; background.height = height; } protected function drawBackground():void{ var _local1:String; var _local2:DisplayObject; _local1 = (enabled) ? mouseState : "disabled"; if (selected){ _local1 = (("selected" + _local1.substr(0, 1).toUpperCase()) + _local1.substr(1)); }; _local1 = (_local1 + "Skin"); _local2 = background; background = getDisplayObjectInstance(getStyleValue(_local1)); addChildAt(background, 0); if (((!((_local2 == null))) && (!((_local2 == background))))){ removeChild(_local2); }; } public static function getStyleDefinition():Object{ return (defaultStyles); } } }//package fl.controls
Section 139
//Button (fl.controls.Button) package fl.controls { import flash.display.*; import fl.core.*; import fl.managers.*; public class Button extends LabelButton implements IFocusManagerComponent { protected var  :DisplayObject; protected var   :Boolean;// = false private static var defaultStyles:Object = {emphasizedSkin:"Button_emphasizedSkin", emphasizedPadding:2}; public static var createAccessibilityImplementation:Function; public function Button(){   = false; super(); } override public function drawFocus(_arg1:Boolean):void{ var _local2:Number; var _local3:*; super.drawFocus(_arg1); if (_arg1){ _local2 = Number(getStyleValue("emphasizedPadding")); if ((((_local2 < 0)) || (!(  )))){ _local2 = 0; }; _local3 = getStyleValue("focusRectPadding"); _local3 = ((_local3)==null) ? 2 : _local3; _local3 = (_local3 + _local2); uiFocusRect.x = -(_local3); uiFocusRect.y = -(_local3); uiFocusRect.width = (width + (_local3 * 2)); uiFocusRect.height = (height + (_local3 * 2)); }; } public function set emphasized(_arg1:Boolean):void{   = _arg1; invalidate(InvalidationType.STYLES); } override protected function draw():void{ if (((isInvalid(InvalidationType.STYLES)) || (isInvalid(InvalidationType.SIZE)))){   (); }; super.draw(); if (  != null){ setChildIndex( , (numChildren - 1)); }; } public function get emphasized():Boolean{ return (  ); } override protected function initializeAccessibility():void{ if (Button.createAccessibilityImplementation != null){ Button.createAccessibilityImplementation(this); }; } protected function   ():void{ var _local1:Object; var _local2:Number; if (  != null){ removeChild( ); };   = null; if (!  ){ return; }; _local1 = getStyleValue("emphasizedSkin"); if (_local1 != null){   = getDisplayObjectInstance(_local1); }; if (  != null){ addChildAt( , 0); _local2 = Number(getStyleValue("emphasizedPadding"));  .x = ( .y = -(_local2));  .width = (width + (_local2 * 2));  .height = (height + (_local2 * 2)); }; } public static function getStyleDefinition():Object{ return (UIComponent.mergeStyles(LabelButton.getStyleDefinition(), defaultStyles)); } } }//package fl.controls
Section 140
//ButtonLabelPlacement (fl.controls.ButtonLabelPlacement) package fl.controls { public class ButtonLabelPlacement { public static const TOP:String = "top"; public static const LEFT:String = "left"; public static const BOTTOM:String = "bottom"; public static const RIGHT:String = "right"; } }//package fl.controls
Section 141
//CheckBox (fl.controls.CheckBox) package fl.controls { import flash.display.*; public class CheckBox extends LabelButton { private static var defaultStyles:Object = {icon:null, upIcon:"CheckBox_upIcon", downIcon:"CheckBox_downIcon", overIcon:"CheckBox_overIcon", disabledIcon:"CheckBox_disabledIcon", selectedDisabledIcon:"CheckBox_selectedDisabledIcon", focusRectSkin:null, focusRectPadding:null, selectedUpIcon:"CheckBox_selectedUpIcon", selectedDownIcon:"CheckBox_selectedDownIcon", selectedOverIcon:"CheckBox_selectedOverIcon", textFormat:null, disabledTextFormat:null, embedFonts:null, textPadding:5}; public static var createAccessibilityImplementation:Function; override public function drawFocus(_arg1:Boolean):void{ var _local2:Number; super.drawFocus(_arg1); if (_arg1){ _local2 = Number(getStyleValue("focusRectPadding")); uiFocusRect.x = (background.x - _local2); uiFocusRect.y = (background.y - _local2); uiFocusRect.width = (background.width + (_local2 << 1)); uiFocusRect.height = (background.height + (_local2 << 1)); }; } override public function get autoRepeat():Boolean{ return (false); } override public function set autoRepeat(_arg1:Boolean):void{ } override public function set toggle(_arg1:Boolean):void{ throw (new Error("Warning: You cannot change a CheckBox's toggle.")); } override public function get toggle():Boolean{ return (true); } override protected function configUI():void{ var _local1:Shape; var _local2:Graphics; super.configUI(); super.toggle = true; _local1 = new Shape(); _local2 = _local1.graphics; _local2.beginFill(0, 0); _local2.drawRect(0, 0, 100, 100); _local2.endFill(); background = (_local1 as DisplayObject); addChildAt(background, 0); } override protected function drawLayout():void{ var _local1:Number; super.drawLayout(); _local1 = Number(getStyleValue("textPadding")); switch (_labelPlacement){ case ButtonLabelPlacement.RIGHT: icon.x = _local1; textField.x = (icon.x + (icon.width + _local1)); background.width = ((textField.x + textField.width) + _local1); background.height = (Math.max(textField.height, icon.height) + (_local1 * 2)); break; case ButtonLabelPlacement.LEFT: icon.x = ((width - icon.width) - _local1); textField.x = (((width - icon.width) - (_local1 * 2)) - textField.width); background.width = ((textField.width + icon.width) + (_local1 * 3)); background.height = (Math.max(textField.height, icon.height) + (_local1 * 2)); break; case ButtonLabelPlacement.TOP: case ButtonLabelPlacement.BOTTOM: background.width = (Math.max(textField.width, icon.width) + (_local1 * 2)); background.height = ((textField.height + icon.height) + (_local1 * 3)); break; }; background.x = Math.min((icon.x - _local1), (textField.x - _local1)); background.y = Math.min((icon.y - _local1), (textField.y - _local1)); } override protected function drawBackground():void{ } override protected function initializeAccessibility():void{ if (CheckBox.createAccessibilityImplementation != null){ CheckBox.createAccessibilityImplementation(this); }; } public static function getStyleDefinition():Object{ return (defaultStyles); } } }//package fl.controls
Section 142
//LabelButton (fl.controls.LabelButton) package fl.controls { import flash.display.*; import flash.events.*; import fl.core.*; import fl.managers.*; import fl.events.*; import flash.text.*; import flash.ui.*; public class LabelButton extends BaseButton implements IFocusManagerComponent { protected var _labelPlacement:String;// = "right" protected var  :Boolean;// = false protected var icon:DisplayObject; protected var  :String; protected var mode:String;// = "center" public var textField:TextField; protected var  :String;// = "Label" private static var defaultStyles:Object = {icon:null, upIcon:null, downIcon:null, overIcon:null, disabledIcon:null, selectedDisabledIcon:null, selectedUpIcon:null, selectedDownIcon:null, selectedOverIcon:null, textFormat:null, disabledTextFormat:null, textPadding:5, embedFonts:false}; public static var createAccessibilityImplementation:Function; public function LabelButton(){ _labelPlacement = ButtonLabelPlacement.RIGHT;   = false;   = "Label"; mode = "center"; super(); } protected function  (_arg1:MouseEvent):void{ selected = !(selected); dispatchEvent(new Event(Event.CHANGE, true)); } public function get labelPlacement():String{ return (_labelPlacement); } override protected function keyDownHandler(_arg1:KeyboardEvent):void{ if (!enabled){ return; }; if (_arg1.keyCode == Keyboard.SPACE){ if (  == null){   = mouseState; }; setMouseState("down"); startPress(); }; } protected function  (){ var _local1:Object; _local1 = getStyleValue("embedFonts"); if (_local1 != null){ textField.embedFonts = _local1; }; } override protected function keyUpHandler(_arg1:KeyboardEvent):void{ if (!enabled){ return; }; if (_arg1.keyCode == Keyboard.SPACE){ setMouseState( );   = null; endPress(); dispatchEvent(new MouseEvent(MouseEvent.CLICK)); }; } override public function get selected():Boolean{ return (( ) ? _selected : false); } public function set labelPlacement(_arg1:String):void{ _labelPlacement = _arg1; invalidate(InvalidationType.SIZE); } public function set toggle(_arg1:Boolean):void{ if (((!(_arg1)) && (super.selected))){ selected = false; };   = _arg1; if ( ){ addEventListener(MouseEvent.CLICK,  , false, 0, true); } else { removeEventListener(MouseEvent.CLICK,  ); }; invalidate(InvalidationType.STATE); } public function get label():String{ return ( ); } override public function set selected(_arg1:Boolean):void{ _selected = _arg1; if ( ){ invalidate(InvalidationType.STATE); }; } override protected function draw():void{ if (textField.text !=  ){ label =  ; }; if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){ drawBackground();   ();   (); invalidate(InvalidationType.SIZE, false); }; if (isInvalid(InvalidationType.SIZE)){ drawLayout(); }; if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){ if (((isFocused) && (focusManager.showFocusIndicator))){ drawFocus(true); }; }; validate(); } public function get toggle():Boolean{ return ( ); } override protected function configUI():void{ super.configUI(); textField = new TextField(); textField.type = TextFieldType.DYNAMIC; textField.selectable = false; addChild(textField); } override protected function drawLayout():void{ var _local1:Number; var _local2:String; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; _local1 = Number(getStyleValue("textPadding")); _local2 = ((((icon == null)) && ((mode == "center")))) ? ButtonLabelPlacement.TOP : _labelPlacement; textField.height = (textField.textHeight + 4); _local3 = (textField.textWidth + 4); _local4 = (textField.textHeight + 4); _local5 = ((icon)==null) ? 0 : (icon.width + _local1); _local6 = ((icon)==null) ? 0 : (icon.height + _local1); textField.visible = (label.length > 0); if (icon != null){ icon.x = Math.round(((width - icon.width) / 2)); icon.y = Math.round(((height - icon.height) / 2)); }; if (textField.visible == false){ textField.width = 0; textField.height = 0; } else { if ((((_local2 == ButtonLabelPlacement.BOTTOM)) || ((_local2 == ButtonLabelPlacement.TOP)))){ _local7 = Math.max(0, Math.min(_local3, (width - (2 * _local1)))); if ((height - 2) > _local4){ _local8 = _local4; } else { _local8 = (height - 2); }; _local3 = _local7; textField.width = _local3; _local4 = _local8; textField.height = _local4; textField.x = Math.round(((width - _local3) / 2)); textField.y = Math.round(((((height - textField.height) - _local6) / 2) + ((_local2)==ButtonLabelPlacement.BOTTOM) ? _local6 : 0)); if (icon != null){ icon.y = Math.round(((_local2)==ButtonLabelPlacement.BOTTOM) ? (textField.y - _local6) : ((textField.y + textField.height) + _local1)); }; } else { _local7 = Math.max(0, Math.min(_local3, ((width - _local5) - (2 * _local1)))); _local3 = _local7; textField.width = _local3; textField.x = Math.round(((((width - _local3) - _local5) / 2) + ((_local2)!=ButtonLabelPlacement.LEFT) ? _local5 : 0)); textField.y = Math.round(((height - textField.height) / 2)); if (icon != null){ icon.x = Math.round(((_local2)!=ButtonLabelPlacement.LEFT) ? (textField.x - _local5) : ((textField.x + _local3) + _local1)); }; }; }; super.drawLayout(); } override protected function initializeAccessibility():void{ if (LabelButton.createAccessibilityImplementation != null){ LabelButton.createAccessibilityImplementation(this); }; } protected function   ():void{ var _local1:DisplayObject; var _local2:String; var _local3:Object; _local1 = icon; _local2 = (enabled) ? mouseState : "disabled"; if (selected){ _local2 = (("selected" + _local2.substr(0, 1).toUpperCase()) + _local2.substr(1)); }; _local2 = (_local2 + "Icon"); _local3 = getStyleValue(_local2); if (_local3 == null){ _local3 = getStyleValue("icon"); }; if (_local3 != null){ icon = getDisplayObjectInstance(_local3); }; if (icon != null){ addChildAt(icon, 1); }; if (((!((_local1 == null))) && (!((_local1 == icon))))){ removeChild(_local1); }; } public function set label(_arg1:String):void{   = _arg1; if (textField.text !=  ){ textField.text =  ; dispatchEvent(new ComponentEvent(ComponentEvent.LABEL_CHANGE)); }; invalidate(InvalidationType.SIZE); invalidate(InvalidationType.STYLES); } protected function   ():void{ var _local1:Object; var _local2:TextFormat; var _local3:TextFormat; _local1 = UIComponent.getStyleDefinition(); _local2 = (enabled) ? (_local1.defaultTextFormat as TextFormat) : (_local1.defaultDisabledTextFormat as TextFormat); textField.setTextFormat(_local2); _local3 = (getStyleValue((enabled) ? "textFormat" : "disabledTextFormat") as TextFormat); if (_local3 != null){ textField.setTextFormat(_local3); } else { _local3 = _local2; }; textField.defaultTextFormat = _local3;  (); } public static function getStyleDefinition():Object{ return (mergeStyles(defaultStyles, BaseButton.getStyleDefinition())); } } }//package fl.controls
Section 143
//ScrollBar (fl.controls.ScrollBar) package fl.controls { import flash.events.*; import fl.core.*; import fl.events.*; public class ScrollBar extends UIComponent { private var :String;// = "vertical" protected var inDrag:Boolean;// = false protected var  :BaseButton; private var  :Number;// = 0 protected var  :BaseButton; private var  :Number;// = 10 private var  :Number; private var  :Number;// = 0 private var  :Number;// = 0 protected var  :BaseButton; private var  :Number;// = 0 private var  :Number;// = 1 protected var  :LabelButton; protected static const THUMB_STYLES:Object = {disabledSkin:"thumbDisabledSkin", downSkin:"thumbDownSkin", overSkin:"thumbOverSkin", upSkin:"thumbUpSkin", icon:"thumbIcon", textPadding:0}; public static const WIDTH:Number = 15; protected static const DOWN_ARROW_STYLES:Object = {disabledSkin:"downArrowDisabledSkin", downSkin:"downArrowDownSkin", overSkin:"downArrowOverSkin", upSkin:"downArrowUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"}; protected static const UP_ARROW_STYLES:Object = {disabledSkin:"upArrowDisabledSkin", downSkin:"upArrowDownSkin", overSkin:"upArrowOverSkin", upSkin:"upArrowUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"}; protected static const TRACK_STYLES:Object = {disabledSkin:"trackDisabledSkin", downSkin:"trackDownSkin", overSkin:"trackOverSkin", upSkin:"trackUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"}; private static var defaultStyles:Object = {downArrowDisabledSkin:"ScrollArrowDown_disabledSkin", downArrowDownSkin:"ScrollArrowDown_downSkin", downArrowOverSkin:"ScrollArrowDown_overSkin", downArrowUpSkin:"ScrollArrowDown_upSkin", thumbDisabledSkin:"ScrollThumb_upSkin", thumbDownSkin:"ScrollThumb_downSkin", thumbOverSkin:"ScrollThumb_overSkin", thumbUpSkin:"ScrollThumb_upSkin", trackDisabledSkin:"ScrollTrack_skin", trackDownSkin:"ScrollTrack_skin", trackOverSkin:"ScrollTrack_skin", trackUpSkin:"ScrollTrack_skin", upArrowDisabledSkin:"ScrollArrowUp_disabledSkin", upArrowDownSkin:"ScrollArrowUp_downSkin", upArrowOverSkin:"ScrollArrowUp_overSkin", upArrowUpSkin:"ScrollArrowUp_upSkin", thumbIcon:"ScrollBar_thumbIcon", repeatDelay:500, repeatInterval:35}; public function ScrollBar(){   = 10;   = 0;   = 1;   = 0;   = 0;   = 0;  = ScrollBarDirection.VERTICAL; inDrag = false; super();  (); focusEnabled = false; } public function get minScrollPosition():Number{ return ( ); } public function set minScrollPosition(_arg1:Number):void{ setScrollProperties( , _arg1,  ); } public function setScrollPosition(_arg1:Number, _arg2:Boolean=true):void{ var _local3:Number; _local3 = scrollPosition;   = Math.max( , Math.min( , _arg1)); if (_local3 ==  ){ return; }; if (_arg2){ dispatchEvent(new ScrollEvent(, (scrollPosition - _local3), scrollPosition)); };  (); } public function set scrollPosition(_arg1:Number):void{ setScrollPosition(_arg1, true); } public function get pageScrollSize():Number{ return ((( )==0) ?   :  ); } public function set pageSize(_arg1:Number):void{ if (_arg1 > 0){   = _arg1; }; } public function setScrollProperties(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number=0):void{ this.pageSize = _arg1;   = _arg2;   = _arg3; if (_arg4 >= 0){   = _arg4; }; enabled = (  >  ); setScrollPosition( , false);  (); } override public function set enabled(_arg1:Boolean):void{ super.enabled = _arg1;  .enabled = ( .enabled = ( .enabled = ( .enabled = ((enabled) && ((  >  ))))));  (); } protected function  ():void{ var _local1:Number; _local1 = ((  -  ) +  ); if (((((( .height <= 12)) || ((  <=  )))) || ((((_local1 == 0)) || (isNaN(_local1)))))){  .height = 12;  .visible = false; } else {  .height = Math.max(13, ((  / _local1) *  .height));  .y = ( .y + (( .height -  .height) * ((  -  ) / (  -  ))));  .visible = enabled; }; } protected function  (_arg1:MouseEvent):void{ inDrag = true;  = (mouseY -  .y);  .mouseStateLocked = true; mouseChildren = false; stage.addEventListener(MouseEvent.MOUSE_MOVE,  , false, 0, true); stage.addEventListener(MouseEvent.MOUSE_UP,  , false, 0, true); } protected function  (_arg1:MouseEvent):void{ inDrag = false; mouseChildren = true;  .mouseStateLocked = false; stage.removeEventListener(MouseEvent.MOUSE_MOVE,  ); stage.removeEventListener(MouseEvent.MOUSE_UP,  ); } public function set pageScrollSize(_arg1:Number):void{ if (_arg1 >= 0){   = _arg1; }; } protected function  (_arg1:MouseEvent):void{ var _local2:Number; _local2 = Math.max(0, Math.min(( .height -  .height), ((mouseY -  .y) -  ))); setScrollPosition((((_local2 / ( .height -  .height)) * (  -  )) +  )); } public function set direction(_arg1:String):void{ var _local2:Boolean; if ( == _arg1){ return; };  = _arg1; if (isLivePreview){ return; }; setScaleY(1); _local2 = ( == ScrollBarDirection.HORIZONTAL); if (((_local2) && (componentInspectorSetting))){ if (rotation == 90){ return; }; setScaleX(-1); rotation = -90; }; if (!componentInspectorSetting){ if (((_local2) && ((rotation == 0)))){ rotation = -90; setScaleX(-1); } else { if (((!(_local2)) && ((rotation == -90)))){ rotation = 0; setScaleX(1); }; }; }; invalidate(InvalidationType.SIZE); } public function set lineScrollSize(_arg1:Number):void{ if (_arg1 > 0){   = _arg1; }; } override public function get height():Number{ return ((()==ScrollBarDirection.HORIZONTAL) ? super.width : super.height); } protected function  (_arg1:ComponentEvent):void{ var _local2:Number; var _local3:Number; _arg1.stopImmediatePropagation(); if (_arg1.currentTarget ==  ){ setScrollPosition((  -  )); } else { if (_arg1.currentTarget ==  ){ setScrollPosition((  +  )); } else { _local2 = ((( .mouseY /  .height) * (  -  )) +  ); _local3 = ((pageScrollSize)==0) ? pageSize : pageScrollSize; if (  < _local2){ setScrollPosition(Math.min(_local2, (  + _local3))); } else { if (  > _local2){ setScrollPosition(Math.max(_local2, (  - _local3))); }; }; }; }; } public function get pageSize():Number{ return ( ); } public function set maxScrollPosition(_arg1:Number):void{ setScrollProperties( ,  , _arg1); } public function get scrollPosition():Number{ return ( ); } override public function get enabled():Boolean{ return (super.enabled); } override protected function draw():void{ var _local1:Number; if (isInvalid(InvalidationType.SIZE)){ _local1 = super.height;  .move(0, Math.max( .height, (_local1 -  .height)));  .setSize(WIDTH, Math.max(0, (_local1 - ( .height +  .height))));  (); }; if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){  (); };  .drawNow();  .drawNow();  .drawNow();  .drawNow(); validate(); } override protected function configUI():void{ super.configUI();   = new BaseButton();  .move(0, 14);  .useHandCursor = false;  .autoRepeat = true;  .focusEnabled = false; addChild( );   = new LabelButton();  .label = "";  .setSize(WIDTH, 15);  .move(0, 15);  .focusEnabled = false; addChild( );   = new BaseButton();  .setSize(WIDTH, 14);  .autoRepeat = true;  .focusEnabled = false; addChild( );   = new BaseButton();  .setSize(WIDTH, 14);  .move(0, 0);  .autoRepeat = true;  .focusEnabled = false; addChild( );  .addEventListener(ComponentEvent.BUTTON_DOWN,  , false, 0, true);  .addEventListener(ComponentEvent.BUTTON_DOWN,  , false, 0, true);  .addEventListener(ComponentEvent.BUTTON_DOWN,  , false, 0, true);  .addEventListener(MouseEvent.MOUSE_DOWN,  , false, 0, true); enabled = false; } public function get direction():String{ return (); } public function get lineScrollSize():Number{ return ( ); } override public function setSize(_arg1:Number, _arg2:Number):void{ if ( == ScrollBarDirection.HORIZONTAL){ super.setSize(_arg2, _arg1); } else { super.setSize(_arg1, _arg2); }; } public function get maxScrollPosition():Number{ return ( ); } override public function get width():Number{ return ((()==ScrollBarDirection.HORIZONTAL) ? super.height : super.width); } protected function  ():void{ copyStylesToChild( , DOWN_ARROW_STYLES); copyStylesToChild( , THUMB_STYLES); copyStylesToChild( , TRACK_STYLES); copyStylesToChild( , UP_ARROW_STYLES); } public static function getStyleDefinition():Object{ return (defaultStyles); } } }//package fl.controls
Section 144
//ScrollBarDirection (fl.controls.ScrollBarDirection) package fl.controls { public class ScrollBarDirection { public static const HORIZONTAL:String = "horizontal"; public static const VERTICAL:String = "vertical"; } }//package fl.controls
Section 145
//UIScrollBar (fl.controls.UIScrollBar) package fl.controls { import flash.events.*; import fl.core.*; import fl.events.*; import flash.text.*; public class UIScrollBar extends ScrollBar { protected var  :Boolean;// = false protected var   :TextField; protected var   :Boolean;// = false private static var defaultStyles:Object = {}; public function UIScrollBar(){   = false;   = false; super(); } protected function  (_arg1:Event):void{ if (inDrag){ return; }; if (!enabled){ return; };   = true;   (); scrollPosition = ((direction)==ScrollBarDirection.HORIZONTAL) ?   .scrollH :   .scrollV;   = false; } override public function set minScrollPosition(_arg1:Number):void{ super.minScrollPosition = ((_arg1)<0) ? 0 : _arg1; } override public function setScrollPosition(_arg1:Number, _arg2:Boolean=true):void{ super.setScrollPosition(_arg1, _arg2); if (!  ){   = false; return; };  (); } override public function setScrollProperties(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number=0):void{ var _local5:Number; var _local6:Number; _local5 = _arg3; _local6 = ((_arg2)<0) ? 0 : _arg2; if (  != null){ if (direction == ScrollBarDirection.HORIZONTAL){ _local5 = ((_arg3)>  .maxScrollH) ?   .maxScrollH : _local5; } else { _local5 = ((_arg3)>  .maxScrollV) ?   .maxScrollV : _local5; }; }; super.setScrollProperties(_arg1, _local6, _local5, _arg4); } public function get scrollTargetName():String{ return (  .name); } public function get scrollTarget():TextField{ return (  ); } protected function   ():void{ var _local1:Boolean; var _local2:Number; if (  == null){ setScrollProperties(pageSize, minScrollPosition, maxScrollPosition, pageScrollSize); scrollPosition = 0; } else { _local1 = (direction == ScrollBarDirection.HORIZONTAL); _local2 = (_local1) ?   .width : 10; setScrollProperties(_local2, (_local1) ? 0 : 1, (_local1) ?   .maxScrollH :   .maxScrollV, pageScrollSize); scrollPosition = (_local1) ?   .scrollH :   .scrollV; }; } public function update():void{   = true;   ();   = false; } public function set scrollTargetName(_arg1:String):void{ var target = _arg1; try { scrollTarget = (parent.getChildByName(target) as TextField); } catch(error:Error) { throw (new Error("ScrollTarget not found, or is not a TextField")); }; } override public function set direction(_arg1:String):void{ if (isLivePreview){ return; }; super.direction = _arg1;   (); } protected function  (_arg1:Event):void{   = true; setScrollPosition(((direction)==ScrollBarDirection.HORIZONTAL) ?   .scrollH :   .scrollV, true);   ();   = false; } override public function set maxScrollPosition(_arg1:Number):void{ var _local2:Number; _local2 = _arg1; if (  != null){ if (direction == ScrollBarDirection.HORIZONTAL){ _local2 = ((_local2)>  .maxScrollH) ?   .maxScrollH : _local2; } else { _local2 = ((_local2)>  .maxScrollV) ?   .maxScrollV : _local2; }; }; super.maxScrollPosition = _local2; } protected function  (_arg1:ScrollEvent=null):void{ if (  ){ return; }; if (direction == ScrollBarDirection.HORIZONTAL){   .scrollH = scrollPosition; } else {   .scrollV = scrollPosition; }; } override protected function draw():void{ if (isInvalid(InvalidationType.DATA)){   (); }; super.draw(); } public function set scrollTarget(_arg1:TextField):void{ if (  != null){   .removeEventListener(Event.CHANGE,  , false);   .removeEventListener(TextEvent.TEXT_INPUT,  , false);   .removeEventListener(Event.SCROLL,  , false); removeEventListener(ScrollEvent.SCROLL,  , false); };   = _arg1; if (  != null){   .addEventListener(Event.CHANGE,  , false, 0, true);   .addEventListener(TextEvent.TEXT_INPUT,  , false, 0, true);   .addEventListener(Event.SCROLL,  , false, 0, true); addEventListener(ScrollEvent.SCROLL,  , false, 0, true); }; invalidate(InvalidationType.DATA); } override public function get direction():String{ return (super.direction); } public static function getStyleDefinition():Object{ return (UIComponent.mergeStyles(defaultStyles, ScrollBar.getStyleDefinition())); } } }//package fl.controls
Section 146
//ComponentShim (fl.core.ComponentShim) package fl.core { import flash.display.*; public dynamic class ComponentShim extends MovieClip { } }//package fl.core
Section 147
//InvalidationType (fl.core.InvalidationType) package fl.core { public class InvalidationType { public static const SIZE:String = "size"; public static const ALL:String = "all"; public static const DATA:String = "data"; public static const SCROLL:String = "scroll"; public static const STATE:String = "state"; public static const STYLES:String = "styles"; public static const SELECTED:String = "selected"; public static const RENDERER_STYLES:String = "rendererStyles"; } }//package fl.core
Section 148
//UIComponent (fl.core.UIComponent) package fl.core { import flash.display.*; import flash.events.*; import fl.managers.*; import fl.events.*; import flash.text.*; import flash.utils.*; import flash.system.*; public class UIComponent extends Sprite { protected var :Boolean;// = true private var  :Boolean;// = true protected var  :Number; protected var  :Number; protected var :String;// = null protected var :Number; public var  :IFocusManagerComponent; protected var  :Boolean;// = false protected var uiFocusRect:DisplayObject; protected var  :Number; public var :String;// = "3.0.0.15" protected var isFocused:Boolean;// = false protected var :Dictionary; private var  :Boolean;// = true private var  :TextField; protected var :Boolean;// = false protected var :Boolean;// = false protected var  :Object; protected var  :Object; protected var isLivePreview:Boolean;// = false protected var :String;// = null protected var :Object; protected var _x:Number; protected var :Number; public static var inCallLaterPhase:Boolean = false; private static var defaultStyles:Object = {focusRectSkin:"focusRectSkin", focusRectPadding:2, textFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), disabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), defaultTextFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), defaultDisabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0)}; public static var createAccessibilityImplementation:Function; private static var focusManagers:Dictionary = new Dictionary(false); public function UIComponent(){  = "3.0.0.15"; isLivePreview = false;  = false;  = true; isFocused = false;  = true;  = true;  = null;  = null;  = false;  = false; super();  = {};  = {};  = {};  = new Dictionary(); StyleManager.registerInstance(this); configUI(); invalidate(InvalidationType.ALL); tabEnabled = (this is IFocusManagerComponent); focusRect = false; if (tabEnabled){ addEventListener(FocusEvent.FOCUS_IN,  ); addEventListener(FocusEvent.FOCUS_OUT, ); addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); addEventListener(KeyboardEvent.KEY_UP, keyUpHandler); }; (); addEventListener(Event.ENTER_FRAME, , false, 0, true); } public function drawFocus(_arg1:Boolean):void{ var _local2:Number; isFocused = _arg1; if (((!((uiFocusRect == null))) && (contains(uiFocusRect)))){ removeChild(uiFocusRect); uiFocusRect = null; }; if (_arg1){ uiFocusRect = (getDisplayObjectInstance(getStyleValue("focusRectSkin")) as Sprite); if (uiFocusRect == null){ return; }; _local2 = Number(getStyleValue("focusRectPadding")); uiFocusRect.x = -(_local2); uiFocusRect.y = -(_local2); uiFocusRect.width = (width + (_local2 * 2)); uiFocusRect.height = (height + (_local2 * 2)); addChildAt(uiFocusRect, 0); }; } private function  (_arg1:Event):void{ var _local2:Dictionary; var _local3:Object; if (_arg1.type == Event.ADDED_TO_STAGE){ removeEventListener(Event.ADDED_TO_STAGE,  ); stage.addEventListener(Event.RENDER,  , false, 0, true); stage.invalidate(); return; }; _arg1.target.removeEventListener(Event.RENDER,  ); if (stage == null){ addEventListener(Event.ADDED_TO_STAGE,  , false, 0, true); return; }; inCallLaterPhase = true; _local2 = ; for (_local3 in _local2) { _local3(); delete _local2[_local3]; }; inCallLaterPhase = false; } private function (_arg1:Event):void{ removeEventListener("addedToStage", ); (); } protected function getStyleValue(_arg1:String):Object{ return ((([_arg1])==null) ?  [_arg1] : [_arg1]); } protected function  (_arg1:DisplayObject):Boolean{ return ((_arg1 == this)); } override public function get scaleX():Number{ return ((width / )); } override public function get scaleY():Number{ return ((height /  )); } override public function set height(_arg1:Number):void{ if ( == _arg1){ return; }; setSize(width, _arg1); } protected function keyDownHandler(_arg1:KeyboardEvent):void{ } protected function  (_arg1:FocusEvent):void{ var _local2:IFocusManager; if ( ((_arg1.target as DisplayObject))){ _local2 = focusManager; if (((_local2) && (_local2.showFocusIndicator))){ drawFocus(true); isFocused = true; }; }; } public function (_arg1:String, _arg2:Object):void{ if (((([_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){ return; }; [_arg1] = _arg2; invalidate(InvalidationType.STYLES); } override public function get visible():Boolean{ return (super.visible); } public function get componentInspectorSetting():Boolean{ return (); } override public function get x():Number{ return ((isNaN(_x)) ? super.x : _x); } override public function get y():Number{ return ((isNaN()) ? super.y : ); } protected function (_arg1:Boolean){ var enabled = _arg1; if ( != null){ if (enabled){ IME.enabled = true;  = IME.conversionMode; try { if (((!( )) && (!((IME.conversionMode == IMEConversionMode.UNKNOWN))))){ IME.conversionMode = ; };  = false; } catch(e:Error) {  = true; throw (new Error(("IME mode not supported: " + ))); }; } else { if (((!((IME.conversionMode == IMEConversionMode.UNKNOWN))) && (!(( == IMEConversionMode.UNKNOWN))))){ IME.conversionMode = ; }; IME.enabled = false; }; }; } public function set enabled(_arg1:Boolean):void{ if (_arg1 == ){ return; };  = _arg1; invalidate(InvalidationType.STATE); } public function (_arg1:String, _arg2:Object):void{ if (((( [_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){ return; };  [_arg1] = _arg2; if ([_arg1] == null){ invalidate(InvalidationType.STYLES); }; } protected function keyUpHandler(_arg1:KeyboardEvent):void{ } public function set focusEnabled(_arg1:Boolean):void{  = _arg1; } override public function set scaleX(_arg1:Number):void{ setSize(( * _arg1), height); } public function get mouseFocusEnabled():Boolean{ return ( ); } override public function set scaleY(_arg1:Number):void{ setSize(width, ( * _arg1)); } protected function getDisplayObjectInstance(_arg1:Object):DisplayObject{ var classDef:Object; var skin = _arg1; classDef = null; if ((skin is Class)){ return ((new (skin) as DisplayObject)); }; if ((skin is DisplayObject)){ (skin as DisplayObject).x = 0; (skin as DisplayObject).y = 0; return ((skin as DisplayObject)); }; try { classDef = getDefinitionByName(skin.toString()); } catch(e:Error) { try { classDef = (loaderInfo.applicationDomain.getDefinition(skin.toString()) as Object); } catch(e:Error) { }; }; if (classDef == null){ return (null); }; return ((new (classDef) as DisplayObject)); } protected function copyStylesToChild(_arg1:UIComponent, _arg2:Object):void{ var _local3:String; for (_local3 in _arg2) { _arg1.(_local3, getStyleValue(_arg2[_local3])); }; } protected function ():void{ } protected function (_arg1:Function):void{ if (inCallLaterPhase){ return; }; [_arg1] = true; if (stage != null){ stage.addEventListener(Event.RENDER,  , false, 0, true); stage.invalidate(); } else { addEventListener(Event.ADDED_TO_STAGE,  , false, 0, true); }; } protected function ():void{ if (focusManagers[stage] == null){ focusManagers[stage] = new FocusManager(stage); }; } override public function set visible(_arg1:Boolean):void{ var _local2:String; if (super.visible == _arg1){ return; }; super.visible = _arg1; _local2 = (_arg1) ? ComponentEvent.SHOW : ComponentEvent.HIDE; dispatchEvent(new ComponentEvent(_local2, true)); } protected function (_arg1:Event):void{ removeEventListener(Event.ENTER_FRAME, ); initializeAccessibility(); } public function set componentInspectorSetting(_arg1:Boolean):void{  = _arg1; if (){ (); } else { (); }; } override public function set x(_arg1:Number):void{ move(_arg1, ); } public function drawNow():void{ draw(); } override public function set y(_arg1:Number):void{ move(_x, _arg1); } protected function ():Boolean{ var className:String; if (parent == null){ return (false); }; try { className = getQualifiedClassName(parent); } catch(e:Error) { }; return ((className == "fl.livepreview::LivePreviewParent")); } protected function (_arg1:FocusEvent):void{ if ( ((_arg1.target as DisplayObject))){ drawFocus(false); isFocused = false; }; } public function set mouseFocusEnabled(_arg1:Boolean):void{  = _arg1; } public function getFocus():InteractiveObject{ if (stage){ return (stage.focus); }; return (null); } protected function validate():void{  = {}; } override public function get height():Number{ return ( ); } public function invalidate(_arg1:String="all", _arg2:Boolean=true):void{  [_arg1] = true; if (_arg2){ this.(draw); }; } public function get enabled():Boolean{ return (); } protected function  ():Number{ return (super.scaleX); } protected function ():Number{ return (super.scaleY); } public function get focusEnabled():Boolean{ return ( ); } protected function ():void{ } protected function draw():void{ if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){ if (((isFocused) && (focusManager.showFocusIndicator))){ drawFocus(true); }; }; validate(); } protected function configUI():void{ var _local1:Number; var _local2:Number; var _local3:Number; isLivePreview = (); _local1 = rotation; rotation = 0; _local2 = super.width; _local3 = super.height; var _local4 = 1; super.scaleY = _local4; super.scaleX = _local4; setSize(_local2, _local3); move(super.x, super.y); rotation = _local1;  = _local2;  = _local3; if (numChildren > 0){ removeChildAt(0); }; } protected function setScaleX(_arg1:Number):void{ super.scaleX = _arg1; } protected function setScaleY(_arg1:Number):void{ super.scaleY = _arg1; } private function ():void{ if (stage == null){ addEventListener(Event.ADDED_TO_STAGE, , false, 0, true); } else { (); }; } public function set focusManager(_arg1:IFocusManager):void{ UIComponent.focusManagers[this] = _arg1; } public function (_arg1:String):void{ (_arg1, null); } protected function isInvalid(_arg1:String, ... _args):Boolean{ if ((( [_arg1]) || ( [InvalidationType.ALL]))){ return (true); }; while (_args.length > 0) { if ( [_args.pop()]){ return (true); }; }; return (false); } public function setSize(_arg1:Number, _arg2:Number):void{   = _arg1;  = _arg2; invalidate(InvalidationType.SIZE); dispatchEvent(new ComponentEvent(ComponentEvent.RESIZE, false)); } override public function set width(_arg1:Number):void{ if (  == _arg1){ return; }; setSize(_arg1, height); } public function setFocus():void{ if (stage){ stage.focus = this; }; } protected function initializeAccessibility():void{ if (UIComponent.createAccessibilityImplementation != null){ UIComponent.createAccessibilityImplementation(this); }; } public function get focusManager():IFocusManager{ var _local1:DisplayObject; _local1 = this; while (_local1) { if (UIComponent.focusManagers[_local1] != null){ return (IFocusManager(UIComponent.focusManagers[_local1])); }; _local1 = _local1.parent; }; return (null); } override public function get width():Number{ return ( ); } public function move(_arg1:Number, _arg2:Number):void{ _x = _arg1;  = _arg2; super.x = Math.round(_arg1); super.y = Math.round(_arg2); dispatchEvent(new ComponentEvent(ComponentEvent.MOVE)); } public function ():void{ invalidate(InvalidationType.ALL, false); draw(); } public function (_arg1:String):Object{ return ([_arg1]); } public static function getStyleDefinition():Object{ return (defaultStyles); } public static function mergeStyles(... _args):Object{ var _local2:Object; var _local3:uint; var _local4:uint; var _local5:Object; var _local6:String; _local2 = {}; _local3 = _args.length; _local4 = 0; while (_local4 < _local3) { _local5 = _args[_local4]; for (_local6 in _local5) { if (_local2[_local6] != null){ } else { _local2[_local6] = _args[_local4][_local6]; }; }; _local4++; }; return (_local2); } } }//package fl.core
Section 149
//ComponentEvent (fl.events.ComponentEvent) package fl.events { import flash.events.*; public class ComponentEvent extends Event { public static const HIDE:String = "hide"; public static const BUTTON_DOWN:String = "buttonDown"; public static const MOVE:String = "move"; public static const RESIZE:String = "resize"; public static const ENTER:String = "enter"; public static const LABEL_CHANGE:String = "labelChange"; public static const SHOW:String = "show"; public function ComponentEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } override public function toString():String{ return (formatToString("ComponentEvent", "type", "bubbles", "cancelable")); } override public function clone():Event{ return (new ComponentEvent(type, bubbles, cancelable)); } } }//package fl.events
Section 150
//ScrollEvent (fl.events.ScrollEvent) package fl.events { import flash.events.*; public class ScrollEvent extends Event { private var :Number; private var :String; private var :Number; public static const SCROLL:String = "scroll"; public function ScrollEvent(_arg1:String, _arg2:Number, _arg3:Number){ super(ScrollEvent.SCROLL, false, false);  = _arg1;  = _arg2;  = _arg3; } override public function clone():Event{ return (new ScrollEvent(, , )); } public function get position():Number{ return (); } override public function toString():String{ return (formatToString("ScrollEvent", "type", "bubbles", "cancelable", "direction", "delta", "position")); } public function get delta():Number{ return (); } public function get direction():String{ return (); } } }//package fl.events
Section 151
//FocusManager (fl.managers.FocusManager) package fl.managers { import fl.controls.*; import flash.display.*; import flash.events.*; import fl.core.*; import flash.text.*; import flash.utils.*; import flash.ui.*; public class FocusManager implements IFocusManager { private var  :Dictionary; private var :Boolean;// = true private var :Button; private var :Array; private var :DisplayObjectContainer; private var  :Boolean;// = true private var  :Boolean;// = false private var  :Button; private var  :Boolean;// = true private var  :InteractiveObject; private var  :String; public function FocusManager(_arg1:DisplayObjectContainer){   = false;   = true;  = true;   = true; super();  = new Dictionary(true); if (_arg1 != null){  = _arg1;  (DisplayObject(_arg1)); _arg1.addEventListener(Event.ADDED, ); _arg1.addEventListener(Event.REMOVED,  ); (); }; } public function get showFocusIndicator():Boolean{ return (); } private function  (_arg1:int, _arg2:Boolean, _arg3:Boolean, _arg4:String):int{ var _local5:int; var _local6:int; var _local7:DisplayObject; var _local8:IFocusManagerGroup; var _local9:int; var _local10:DisplayObject; var _local11:IFocusManagerGroup; _local5 = .length; _local6 = _arg1; while (true) { if (_arg2){ _arg1--; } else { _arg1++; }; if (_arg3){ if (((_arg2) && ((_arg1 < 0)))){ break; }; if (((!(_arg2)) && ((_arg1 == _local5)))){ break; }; } else { _arg1 = ((_arg1 + _local5) % _local5); if (_local6 == _arg1){ break; }; }; if (([_arg1], _arg4)){ _local7 = DisplayObject(([_arg1])); if ((_local7 is IFocusManagerGroup)){ _local8 = IFocusManagerGroup(_local7); _local9 = 0; while (_local9 < .length) { _local10 = [_local9]; if ((_local10 is IFocusManagerGroup)){ _local11 = IFocusManagerGroup(_local10); if ((((_local11.groupName == _local8.groupName)) && (_local11.selected))){ _arg1 = _local9; break; }; }; _local9++; }; }; return (_arg1); }; }; return (_arg1); } public function set form(_arg1:DisplayObjectContainer):void{  = _arg1; } private function  (_arg1:DisplayObject, _arg2:Boolean=false):void{ var focusable:IFocusManagerComponent; var io:InteractiveObject; var doc:DisplayObjectContainer; var i:int; var child:DisplayObject; var o = _arg1; var skipTopLevel = _arg2; if (!skipTopLevel){ if ((o is IFocusManagerComponent)){ focusable = IFocusManagerComponent(o); if (focusable.focusEnabled){ if (((focusable.tabEnabled) && ( (o)))){  [o] = true;   = true; }; o.addEventListener(Event.TAB_ENABLED_CHANGE,  ); o.addEventListener(Event.TAB_INDEX_CHANGE, ); }; } else { if ((o is InteractiveObject)){ io = (o as InteractiveObject); if (((((io) && (io.tabEnabled))) && (((io) == io)))){  [io] = true;   = true; }; io.addEventListener(Event.TAB_ENABLED_CHANGE,  ); io.addEventListener(Event.TAB_INDEX_CHANGE, ); }; }; }; if ((o is DisplayObjectContainer)){ doc = DisplayObjectContainer(o); o.addEventListener(Event.TAB_CHILDREN_CHANGE,  ); if ((((((doc is Stage)) || ((doc.parent is Stage)))) || (doc.tabChildren))){ i = 0; while (i < doc.numChildren) { try { child = doc.getChildAt(i); if (child != null){  (doc.getChildAt(i)); }; } catch(error:SecurityError) { }; i = (i + 1); }; }; }; } private function getChildIndex(_arg1:DisplayObjectContainer, _arg2:DisplayObject):int{ return (_arg1.getChildIndex(_arg2)); } private function (_arg1:FocusEvent):void{ if ((_arg1.relatedObject is TextField)){ return; }; _arg1.preventDefault(); } private function (_arg1:FocusEvent):void{ var _local2:InteractiveObject; _local2 = (_arg1.target as InteractiveObject); } private function (_arg1:DisplayObject, _arg2:String):Boolean{ var _local3:IFocusManagerGroup; if (! (_arg1)){ return (false); }; if ((_arg1 is IFocusManagerGroup)){ _local3 = IFocusManagerGroup(_arg1); if (_arg2 == _local3.groupName){ return (false); }; }; return (true); } public function (_arg1:InteractiveObject):InteractiveObject{ var _local2:InteractiveObject; _local2 = _arg1; while (_arg1) { if ((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))){ return (_arg1); }; _arg1 = _arg1.parent; }; return (_local2); } private function ():void{ var _local1:Object; var _local2:InteractiveObject;  = []; for (_local1 in  ) { _local2 = InteractiveObject(_local1); if (((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))){ .push(_local2); }; }; .sort( ); } private function (_arg1:DisplayObject):void{ var _local2:Object; var _local3:DisplayObject; if ((_arg1 is DisplayObjectContainer)){ _arg1.removeEventListener(Event.TAB_CHILDREN_CHANGE,  ); _arg1.removeEventListener(Event.TAB_INDEX_CHANGE, ); for (_local2 in  ) { _local3 = DisplayObject(_local2); if (DisplayObjectContainer(_arg1).contains(_local3)){ if (_local3 ==  ){  = null; }; _local3.removeEventListener(Event.TAB_ENABLED_CHANGE,  ); delete  [_local2];   = true; }; }; }; } private function (_arg1:Event):void{ var _local2:DisplayObject; _local2 = DisplayObject(_arg1.target); if (_local2.stage){  (DisplayObject(_arg1.target)); }; } private function (_arg1:InteractiveObject):InteractiveObject{ while (_arg1 != InteractiveObject(form)) { if ((((((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))) && (IFocusManagerComponent(_arg1).mouseFocusEnabled))) && (UIComponent(_arg1).enabled))){ return (_arg1); }; _arg1 = _arg1.parent; if (_arg1 == null){ break; }; }; return (null); } private function  (_arg1:Event):void{ var _local2:DisplayObjectContainer; if (_arg1.target != _arg1.currentTarget){ return; };   = true; _local2 = DisplayObjectContainer(_arg1.target); if (_local2.tabChildren){  (_local2, true); } else { (_local2); }; } public function  ():void{ .dispatchEvent(new MouseEvent(MouseEvent.CLICK)); } public function getFocus():InteractiveObject{ var _local1:InteractiveObject; _local1 = form.stage.focus; return ((_local1)); } private function  (_arg1:DisplayObject):Boolean{ var _local2:DisplayObjectContainer; var _local3:TextField; var _local4:SimpleButton; _local2 = DisplayObject(form).parent; while (_arg1 != _local2) { if ((_arg1 is UIComponent)){ if (!UIComponent(_arg1).enabled){ return (false); }; } else { if ((_arg1 is TextField)){ _local3 = TextField(_arg1); if ((((_local3.type == TextFieldType.DYNAMIC)) || (!(_local3.selectable)))){ return (false); }; } else { if ((_arg1 is SimpleButton)){ _local4 = SimpleButton(_arg1); if (!_local4.enabled){ return (false); }; }; }; }; if (!_arg1.visible){ return (false); }; _arg1 = _arg1.parent; }; return (true); } public function set defaultButton(_arg1:Button):void{ var _local2:Button; _local2 = (_arg1) ? Button(_arg1) : null; if (_local2 !=  ){ if ( ){  .emphasized = false; }; if (){ .emphasized = false; };   = _local2;  = _local2; if (_local2){ _local2.emphasized = true; }; }; } private function  (_arg1:Event):void{ var _local2:InteractiveObject; _local2 = InteractiveObject(_arg1.target); } public function setFocus(_arg1:InteractiveObject):void{ if ((_arg1 is IFocusManagerComponent)){ IFocusManagerComponent(_arg1).setFocus(); } else { form.stage.focus = _arg1; }; } private function  (_arg1:FocusEvent):void{ var _local2:InteractiveObject; if (!()){ return; }; _local2 = (_arg1.shiftKey); if (_local2){ setFocus(_local2); }; } private function ():Boolean{ var _local1:Object; for (_local1 in  ) { return (true); }; return (false); } private function (_arg1:Event):void{   = true; } private function ():void{ var _local1:Object; var _local2:InteractiveObject;  = []; for (_local1 in  ) { _local2 = InteractiveObject(_local1); if (((((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))) && ((_local2.tabIndex > 0)))){ (); return; }; .push(_local2); }; .sort( ); } private function  (_arg1:FocusEvent):void{ showFocusIndicator = true; if ((((((_arg1.keyCode == Keyboard.TAB)) || ((_arg1.keyCode == 0)))) && (!(_arg1.isDefaultPrevented())))){  (_arg1); _arg1.preventDefault(); }; } private function  (_arg1:DisplayObject):int{ var _local2:int; var _local3:int; _local2 = .length; _local3 = 0; _local3 = 0; while (_local3 < _local2) { if ([_local3] == _arg1){ return (_local3); }; _local3++; }; return (-1); } public function ():void{ } private function  (_arg1:Event):void{ var _local2:int; var _local3:DisplayObject; var _local4:InteractiveObject; _local3 = DisplayObject(_arg1.target); if ((((_local3 is IFocusManagerComponent)) && (( [_local3] == true)))){ if (_local3 ==  ){ IFocusManagerComponent( ).drawFocus(false);  = null; }; _local3.removeEventListener(Event.TAB_ENABLED_CHANGE,  ); delete  [_local3];   = true; } else { if ((((_local3 is InteractiveObject)) && (( [_local3] == true)))){ _local4 = (_local3 as InteractiveObject); if (_local4){ if (_local4 ==  ){  = null; }; delete  [_local4];   = true; }; _local3.addEventListener(Event.TAB_ENABLED_CHANGE,  ); }; }; (_local3); } private function  (_arg1:InteractiveObject, _arg2:InteractiveObject):Number{ var _local3:String; var _local4:String; var _local5:int; var _local6:String; var _local7:String; var _local8:String; var _local9:DisplayObject; var _local10:DisplayObject; _local3 = ""; _local4 = ""; _local8 = "0000"; _local9 = DisplayObject(_arg1); _local10 = DisplayObject(_arg2); while (((!((_local9 == DisplayObject(form)))) && (_local9.parent))) { _local5 = getChildIndex(_local9.parent, _local9); _local6 = _local5.toString(16); if (_local6.length < 4){ _local7 = (_local8.substring(0, (4 - _local6.length)) + _local6); }; _local3 = (_local7 + _local3); _local9 = _local9.parent; }; while (((!((_local10 == DisplayObject(form)))) && (_local10.parent))) { _local5 = getChildIndex(_local10.parent, _local10); _local6 = _local5.toString(16); if (_local6.length < 4){ _local7 = (_local8.substring(0, (4 - _local6.length)) + _local6); }; _local4 = (_local7 + _local4); _local10 = _local10.parent; }; return (((_local3 > _local4)) ? 1 : ((_local3 < _local4)) ? -1 : 0); } public function get defaultButton():Button{ return ( ); } private function  (_arg1:Event):void{ var _local2:InteractiveObject; _local2 = InteractiveObject(_arg1.target); if ( ){ if (( is IFocusManagerComponent)){ IFocusManagerComponent( ).setFocus(); } else { form.stage.focus =  ; }; };   = "ACTIVATE"; } public function ():void{ } public function set defaultButtonEnabled(_arg1:Boolean):void{   = _arg1; } public function (_arg1:Boolean=false):InteractiveObject{ var _local2:DisplayObject; var _local3:String; var _local4:int; var _local5:Boolean; var _local6:int; var _local7:int; var _local8:IFocusManagerGroup; if (!()){ return (null); }; if ( ){ ();   = false; }; _local2 = form.stage.focus; _local2 = DisplayObject((InteractiveObject(_local2))); _local3 = ""; if ((_local2 is IFocusManagerGroup)){ _local8 = IFocusManagerGroup(_local2); _local3 = _local8.groupName; }; _local4 =  (_local2); _local5 = false; _local6 = _local4; if (_local4 == -1){ if (_arg1){ _local4 = .length; }; _local5 = true; }; _local7 =  (_local4, _arg1, _local5, _local3); return (([_local7])); } private function  (_arg1:MouseEvent):void{ var _local2:InteractiveObject; if (_arg1.isDefaultPrevented()){ return; }; _local2 = (InteractiveObject(_arg1.target)); if (!_local2){ return; }; showFocusIndicator = false; if (((((!((_local2 ==  ))) || ((  == "ACTIVATE")))) && (!((_local2 is TextField))))){ setFocus(_local2); };   = "MOUSEDOWN"; } private function  (_arg1:DisplayObject):Boolean{ var _local2:DisplayObjectContainer; _local2 = _arg1.parent; while (((((_local2) && (!((_local2 is Stage))))) && (!(((_local2.parent) && ((_local2.parent is Stage))))))) { if (!_local2.tabChildren){ return (false); }; _local2 = _local2.parent; }; return (true); } public function get nextTabIndex():int{ return (0); } private function keyDownHandler(_arg1:KeyboardEvent):void{ if (_arg1.keyCode == Keyboard.TAB){   = "KEY"; if ( ){ ();   = false; }; }; if (((((((defaultButtonEnabled) && ((_arg1.keyCode == Keyboard.ENTER)))) && (defaultButton))) && (.enabled))){  (); }; } private function  (_arg1:FocusEvent):void{ var _local2:InteractiveObject; var _local3:Button; _local2 = InteractiveObject(_arg1.target); if (form.contains(_local2)){  = (InteractiveObject(_local2)); if (( is Button)){ _local3 = Button( ); if (){ .emphasized = false;  = _local3; _local3.emphasized = true; }; } else { if ((() && (!(( ==  ))))){ .emphasized = false;  =  ;  .emphasized = true; }; }; }; } private function  (_arg1:Event):void{ var _local2:InteractiveObject; var _local3:Boolean;   = true; _local2 = InteractiveObject(_arg1.target); _local3 = ( [_local2] == true); if (_local2.tabEnabled){ if (((!(_local3)) && ( (_local2)))){ if (!(_local2 is IFocusManagerComponent)){ _local2.focusRect = false; };  [_local2] = true; }; } else { if (_local3){ delete  [_local2]; }; }; } public function set showFocusIndicator(_arg1:Boolean):void{  = _arg1; } public function get form():DisplayObjectContainer{ return (); } private function  (_arg1:InteractiveObject, _arg2:InteractiveObject):int{ return (((_arg1.tabIndex > _arg2.tabIndex)) ? 1 : ((_arg1.tabIndex < _arg2.tabIndex)) ? -1 :  (_arg1, _arg2)); } public function ():void{ if ( ){ return; }; form.stage.addEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, , false, 0, true); form.stage.addEventListener(FocusEvent.KEY_FOCUS_CHANGE,  , false, 0, true); form.addEventListener(FocusEvent.FOCUS_IN,  , true); form.addEventListener(FocusEvent.FOCUS_OUT, , true); form.stage.addEventListener(Event.ACTIVATE,  , false, 0, true); form.stage.addEventListener(Event.DEACTIVATE,  , false, 0, true); form.addEventListener(MouseEvent.MOUSE_DOWN,  ); form.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true);   = true; if ( ){ setFocus( ); }; } public function ():void{ form.stage.removeEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, ); form.stage.removeEventListener(FocusEvent.KEY_FOCUS_CHANGE,  ); form.removeEventListener(FocusEvent.FOCUS_IN,  , true); form.removeEventListener(FocusEvent.FOCUS_OUT, , true); form.stage.removeEventListener(Event.ACTIVATE,  ); form.stage.removeEventListener(Event.DEACTIVATE,  ); form.removeEventListener(MouseEvent.MOUSE_DOWN,  ); form.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true);   = false; } public function get defaultButtonEnabled():Boolean{ return ( ); } } }//package fl.managers
Section 152
//IFocusManager (fl.managers.IFocusManager) package fl.managers { import fl.controls.*; import flash.display.*; public interface IFocusManager { function getFocus():InteractiveObject; function ():void; function set defaultButton(_arg1:Button):void; function set showFocusIndicator(_arg1:Boolean):void; function get defaultButtonEnabled():Boolean; function get nextTabIndex():int; function get defaultButton():Button; function get showFocusIndicator():Boolean; function setFocus(_arg1:InteractiveObject):void; function ():void; function ():void; function set defaultButtonEnabled(_arg1:Boolean):void; function ():void; function (_arg1:InteractiveObject):InteractiveObject; function (_arg1:Boolean=false):InteractiveObject; } }//package fl.managers
Section 153
//IFocusManagerComponent (fl.managers.IFocusManagerComponent) package fl.managers { public interface IFocusManagerComponent { function set focusEnabled(_arg1:Boolean):void; function drawFocus(_arg1:Boolean):void; function setFocus():void; function get focusEnabled():Boolean; function get tabEnabled():Boolean; function get tabIndex():int; function get mouseFocusEnabled():Boolean; } }//package fl.managers
Section 154
//IFocusManagerGroup (fl.managers.IFocusManagerGroup) package fl.managers { public interface IFocusManagerGroup { function set groupName(_arg1:String):void; function set selected(_arg1:Boolean):void; function get groupName():String; function get selected():Boolean; } }//package fl.managers
Section 155
//StyleManager (fl.managers.StyleManager) package fl.managers { import fl.core.*; import flash.text.*; import flash.utils.*; public class StyleManager { private var globalStyles:Object; private var  :Dictionary; private var styleToClassesHash:Object; private var classToStylesDict:Dictionary; private var classToInstancesDict:Dictionary; private static var _instance:StyleManager; public function StyleManager(){ styleToClassesHash = {}; classToInstancesDict = new Dictionary(true); classToStylesDict = new Dictionary(true);  = new Dictionary(true); globalStyles = UIComponent.getStyleDefinition(); } public static function clearComponentStyle(_arg1:Object, _arg2:String):void{ var _local3:Class; var _local4:Object; _local3 = getClassDef(_arg1); _local4 = getInstance().classToStylesDict[_local3]; if (((!((_local4 == null))) && (!((_local4[_arg2] == null))))){ delete _local4[_arg2]; invalidateComponentStyle(_local3, _arg2); }; } private static function getClassDef(_arg1:Object):Class{ var component = _arg1; if ((component is Class)){ return ((component as Class)); }; try { return ((getDefinitionByName(getQualifiedClassName(component)) as Class)); } catch(e:Error) { if ((component is UIComponent)){ try { return ((component.loaderInfo.applicationDomain.getDefinition(getQualifiedClassName(component)) as Class)); } catch(e:Error) { }; }; }; return (null); } public static function (_arg1:String):void{ (_arg1, null); } public static function setComponentStyle(_arg1:Object, _arg2:String, _arg3:Object):void{ var _local4:Class; var _local5:Object; _local4 = getClassDef(_arg1); _local5 = getInstance().classToStylesDict[_local4]; if (_local5 == null){ _local5 = (getInstance().classToStylesDict[_local4] = {}); }; if (_local5 == _arg3){ return; }; _local5[_arg2] = _arg3; invalidateComponentStyle(_local4, _arg2); } private static function setSharedStyles(_arg1:UIComponent):void{ var _local2:StyleManager; var _local3:Class; var _local4:Object; var _local5:String; _local2 = getInstance(); _local3 = getClassDef(_arg1); _local4 = _local2. [_local3]; for (_local5 in _local4) { _arg1.(_local5, getSharedStyle(_arg1, _local5)); }; } public static function getComponentStyle(_arg1:Object, _arg2:String):Object{ var _local3:Class; var _local4:Object; _local3 = getClassDef(_arg1); _local4 = getInstance().classToStylesDict[_local3]; return (((_local4)==null) ? null : _local4[_arg2]); } private static function getInstance(){ if (_instance == null){ _instance = new (StyleManager); }; return (_instance); } private static function invalidateComponentStyle(_arg1:Class, _arg2:String):void{ var _local3:Dictionary; var _local4:Object; var _local5:UIComponent; _local3 = getInstance().classToInstancesDict[_arg1]; if (_local3 == null){ return; }; for (_local4 in _local3) { _local5 = (_local4 as UIComponent); if (_local5 == null){ } else { _local5.(_arg2, getSharedStyle(_local5, _arg2)); }; }; } private static function invalidateStyle(_arg1:String):void{ var _local2:Dictionary; var _local3:Object; _local2 = getInstance().styleToClassesHash[_arg1]; if (_local2 == null){ return; }; for (_local3 in _local2) { invalidateComponentStyle(Class(_local3), _arg1); }; } public static function registerInstance(_arg1:UIComponent):void{ var inst:StyleManager; var classDef:Class; var target:Class; var defaultStyles:Object; var styleToClasses:Object; var n:String; var instance = _arg1; inst = getInstance(); classDef = getClassDef(instance); if (classDef == null){ return; }; if (inst.classToInstancesDict[classDef] == null){ inst.classToInstancesDict[classDef] = new Dictionary(true); target = classDef; while (defaultStyles == null) { if (target["getStyleDefinition"] != null){ defaultStyles = target["getStyleDefinition"](); break; }; try { target = (instance.loaderInfo.applicationDomain.getDefinition(getQualifiedSuperclassName(target)) as Class); } catch(err:Error) { try { target = (getDefinitionByName(getQualifiedSuperclassName(target)) as Class); } catch(e:Error) { defaultStyles = UIComponent.getStyleDefinition(); break; }; }; }; styleToClasses = inst.styleToClassesHash; for (n in defaultStyles) { if (styleToClasses[n] == null){ styleToClasses[n] = new Dictionary(true); }; styleToClasses[n][classDef] = true; }; inst. [classDef] = defaultStyles; inst.classToStylesDict[classDef] = {}; }; inst.classToInstancesDict[classDef][instance] = true; setSharedStyles(instance); } public static function (_arg1:String):Object{ return (getInstance().globalStyles[_arg1]); } private static function getSharedStyle(_arg1:UIComponent, _arg2:String):Object{ var _local3:Class; var _local4:StyleManager; var _local5:Object; _local3 = getClassDef(_arg1); _local4 = getInstance(); _local5 = _local4.classToStylesDict[_local3][_arg2]; if (_local5 != null){ return (_local5); }; _local5 = _local4.globalStyles[_arg2]; if (_local5 != null){ return (_local5); }; return (_local4. [_local3][_arg2]); } public static function (_arg1:String, _arg2:Object):void{ var _local3:Object; _local3 = getInstance().globalStyles; if ((((_local3[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){ return; }; _local3[_arg1] = _arg2; invalidateStyle(_arg1); } } }//package fl.managers
Section 156
//Input (General.Input) package General { import flash.display.*; import flash.events.*; public class Input { public static var mouseOffsetX:Number = 0; private static var keyArr:Array; public static var mouseDragX:Number = 0; public static var mouseDragY:Number = 0; public static var mouseOffsetY:Number = 0; public static var ascii:Array; public static var mouseX:Number = 0; public static var mouseY:Number = 0; public static var mouseOver:Boolean = false; private static var bufferSize:int; public static var mouse:Sprite = new Sprite(); public static var mouseDown:Boolean = false; public static var mouseReleased:Boolean = false; public static var lastKey:int = 0; public static var m_stageMc:Sprite; private static var keyState:Array; public static var timeSinceLastKey = 0; public static var mousePressed:Boolean = false; private static var keyBuffer:Array; public function Input(_arg1:Sprite){ var _local2:int; var _local3:int; super(); m_stageMc = _arg1; ascii = new Array(222); (); keyState = new Array(222); keyArr = new Array(); _local2 = 0; while (_local2 < 222) { keyState[_local2] = new int(0); if (ascii[_local2] != undefined){ keyArr.push(_local2); }; _local2++; }; bufferSize = 5; keyBuffer = new Array(bufferSize); _local3 = 0; while (_local3 < bufferSize) { keyBuffer[_local3] = new Array(0, 0); _local3++; }; _arg1.stage.addEventListener(KeyboardEvent.KEY_DOWN, , false, 0, true); _arg1.stage.addEventListener(KeyboardEvent.KEY_UP, , false, 0, true); _arg1.stage.addEventListener(MouseEvent.MOUSE_DOWN, , false, 0, true); _arg1.stage.addEventListener(MouseEvent.MOUSE_UP, , false, 0, true); _arg1.stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMove, false, 0, true); _arg1.stage.addEventListener(Event.MOUSE_LEAVE, mouseLeave, false, 0, true); mouse.graphics.lineStyle(0.1, 0, 100); mouse.graphics.moveTo(0, 0); mouse.graphics.lineTo(0, 0.1); } public function (_arg1:MouseEvent){ mouseDown = false; mouseReleased = true; } public function (_arg1:KeyboardEvent){ keyState[_arg1.keyCode] = Math.max(keyState[_arg1.keyCode], 1); lastKey = _arg1.keyCode; } private function (){ ascii[65] = "A"; ascii[66] = "B"; ascii[67] = "C"; ascii[68] = "D"; ascii[69] = "E"; ascii[70] = "F"; ascii[71] = "G"; ascii[72] = "H"; ascii[73] = "I"; ascii[74] = "J"; ascii[75] = "K"; ascii[76] = "L"; ascii[77] = "M"; ascii[78] = "N"; ascii[79] = "O"; ascii[80] = "P"; ascii[81] = "Q"; ascii[82] = "R"; ascii[83] = "S"; ascii[84] = "T"; ascii[85] = "U"; ascii[86] = "V"; ascii[87] = "W"; ascii[88] = "X"; ascii[89] = "Y"; ascii[90] = "Z"; ascii[48] = "0"; ascii[49] = "1"; ascii[50] = "2"; ascii[51] = "3"; ascii[52] = "4"; ascii[53] = "5"; ascii[54] = "6"; ascii[55] = "7"; ascii[56] = "8"; ascii[57] = "9"; ascii[32] = "Spacebar"; ascii[17] = "Ctrl"; ascii[16] = "Shift"; ascii[192] = "~"; ascii[38] = "up"; ascii[40] = "down"; ascii[37] = "left"; ascii[39] = "right"; ascii[96] = "Numpad 0"; ascii[97] = "Numpad 1"; ascii[98] = "Numpad 2"; ascii[99] = "Numpad 3"; ascii[100] = "Numpad 4"; ascii[101] = "Numpad 5"; ascii[102] = "Numpad 6"; ascii[103] = "Numpad 7"; ascii[104] = "Numpad 8"; ascii[105] = "Numpad 9"; ascii[111] = "Numpad /"; ascii[106] = "Numpad *"; ascii[109] = "Numpad -"; ascii[107] = "Numpad +"; ascii[110] = "Numpad ."; ascii[45] = "Insert"; ascii[46] = "Delete"; ascii[33] = "Page Up"; ascii[34] = "Page Down"; ascii[35] = "End"; ascii[36] = "Home"; ascii[112] = "F1"; ascii[113] = "F2"; ascii[114] = "F3"; ascii[115] = "F4"; ascii[116] = "F5"; ascii[117] = "F6"; ascii[118] = "F7"; ascii[119] = "F8"; ascii[188] = ","; ascii[190] = "."; ascii[186] = ";"; ascii[222] = "'"; ascii[219] = "["; ascii[221] = "]"; ascii[189] = "-"; ascii[187] = "+"; ascii[220] = "\\"; ascii[191] = "/"; ascii[9] = "TAB"; ascii[8] = "Backspace"; } public function mouseMove(_arg1:MouseEvent){ if (mouseDown != _arg1.buttonDown){ mouseDown = _arg1.buttonDown; mouseReleased = !(_arg1.buttonDown); mousePressed = _arg1.buttonDown; mouseDragX = 0; mouseDragY = 0; }; mouseX = (_arg1.stageX - m_stageMc.x); mouseY = (_arg1.stageY - m_stageMc.y); mouseOffsetX = (mouseX - mouse.x); mouseOffsetY = (mouseY - mouse.y); if (mouseDown){ mouseDragX = (mouseDragX + mouseOffsetX); mouseDragY = (mouseDragY + mouseOffsetY); }; mouse.x = mouseX; mouse.y = mouseY; } public function (_arg1:KeyboardEvent){ var _local2:int; keyState[_arg1.keyCode] = -1; _local2 = (bufferSize - 1); while (_local2 > 0) { keyBuffer[_local2] = keyBuffer[(_local2 - 1)]; _local2--; }; keyBuffer[0] = [_arg1.keyCode, 0]; } public function mouseLeave(_arg1:Event){ mouseReleased = mouseDown; mouseDown = false; } public function (_arg1:MouseEvent){ mousePressed = true; mouseDown = true; mouseDragX = 0; mouseDragY = 0; } public static function getKeyHold(_arg1:int):int{ return (Math.max(0, keyState[_arg1])); } public static function update(){ var _local1:int; var _local2:int; _local1 = 0; while (_local1 < keyArr.length) { if (keyState[keyArr[_local1]] != 0){ var _local3 = keyState; var _local4 = keyArr[_local1]; var _local5 = (_local3[_local4] + 1); _local3[_local4] = _local5; }; _local1++; }; _local2 = 0; while (_local2 < bufferSize) { _local3 = keyBuffer[_local2]; _local4 = 1; _local5 = (_local3[_local4] + 1); _local3[_local4] = _local5; _local2++; }; mouseReleased = false; mousePressed = false; mouseOver = false; } public static function isKeyPressed(_arg1:int):Boolean{ timeSinceLastKey = 0; return ((keyState[_arg1] == 1)); } public static function isKeyDown(_arg1:int):Boolean{ return ((keyState[_arg1] > 0)); } public static function getKeyString(_arg1:uint):String{ return (ascii[_arg1]); } public static function isKeyReleased(_arg1:int):Boolean{ return ((keyState[_arg1] == -1)); } public static function isKeyInBuffer(_arg1:int, _arg2:int, _arg3:int){ return ((((keyBuffer[_arg2][0] == _arg1)) && ((keyBuffer[_arg2][1] <= _arg3)))); } } }//package General
Section 157
//ag_intro_mc_295 (PowerUp_fla.ag_intro_mc_295) package PowerUp_fla { import flash.display.*; public dynamic class ag_intro_mc_295 extends MovieClip { public function ag_intro_mc_295(){ addFrameScript(0, frame1, 217,  ); } function  (){ (parent as MovieClip).gotoAndStop("nitrome"); } function frame1(){ gotoAndPlay(2); } } }//package PowerUp_fla
Section 158
//balloon_24 (PowerUp_fla.balloon_24) package PowerUp_fla { import flash.display.*; public dynamic class balloon_24 extends MovieClip { public function balloon_24(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 159
//cannon_19 (PowerUp_fla.cannon_19) package PowerUp_fla { import flash.display.*; public dynamic class cannon_19 extends MovieClip { public function cannon_19(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 160
//cannon_292 (PowerUp_fla.cannon_292) package PowerUp_fla { import flash.display.*; public dynamic class cannon_292 extends MovieClip { public var cannon:MovieClip; } }//package PowerUp_fla
Section 161
//cannon_fire_145 (PowerUp_fla.cannon_fire_145) package PowerUp_fla { import flash.display.*; public dynamic class cannon_fire_145 extends MovieClip { public function cannon_fire_145(){ addFrameScript(16, frame17); } function frame17(){ stop(); } } }//package PowerUp_fla
Section 162
//cannon_jon_288 (PowerUp_fla.cannon_jon_288) package PowerUp_fla { import flash.display.*; public dynamic class cannon_jon_288 extends MovieClip { public function cannon_jon_288(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 163
//charged_23 (PowerUp_fla.charged_23) package PowerUp_fla { import flash.display.*; public dynamic class charged_23 extends MovieClip { public function charged_23(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 164
//chargeup_22 (PowerUp_fla.chargeup_22) package PowerUp_fla { import flash.display.*; public dynamic class chargeup_22 extends MovieClip { public function chargeup_22(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 165
//chargeup2_31 (PowerUp_fla.chargeup2_31) package PowerUp_fla { import flash.display.*; public dynamic class chargeup2_31 extends MovieClip { public function chargeup2_31(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 166
//chargeup3_32 (PowerUp_fla.chargeup3_32) package PowerUp_fla { import flash.display.*; public dynamic class chargeup3_32 extends MovieClip { public function chargeup3_32(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 167
//chargeup4_33 (PowerUp_fla.chargeup4_33) package PowerUp_fla { import flash.display.*; public dynamic class chargeup4_33 extends MovieClip { public function chargeup4_33(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 168
//chargeup5_35 (PowerUp_fla.chargeup5_35) package PowerUp_fla { import flash.display.*; public dynamic class chargeup5_35 extends MovieClip { public function chargeup5_35(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 169
//chargeup6_34 (PowerUp_fla.chargeup6_34) package PowerUp_fla { import flash.display.*; public dynamic class chargeup6_34 extends MovieClip { public function chargeup6_34(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 170
//chargeup7_36 (PowerUp_fla.chargeup7_36) package PowerUp_fla { import flash.display.*; public dynamic class chargeup7_36 extends MovieClip { public function chargeup7_36(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 171
//chargeup8_37 (PowerUp_fla.chargeup8_37) package PowerUp_fla { import flash.display.*; public dynamic class chargeup8_37 extends MovieClip { public function chargeup8_37(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 172
//chest_creak_20 (PowerUp_fla.chest_creak_20) package PowerUp_fla { import flash.display.*; public dynamic class chest_creak_20 extends MovieClip { public function chest_creak_20(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 173
//chestArrow_131 (PowerUp_fla.chestArrow_131) package PowerUp_fla { import flash.display.*; public dynamic class chestArrow_131 extends MovieClip { public function chestArrow_131(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 174
//chestArrow_r_132 (PowerUp_fla.chestArrow_r_132) package PowerUp_fla { import flash.display.*; public dynamic class chestArrow_r_132 extends MovieClip { public function chestArrow_r_132(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 175
//chestClip_291 (PowerUp_fla.chestClip_291) package PowerUp_fla { import flash.display.*; public dynamic class chestClip_291 extends MovieClip { public function chestClip_291(){ addFrameScript(0, frame1, 10, frame11); } function frame1(){ stop(); } function frame11(){ stop(); } } }//package PowerUp_fla
Section 176
//congratulationsclip_341 (PowerUp_fla.congratulationsclip_341) package PowerUp_fla { import flash.display.*; import flash.events.*; import com.nitrome.game.*; public dynamic class congratulationsclip_341 extends MovieClip { public var captain:MovieClip; public var guy3:MovieClip; public var guy2:MovieClip; public var guy1:MovieClip; public var scoreField:BalancerFont; public var __id37_:BalancerFont; public function congratulationsclip_341(){ addFrameScript(0, frame1);  (); (); } function (){ try { scoreField["componentInspectorSetting"] = true; } catch(e:Error) { }; scoreField.align = "center"; scoreField.align_vert = "center"; scoreField.color = 0xFFFFFF; scoreField.id = "None"; scoreField.line_spacing = 18; scoreField.text = "Your final score is 0!"; scoreField.tracking = 1; try { scoreField["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame1(){ addEventListener(Event.ENTER_FRAME,  , false, 0, true); scoreField.text = ("Your final score is " + Score.value.toString()); guy1.gotoAndPlay(8); guy2.gotoAndPlay(3); guy3.gotoAndPlay(13); } function  (){ try { __id37_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id37_.align = "center"; __id37_.align_vert = "center"; __id37_.color = 0xFFFFFF; __id37_.id = "None"; __id37_.line_spacing = 18; __id37_.text = "Thank you for powering up|our death rays!|Let the Invasion begin!"; __id37_.tracking = 1; try { __id37_["componentInspectorSetting"] = false; } catch(e:Error) { }; } public function  (_arg1:Event):void{ } } }//package PowerUp_fla
Section 177
//death_ground_28 (PowerUp_fla.death_ground_28) package PowerUp_fla { import flash.display.*; public dynamic class death_ground_28 extends MovieClip { public function death_ground_28(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 178
//deepthud_13 (PowerUp_fla.deepthud_13) package PowerUp_fla { import flash.display.*; public dynamic class deepthud_13 extends MovieClip { public function deepthud_13(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 179
//e2_300 (PowerUp_fla.e2_300) package PowerUp_fla { import flash.display.*; public dynamic class e2_300 extends MovieClip { public function e2_300(){ addFrameScript(103, ); } function (){ stop(); } } }//package PowerUp_fla
Section 180
//electric_30 (PowerUp_fla.electric_30) package PowerUp_fla { import flash.display.*; public dynamic class electric_30 extends MovieClip { public function electric_30(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 181
//endHead_290 (PowerUp_fla.endHead_290) package PowerUp_fla { import flash.display.*; public dynamic class endHead_290 extends MovieClip { public function endHead_290(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 182
//endHead_frames_2_287 (PowerUp_fla.endHead_frames_2_287) package PowerUp_fla { import flash.display.*; public dynamic class endHead_frames_2_287 extends MovieClip { public var endHead:MovieClip; public function endHead_frames_2_287(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 183
//endHead_frames_280 (PowerUp_fla.endHead_frames_280) package PowerUp_fla { import flash.display.*; public dynamic class endHead_frames_280 extends MovieClip { public var endHead:MovieClip; public function endHead_frames_280(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 184
//Fish_147 (PowerUp_fla.Fish_147) package PowerUp_fla { import flash.display.*; public dynamic class Fish_147 extends MovieClip { public var deadFish:MovieClip; public function Fish_147(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 185
//glasstap_27 (PowerUp_fla.glasstap_27) package PowerUp_fla { import flash.display.*; public dynamic class glasstap_27 extends MovieClip { public function glasstap_27(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 186
//help_tab_334 (PowerUp_fla.help_tab_334) package PowerUp_fla { import flash.display.*; public dynamic class help_tab_334 extends MovieClip { public function help_tab_334(){ addFrameScript(29, frame30); } function frame30(){ stop(); } } }//package PowerUp_fla
Section 187
//help_tab_close_337 (PowerUp_fla.help_tab_close_337) package PowerUp_fla { import flash.display.*; public dynamic class help_tab_close_337 extends MovieClip { public function help_tab_close_337(){ addFrameScript(25, frame26); } function frame26(){ stop(); } } }//package PowerUp_fla
Section 188
//helpDisplay_321 (PowerUp_fla.helpDisplay_321) package PowerUp_fla { import flash.display.*; import com.nitrome.balancer.*; import flash.events.*; import flash.text.*; import flash.utils.*; import flash.media.*; import flash.geom.*; import flash.net.*; import flash.filters.*; import flash.ui.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.printing.*; import flash.xml.*; public dynamic class helpDisplay_321 extends MovieClip { public var helpText:MovieClip; public var buttonBlanker:SimpleButton; public function helpDisplay_321(){ addFrameScript(0, frame1, 1, frame2, 10, frame11, 29, frame30, 57, frame58); } function frame1(){ stop(); } function frame2(){ buttonBlanker.useHandCursor = false; } function frame30(){ stop(); buttonBlanker.addEventListener(MouseEvent.MOUSE_DOWN, closeBox); } function frame11(){ helpText.helpText.text = this.helpMessage; } public function closeBox(_arg1:Event){ play(); } function frame58(){ BalanceGame.panelOff(); } } }//package PowerUp_fla
Section 189
//helpscreen_314 (PowerUp_fla.helpscreen_314) package PowerUp_fla { import flash.display.*; public dynamic class helpscreen_314 extends MovieClip { public var endHead:MovieClip; } }//package PowerUp_fla
Section 190
//helpText_324 (PowerUp_fla.helpText_324) package PowerUp_fla { import flash.display.*; public dynamic class helpText_324 extends MovieClip { public var helpText:BalancerFont; public function helpText_324(){ (); } function (){ try { helpText["componentInspectorSetting"] = true; } catch(e:Error) { }; helpText.align = "center"; helpText.align_vert = "center"; helpText.color = 0xFFFFFF; helpText.id = "None"; helpText.line_spacing = 18; helpText.text = "enter text, -"; helpText.tracking = 1; try { helpText["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package PowerUp_fla
Section 191
//ingame_help_screen_335 (PowerUp_fla.ingame_help_screen_335) package PowerUp_fla { import flash.display.*; public dynamic class ingame_help_screen_335 extends MovieClip { public var __id32_:BalancerFont; public function ingame_help_screen_335(){ (); } function (){ try { __id32_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id32_.align = "center"; __id32_.align_vert = "top"; __id32_.color = 0xFFFFFF; __id32_.id = "None"; __id32_.line_spacing = 18; __id32_.text = "Move the boxes with the mouse.|Use the metal ones to create a|circuit between the robot heads."; __id32_.tracking = 1; try { __id32_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package PowerUp_fla
Section 192
//inGameHelp_333 (PowerUp_fla.inGameHelp_333) package PowerUp_fla { import flash.display.*; import com.nitrome.balancer.*; import flash.events.*; public dynamic class inGameHelp_333 extends MovieClip { public var buttonBlanker:SimpleButton; public function inGameHelp_333(){ addFrameScript(0, frame1, 1, frame2, 35, frame36, 72, frame73); } function frame73(){ BalanceGame.panelOff(); } function frame1(){ stop(); } function frame2(){ buttonBlanker.useHandCursor = false; } function frame36(){ stop(); buttonBlanker.addEventListener(MouseEvent.MOUSE_DOWN, closeBox); } public function closeBox(_arg1:Event){ play(); } } }//package PowerUp_fla
Section 193
//instances_2 (PowerUp_fla.instances_2) package PowerUp_fla { import fl.controls.*; import flash.display.*; import flash.utils.*; public dynamic class instances_2 extends MovieClip { public var __setPropDict:Dictionary; public var InstanceName_0:ScrollBar_thumbIcon; public var __id27_:UIScrollBar; public function instances_2(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2); } function (){ try { __id27_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id27_.direction = "vertical"; __id27_.scrollTargetName = "InstanceName_0"; __id27_.visible = true; try { __id27_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame1(){ stop(); } function frame2(){ if ((((__setPropDict[__id27_] == undefined)) || (!((int(__setPropDict[__id27_]) == 2))))){ __setPropDict[__id27_] = currentFrame; (); }; } } }//package PowerUp_fla
Section 194
//levelCompleteMessage_338 (PowerUp_fla.levelCompleteMessage_338) package PowerUp_fla { import flash.display.*; import com.nitrome.balancer.*; import flash.events.*; import flash.text.*; import flash.utils.*; import flash.media.*; import flash.geom.*; import flash.net.*; import flash.filters.*; import flash.ui.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.printing.*; import flash.xml.*; public dynamic class levelCompleteMessage_338 extends MovieClip { public var buttonBlanker:SimpleButton; public var levelCompleteText:MovieClip; public function levelCompleteMessage_338(){ addFrameScript(0, frame1, 9, frame10, 28, frame29, 57, frame58); } function frame10(){ levelCompleteText.levelScore.text = this.levelScore; levelCompleteText.timeBonus.text = this.timeBonus; levelCompleteText.totalScore.text = this.totalScore; } function frame1(){ buttonBlanker.useHandCursor = false; } function frame29(){ stop(); buttonBlanker.addEventListener(MouseEvent.MOUSE_DOWN, closeBox); } public function closeBox(_arg1:Event){ play(); } function frame58(){ stop(); Controller.levelComplete(); } } }//package PowerUp_fla
Section 195
//levelCompleteText_339 (PowerUp_fla.levelCompleteText_339) package PowerUp_fla { import flash.display.*; public dynamic class levelCompleteText_339 extends MovieClip { public var __id34_:BalancerFont; public var __id35_:BalancerFont; public var timeBonus:BalancerFont; public var levelScore:BalancerFont; public var __id36_:BalancerFont; public var totalScore:BalancerFont; public function levelCompleteText_339(){  ();  ();  (); ();  (); (); } function (){ try { __id35_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id35_.align = "left"; __id35_.align_vert = "center"; __id35_.color = 0xFFFFFF; __id35_.id = "None"; __id35_.line_spacing = 18; __id35_.text = "Level Score:"; __id35_.tracking = 1; try { __id35_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (){ try { totalScore["componentInspectorSetting"] = true; } catch(e:Error) { }; totalScore.align = "right"; totalScore.align_vert = "center"; totalScore.color = 0xFFFFFF; totalScore.id = "None"; totalScore.line_spacing = 18; totalScore.text = "10000"; totalScore.tracking = 1; try { totalScore["componentInspectorSetting"] = false; } catch(e:Error) { }; } function  (){ try { levelScore["componentInspectorSetting"] = true; } catch(e:Error) { }; levelScore.align = "right"; levelScore.align_vert = "center"; levelScore.color = 0xFFFFFF; levelScore.id = "None"; levelScore.line_spacing = 18; levelScore.text = "10000"; levelScore.tracking = 1; try { levelScore["componentInspectorSetting"] = false; } catch(e:Error) { }; } function  (){ try { __id34_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id34_.align = "left"; __id34_.align_vert = "center"; __id34_.color = 0xFFFFFF; __id34_.id = "None"; __id34_.line_spacing = 18; __id34_.text = "Total Score: "; __id34_.tracking = 1; try { __id34_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function  (){ try { timeBonus["componentInspectorSetting"] = true; } catch(e:Error) { }; timeBonus.align = "right"; timeBonus.align_vert = "center"; timeBonus.color = 0xFFFFFF; timeBonus.id = "None"; timeBonus.line_spacing = 18; timeBonus.text = "10000"; timeBonus.tracking = 1; try { timeBonus["componentInspectorSetting"] = false; } catch(e:Error) { }; } function  (){ try { __id36_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id36_.align = "left"; __id36_.align_vert = "center"; __id36_.color = 0xFFFFFF; __id36_.id = "None"; __id36_.line_spacing = 18; __id36_.text = "Time Bonus:"; __id36_.tracking = 1; try { __id36_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package PowerUp_fla
Section 196
//MainTimeline (PowerUp_fla.MainTimeline) package PowerUp_fla { import flash.display.*; import com.nitrome.balancer.*; import flash.events.*; import flash.text.*; import flash.utils.*; import com.nitrome.game.*; import com.nitrome.util.*; import flash.media.*; import flash.geom.*; import flash.net.*; import flash.filters.*; import flash.ui.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.printing.*; import flash.xml.*; public dynamic class MainTimeline extends MovieClip { public var rightScroll:MovieClip; public var __id29_:BalancerFont; public var levelBlocks:LevelBlocks_game; public var helpDisplay:MovieClip; public var  ; public var inGameHelpMessage:MovieClip; public var levelCompleteMessage:MovieClip; public var myController:Controller; public var __setPropDict:Dictionary; public var game_container:MovieClip; public var preloader:Preloader; public var topScroll:MovieClip; public var inGameHelp:InGameHelpButton; public var levelDisplay:BalancerFont; public var __id30_:BalancerFont; public var button10:LevelStartButton; public var button11:LevelStartButton; public var button12:LevelStartButton; public var button13:LevelStartButton; public var button14:LevelStartButton; public var button15:LevelStartButton; public var button16:LevelStartButton; public var bottomScroll:MovieClip; public var button18:LevelStartButton; public var button19:LevelStartButton; public var  :Number; public var button21:LevelStartButton; public var button23:LevelStartButton; public var button25:LevelStartButton; public var button26:LevelStartButton; public var button27:LevelStartButton; public var button28:LevelStartButton; public var button22:LevelStartButton; public var button24:LevelStartButton; public var button29:LevelStartButton; public var button17:LevelStartButton; public var pauseGame:PauseButton; public var button31:LevelStartButton; public var button20:LevelStartButton; public var button30:LevelStartButton; public var button32:LevelStartButton; public var pauseMessage:MovieClip; public var totalScoreDisplay:BalancerFont; public var button1:LevelStartButton; public var button4:LevelStartButton; public var button5:LevelStartButton; public var button6:LevelStartButton; public var button7:LevelStartButton; public var button9:LevelStartButton; public var button3:LevelStartButton; public var startMessage:MovieClip; public var button8:LevelStartButton; public var button2:LevelStartButton; public var myBalanceGame:BalanceGame; public var leftScroll:MovieClip; public var scoreDisplay:BalancerFont; public var blockDrawer:BlockDrawer; public function MainTimeline(){ __setPropDict = new Dictionary(true); super(); addFrameScript(1, frame2, 5, frame6, 15, frame16, 25, frame26, 26, , 35, frame36, 65,  , 70,  , 79,  , 80,  , 81,  , 89,  , 90,  , 27, , 28, frame29, 29, frame30, 30,  , 31, frame32, 32, , 33,  , 34, , 82,  , 83,  , 84,  , 85,  , 86,  , 87,  , 88,  , 45, frame46, 46, , 47, , 48, , 49,  , 50, , 51,  , 52,  , 53,  , 54,  , 66,  , 67,  , 68,  , 69,  , 71,  , 72, frame73, 73,  , 74,  , 75,  , 76,  , 77,  , 78,  ); } function frame16(){ stop();  = new SoundManager();  .x = -100;  .y = -100; (root as MovieClip).addChild( ); } function frame2(){ preloader.addEventListener(Event.COMPLETE, function (_arg1:Event){ NitromeGame.init((root as MovieClip), "powerup", "rumble", 32); stage.showDefaultContextMenu = false; (root as MovieClip).gotoAndStop("armor"); }); stop(); } function frame6(){ stop(); } function frame26(){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame;  (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame;  (); }; Lock.urlLock(stage); NitromeGame.sound_manager.playMusic(SoundManager.MENU); myController = new Controller(this); myController.titleScreen = true; myController.loadLevel("title_screen"); stop(); } function frame29(){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame;  (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame;  (); }; } function frame36(){ Score.value = 0; } function (){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame;  (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame;  (); }; myBalanceGame = new BalanceGame(this, game_container); BalanceGame.paused = false; stop(); } function (){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame;  (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame;  (); }; } function frame32(){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame;  (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame;  (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame;  (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame;  (); }; } function (){ try { levelDisplay["componentInspectorSetting"] = true; } catch(e:Error) { }; levelDisplay.align = "left"; levelDisplay.align_vert = "center"; levelDisplay.color = 0xFFFFFF; levelDisplay.id = "None"; levelDisplay.line_spacing = 18; levelDisplay.text = "Lv:32"; levelDisplay.tracking = 1; try { levelDisplay["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame;  (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame;  (); }; } function (){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame;  (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame;  (); }; } function (){ if ((((__setPropDict[__id29_] == undefined)) || (!((((int(__setPropDict[__id29_]) >= 46)) && ((int(__setPropDict[__id29_]) <= 55))))))){ __setPropDict[__id29_] = currentFrame;  (); }; } function (){ if ((((__setPropDict[__id29_] == undefined)) || (!((((int(__setPropDict[__id29_]) >= 46)) && ((int(__setPropDict[__id29_]) <= 55))))))){ __setPropDict[__id29_] = currentFrame;  (); }; } function frame30(){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame;  (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame;  (); }; } function (){ if ((((__setPropDict[__id29_] == undefined)) || (!((((int(__setPropDict[__id29_]) >= 46)) && ((int(__setPropDict[__id29_]) <= 55))))))){ __setPropDict[__id29_] = currentFrame;  (); }; } function frame46(){ if ((((__setPropDict[__id29_] == undefined)) || (!((((int(__setPropDict[__id29_]) >= 46)) && ((int(__setPropDict[__id29_]) <= 55))))))){ __setPropDict[__id29_] = currentFrame;  (); }; } function (){ if ((((__setPropDict[__id29_] == undefined)) || (!((((int(__setPropDict[__id29_]) >= 46)) && ((int(__setPropDict[__id29_]) <= 55))))))){ __setPropDict[__id29_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[__id29_] == undefined)) || (!((((int(__setPropDict[__id29_]) >= 46)) && ((int(__setPropDict[__id29_]) <= 55))))))){ __setPropDict[__id29_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[__id29_] == undefined)) || (!((((int(__setPropDict[__id29_]) >= 46)) && ((int(__setPropDict[__id29_]) <= 55))))))){ __setPropDict[__id29_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[__id29_] == undefined)) || (!((((int(__setPropDict[__id29_]) >= 46)) && ((int(__setPropDict[__id29_]) <= 55))))))){ __setPropDict[__id29_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[__id29_] == undefined)) || (!((((int(__setPropDict[__id29_]) >= 46)) && ((int(__setPropDict[__id29_]) <= 55))))))){ __setPropDict[__id29_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[__id29_] == undefined)) || (!((((int(__setPropDict[__id29_]) >= 46)) && ((int(__setPropDict[__id29_]) <= 55))))))){ __setPropDict[__id29_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[__id30_] == undefined)) || (!((((int(__setPropDict[__id30_]) >= 66)) && ((int(__setPropDict[__id30_]) <= 79))))))){ __setPropDict[__id30_] = currentFrame;  (); }; NitromeGame.sound_manager.playMusic(SoundManager.GAME); myController = new Controller(this); myController.titleScreen = false; Controller.totalScore = Score.value; myController.loadSelectedLevel(); } function  (){ if ((((__setPropDict[__id30_] == undefined)) || (!((((int(__setPropDict[__id30_]) >= 66)) && ((int(__setPropDict[__id30_]) <= 79))))))){ __setPropDict[__id30_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[__id30_] == undefined)) || (!((((int(__setPropDict[__id30_]) >= 66)) && ((int(__setPropDict[__id30_]) <= 79))))))){ __setPropDict[__id30_] = currentFrame;  (); }; } function  (){ try { __id29_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id29_.align = "center"; __id29_.align_vert = "top"; __id29_.color = 0xFFFFFF; __id29_.id = "None"; __id29_.line_spacing = 18; __id29_.text = "Move the boxes with the mouse.|Use the metal ones to create a|circuit between the robot heads."; __id29_.tracking = 1; try { __id29_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function  (){ if ((((__setPropDict[__id30_] == undefined)) || (!((((int(__setPropDict[__id30_]) >= 66)) && ((int(__setPropDict[__id30_]) <= 79))))))){ __setPropDict[__id30_] = currentFrame;  (); }; } function frame73(){ if ((((__setPropDict[__id30_] == undefined)) || (!((((int(__setPropDict[__id30_]) >= 66)) && ((int(__setPropDict[__id30_]) <= 79))))))){ __setPropDict[__id30_] = currentFrame;  (); }; } function  (){ try { totalScoreDisplay["componentInspectorSetting"] = true; } catch(e:Error) { }; totalScoreDisplay.align = "left"; totalScoreDisplay.align_vert = "center"; totalScoreDisplay.color = 0xFFFFFF; totalScoreDisplay.id = "None"; totalScoreDisplay.line_spacing = 18; totalScoreDisplay.text = "00000000"; totalScoreDisplay.tracking = 1; try { totalScoreDisplay["componentInspectorSetting"] = false; } catch(e:Error) { }; } function  (){ if ((((__setPropDict[__id30_] == undefined)) || (!((((int(__setPropDict[__id30_]) >= 66)) && ((int(__setPropDict[__id30_]) <= 79))))))){ __setPropDict[__id30_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[__id30_] == undefined)) || (!((((int(__setPropDict[__id30_]) >= 66)) && ((int(__setPropDict[__id30_]) <= 79))))))){ __setPropDict[__id30_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[__id30_] == undefined)) || (!((((int(__setPropDict[__id30_]) >= 66)) && ((int(__setPropDict[__id30_]) <= 79))))))){ __setPropDict[__id30_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[__id30_] == undefined)) || (!((((int(__setPropDict[__id30_]) >= 66)) && ((int(__setPropDict[__id30_]) <= 79))))))){ __setPropDict[__id30_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[__id30_] == undefined)) || (!((((int(__setPropDict[__id30_]) >= 66)) && ((int(__setPropDict[__id30_]) <= 79))))))){ __setPropDict[__id30_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[__id30_] == undefined)) || (!((((int(__setPropDict[__id30_]) >= 66)) && ((int(__setPropDict[__id30_]) <= 79))))))){ __setPropDict[__id30_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame;  (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame;  (); }; myBalanceGame = new BalanceGame(this, game_container); stop(); } function  (){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame;  (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame;  (); };  = (Score.value + ((Controller.levelScore / 10) + myBalanceGame.score)); Score.value =  ; Controller.totalScore =  ; } function  (){ if ((((__setPropDict[__id30_] == undefined)) || (!((((int(__setPropDict[__id30_]) >= 66)) && ((int(__setPropDict[__id30_]) <= 79))))))){ __setPropDict[__id30_] = currentFrame;  (); }; stop(); NitromeGame.transition.doTween("the_game"); } function  (){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame;  (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame;  (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame;  (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame;  (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame;  (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame;  (); }; stop(); levelCompleteMessage.levelScore = (Controller.levelScore / 10); levelCompleteMessage.timeBonus = myBalanceGame.score; levelCompleteMessage.levelTotal = ((Controller.levelScore / 10) + myBalanceGame.score); levelCompleteMessage.totalScore =  ; myController.unlockNextLevel(); } function  (){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame;  (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame;  (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[__id30_] == undefined)) || (!((((int(__setPropDict[__id30_]) >= 66)) && ((int(__setPropDict[__id30_]) <= 79))))))){ __setPropDict[__id30_] = currentFrame;  (); }; } function  (){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame;  (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame;  (); }; } function  (){ try { scoreDisplay["componentInspectorSetting"] = true; } catch(e:Error) { }; scoreDisplay.align = "left"; scoreDisplay.align_vert = "center"; scoreDisplay.color = 0xFFFFFF; scoreDisplay.id = "None"; scoreDisplay.line_spacing = 18; scoreDisplay.text = "5:00"; scoreDisplay.tracking = 1; try { scoreDisplay["componentInspectorSetting"] = false; } catch(e:Error) { }; } function  (){ if ((((__setPropDict[__id30_] == undefined)) || (!((((int(__setPropDict[__id30_]) >= 66)) && ((int(__setPropDict[__id30_]) <= 79))))))){ __setPropDict[__id30_] = currentFrame;  (); }; } function  (){ NitromeGame.sound_manager.playMusic(SoundManager.MENU); } function  (){ if ((((__setPropDict[scoreDisplay] == undefined)) || (!((((((int(__setPropDict[scoreDisplay]) >= 26)) && ((int(__setPropDict[scoreDisplay]) <= 35)))) || ((((int(__setPropDict[scoreDisplay]) >= 80)) && ((int(__setPropDict[scoreDisplay]) <= 90))))))))){ __setPropDict[scoreDisplay] = currentFrame;  (); }; if ((((__setPropDict[levelDisplay] == undefined)) || (!((((((int(__setPropDict[levelDisplay]) >= 26)) && ((int(__setPropDict[levelDisplay]) <= 35)))) || ((((int(__setPropDict[levelDisplay]) >= 80)) && ((int(__setPropDict[levelDisplay]) <= 90))))))))){ __setPropDict[levelDisplay] = currentFrame; (); }; if ((((__setPropDict[totalScoreDisplay] == undefined)) || (!((((((int(__setPropDict[totalScoreDisplay]) >= 26)) && ((int(__setPropDict[totalScoreDisplay]) <= 35)))) || ((((int(__setPropDict[totalScoreDisplay]) >= 80)) && ((int(__setPropDict[totalScoreDisplay]) <= 90))))))))){ __setPropDict[totalScoreDisplay] = currentFrame;  (); }; stop(); myBalanceGame.stopGame(); NitromeGame.transition.doTween("game"); } function  (){ try { __id30_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id30_.align = "center"; __id30_.align_vert = "center"; __id30_.color = 0xFFFFFF; __id30_.id = "None"; __id30_.line_spacing = 18; __id30_.text = "Loading Level"; __id30_.tracking = 0; try { __id30_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package PowerUp_fla
Section 197
//metal_1_15 (PowerUp_fla.metal_1_15) package PowerUp_fla { import flash.display.*; public dynamic class metal_1_15 extends MovieClip { public function metal_1_15(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 198
//metal_2_16 (PowerUp_fla.metal_2_16) package PowerUp_fla { import flash.display.*; public dynamic class metal_2_16 extends MovieClip { public function metal_2_16(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 199
//metal_3_25 (PowerUp_fla.metal_3_25) package PowerUp_fla { import flash.display.*; public dynamic class metal_3_25 extends MovieClip { public function metal_3_25(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 200
//metal_4_26 (PowerUp_fla.metal_4_26) package PowerUp_fla { import flash.display.*; public dynamic class metal_4_26 extends MovieClip { public function metal_4_26(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 201
//monster_angry_29 (PowerUp_fla.monster_angry_29) package PowerUp_fla { import flash.display.*; public dynamic class monster_angry_29 extends MovieClip { public function monster_angry_29(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 202
//monster_happy_39 (PowerUp_fla.monster_happy_39) package PowerUp_fla { import flash.display.*; public dynamic class monster_happy_39 extends MovieClip { public function monster_happy_39(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 203
//monsterFrames_251 (PowerUp_fla.monsterFrames_251) package PowerUp_fla { import flash.display.*; public dynamic class monsterFrames_251 extends MovieClip { public function monsterFrames_251(){ addFrameScript(0, frame1, 29, frame30); } function frame1(){ stop(); } function frame30(){ stop(); } } }//package PowerUp_fla
Section 204
//moving_block_247 (PowerUp_fla.moving_block_247) package PowerUp_fla { import flash.display.*; public dynamic class moving_block_247 extends MovieClip { public var frontCogs:MovieClip; public var cogs:MovieClip; } }//package PowerUp_fla
Section 205
//nextlevelbutton_76 (PowerUp_fla.nextlevelbutton_76) package PowerUp_fla { import flash.display.*; import flash.utils.*; public dynamic class nextlevelbutton_76 extends MovieClip { public var __setPropDict:Dictionary; public var __id23_:NumbskullFont; public function nextlevelbutton_76(){ __setPropDict = new Dictionary(true); super(); addFrameScript(10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10); } function (){ try { __id23_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id23_.align = "center"; __id23_.align_vert = "top"; __id23_.color = 11977954; __id23_.id = "None"; __id23_.line_spacing = 18; __id23_.text = "next level"; __id23_.tracking = 0; try { __id23_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 1)) && ((int(__setPropDict[__id23_]) <= 10))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 11)) && ((int(__setPropDict[__id23_]) <= 20))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 11)) && ((int(__setPropDict[__id23_]) <= 20))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 1)) && ((int(__setPropDict[__id23_]) <= 10))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 11)) && ((int(__setPropDict[__id23_]) <= 20))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 11)) && ((int(__setPropDict[__id23_]) <= 20))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame17(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 11)) && ((int(__setPropDict[__id23_]) <= 20))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame19(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 11)) && ((int(__setPropDict[__id23_]) <= 20))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame6(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 1)) && ((int(__setPropDict[__id23_]) <= 10))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 11)) && ((int(__setPropDict[__id23_]) <= 20))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame18(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 11)) && ((int(__setPropDict[__id23_]) <= 20))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame5(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 1)) && ((int(__setPropDict[__id23_]) <= 10))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame9(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 1)) && ((int(__setPropDict[__id23_]) <= 10))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame1(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 1)) && ((int(__setPropDict[__id23_]) <= 10))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame4(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 1)) && ((int(__setPropDict[__id23_]) <= 10))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame20(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 11)) && ((int(__setPropDict[__id23_]) <= 20))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame2(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 1)) && ((int(__setPropDict[__id23_]) <= 10))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame7(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 1)) && ((int(__setPropDict[__id23_]) <= 10))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 1)) && ((int(__setPropDict[__id23_]) <= 10))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[__id23_] == undefined)) || (!((((int(__setPropDict[__id23_]) >= 11)) && ((int(__setPropDict[__id23_]) <= 20))))))){ __setPropDict[__id23_] = currentFrame; (); }; } function (){ try { __id23_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id23_.align = "center"; __id23_.align_vert = "top"; __id23_.color = 2574473; __id23_.id = "None"; __id23_.line_spacing = 18; __id23_.text = "next level"; __id23_.tracking = 0; try { __id23_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package PowerUp_fla
Section 206
//nitrome_12 (PowerUp_fla.nitrome_12) package PowerUp_fla { import flash.display.*; public dynamic class nitrome_12 extends MovieClip { public function nitrome_12(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 207
//nitrome_intro_299 (PowerUp_fla.nitrome_intro_299) package PowerUp_fla { import flash.display.*; public dynamic class nitrome_intro_299 extends MovieClip { public function nitrome_intro_299(){ addFrameScript(31, frame32, 35, frame36, 40, frame41, 45, frame46, 61,  , 100, , 140, ); } function (){ NitromeGame.sound_manager.playSound("nitrome"); } function frame36(){ NitromeGame.sound_manager.playSound("metal_3"); } function frame46(){ NitromeGame.sound_manager.playSound("metal_4"); } function frame41(){ NitromeGame.sound_manager.playSound("metal_2"); } function frame32(){ NitromeGame.sound_manager.playSound("metal_1"); } function (){ stop(); NitromeGame.transition.doTween("title_screen"); } function  (){ NitromeGame.sound_manager.playSound("electric"); } } }//package PowerUp_fla
Section 208
//pausedText_332 (PowerUp_fla.pausedText_332) package PowerUp_fla { import flash.display.*; import com.nitrome.game.*; public dynamic class pausedText_332 extends MovieClip { public var default_resume:ContinueGameButton; } }//package PowerUp_fla
Section 209
//pauseMessage_331 (PowerUp_fla.pauseMessage_331) package PowerUp_fla { import flash.display.*; import com.nitrome.balancer.*; import flash.events.*; public dynamic class pauseMessage_331 extends MovieClip { public var buttonBlanker:SimpleButton; public function pauseMessage_331(){ addFrameScript(0, frame1, 1, frame2, 29, frame30, 57, frame58); } function frame1(){ stop(); } function frame2(){ buttonBlanker.useHandCursor = false; } function frame30(){ stop(); buttonBlanker.addEventListener(MouseEvent.MOUSE_DOWN, closeBox); } public function closeBox(_arg1:Event){ play(); } function frame58(){ BalanceGame.panelOff(); } } }//package PowerUp_fla
Section 210
//robot_head_end_dial_286 (PowerUp_fla.robot_head_end_dial_286) package PowerUp_fla { import flash.display.*; public dynamic class robot_head_end_dial_286 extends MovieClip { public function robot_head_end_dial_286(){ addFrameScript(105, ); } function (){ stop(); } } }//package PowerUp_fla
Section 211
//robot_head_end_fill_cjt_282 (PowerUp_fla.robot_head_end_fill_cjt_282) package PowerUp_fla { import flash.display.*; public dynamic class robot_head_end_fill_cjt_282 extends MovieClip { public var mouth:MovieClip; } }//package PowerUp_fla
Section 212
//robot_mouth_power_284 (PowerUp_fla.robot_mouth_power_284) package PowerUp_fla { import flash.display.*; public dynamic class robot_mouth_power_284 extends MovieClip { public function robot_mouth_power_284(){ addFrameScript(109, ); } function (){ stop(); } } }//package PowerUp_fla
Section 213
//screw_259 (PowerUp_fla.screw_259) package PowerUp_fla { import flash.display.*; public dynamic class screw_259 extends MovieClip { public function screw_259(){ addFrameScript(14, frame15, 29, frame30); } function frame15(){ stop(); } function frame30(){ stop(); } } }//package PowerUp_fla
Section 214
//screw_38 (PowerUp_fla.screw_38) package PowerUp_fla { import flash.display.*; public dynamic class screw_38 extends MovieClip { public function screw_38(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 215
//slap_17 (PowerUp_fla.slap_17) package PowerUp_fla { import flash.display.*; public dynamic class slap_17 extends MovieClip { public function slap_17(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 216
//spark_help_318 (PowerUp_fla.spark_help_318) package PowerUp_fla { import flash.display.*; public dynamic class spark_help_318 extends MovieClip { public function spark_help_318(){ addFrameScript(0, frame1, 1194, ); } function (){ stop(); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 217
//sparks_310 (PowerUp_fla.sparks_310) package PowerUp_fla { import flash.display.*; public dynamic class sparks_310 extends MovieClip { public function sparks_310(){ addFrameScript(40, frame41); } function frame41(){ gotoAndPlay(11); } } }//package PowerUp_fla
Section 218
//splash_14 (PowerUp_fla.splash_14) package PowerUp_fla { import flash.display.*; public dynamic class splash_14 extends MovieClip { public function splash_14(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 219
//startHead_267 (PowerUp_fla.startHead_267) package PowerUp_fla { import flash.display.*; public dynamic class startHead_267 extends MovieClip { public var endHead:MovieClip; public var cannon:MovieClip; public function startHead_267(){ addFrameScript(0, frame1, 8, frame9); } function frame1(){ stop(); } function frame9(){ stop(); } } }//package PowerUp_fla
Section 220
//startMessage_327 (PowerUp_fla.startMessage_327) package PowerUp_fla { import flash.display.*; import com.nitrome.balancer.*; import flash.events.*; import flash.text.*; import flash.utils.*; import flash.media.*; import flash.geom.*; import flash.net.*; import flash.filters.*; import flash.ui.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.printing.*; import flash.xml.*; public dynamic class startMessage_327 extends MovieClip { public var buttonBlanker:SimpleButton; public var startText:MovieClip; public function startMessage_327(){ addFrameScript(0, frame1, 9, frame10, 28, frame29, 57, frame58); } function frame10(){ startText.levelTitle.gotoAndStop(Controller.selectedLevel); } function frame1(){ buttonBlanker.useHandCursor = false; } function frame29(){ stop(); buttonBlanker.addEventListener(MouseEvent.MOUSE_DOWN, closeBox); } public function closeBox(_arg1:Event){ play(); } function frame58(){ stop(); BalanceGame.panelOff(); } } }//package PowerUp_fla
Section 221
//startText_328 (PowerUp_fla.startText_328) package PowerUp_fla { import flash.display.*; public dynamic class startText_328 extends MovieClip { public var levelTitle:MovieClip; } }//package PowerUp_fla
Section 222
//sticky_18 (PowerUp_fla.sticky_18) package PowerUp_fla { import flash.display.*; public dynamic class sticky_18 extends MovieClip { public function sticky_18(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 223
//tesla_21 (PowerUp_fla.tesla_21) package PowerUp_fla { import flash.display.*; public dynamic class tesla_21 extends MovieClip { public function tesla_21(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package PowerUp_fla
Section 224
//tesla_256 (PowerUp_fla.tesla_256) package PowerUp_fla { import flash.display.*; public dynamic class tesla_256 extends MovieClip { public function tesla_256(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); NitromeGame.sound_manager.playSound("tesla"); } } }//package PowerUp_fla
Section 225
//AllStamps (AllStamps) package { import flash.display.*; import com.nitrome.balancer.*; public dynamic class AllStamps extends MovieClip { public var fish:Fishy; } }//package
Section 226
//BalancerFont (BalancerFont) package { import com.nitrome.game.*; public dynamic class BalancerFont extends BalancerFont { } }//package
Section 227
//BGColour (BGColour) package { import flash.display.*; public dynamic class BGColour extends MovieClip { } }//package
Section 228
//blockNode (blockNode) package { import flash.display.*; public dynamic class blockNode extends MovieClip { } }//package
Section 229
//Button_disabledSkin (Button_disabledSkin) package { import flash.display.*; public dynamic class Button_disabledSkin extends MovieClip { } }//package
Section 230
//Button_downSkin (Button_downSkin) package { import flash.display.*; public dynamic class Button_downSkin extends MovieClip { } }//package
Section 231
//Button_emphasizedSkin (Button_emphasizedSkin) package { import flash.display.*; public dynamic class Button_emphasizedSkin extends MovieClip { } }//package
Section 232
//Button_overSkin (Button_overSkin) package { import flash.display.*; public dynamic class Button_overSkin extends MovieClip { } }//package
Section 233
//Button_selectedDisabledSkin (Button_selectedDisabledSkin) package { import flash.display.*; public dynamic class Button_selectedDisabledSkin extends MovieClip { } }//package
Section 234
//Button_selectedDownSkin (Button_selectedDownSkin) package { import flash.display.*; public dynamic class Button_selectedDownSkin extends MovieClip { } }//package
Section 235
//Button_selectedOverSkin (Button_selectedOverSkin) package { import flash.display.*; public dynamic class Button_selectedOverSkin extends MovieClip { } }//package
Section 236
//Button_selectedUpSkin (Button_selectedUpSkin) package { import flash.display.*; public dynamic class Button_selectedUpSkin extends MovieClip { } }//package
Section 237
//Button_upSkin (Button_upSkin) package { import flash.display.*; public dynamic class Button_upSkin extends MovieClip { } }//package
Section 238
//CannonBall (CannonBall) package { import flash.display.*; public dynamic class CannonBall extends MovieClip { public var texture:MovieClip; } }//package
Section 239
//CheckBox_disabledIcon (CheckBox_disabledIcon) package { import flash.display.*; public dynamic class CheckBox_disabledIcon extends MovieClip { } }//package
Section 240
//CheckBox_downIcon (CheckBox_downIcon) package { import flash.display.*; public dynamic class CheckBox_downIcon extends MovieClip { } }//package
Section 241
//CheckBox_overIcon (CheckBox_overIcon) package { import flash.display.*; public dynamic class CheckBox_overIcon extends MovieClip { } }//package
Section 242
//CheckBox_selectedDisabledIcon (CheckBox_selectedDisabledIcon) package { import flash.display.*; public dynamic class CheckBox_selectedDisabledIcon extends MovieClip { } }//package
Section 243
//CheckBox_selectedDownIcon (CheckBox_selectedDownIcon) package { import flash.display.*; public dynamic class CheckBox_selectedDownIcon extends MovieClip { } }//package
Section 244
//CheckBox_selectedOverIcon (CheckBox_selectedOverIcon) package { import flash.display.*; public dynamic class CheckBox_selectedOverIcon extends MovieClip { } }//package
Section 245
//CheckBox_selectedUpIcon (CheckBox_selectedUpIcon) package { import flash.display.*; public dynamic class CheckBox_selectedUpIcon extends MovieClip { } }//package
Section 246
//CheckBox_upIcon (CheckBox_upIcon) package { import flash.display.*; public dynamic class CheckBox_upIcon extends MovieClip { } }//package
Section 247
//ClearButton (ClearButton) package { import flash.utils.*; import com.nitrome.highscore.*; public dynamic class ClearButton extends ClearButton { public var __id10_:BalancerFont; public var __setPropDict:Dictionary; public function ClearButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20); } function  (){ try { __id10_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id10_.align = "center"; __id10_.align_vert = "center"; __id10_.color = 0xCCCCCC; __id10_.id = "None"; __id10_.line_spacing = 18; __id10_.text = "Clear"; __id10_.tracking = 0; try { __id10_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 1)) && ((int(__setPropDict[__id10_]) <= 10))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame14(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 11)) && ((int(__setPropDict[__id10_]) <= 20))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame12(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 11)) && ((int(__setPropDict[__id10_]) <= 20))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame18(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 11)) && ((int(__setPropDict[__id10_]) <= 20))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame3(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 1)) && ((int(__setPropDict[__id10_]) <= 10))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame6(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 1)) && ((int(__setPropDict[__id10_]) <= 10))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame7(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 1)) && ((int(__setPropDict[__id10_]) <= 10))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame1(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 1)) && ((int(__setPropDict[__id10_]) <= 10))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame19(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 11)) && ((int(__setPropDict[__id10_]) <= 20))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame13(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 11)) && ((int(__setPropDict[__id10_]) <= 20))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame17(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 11)) && ((int(__setPropDict[__id10_]) <= 20))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function  (){ try { __id10_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id10_.align = "center"; __id10_.align_vert = "center"; __id10_.color = 0xFFFFFF; __id10_.id = "None"; __id10_.line_spacing = 18; __id10_.text = "Clear"; __id10_.tracking = 0; try { __id10_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame9(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 1)) && ((int(__setPropDict[__id10_]) <= 10))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame4(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 1)) && ((int(__setPropDict[__id10_]) <= 10))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame8(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 1)) && ((int(__setPropDict[__id10_]) <= 10))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame2(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 1)) && ((int(__setPropDict[__id10_]) <= 10))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame5(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 1)) && ((int(__setPropDict[__id10_]) <= 10))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame15(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 11)) && ((int(__setPropDict[__id10_]) <= 20))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame16(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 11)) && ((int(__setPropDict[__id10_]) <= 20))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame11(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 11)) && ((int(__setPropDict[__id10_]) <= 20))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } function frame20(){ if ((((__setPropDict[__id10_] == undefined)) || (!((((int(__setPropDict[__id10_]) >= 11)) && ((int(__setPropDict[__id10_]) <= 20))))))){ __setPropDict[__id10_] = currentFrame;  (); }; } } }//package
Section 248
//CursorD (CursorD) package { import flash.display.*; public dynamic class CursorD extends MovieClip { } }//package
Section 249
//CursorDL (CursorDL) package { import flash.display.*; public dynamic class CursorDL extends MovieClip { } }//package
Section 250
//CursorDR (CursorDR) package { import flash.display.*; public dynamic class CursorDR extends MovieClip { } }//package
Section 251
//CursorL (CursorL) package { import flash.display.*; public dynamic class CursorL extends MovieClip { } }//package
Section 252
//CursorR (CursorR) package { import flash.display.*; public dynamic class CursorR extends MovieClip { } }//package
Section 253
//CursorU (CursorU) package { import flash.display.*; public dynamic class CursorU extends MovieClip { } }//package
Section 254
//CursorUL (CursorUL) package { import flash.display.*; public dynamic class CursorUL extends MovieClip { } }//package
Section 255
//CursorUR (CursorUR) package { import flash.display.*; public dynamic class CursorUR extends MovieClip { } }//package
Section 256
//DeadZoneTexture (DeadZoneTexture) package { import flash.display.*; public dynamic class DeadZoneTexture extends BitmapData { public function DeadZoneTexture(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 257
//DeathTile (DeathTile) package { import flash.display.*; public dynamic class DeathTile extends BitmapData { public function DeathTile(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 258
//DeleteBlock (DeleteBlock) package { import flash.display.*; public dynamic class DeleteBlock extends MovieClip { } }//package
Section 259
//DustClip (DustClip) package { import flash.display.*; public dynamic class DustClip extends MovieClip { public function DustClip(){ addFrameScript(18, frame19); } function frame19(){ stop(); parent.removeChild(this); } } }//package
Section 260
//FloorTile (FloorTile) package { import flash.display.*; public dynamic class FloorTile extends BitmapData { public function FloorTile(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 261
//focusRectSkin (focusRectSkin) package { import flash.display.*; public dynamic class focusRectSkin extends MovieClip { } }//package
Section 262
//GameMusic (GameMusic) package { import flash.media.*; public dynamic class GameMusic extends Sound { } }//package
Section 263
//GamePieces (GamePieces) package { import flash.display.*; public dynamic class GamePieces extends MovieClip { public var chest:MovieClip; public var head:MovieClip; public function GamePieces(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 264
//GlassTexture (GlassTexture) package { import flash.display.*; public dynamic class GlassTexture extends BitmapData { public function GlassTexture(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 265
//GlassTexture2 (GlassTexture2) package { import flash.display.*; public dynamic class GlassTexture2 extends BitmapData { public function GlassTexture2(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 266
//GroundSmack (GroundSmack) package { import flash.display.*; public dynamic class GroundSmack extends MovieClip { } }//package
Section 267
//HelpSign (HelpSign) package { import flash.display.*; public dynamic class HelpSign extends MovieClip { } }//package
Section 268
//HighScoreBoard (HighScoreBoard) package { import flash.utils.*; import com.nitrome.highscore.*; public dynamic class HighScoreBoard extends HighScoreBoard { public var __id20_:BalancerFont; public var __id17_:BalancerFont; public var __id18_:BalancerFont; public var __setPropDict:Dictionary; public var __id19_:BalancerFont; public function HighScoreBoard(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19); } function (){ try { __id18_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id18_.align = "center"; __id18_.align_vert = "top"; __id18_.color = 0xFFFFFF; __id18_.id = "None"; __id18_.line_spacing = 18; __id18_.text = "at nitrome.com"; __id18_.tracking = 1; try { __id18_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 10)) && ((int(__setPropDict[__id19_]) <= 19))))))){ __setPropDict[__id19_] = currentFrame; (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 10)) && ((int(__setPropDict[__id17_]) <= 19))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 10)) && ((int(__setPropDict[__id18_]) <= 19))))))){ __setPropDict[__id18_] = currentFrame; (); }; if ((((__setPropDict[__id20_] == undefined)) || (!((((int(__setPropDict[__id20_]) >= 10)) && ((int(__setPropDict[__id20_]) <= 19))))))){ __setPropDict[__id20_] = currentFrame; (); }; stop(); } function frame14(){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 10)) && ((int(__setPropDict[__id19_]) <= 19))))))){ __setPropDict[__id19_] = currentFrame; (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 10)) && ((int(__setPropDict[__id17_]) <= 19))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 10)) && ((int(__setPropDict[__id18_]) <= 19))))))){ __setPropDict[__id18_] = currentFrame; (); }; if ((((__setPropDict[__id20_] == undefined)) || (!((((int(__setPropDict[__id20_]) >= 10)) && ((int(__setPropDict[__id20_]) <= 19))))))){ __setPropDict[__id20_] = currentFrame; (); }; } function frame12(){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 10)) && ((int(__setPropDict[__id19_]) <= 19))))))){ __setPropDict[__id19_] = currentFrame; (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 10)) && ((int(__setPropDict[__id17_]) <= 19))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 10)) && ((int(__setPropDict[__id18_]) <= 19))))))){ __setPropDict[__id18_] = currentFrame; (); }; if ((((__setPropDict[__id20_] == undefined)) || (!((((int(__setPropDict[__id20_]) >= 10)) && ((int(__setPropDict[__id20_]) <= 19))))))){ __setPropDict[__id20_] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 10)) && ((int(__setPropDict[__id19_]) <= 19))))))){ __setPropDict[__id19_] = currentFrame; (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 10)) && ((int(__setPropDict[__id17_]) <= 19))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 10)) && ((int(__setPropDict[__id18_]) <= 19))))))){ __setPropDict[__id18_] = currentFrame; (); }; if ((((__setPropDict[__id20_] == undefined)) || (!((((int(__setPropDict[__id20_]) >= 10)) && ((int(__setPropDict[__id20_]) <= 19))))))){ __setPropDict[__id20_] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 10)) && ((int(__setPropDict[__id19_]) <= 19))))))){ __setPropDict[__id19_] = currentFrame; (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 10)) && ((int(__setPropDict[__id17_]) <= 19))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 10)) && ((int(__setPropDict[__id18_]) <= 19))))))){ __setPropDict[__id18_] = currentFrame; (); }; if ((((__setPropDict[__id20_] == undefined)) || (!((((int(__setPropDict[__id20_]) >= 10)) && ((int(__setPropDict[__id20_]) <= 19))))))){ __setPropDict[__id20_] = currentFrame; (); }; } function frame19(){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 10)) && ((int(__setPropDict[__id19_]) <= 19))))))){ __setPropDict[__id19_] = currentFrame; (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 10)) && ((int(__setPropDict[__id17_]) <= 19))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 10)) && ((int(__setPropDict[__id18_]) <= 19))))))){ __setPropDict[__id18_] = currentFrame; (); }; if ((((__setPropDict[__id20_] == undefined)) || (!((((int(__setPropDict[__id20_]) >= 10)) && ((int(__setPropDict[__id20_]) <= 19))))))){ __setPropDict[__id20_] = currentFrame; (); }; } function (){ try { __id17_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id17_.align = "center"; __id17_.align_vert = "top"; __id17_.color = 0xFFFFFF; __id17_.id = "None"; __id17_.line_spacing = 18; __id17_.text = "highscores are available"; __id17_.tracking = 1; try { __id17_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame13(){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 10)) && ((int(__setPropDict[__id19_]) <= 19))))))){ __setPropDict[__id19_] = currentFrame; (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 10)) && ((int(__setPropDict[__id17_]) <= 19))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 10)) && ((int(__setPropDict[__id18_]) <= 19))))))){ __setPropDict[__id18_] = currentFrame; (); }; if ((((__setPropDict[__id20_] == undefined)) || (!((((int(__setPropDict[__id20_]) >= 10)) && ((int(__setPropDict[__id20_]) <= 19))))))){ __setPropDict[__id20_] = currentFrame; (); }; } function frame17(){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 10)) && ((int(__setPropDict[__id19_]) <= 19))))))){ __setPropDict[__id19_] = currentFrame; (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 10)) && ((int(__setPropDict[__id17_]) <= 19))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 10)) && ((int(__setPropDict[__id18_]) <= 19))))))){ __setPropDict[__id18_] = currentFrame; (); }; if ((((__setPropDict[__id20_] == undefined)) || (!((((int(__setPropDict[__id20_]) >= 10)) && ((int(__setPropDict[__id20_]) <= 19))))))){ __setPropDict[__id20_] = currentFrame; (); }; } function frame18(){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 10)) && ((int(__setPropDict[__id19_]) <= 19))))))){ __setPropDict[__id19_] = currentFrame; (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 10)) && ((int(__setPropDict[__id17_]) <= 19))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 10)) && ((int(__setPropDict[__id18_]) <= 19))))))){ __setPropDict[__id18_] = currentFrame; (); }; if ((((__setPropDict[__id20_] == undefined)) || (!((((int(__setPropDict[__id20_]) >= 10)) && ((int(__setPropDict[__id20_]) <= 19))))))){ __setPropDict[__id20_] = currentFrame; (); }; } function frame1(){ stop(); } function (){ try { __id20_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id20_.align = "center"; __id20_.align_vert = "top"; __id20_.color = 0xFFFFFF; __id20_.id = "None"; __id20_.line_spacing = 18; __id20_.text = "nitrome.com"; __id20_.tracking = 1; try { __id20_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame11(){ if ((((__setPropDict[__id19_] == undefined)) || (!((((int(__setPropDict[__id19_]) >= 10)) && ((int(__setPropDict[__id19_]) <= 19))))))){ __setPropDict[__id19_] = currentFrame; (); }; if ((((__setPropDict[__id17_] == undefined)) || (!((((int(__setPropDict[__id17_]) >= 10)) && ((int(__setPropDict[__id17_]) <= 19))))))){ __setPropDict[__id17_] = currentFrame; (); }; if ((((__setPropDict[__id18_] == undefined)) || (!((((int(__setPropDict[__id18_]) >= 10)) && ((int(__setPropDict[__id18_]) <= 19))))))){ __setPropDict[__id18_] = currentFrame; (); }; if ((((__setPropDict[__id20_] == undefined)) || (!((((int(__setPropDict[__id20_]) >= 10)) && ((int(__setPropDict[__id20_]) <= 19))))))){ __setPropDict[__id20_] = currentFrame; (); }; } function (){ try { __id19_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id19_.align = "center"; __id19_.align_vert = "top"; __id19_.color = 0xFFFFFF; __id19_.id = "None"; __id19_.line_spacing = 18; __id19_.text = "click to play at"; __id19_.tracking = 1; try { __id19_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 269
//Hills (Hills) package { import flash.display.*; public dynamic class Hills extends MovieClip { } }//package
Section 270
//LetterButton (LetterButton) package { import com.nitrome.highscore.*; public dynamic class LetterButton extends LetterButton { public function LetterButton(){ addFrameScript(0, frame1);  (); } function frame1(){ stop(); } function  (){ try { _letter["componentInspectorSetting"] = true; } catch(e:Error) { }; _letter.align = "center"; _letter.align_vert = "center"; _letter.color = 0xCCCCCC; _letter.id = "None"; _letter.line_spacing = 18; _letter.text = "A"; _letter.tracking = 0; try { _letter["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 271
//MenuMusic (MenuMusic) package { import flash.media.*; public dynamic class MenuMusic extends Sound { } }//package
Section 272
//MetalTexture (MetalTexture) package { import flash.display.*; public dynamic class MetalTexture extends BitmapData { public function MetalTexture(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 273
//NextArrow (NextArrow) package { import flash.utils.*; import com.nitrome.highscore.*; public dynamic class NextArrow extends ArrowButton { public var __setPropDict:Dictionary; public var __id15_:BalancerFont; public function NextArrow(){ __setPropDict = new Dictionary(true); super(); addFrameScript(10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20, 0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10); } function frame10(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 1)) && ((int(__setPropDict[__id15_]) <= 10))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame14(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 11)) && ((int(__setPropDict[__id15_]) <= 20))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame12(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 11)) && ((int(__setPropDict[__id15_]) <= 20))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame18(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 11)) && ((int(__setPropDict[__id15_]) <= 20))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame3(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 1)) && ((int(__setPropDict[__id15_]) <= 10))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame15(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 11)) && ((int(__setPropDict[__id15_]) <= 20))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame16(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 11)) && ((int(__setPropDict[__id15_]) <= 20))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame17(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 11)) && ((int(__setPropDict[__id15_]) <= 20))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame19(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 11)) && ((int(__setPropDict[__id15_]) <= 20))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame6(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 1)) && ((int(__setPropDict[__id15_]) <= 10))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame13(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 11)) && ((int(__setPropDict[__id15_]) <= 20))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame4(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 1)) && ((int(__setPropDict[__id15_]) <= 10))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame9(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 1)) && ((int(__setPropDict[__id15_]) <= 10))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame1(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 1)) && ((int(__setPropDict[__id15_]) <= 10))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function  (){ try { __id15_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id15_.align = "center"; __id15_.align_vert = "center"; __id15_.color = 0xCCCCCC; __id15_.id = "None"; __id15_.line_spacing = 18; __id15_.text = "Next"; __id15_.tracking = 0; try { __id15_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame20(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 11)) && ((int(__setPropDict[__id15_]) <= 20))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame2(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 1)) && ((int(__setPropDict[__id15_]) <= 10))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame5(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 1)) && ((int(__setPropDict[__id15_]) <= 10))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame7(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 1)) && ((int(__setPropDict[__id15_]) <= 10))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame8(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 1)) && ((int(__setPropDict[__id15_]) <= 10))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function frame11(){ if ((((__setPropDict[__id15_] == undefined)) || (!((((int(__setPropDict[__id15_]) >= 11)) && ((int(__setPropDict[__id15_]) <= 20))))))){ __setPropDict[__id15_] = currentFrame;  (); }; } function  (){ try { __id15_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id15_.align = "center"; __id15_.align_vert = "center"; __id15_.color = 0xFFFFFF; __id15_.id = "None"; __id15_.line_spacing = 18; __id15_.text = "Next"; __id15_.tracking = 0; try { __id15_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 274
//NitromeGame (NitromeGame) package { import flash.display.*; import com.nitrome.game.*; import com.nitrome.util.*; import flash.net.*; public class NitromeGame { public static const NITROME:uint = 0; private static const DOMAINS:Array = new Array(".nitrome.com/", ".miniclip.com/", ".candystand.com/", ".armorgames.com/"); public static const CANDYSTAND:uint = 2; private static const NITROME_URL:Array = new Array("http://www.nitrome.com/", "http://cdn.nitrome.com/", "http://nitrome.com/", "http://www.nitrome.co.uk/", "http://www.nitrome.net/", "http://www.nitromegames.com/", "http://www.nitromegames.co.uk/", "http://www.nitrome-games.com/", "http://www.nitrome-games.co.uk/", "http://www.nitromeimages.com/"); public static const ARMOR:uint = 3; private static const CANDYSTAND_URL:Array = new Array("http://www.candystand.com/", "http://candystand.com/"); public static const MINICLIP:uint = 1; public static const SUBMIT_URL:String = "http://www.nitrome.com/php/submit_score.php"; private static const ARMOR_URL:Array = new Array("http://www.armorgames.com/", "http://armorgames.com/", "http://cache.armorgames.com/"); private static const MINICLIP_URL:Array = new Array("http://www.miniclip.com/", "http://miniclip.com/"); public static const RETRIEVE_URL:String = "http://www.nitrome.com/php/retrieve_scores.php"; private static var _level_id:String; private static var _leading_zero:Boolean = false; private static var ar_1:Array = new Array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "/", ":", ".", "_", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-"); private static var ar_2:Array = new Array("_", "7", "c", "2", "l", "r", "a", "h", "i", ".", "g", "m", "v", "1", "b", "q", "3", "z", "w", "o", "u", "t", "s", "0", "d", "f", "8", "n", "5", "k", ":", "j", "p", "/", "4", "6", "e", "9", "y", "x", "-"); private static var _total_levels:int; private static var adj:Number = 1.75; private static var _url:String; public static var global:Object = new Object(); public static var timeline:MovieClip; private static var _game_id:String; private static var ff:Array = new Array(); private static var ar_key:String = "ctdngevfaqki8_lb:psoj90ux127hm/4w5y3rz.6-"; public static var transition:Transition; private static var _time_based:Boolean = false; public static var sound_manager:SoundManager; private static var _selected_level:int = 1; public static function setLastSavedScore(_arg1:int, _arg2:int=1):void{ var _local3:String; var _local4:SharedObject; _local3 = (("so_" + game_id) + String(_arg2)); _local4 = SharedObject.getLocal(_local3); _local4.data.last_saved_score = _arg1; _local4.flush(); _local4.close(); } public static function lockAllLevels(_arg1:int=1):void{ var _local2:String; var _local3:SharedObject; var _local4:Array; var _local5:int; _local2 = (("so_" + game_id) + _arg1); _local3 = SharedObject.getLocal(_local2); _local4 = new Array(total_levels); _local5 = 0; while (_local5 < _local4.length) { _local4[_local5] = 0; _local5++; }; _local4[0] = 1; _local3.data.levels_unlocked = _local4; _local3.flush(); _local3.close(); } public static function get game_id():String{ return (_game_id); } public static function set leading_zero(_arg1:Boolean):void{ _leading_zero = _arg1; } public static function set sfx(_arg1:Boolean):void{ var _local2:String; var _local3:SharedObject; _local2 = ("so_" + game_id); _local3 = SharedObject.getLocal(_local2); _local3.data.sfxon = _arg1; _local3.flush(); _local3.close(); } public static function unlockAllLevels(_arg1:int=1):void{ var _local2:String; var _local3:SharedObject; var _local4:Array; var _local5:int; _local2 = (("so_" + game_id) + _arg1); _local3 = SharedObject.getLocal(_local2); _local4 = new Array(total_levels); _local5 = 0; while (_local5 < _local4.length) { _local4[_local5] = 1; _local5++; }; _local3.data.levels_unlocked = _local4; _local3.flush(); _local3.close(); } private static function decryptString(_arg1:String, _arg2:String):String{ var _local3:String; var _local4:Number; var _local5:int; var _local6:*; var _local7:int; var _local8:int; var _local9:Number; var _local10:int; var _local11:String; adj = 1.75; ff = convertKey(_arg1); _local3 = ""; _local4 = 0; _local5 = 0; while (_local5 < _arg2.length) { _local6 = _arg2.substr(_local5, 1); _local8 = 0; while (_local8 < ar_2.length) { if (ar_2[_local8] == _local6){ _local7 = _local8; break; }; _local8++; }; adj = applyFudgeFactor(); _local9 = (_local4 + adj); _local10 = (_local7 - Math.round(_local9)); _local10 = checkRange(_local10); _local4 = (_local9 + _local7); _local11 = ar_1[_local10]; _local3 = (_local3 + _local11); _local5++; }; return (_local3); } public static function init(_arg1:MovieClip, _arg2:String, _arg3:String, _arg4:Number):void{ timeline = _arg1; _url = _arg1.loaderInfo.url; _level_id = _arg3; _total_levels = _arg4; _game_id = _arg2.toLowerCase(); } public static function displayNextButton(_arg1:String):Boolean{ var _local2:Array; var _local3:String; _local2 = _arg1.split("|"); _local3 = _local2[10]; if (_local3 == "1"){ return (true); }; if (_local3 == "0"){ return (false); }; return (false); } public static function set time_based(_arg1:Boolean):void{ _time_based = _arg1; } public static function get sfx():Boolean{ var _local1:String; var _local2:SharedObject; var _local3:Boolean; var _local4:*; _local1 = ("so_" + game_id); _local2 = SharedObject.getLocal(_local1); _local3 = false; for each (_local4 in _local2.data) { _local3 = true; break; }; if (_local3){ if (_local2.data.sfxon != undefined){ return (_local2.data.sfxon); }; return (true); //unresolved jump }; return (true); } public static function getScoreData(_arg1:int, _arg2:String):String{ var _local3:String; var _local4:String; _local3 = ((((String(_arg1) + "_") + game_id) + "_") + _arg2.toLowerCase()); _local4 = encryptString(ar_key, _local3); return (_local4); } public static function getTotalScore(_arg1:int=1):int{ var _local2:String; var _local3:SharedObject; var _local4:Boolean; var _local5:*; var _local6:int; var _local7:int; _local2 = (("so_" + game_id) + String(_arg1)); _local3 = SharedObject.getLocal(_local2); _local4 = false; for each (_local5 in _local3.data) { _local4 = true; break; }; if (!_local4){ return (0); }; if (_local3.data.level_scores == undefined){ return (0); }; _local6 = 0; _local7 = 0; while (_local7 < _local3.data.level_scores.length) { if (((!((_local3.data.level_scores[_local7] == undefined))) && (!(isNaN(_local3.data.level_scores[_local7]))))){ _local6 = (_local6 + _local3.data.level_scores[_local7]); }; _local7++; }; return (_local6); } private static function convertKey(_arg1:String):Array{ var _local2:Array; var _local3:int; var _local4:int; var _local5:String; var _local6:int; var _local7:int; _local2 = new Array(); _local2.push(_arg1.length); _local3 = 0; _local4 = 0; while (_local4 < _arg1.length) { _local5 = _arg1.substr(_local4, 1); _local7 = 0; while (_local7 < ar_1.length) { if (ar_1[_local7] == _local5){ _local6 = _local7; break; }; _local7++; }; _local2.push(_local6); _local3 = (_local3 + _local6); _local4++; }; _local2.push(_local3); return (_local2); } private static function checkRange(_arg1:int):int{ var _local2:int; _arg1 = Math.round(_arg1); _local2 = ar_1.length; while (_arg1 >= _local2) { _arg1 = (_arg1 - _local2); }; while (_arg1 < 0) { _arg1 = (_arg1 + _local2); }; return (_arg1); } public static function getSwfPath():String{ var _local1:String; var _local2:int; _local1 = url; _local2 = _local1.length; while (_local2 >= 0) { if (_local1.charAt(_local2) == "/"){ _local1 = _local1.slice(0, (_local2 + 1)); break; }; _local2--; }; return (_local1); } public static function get music():Boolean{ var _local1:String; var _local2:SharedObject; var _local3:Boolean; var _local4:*; _local1 = ("so_" + game_id); _local2 = SharedObject.getLocal(_local1); _local3 = false; for each (_local4 in _local2.data) { _local3 = true; break; }; if (_local3){ if (_local2.data.musicon != undefined){ return (_local2.data.musicon); }; return (true); //unresolved jump }; return (true); } public static function get level_id():String{ return (_level_id); } public static function setLevelUnlocked(_arg1:int, _arg2:int=1):void{ var _local3:String; var _local4:SharedObject; var _local5:Boolean; var _local6:*; var _local7:Array; var _local8:int; _local3 = (("so_" + game_id) + _arg2); _local4 = SharedObject.getLocal(_local3); _local5 = false; for each (_local6 in _local4.data) { _local5 = true; break; }; _local7 = new Array(total_levels); if (!_local5){ _local8 = 0; while (_local8 < _local7.length) { _local7[_local8] = 0; _local8++; }; _local7[0] = 1; } else { if (_local4.data.levels_unlocked == undefined){ _local8 = 0; while (_local8 < _local7.length) { _local7[_local8] = 0; _local8++; }; _local7[0] = 1; } else { _local7 = _local4.data.levels_unlocked; }; }; _local7[(_arg1 - 1)] = 1; _local4.data.levels_unlocked = _local7; _local4.flush(); _local4.close(); } public static function get total_levels():int{ return (_total_levels); } public static function isAtURL(... _args):Boolean{ var _local2:int; var _local3:Array; var _local4:Boolean; var _local5:int; var _local6:String; var _local7:String; if (_args.length == 0){ _args.push(NITROME); }; _local2 = 0; while (_local2 < _args.length) { if (_args[_local2] == NITROME){ _local3 = NITROME_URL; } else { if (_args[_local2] == MINICLIP){ _local3 = MINICLIP_URL; } else { if (_args[_local2] == CANDYSTAND){ _local3 = CANDYSTAND_URL; } else { if (_args[_local2] == ARMOR){ _local3 = ARMOR_URL; }; }; }; }; _local4 = false; _local5 = 0; while (_local5 < _local3.length) { _local6 = _local3[_local5]; if (url.substr(0, _local6.length) == _local6){ _local4 = true; break; }; _local5++; }; _local5 = 1; while (_local5 <= 30) { _local7 = DOMAINS[_args[_local2]]; if (url.substr(_local5, _local7.length) == _local7){ _local4 = true; }; _local5++; }; return (_local4); _local2++; }; return (false); } private static function encryptString(_arg1:String, _arg2:String):String{ var _local3:String; var _local4:Number; var _local5:int; var _local6:String; var _local7:int; var _local8:int; var _local9:Number; var _local10:int; var _local11:String; adj = 1.75; ff = convertKey(_arg1); _local3 = ""; _local4 = 0; _local5 = 0; while (_local5 < _arg2.length) { _local6 = _arg2.substr(_local5, 1); _local8 = 0; while (_local8 < ar_1.length) { if (ar_1[_local8] == _local6){ _local7 = _local8; break; }; _local8++; }; adj = applyFudgeFactor(); _local9 = (_local4 + adj); _local10 = (Math.round(_local9) + _local7); _local10 = checkRange(_local10); _local4 = (_local9 + _local10); _local11 = ar_2[_local10]; _local3 = (_local3 + _local11); _local5++; }; return (_local3); } public static function set selected_level(_arg1:int):void{ _selected_level = _arg1; } public static function get leading_zero():Boolean{ return (_leading_zero); } public static function set music(_arg1:Boolean):void{ var _local2:String; var _local3:SharedObject; _local2 = ("so_" + game_id); _local3 = SharedObject.getLocal(_local2); _local3.data.musicon = _arg1; _local3.flush(); _local3.close(); } public static function get time_based():Boolean{ return (_time_based); } public static function getLevelScore(_arg1:int, _arg2:int=1):int{ var _local3:String; var _local4:SharedObject; var _local5:Boolean; var _local6:*; _local3 = (("so_" + game_id) + String(_arg2)); _local4 = SharedObject.getLocal(_local3); _local5 = false; for each (_local6 in _local4.data) { _local5 = true; break; }; if (!_local5){ return (0); }; if (_local4.data.level_scores == undefined){ return (0); }; if (_local4.data.level_scores[_arg1] == undefined){ return (0); }; return (_local4.data.level_scores[_arg1]); } public static function getLevelUnlocked(_arg1:int, _arg2:int=1):Boolean{ var _local3:String; var _local4:SharedObject; var _local5:Boolean; var _local6:*; var _local7:Array; var _local8:int; _local3 = (("so_" + game_id) + _arg2); _local4 = SharedObject.getLocal(_local3); _local5 = false; for each (_local6 in _local4.data) { _local5 = true; break; }; _local7 = new Array(total_levels); if (!_local5){ _local8 = 0; while (_local8 < _local7.length) { _local7[_local8] = 0; _local8++; }; _local7[0] = 1; _local4.data.levels_unlocked = _local7; _local4.flush(); _local4.close(); if (_arg1 == 1){ return (true); }; return (false); } else { if (_local4.data.levels_unlocked == undefined){ _local8 = 0; while (_local8 < _local7.length) { _local7[_local8] = 0; _local8++; }; _local7[0] = 1; _local4.data.levels_unlocked = _local7; _local4.flush(); _local4.close(); if (_arg1 == 1){ return (true); }; return (false); } else { if (_local4.data.levels_unlocked[(_arg1 - 1)] == 1){ return (true); }; if (_local4.data.levels_unlocked[(_arg1 - 1)] == 0){ return (false); }; }; }; return (false); } public static function displayPreviousButton(_arg1:String):Boolean{ var _local2:Array; var _local3:String; _local2 = _arg1.split("|"); _local3 = _local2[11]; if (_local3 == "1"){ return (true); }; if (_local3 == "0"){ return (false); }; return (false); } public static function get selected_level():int{ return (_selected_level); } public static function setLevelScore(_arg1:int, _arg2:int, _arg3:int=1):void{ var _local4:String; var _local5:SharedObject; var _local6:Boolean; var _local7:*; _local4 = (("so_" + game_id) + _arg3); _local5 = SharedObject.getLocal(_local4); _local6 = false; for each (_local7 in _local5.data) { _local6 = true; break; }; if (!_local6){ _local5.data.level_scores = new Array(); _local5.data.level_scores[_arg2] = _arg1; } else { if (_local5.data.level_scores == undefined){ _local5.data.level_scores = new Array(); _local5.data.level_scores[_arg2] = _arg1; } else { _local5.data.level_scores[_arg2] = _arg1; }; }; _local5.flush(); _local5.close(); } private static function applyFudgeFactor():Number{ var _local1:Number; _local1 = Number(ff.shift()); _local1 = (_local1 + adj); ff.push(_local1); return (_local1); } public static function getHighScoreLine(_arg1:String, _arg2:int):Object{ var _local3:Array; var _local4:String; var _local5:Array; var _local6:Object; _local3 = _arg1.split("|"); _local4 = _local3[(_arg2 - 1)]; if ((((((((_local4 == "0")) || ((_local4 == "1")))) || ((_local4 == null)))) || ((_local4 == "")))){ return (null); }; _local5 = _local4.split("_"); if ((((_local5[1] == "n")) || ((_local5[2] == "n")))){ return (null); }; _local6 = new Object(); _local6.username = _local5[2]; _local6.score = _local5[1]; _local6.rank = _local5[0]; return (_local6); } public static function get url():String{ return (_url); } public static function getLastSavedScore(_arg1:int=1):int{ var _local2:String; var _local3:SharedObject; var _local4:Boolean; var _local5:*; _local2 = (("so_" + game_id) + String(_arg1)); _local3 = SharedObject.getLocal(_local2); _local4 = false; for each (_local5 in _local3.data) { _local4 = true; break; }; if (!_local4){ return (0); }; if (_local3.data.last_saved_score == undefined){ return (0); }; return (_local3.data.last_saved_score); } public static function getLevelName(_arg1:Number, _arg2:String=""):String{ var _local3:MD5; var _local4:String; var _local5:String; _local3 = new MD5(); _local4 = ""; if (leading_zero){ if (_arg1 < 10){ _local4 = "0"; }; }; _local5 = _local3.hash(String(((level_id + _local4) + _arg1))); return ((_local5 + _arg2)); } } }//package
Section 275
//NumbskullFont (NumbskullFont) package { import com.nitrome.game.*; public dynamic class NumbskullFont extends TemplateFont { } }//package
Section 276
//PreDefinedBlocks (PreDefinedBlocks) package { import flash.display.*; public dynamic class PreDefinedBlocks extends MovieClip { public var tesla:MovieClip; public var bees:MovieClip; public var screw:MovieClip; public var block:MovieClip; public var monster:MovieClip; public function PreDefinedBlocks(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 277
//PrevArrow (PrevArrow) package { import flash.utils.*; import com.nitrome.highscore.*; public dynamic class PrevArrow extends ArrowButton { public var __setPropDict:Dictionary; public var __id16_:BalancerFont; public function PrevArrow(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20); } function  (){ try { __id16_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id16_.align = "center"; __id16_.align_vert = "center"; __id16_.color = 0xFFFFFF; __id16_.id = "None"; __id16_.line_spacing = 18; __id16_.text = "Prev"; __id16_.tracking = 0; try { __id16_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function  (){ try { __id16_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id16_.align = "center"; __id16_.align_vert = "center"; __id16_.color = 0xCCCCCC; __id16_.id = "None"; __id16_.line_spacing = 18; __id16_.text = "Prev"; __id16_.tracking = 0; try { __id16_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame10(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 1)) && ((int(__setPropDict[__id16_]) <= 10))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function frame14(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 11)) && ((int(__setPropDict[__id16_]) <= 20))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function frame12(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 11)) && ((int(__setPropDict[__id16_]) <= 20))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function frame18(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 11)) && ((int(__setPropDict[__id16_]) <= 20))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function frame3(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 1)) && ((int(__setPropDict[__id16_]) <= 10))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function frame6(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 1)) && ((int(__setPropDict[__id16_]) <= 10))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function frame7(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 1)) && ((int(__setPropDict[__id16_]) <= 10))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function frame1(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 1)) && ((int(__setPropDict[__id16_]) <= 10))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function frame19(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 11)) && ((int(__setPropDict[__id16_]) <= 20))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function frame13(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 11)) && ((int(__setPropDict[__id16_]) <= 20))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function frame17(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 11)) && ((int(__setPropDict[__id16_]) <= 20))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function frame4(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 1)) && ((int(__setPropDict[__id16_]) <= 10))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function frame9(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 1)) && ((int(__setPropDict[__id16_]) <= 10))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function frame16(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 11)) && ((int(__setPropDict[__id16_]) <= 20))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function frame8(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 1)) && ((int(__setPropDict[__id16_]) <= 10))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function frame2(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 1)) && ((int(__setPropDict[__id16_]) <= 10))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function frame5(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 1)) && ((int(__setPropDict[__id16_]) <= 10))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function frame15(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 11)) && ((int(__setPropDict[__id16_]) <= 20))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function frame20(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 11)) && ((int(__setPropDict[__id16_]) <= 20))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } function frame11(){ if ((((__setPropDict[__id16_] == undefined)) || (!((((int(__setPropDict[__id16_]) >= 11)) && ((int(__setPropDict[__id16_]) <= 20))))))){ __setPropDict[__id16_] = currentFrame;  (); }; } } }//package
Section 278
//RotateBlock (RotateBlock) package { import flash.display.*; public dynamic class RotateBlock extends MovieClip { } }//package
Section 279
//ScoreLine (ScoreLine) package { import com.nitrome.highscore.*; public dynamic class ScoreLine extends HighScoreLine { public function ScoreLine(){  ();  ();  (); } function  (){ try { _name_text["componentInspectorSetting"] = true; } catch(e:Error) { }; _name_text.align = "left"; _name_text.align_vert = "top"; _name_text.color = 0xFFFFFF; _name_text.id = "None"; _name_text.line_spacing = 18; _name_text.text = "Carl"; _name_text.tracking = 1; try { _name_text["componentInspectorSetting"] = false; } catch(e:Error) { }; } function  (){ try { _score_text["componentInspectorSetting"] = true; } catch(e:Error) { }; _score_text.align = "right"; _score_text.align_vert = "top"; _score_text.color = 0xFFFFFF; _score_text.id = "None"; _score_text.line_spacing = 18; _score_text.text = "000"; _score_text.tracking = 1; try { _score_text["componentInspectorSetting"] = false; } catch(e:Error) { }; } function  (){ try { _rank_text["componentInspectorSetting"] = true; } catch(e:Error) { }; _rank_text.align = "left"; _rank_text.align_vert = "top"; _rank_text.color = 0xFFFFFF; _rank_text.id = "None"; _rank_text.line_spacing = 18; _rank_text.text = "1."; _rank_text.tracking = 1; try { _rank_text["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 280
//ScoreSubmitPanel (ScoreSubmitPanel) package { import flash.utils.*; import com.nitrome.game.*; import com.nitrome.highscore.*; public dynamic class ScoreSubmitPanel extends ScoreSubmitPanel { public var __setPropDict:Dictionary; public var __id11_:BalancerFont; public var __id12_:BalancerFont; public var __id13_:BalancerFont; public var __id14_:BalancerFont; public function ScoreSubmitPanel(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9); } function (){ try { _score_text["componentInspectorSetting"] = true; } catch(e:Error) { }; _score_text.align = "center"; _score_text.align_vert = "center"; _score_text.color = 0xFFFFFF; _score_text.id = "None"; _score_text.line_spacing = 18; _score_text.text = "Your score is 0"; _score_text.tracking = 0; try { _score_text["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (){ try { _name_text["componentInspectorSetting"] = true; } catch(e:Error) { }; _name_text.align = "center"; _name_text.align_vert = "top"; _name_text.color = 0xFFFFFF; _name_text.id = "None"; _name_text.line_spacing = 18; _name_text.text = ""; _name_text.tracking = 1; try { _name_text["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (){ try { __id13_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id13_.align = "center"; __id13_.align_vert = "top"; __id13_.color = 0xFFFFFF; __id13_.id = "None"; __id13_.line_spacing = 18; __id13_.text = "click to play at"; __id13_.tracking = 1; try { __id13_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame19(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 10)) && ((int(__setPropDict[__id12_]) <= 19))))))){ __setPropDict[__id12_] = currentFrame;  (); }; if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 10)) && ((int(__setPropDict[__id14_]) <= 19))))))){ __setPropDict[__id14_] = currentFrame; (); }; if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 10)) && ((int(__setPropDict[__id11_]) <= 19))))))){ __setPropDict[__id11_] = currentFrame; (); }; if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 10)) && ((int(__setPropDict[__id13_]) <= 19))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame10(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 10)) && ((int(__setPropDict[__id12_]) <= 19))))))){ __setPropDict[__id12_] = currentFrame;  (); }; if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 10)) && ((int(__setPropDict[__id14_]) <= 19))))))){ __setPropDict[__id14_] = currentFrame; (); }; if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 10)) && ((int(__setPropDict[__id11_]) <= 19))))))){ __setPropDict[__id11_] = currentFrame; (); }; if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 10)) && ((int(__setPropDict[__id13_]) <= 19))))))){ __setPropDict[__id13_] = currentFrame; (); }; stop(); } function frame12(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 10)) && ((int(__setPropDict[__id12_]) <= 19))))))){ __setPropDict[__id12_] = currentFrame;  (); }; if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 10)) && ((int(__setPropDict[__id14_]) <= 19))))))){ __setPropDict[__id14_] = currentFrame; (); }; if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 10)) && ((int(__setPropDict[__id11_]) <= 19))))))){ __setPropDict[__id11_] = currentFrame; (); }; if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 10)) && ((int(__setPropDict[__id13_]) <= 19))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame13(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 10)) && ((int(__setPropDict[__id12_]) <= 19))))))){ __setPropDict[__id12_] = currentFrame;  (); }; if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 10)) && ((int(__setPropDict[__id14_]) <= 19))))))){ __setPropDict[__id14_] = currentFrame; (); }; if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 10)) && ((int(__setPropDict[__id11_]) <= 19))))))){ __setPropDict[__id11_] = currentFrame; (); }; if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 10)) && ((int(__setPropDict[__id13_]) <= 19))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame1(){ if ((((__setPropDict[_name_text] == undefined)) || (!((((int(__setPropDict[_name_text]) >= 1)) && ((int(__setPropDict[_name_text]) <= 9))))))){ __setPropDict[_name_text] = currentFrame; (); }; if ((((__setPropDict[_score_text] == undefined)) || (!((((int(__setPropDict[_score_text]) >= 1)) && ((int(__setPropDict[_score_text]) <= 9))))))){ __setPropDict[_score_text] = currentFrame; (); }; stop(); _score_text.text = ("YOUR SCORE IS " + Score.value); } function frame17(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 10)) && ((int(__setPropDict[__id12_]) <= 19))))))){ __setPropDict[__id12_] = currentFrame;  (); }; if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 10)) && ((int(__setPropDict[__id14_]) <= 19))))))){ __setPropDict[__id14_] = currentFrame; (); }; if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 10)) && ((int(__setPropDict[__id11_]) <= 19))))))){ __setPropDict[__id11_] = currentFrame; (); }; if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 10)) && ((int(__setPropDict[__id13_]) <= 19))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame18(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 10)) && ((int(__setPropDict[__id12_]) <= 19))))))){ __setPropDict[__id12_] = currentFrame;  (); }; if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 10)) && ((int(__setPropDict[__id14_]) <= 19))))))){ __setPropDict[__id14_] = currentFrame; (); }; if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 10)) && ((int(__setPropDict[__id11_]) <= 19))))))){ __setPropDict[__id11_] = currentFrame; (); }; if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 10)) && ((int(__setPropDict[__id13_]) <= 19))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame5(){ if ((((__setPropDict[_name_text] == undefined)) || (!((((int(__setPropDict[_name_text]) >= 1)) && ((int(__setPropDict[_name_text]) <= 9))))))){ __setPropDict[_name_text] = currentFrame; (); }; if ((((__setPropDict[_score_text] == undefined)) || (!((((int(__setPropDict[_score_text]) >= 1)) && ((int(__setPropDict[_score_text]) <= 9))))))){ __setPropDict[_score_text] = currentFrame; (); }; } function frame15(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 10)) && ((int(__setPropDict[__id12_]) <= 19))))))){ __setPropDict[__id12_] = currentFrame;  (); }; if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 10)) && ((int(__setPropDict[__id14_]) <= 19))))))){ __setPropDict[__id14_] = currentFrame; (); }; if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 10)) && ((int(__setPropDict[__id11_]) <= 19))))))){ __setPropDict[__id11_] = currentFrame; (); }; if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 10)) && ((int(__setPropDict[__id13_]) <= 19))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame8(){ if ((((__setPropDict[_name_text] == undefined)) || (!((((int(__setPropDict[_name_text]) >= 1)) && ((int(__setPropDict[_name_text]) <= 9))))))){ __setPropDict[_name_text] = currentFrame; (); }; if ((((__setPropDict[_score_text] == undefined)) || (!((((int(__setPropDict[_score_text]) >= 1)) && ((int(__setPropDict[_score_text]) <= 9))))))){ __setPropDict[_score_text] = currentFrame; (); }; } function frame2(){ if ((((__setPropDict[_name_text] == undefined)) || (!((((int(__setPropDict[_name_text]) >= 1)) && ((int(__setPropDict[_name_text]) <= 9))))))){ __setPropDict[_name_text] = currentFrame; (); }; if ((((__setPropDict[_score_text] == undefined)) || (!((((int(__setPropDict[_score_text]) >= 1)) && ((int(__setPropDict[_score_text]) <= 9))))))){ __setPropDict[_score_text] = currentFrame; (); }; } function frame7(){ if ((((__setPropDict[_name_text] == undefined)) || (!((((int(__setPropDict[_name_text]) >= 1)) && ((int(__setPropDict[_name_text]) <= 9))))))){ __setPropDict[_name_text] = currentFrame; (); }; if ((((__setPropDict[_score_text] == undefined)) || (!((((int(__setPropDict[_score_text]) >= 1)) && ((int(__setPropDict[_score_text]) <= 9))))))){ __setPropDict[_score_text] = currentFrame; (); }; } function frame9(){ if ((((__setPropDict[_name_text] == undefined)) || (!((((int(__setPropDict[_name_text]) >= 1)) && ((int(__setPropDict[_name_text]) <= 9))))))){ __setPropDict[_name_text] = currentFrame; (); }; if ((((__setPropDict[_score_text] == undefined)) || (!((((int(__setPropDict[_score_text]) >= 1)) && ((int(__setPropDict[_score_text]) <= 9))))))){ __setPropDict[_score_text] = currentFrame; (); }; } function frame3(){ if ((((__setPropDict[_name_text] == undefined)) || (!((((int(__setPropDict[_name_text]) >= 1)) && ((int(__setPropDict[_name_text]) <= 9))))))){ __setPropDict[_name_text] = currentFrame; (); }; if ((((__setPropDict[_score_text] == undefined)) || (!((((int(__setPropDict[_score_text]) >= 1)) && ((int(__setPropDict[_score_text]) <= 9))))))){ __setPropDict[_score_text] = currentFrame; (); }; } function frame11(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 10)) && ((int(__setPropDict[__id12_]) <= 19))))))){ __setPropDict[__id12_] = currentFrame;  (); }; if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 10)) && ((int(__setPropDict[__id14_]) <= 19))))))){ __setPropDict[__id14_] = currentFrame; (); }; if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 10)) && ((int(__setPropDict[__id11_]) <= 19))))))){ __setPropDict[__id11_] = currentFrame; (); }; if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 10)) && ((int(__setPropDict[__id13_]) <= 19))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame6(){ if ((((__setPropDict[_name_text] == undefined)) || (!((((int(__setPropDict[_name_text]) >= 1)) && ((int(__setPropDict[_name_text]) <= 9))))))){ __setPropDict[_name_text] = currentFrame; (); }; if ((((__setPropDict[_score_text] == undefined)) || (!((((int(__setPropDict[_score_text]) >= 1)) && ((int(__setPropDict[_score_text]) <= 9))))))){ __setPropDict[_score_text] = currentFrame; (); }; } function frame14(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 10)) && ((int(__setPropDict[__id12_]) <= 19))))))){ __setPropDict[__id12_] = currentFrame;  (); }; if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 10)) && ((int(__setPropDict[__id14_]) <= 19))))))){ __setPropDict[__id14_] = currentFrame; (); }; if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 10)) && ((int(__setPropDict[__id11_]) <= 19))))))){ __setPropDict[__id11_] = currentFrame; (); }; if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 10)) && ((int(__setPropDict[__id13_]) <= 19))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame16(){ if ((((__setPropDict[__id12_] == undefined)) || (!((((int(__setPropDict[__id12_]) >= 10)) && ((int(__setPropDict[__id12_]) <= 19))))))){ __setPropDict[__id12_] = currentFrame;  (); }; if ((((__setPropDict[__id14_] == undefined)) || (!((((int(__setPropDict[__id14_]) >= 10)) && ((int(__setPropDict[__id14_]) <= 19))))))){ __setPropDict[__id14_] = currentFrame; (); }; if ((((__setPropDict[__id11_] == undefined)) || (!((((int(__setPropDict[__id11_]) >= 10)) && ((int(__setPropDict[__id11_]) <= 19))))))){ __setPropDict[__id11_] = currentFrame; (); }; if ((((__setPropDict[__id13_] == undefined)) || (!((((int(__setPropDict[__id13_]) >= 10)) && ((int(__setPropDict[__id13_]) <= 19))))))){ __setPropDict[__id13_] = currentFrame; (); }; } function frame4(){ if ((((__setPropDict[_name_text] == undefined)) || (!((((int(__setPropDict[_name_text]) >= 1)) && ((int(__setPropDict[_name_text]) <= 9))))))){ __setPropDict[_name_text] = currentFrame; (); }; if ((((__setPropDict[_score_text] == undefined)) || (!((((int(__setPropDict[_score_text]) >= 1)) && ((int(__setPropDict[_score_text]) <= 9))))))){ __setPropDict[_score_text] = currentFrame; (); }; } function (){ try { __id14_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id14_.align = "center"; __id14_.align_vert = "top"; __id14_.color = 0xFFFFFF; __id14_.id = "None"; __id14_.line_spacing = 18; __id14_.text = "nitrome.com"; __id14_.tracking = 1; try { __id14_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function (){ try { __id11_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id11_.align = "center"; __id11_.align_vert = "top"; __id11_.color = 0xFFFFFF; __id11_.id = "None"; __id11_.line_spacing = 18; __id11_.text = "highscores are available"; __id11_.tracking = 1; try { __id11_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function  (){ try { __id12_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id12_.align = "center"; __id12_.align_vert = "top"; __id12_.color = 0xFFFFFF; __id12_.id = "None"; __id12_.line_spacing = 18; __id12_.text = "at nitrome.com"; __id12_.tracking = 1; try { __id12_["componentInspectorSetting"] = false; } catch(e:Error) { }; } } }//package
Section 281
//ScrollArrowDown_disabledSkin (ScrollArrowDown_disabledSkin) package { import flash.display.*; public dynamic class ScrollArrowDown_disabledSkin extends MovieClip { } }//package
Section 282
//ScrollArrowDown_downSkin (ScrollArrowDown_downSkin) package { import flash.display.*; public dynamic class ScrollArrowDown_downSkin extends MovieClip { } }//package
Section 283
//ScrollArrowDown_overSkin (ScrollArrowDown_overSkin) package { import flash.display.*; public dynamic class ScrollArrowDown_overSkin extends MovieClip { } }//package
Section 284
//ScrollArrowDown_upSkin (ScrollArrowDown_upSkin) package { import flash.display.*; public dynamic class ScrollArrowDown_upSkin extends MovieClip { } }//package
Section 285
//ScrollArrowUp_disabledSkin (ScrollArrowUp_disabledSkin) package { import flash.display.*; public dynamic class ScrollArrowUp_disabledSkin extends MovieClip { } }//package
Section 286
//ScrollArrowUp_downSkin (ScrollArrowUp_downSkin) package { import flash.display.*; public dynamic class ScrollArrowUp_downSkin extends MovieClip { } }//package
Section 287
//ScrollArrowUp_overSkin (ScrollArrowUp_overSkin) package { import flash.display.*; public dynamic class ScrollArrowUp_overSkin extends MovieClip { } }//package
Section 288
//ScrollArrowUp_upSkin (ScrollArrowUp_upSkin) package { import flash.display.*; public dynamic class ScrollArrowUp_upSkin extends MovieClip { } }//package
Section 289
//ScrollBar_thumbIcon (ScrollBar_thumbIcon) package { import flash.display.*; public dynamic class ScrollBar_thumbIcon extends MovieClip { } }//package
Section 290
//ScrollThumb_downSkin (ScrollThumb_downSkin) package { import flash.display.*; public dynamic class ScrollThumb_downSkin extends MovieClip { } }//package
Section 291
//ScrollThumb_overSkin (ScrollThumb_overSkin) package { import flash.display.*; public dynamic class ScrollThumb_overSkin extends MovieClip { } }//package
Section 292
//ScrollThumb_upSkin (ScrollThumb_upSkin) package { import flash.display.*; public dynamic class ScrollThumb_upSkin extends MovieClip { } }//package
Section 293
//ScrollTrack_skin (ScrollTrack_skin) package { import flash.display.*; public dynamic class ScrollTrack_skin extends MovieClip { } }//package
Section 294
//Sea (Sea) package { import flash.display.*; public dynamic class Sea extends MovieClip { } }//package
Section 295
//Shine (Shine) package { import flash.display.*; public dynamic class Shine extends MovieClip { } }//package
Section 296
//Sky (Sky) package { import flash.display.*; public dynamic class Sky extends MovieClip { } }//package
Section 297
//SmashClip (SmashClip) package { import flash.display.*; public dynamic class SmashClip extends MovieClip { public function SmashClip(){ addFrameScript(7, frame8); } function frame8(){ stop(); parent.removeChild(this); } } }//package
Section 298
//SplashClip (SplashClip) package { import flash.display.*; public dynamic class SplashClip extends MovieClip { public function SplashClip(){ addFrameScript(18, frame19); } function frame19(){ stop(); parent.removeChild(this); } } }//package
Section 299
//SubmitButton (SubmitButton) package { import flash.utils.*; import com.nitrome.highscore.*; public dynamic class SubmitButton extends SubmitButton { public var __setPropDict:Dictionary; public var __id9_:BalancerFont; public function SubmitButton(){ __setPropDict = new Dictionary(true); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18, 18, frame19, 19, frame20); } function frame10(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 1)) && ((int(__setPropDict[__id9_]) <= 10))))))){ __setPropDict[__id9_] = currentFrame;   (); }; } function frame14(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 11)) && ((int(__setPropDict[__id9_]) <= 20))))))){ __setPropDict[__id9_] = currentFrame;   (); }; } function frame12(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 11)) && ((int(__setPropDict[__id9_]) <= 20))))))){ __setPropDict[__id9_] = currentFrame;   (); }; } function frame18(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 11)) && ((int(__setPropDict[__id9_]) <= 20))))))){ __setPropDict[__id9_] = currentFrame;   (); }; } function frame3(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 1)) && ((int(__setPropDict[__id9_]) <= 10))))))){ __setPropDict[__id9_] = currentFrame;   (); }; } function frame6(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 1)) && ((int(__setPropDict[__id9_]) <= 10))))))){ __setPropDict[__id9_] = currentFrame;   (); }; } function   (){ try { __id9_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id9_.align = "center"; __id9_.align_vert = "center"; __id9_.color = 0xFFFFFF; __id9_.id = "None"; __id9_.line_spacing = 18; __id9_.text = "Submit"; __id9_.tracking = 0; try { __id9_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame1(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 1)) && ((int(__setPropDict[__id9_]) <= 10))))))){ __setPropDict[__id9_] = currentFrame;   (); }; } function frame19(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 11)) && ((int(__setPropDict[__id9_]) <= 20))))))){ __setPropDict[__id9_] = currentFrame;   (); }; } function frame7(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 1)) && ((int(__setPropDict[__id9_]) <= 10))))))){ __setPropDict[__id9_] = currentFrame;   (); }; } function frame17(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 11)) && ((int(__setPropDict[__id9_]) <= 20))))))){ __setPropDict[__id9_] = currentFrame;   (); }; } function frame4(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 1)) && ((int(__setPropDict[__id9_]) <= 10))))))){ __setPropDict[__id9_] = currentFrame;   (); }; } function frame9(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 1)) && ((int(__setPropDict[__id9_]) <= 10))))))){ __setPropDict[__id9_] = currentFrame;   (); }; } function frame13(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 11)) && ((int(__setPropDict[__id9_]) <= 20))))))){ __setPropDict[__id9_] = currentFrame;   (); }; } function frame16(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 11)) && ((int(__setPropDict[__id9_]) <= 20))))))){ __setPropDict[__id9_] = currentFrame;   (); }; } function frame2(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 1)) && ((int(__setPropDict[__id9_]) <= 10))))))){ __setPropDict[__id9_] = currentFrame;   (); }; } function frame5(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 1)) && ((int(__setPropDict[__id9_]) <= 10))))))){ __setPropDict[__id9_] = currentFrame;   (); }; } function frame15(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 11)) && ((int(__setPropDict[__id9_]) <= 20))))))){ __setPropDict[__id9_] = currentFrame;   (); }; } function frame8(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 1)) && ((int(__setPropDict[__id9_]) <= 10))))))){ __setPropDict[__id9_] = currentFrame;   (); }; } function frame11(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 11)) && ((int(__setPropDict[__id9_]) <= 20))))))){ __setPropDict[__id9_] = currentFrame;   (); }; } function   (){ try { __id9_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id9_.align = "center"; __id9_.align_vert = "center"; __id9_.color = 0xCCCCCC; __id9_.id = "None"; __id9_.line_spacing = 18; __id9_.text = "Submit"; __id9_.tracking = 0; try { __id9_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame20(){ if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 11)) && ((int(__setPropDict[__id9_]) <= 20))))))){ __setPropDict[__id9_] = currentFrame;   (); }; } } }//package
Section 300
//Text_None_0 (Text_None_0) package { import flash.display.*; public dynamic class Text_None_0 extends Sprite { } }//package
Section 301
//Text_None_1 (Text_None_1) package { import flash.display.*; public dynamic class Text_None_1 extends Sprite { } }//package
Section 302
//Text_None_2 (Text_None_2) package { import flash.display.*; public dynamic class Text_None_2 extends Sprite { } }//package
Section 303
//Text_None_3 (Text_None_3) package { import flash.display.*; public dynamic class Text_None_3 extends Sprite { } }//package
Section 304
//Text_None_4 (Text_None_4) package { import flash.display.*; public dynamic class Text_None_4 extends Sprite { } }//package
Section 305
//Text_None_5 (Text_None_5) package { import flash.display.*; public dynamic class Text_None_5 extends Sprite { } }//package
Section 306
//Text_None_6 (Text_None_6) package { import flash.display.*; public dynamic class Text_None_6 extends Sprite { } }//package
Section 307
//Text_None_7 (Text_None_7) package { import flash.display.*; public dynamic class Text_None_7 extends Sprite { } }//package
Section 308
//Text_None_8 (Text_None_8) package { import flash.display.*; public dynamic class Text_None_8 extends Sprite { } }//package
Section 309
//Text_None_9 (Text_None_9) package { import flash.display.*; public dynamic class Text_None_9 extends Sprite { } }//package
Section 310
//Text_None_A (Text_None_A) package { import flash.display.*; public dynamic class Text_None_A extends Sprite { } }//package
Section 311
//Text_None_APOSTROPHE (Text_None_APOSTROPHE) package { import flash.display.*; public dynamic class Text_None_APOSTROPHE extends Sprite { } }//package
Section 312
//Text_None_B (Text_None_B) package { import flash.display.*; public dynamic class Text_None_B extends Sprite { } }//package
Section 313
//Text_None_C (Text_None_C) package { import flash.display.*; public dynamic class Text_None_C extends Sprite { } }//package
Section 314
//Text_None_COLON (Text_None_COLON) package { import flash.display.*; public dynamic class Text_None_COLON extends Sprite { } }//package
Section 315
//Text_None_COMMA (Text_None_COMMA) package { import flash.display.*; public dynamic class Text_None_COMMA extends Sprite { } }//package
Section 316
//Text_None_D (Text_None_D) package { import flash.display.*; public dynamic class Text_None_D extends Sprite { } }//package
Section 317
//Text_None_E (Text_None_E) package { import flash.display.*; public dynamic class Text_None_E extends Sprite { } }//package
Section 318
//Text_None_EXCLAMATION (Text_None_EXCLAMATION) package { import flash.display.*; public dynamic class Text_None_EXCLAMATION extends Sprite { } }//package
Section 319
//Text_None_F (Text_None_F) package { import flash.display.*; public dynamic class Text_None_F extends Sprite { } }//package
Section 320
//Text_None_FORWARDSLASH (Text_None_FORWARDSLASH) package { import flash.display.*; public dynamic class Text_None_FORWARDSLASH extends Sprite { } }//package
Section 321
//Text_None_G (Text_None_G) package { import flash.display.*; public dynamic class Text_None_G extends Sprite { } }//package
Section 322
//Text_None_H (Text_None_H) package { import flash.display.*; public dynamic class Text_None_H extends Sprite { } }//package
Section 323
//Text_None_HYPHEN (Text_None_HYPHEN) package { import flash.display.*; public dynamic class Text_None_HYPHEN extends Sprite { } }//package
Section 324
//Text_None_I (Text_None_I) package { import flash.display.*; public dynamic class Text_None_I extends Sprite { } }//package
Section 325
//Text_None_J (Text_None_J) package { import flash.display.*; public dynamic class Text_None_J extends Sprite { } }//package
Section 326
//Text_None_K (Text_None_K) package { import flash.display.*; public dynamic class Text_None_K extends Sprite { } }//package
Section 327
//Text_None_L (Text_None_L) package { import flash.display.*; public dynamic class Text_None_L extends Sprite { } }//package
Section 328
//Text_None_M (Text_None_M) package { import flash.display.*; public dynamic class Text_None_M extends Sprite { } }//package
Section 329
//Text_None_N (Text_None_N) package { import flash.display.*; public dynamic class Text_None_N extends Sprite { } }//package
Section 330
//Text_None_O (Text_None_O) package { import flash.display.*; public dynamic class Text_None_O extends Sprite { } }//package
Section 331
//Text_None_P (Text_None_P) package { import flash.display.*; public dynamic class Text_None_P extends Sprite { } }//package
Section 332
//Text_None_Q (Text_None_Q) package { import flash.display.*; public dynamic class Text_None_Q extends Sprite { } }//package
Section 333
//Text_None_QUESTION (Text_None_QUESTION) package { import flash.display.*; public dynamic class Text_None_QUESTION extends Sprite { } }//package
Section 334
//Text_None_R (Text_None_R) package { import flash.display.*; public dynamic class Text_None_R extends Sprite { } }//package
Section 335
//Text_None_S (Text_None_S) package { import flash.display.*; public dynamic class Text_None_S extends Sprite { } }//package
Section 336
//Text_None_SPACE (Text_None_SPACE) package { import flash.display.*; public dynamic class Text_None_SPACE extends MovieClip { } }//package
Section 337
//Text_None_STOP (Text_None_STOP) package { import flash.display.*; public dynamic class Text_None_STOP extends Sprite { } }//package
Section 338
//Text_None_T (Text_None_T) package { import flash.display.*; public dynamic class Text_None_T extends Sprite { } }//package
Section 339
//Text_None_U (Text_None_U) package { import flash.display.*; public dynamic class Text_None_U extends Sprite { } }//package
Section 340
//Text_None_V (Text_None_V) package { import flash.display.*; public dynamic class Text_None_V extends Sprite { } }//package
Section 341
//Text_None_W (Text_None_W) package { import flash.display.*; public dynamic class Text_None_W extends Sprite { } }//package
Section 342
//Text_None_X (Text_None_X) package { import flash.display.*; public dynamic class Text_None_X extends Sprite { } }//package
Section 343
//Text_None_Y (Text_None_Y) package { import flash.display.*; public dynamic class Text_None_Y extends Sprite { } }//package
Section 344
//Text_None_Z (Text_None_Z) package { import flash.display.*; public dynamic class Text_None_Z extends Sprite { } }//package
Section 345
//WaterTexture (WaterTexture) package { import flash.display.*; public dynamic class WaterTexture extends BitmapData { public function WaterTexture(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 346
//WoodTexture (WoodTexture) package { import flash.display.*; public dynamic class WoodTexture extends BitmapData { public function WoodTexture(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package

Library Items

Symbol 1 BitmapUsed by:2 230 236 250
Symbol 2 GraphicUses:1Used by:3
Symbol 3 MovieClipUses:2Used by:136 234 235
Symbol 4 GraphicUsed by:135 310
Symbol 5 BitmapUsed by:6
Symbol 6 GraphicUses:5Used by:7
Symbol 7 MovieClip {Text_None_0}Uses:6Used by:135 310
Symbol 8 BitmapUsed by:9
Symbol 9 GraphicUses:8Used by:10
Symbol 10 MovieClip {Text_None_1}Uses:9Used by:135 310
Symbol 11 BitmapUsed by:12
Symbol 12 GraphicUses:11Used by:13
Symbol 13 MovieClip {Text_None_2}Uses:12Used by:135 310
Symbol 14 BitmapUsed by:15
Symbol 15 GraphicUses:14Used by:16
Symbol 16 MovieClip {Text_None_3}Uses:15Used by:135 310
Symbol 17 BitmapUsed by:18
Symbol 18 GraphicUses:17Used by:19
Symbol 19 MovieClip {Text_None_4}Uses:18Used by:135 310
Symbol 20 BitmapUsed by:21
Symbol 21 GraphicUses:20Used by:22
Symbol 22 MovieClip {Text_None_5}Uses:21Used by:135 310
Symbol 23 BitmapUsed by:24
Symbol 24 GraphicUses:23Used by:25
Symbol 25 MovieClip {Text_None_6}Uses:24Used by:135 310
Symbol 26 BitmapUsed by:27
Symbol 27 GraphicUses:26Used by:28
Symbol 28 MovieClip {Text_None_7}Uses:27Used by:135 310
Symbol 29 BitmapUsed by:30
Symbol 30 GraphicUses:29Used by:31
Symbol 31 MovieClip {Text_None_8}Uses:30Used by:135 310
Symbol 32 BitmapUsed by:33
Symbol 33 GraphicUses:32Used by:34
Symbol 34 MovieClip {Text_None_9}Uses:33Used by:135 310
Symbol 35 BitmapUsed by:36
Symbol 36 GraphicUses:35Used by:37
Symbol 37 MovieClip {Text_None_A}Uses:36Used by:135 310
Symbol 38 BitmapUsed by:39 50
Symbol 39 GraphicUses:38Used by:40
Symbol 40 MovieClip {Text_None_APOSTROPHE}Uses:39Used by:135 310
Symbol 41 BitmapUsed by:42
Symbol 42 GraphicUses:41Used by:43
Symbol 43 MovieClip {Text_None_B}Uses:42Used by:135 310
Symbol 44 BitmapUsed by:45
Symbol 45 GraphicUses:44Used by:46
Symbol 46 MovieClip {Text_None_C}Uses:45Used by:135 310
Symbol 47 BitmapUsed by:48
Symbol 48 GraphicUses:47Used by:49
Symbol 49 MovieClip {Text_None_COLON}Uses:48Used by:135 310
Symbol 50 GraphicUses:38Used by:51
Symbol 51 MovieClip {Text_None_COMMA}Uses:50Used by:135 310
Symbol 52 BitmapUsed by:53
Symbol 53 GraphicUses:52Used by:54
Symbol 54 MovieClip {Text_None_D}Uses:53Used by:135 310
Symbol 55 BitmapUsed by:56
Symbol 56 GraphicUses:55Used by:57
Symbol 57 MovieClip {Text_None_E}Uses:56Used by:135 310
Symbol 58 BitmapUsed by:59
Symbol 59 GraphicUses:58Used by:60
Symbol 60 MovieClip {Text_None_EXCLAMATION}Uses:59Used by:135 310
Symbol 61 BitmapUsed by:62
Symbol 62 GraphicUses:61Used by:63
Symbol 63 MovieClip {Text_None_F}Uses:62Used by:135 310
Symbol 64 BitmapUsed by:65
Symbol 65 GraphicUses:64Used by:66
Symbol 66 MovieClip {Text_None_G}Uses:65Used by:135 310
Symbol 67 BitmapUsed by:68
Symbol 68 GraphicUses:67Used by:69
Symbol 69 MovieClip {Text_None_H}Uses:68Used by:135 310
Symbol 70 BitmapUsed by:71
Symbol 71 GraphicUses:70Used by:72
Symbol 72 MovieClip {Text_None_HYPHEN}Uses:71Used by:135 310
Symbol 73 BitmapUsed by:74
Symbol 74 GraphicUses:73Used by:75
Symbol 75 MovieClip {Text_None_I}Uses:74Used by:135 310
Symbol 76 BitmapUsed by:77
Symbol 77 GraphicUses:76Used by:78
Symbol 78 MovieClip {Text_None_J}Uses:77Used by:135 310
Symbol 79 BitmapUsed by:80
Symbol 80 GraphicUses:79Used by:81
Symbol 81 MovieClip {Text_None_K}Uses:80Used by:135 310
Symbol 82 BitmapUsed by:83
Symbol 83 GraphicUses:82Used by:84
Symbol 84 MovieClip {Text_None_L}Uses:83Used by:135 310
Symbol 85 BitmapUsed by:86
Symbol 86 GraphicUses:85Used by:87
Symbol 87 MovieClip {Text_None_M}Uses:86Used by:135 310
Symbol 88 BitmapUsed by:89
Symbol 89 GraphicUses:88Used by:90
Symbol 90 MovieClip {Text_None_N}Uses:89Used by:135 310
Symbol 91 BitmapUsed by:92
Symbol 92 GraphicUses:91Used by:93
Symbol 93 MovieClip {Text_None_O}Uses:92Used by:135 310
Symbol 94 BitmapUsed by:95
Symbol 95 GraphicUses:94Used by:96
Symbol 96 MovieClip {Text_None_P}Uses:95Used by:135 310
Symbol 97 BitmapUsed by:98
Symbol 98 GraphicUses:97Used by:99
Symbol 99 MovieClip {Text_None_Q}Uses:98Used by:135 310
Symbol 100 BitmapUsed by:101
Symbol 101 GraphicUses:100Used by:102
Symbol 102 MovieClip {Text_None_QUESTION}Uses:101Used by:135 238 310 1326
Symbol 103 BitmapUsed by:104
Symbol 104 GraphicUses:103Used by:105
Symbol 105 MovieClip {Text_None_R}Uses:104Used by:135 310
Symbol 106 BitmapUsed by:107
Symbol 107 GraphicUses:106Used by:108
Symbol 108 MovieClip {Text_None_S}Uses:107Used by:135 310
Symbol 109 BitmapUsed by:110
Symbol 110 GraphicUses:109Used by:111
Symbol 111 MovieClip {Text_None_STOP}Uses:110Used by:135 310
Symbol 112 BitmapUsed by:113
Symbol 113 GraphicUses:112Used by:114
Symbol 114 MovieClip {Text_None_T}Uses:113Used by:135 310
Symbol 115 BitmapUsed by:116
Symbol 116 GraphicUses:115Used by:117
Symbol 117 MovieClip {Text_None_U}Uses:116Used by:135 310
Symbol 118 BitmapUsed by:119
Symbol 119 GraphicUses:118Used by:120
Symbol 120 MovieClip {Text_None_V}Uses:119Used by:135 310
Symbol 121 BitmapUsed by:122
Symbol 122 GraphicUses:121Used by:123
Symbol 123 MovieClip {Text_None_W}Uses:122Used by:135 310
Symbol 124 BitmapUsed by:125
Symbol 125 GraphicUses:124Used by:126
Symbol 126 MovieClip {Text_None_X}Uses:125Used by:135 310
Symbol 127 BitmapUsed by:128
Symbol 128 GraphicUses:127Used by:129
Symbol 129 MovieClip {Text_None_Y}Uses:128Used by:135 310
Symbol 130 BitmapUsed by:131
Symbol 131 GraphicUses:130Used by:132
Symbol 132 MovieClip {Text_None_Z}Uses:131Used by:135 310
Symbol 133 GraphicUsed by:134
Symbol 134 MovieClip {Text_None_SPACE}Uses:133Used by:135 310
Symbol 135 MovieClip {BalancerFont}Uses:4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 51 54 57 60 63 66 69 72 75 78 81 84 87 90 93 96 99 102 105 108 111 114 117 120 123 126 129 132 134Used by:136 142 232 233 234 235 238 239 240 241 242 243 244 249 252 253 254 255 301 302 1447 1499 1508 1509 1519 1527  Timeline
Symbol 136 MovieClip {com.nitrome.game.NextLevelButton}Uses:3 135Used by:1520
Symbol 137 GraphicUsed by:138
Symbol 138 MovieClip {com.nitrome.game.ArmorButton}Uses:137Used by:Timeline
Symbol 139 GraphicUsed by:416  Timeline
Symbol 140 FontUsed by:141
Symbol 141 EditableTextUses:140Used by:142
Symbol 142 MovieClip {com.nitrome.game.Preloader}Uses:135 141Used by:1326  Timeline
Symbol 143 GraphicUsed by:Timeline
Symbol 144 BitmapUsed by:145
Symbol 145 GraphicUses:144Used by:146
Symbol 146 MovieClip {CursorUL}Uses:145Used by:1326
Symbol 147 BitmapUsed by:148
Symbol 148 GraphicUses:147Used by:149
Symbol 149 MovieClip {CursorUR}Uses:148Used by:1326
Symbol 150 BitmapUsed by:151
Symbol 151 GraphicUses:150Used by:152
Symbol 152 MovieClip {CursorDL}Uses:151Used by:1326
Symbol 153 BitmapUsed by:154
Symbol 154 GraphicUses:153Used by:155
Symbol 155 MovieClip {CursorDR}Uses:154Used by:1326
Symbol 156 BitmapUsed by:157
Symbol 157 GraphicUses:156Used by:158
Symbol 158 MovieClip {CursorD}Uses:157Used by:1326
Symbol 159 BitmapUsed by:160
Symbol 160 GraphicUses:159Used by:161
Symbol 161 MovieClip {CursorU}Uses:160Used by:1326
Symbol 162 BitmapUsed by:163
Symbol 163 GraphicUses:162Used by:164
Symbol 164 MovieClip {CursorR}Uses:163Used by:1326
Symbol 165 BitmapUsed by:166
Symbol 166 GraphicUses:165Used by:167
Symbol 167 MovieClip {CursorL}Uses:166Used by:1326
Symbol 168 SoundUsed by:169
Symbol 169 MovieClip {PowerUp_fla.nitrome_12}Uses:168Used by:225
Symbol 170 SoundUsed by:171
Symbol 171 MovieClip {PowerUp_fla.deepthud_13}Uses:170Used by:225
Symbol 172 SoundUsed by:173
Symbol 173 MovieClip {PowerUp_fla.splash_14}Uses:172Used by:225
Symbol 174 SoundUsed by:175
Symbol 175 MovieClip {PowerUp_fla.metal_1_15}Uses:174Used by:225
Symbol 176 SoundUsed by:177 195
Symbol 177 MovieClip {PowerUp_fla.metal_2_16}Uses:176Used by:225
Symbol 178 SoundUsed by:179
Symbol 179 MovieClip {PowerUp_fla.slap_17}Uses:178Used by:225
Symbol 180 SoundUsed by:181
Symbol 181 MovieClip {PowerUp_fla.sticky_18}Uses:180Used by:225
Symbol 182 SoundUsed by:184
Symbol 183 SoundUsed by:184
Symbol 184 MovieClip {PowerUp_fla.cannon_19}Uses:182 183Used by:225
Symbol 185 SoundUsed by:186
Symbol 186 MovieClip {PowerUp_fla.chest_creak_20}Uses:185Used by:225
Symbol 187 SoundUsed by:188
Symbol 188 MovieClip {PowerUp_fla.tesla_21}Uses:187Used by:225
Symbol 189 SoundUsed by:190
Symbol 190 MovieClip {PowerUp_fla.chargeup_22}Uses:189Used by:225
Symbol 191 SoundUsed by:192
Symbol 192 MovieClip {PowerUp_fla.charged_23}Uses:191Used by:225
Symbol 193 SoundUsed by:194
Symbol 194 MovieClip {PowerUp_fla.balloon_24}Uses:193Used by:225
Symbol 195 MovieClip {PowerUp_fla.metal_3_25}Uses:176Used by:225
Symbol 196 SoundUsed by:197
Symbol 197 MovieClip {PowerUp_fla.metal_4_26}Uses:196Used by:225
Symbol 198 SoundUsed by:199
Symbol 199 MovieClip {PowerUp_fla.glasstap_27}Uses:198Used by:225
Symbol 200 SoundUsed by:201
Symbol 201 MovieClip {PowerUp_fla.death_ground_28}Uses:200Used by:225
Symbol 202 SoundUsed by:203
Symbol 203 MovieClip {PowerUp_fla.monster_angry_29}Uses:202Used by:225
Symbol 204 SoundUsed by:205
Symbol 205 MovieClip {PowerUp_fla.electric_30}Uses:204Used by:225
Symbol 206 SoundUsed by:207
Symbol 207 MovieClip {PowerUp_fla.chargeup2_31}Uses:206Used by:225
Symbol 208 SoundUsed by:209
Symbol 209 MovieClip {PowerUp_fla.chargeup3_32}Uses:208Used by:225
Symbol 210 SoundUsed by:211
Symbol 211 MovieClip {PowerUp_fla.chargeup4_33}Uses:210Used by:225
Symbol 212 SoundUsed by:213
Symbol 213 MovieClip {PowerUp_fla.chargeup6_34}Uses:212Used by:225
Symbol 214 SoundUsed by:215
Symbol 215 MovieClip {PowerUp_fla.chargeup5_35}Uses:214Used by:225
Symbol 216 SoundUsed by:217
Symbol 217 MovieClip {PowerUp_fla.chargeup7_36}Uses:216Used by:225
Symbol 218 SoundUsed by:219
Symbol 219 MovieClip {PowerUp_fla.chargeup8_37}Uses:218Used by:225
Symbol 220 SoundUsed by:221
Symbol 221 MovieClip {PowerUp_fla.screw_38}Uses:220Used by:225
Symbol 222 SoundUsed by:223
Symbol 223 MovieClip {PowerUp_fla.monster_happy_39}Uses:222Used by:225
Symbol 224 GraphicUsed by:225
Symbol 225 MovieClip {com.nitrome.game.SoundManager}Uses:169 171 173 175 177 179 181 184 186 188 190 192 194 195 197 199 201 203 205 207 209 211 213 215 217 219 221 223 224Used by:1326
Symbol 226 FontUsed by:227
Symbol 227 TextUses:226Used by:228
Symbol 228 MovieClipUses:227Used by:229
Symbol 229 MovieClip {com.nitrome.game.LoadIndicator}Uses:228Used by:1326
Symbol 230 GraphicUses:1Used by:231
Symbol 231 MovieClipUses:230Used by:232 233 239 240 241 242 243 253 254 301 302 1499 1509
Symbol 232 MovieClip {com.nitrome.game.PlayButton}Uses:231 135Used by:1326  Timeline
Symbol 233 MovieClip {com.nitrome.game.BackToTitleButton}Uses:231 135Used by:1326 1527  Timeline
Symbol 234 MovieClip {com.nitrome.game.CongratulationsSubmitScoreButton}Uses:3 135Used by:1326
Symbol 235 MovieClip {com.nitrome.game.PauseSubmitScoreButton}Uses:3 135Used by:1326
Symbol 236 GraphicUses:1Used by:237
Symbol 237 MovieClipUses:236Used by:238 244
Symbol 238 MovieClip {com.nitrome.game.LevelStartButton}Uses:237 135 102Used by:1326  Timeline
Symbol 239 MovieClip {com.nitrome.game.HelpButton}Uses:231 135Used by:1326  Timeline
Symbol 240 MovieClip {com.nitrome.game.ScoresButton}Uses:231 135Used by:1326
Symbol 241 MovieClip {com.nitrome.game.CreditsButton}Uses:231 135Used by:1326  Timeline
Symbol 242 MovieClip {SubmitButton}Uses:231 135Used by:249 1326
Symbol 243 MovieClip {ClearButton}Uses:231 135Used by:249 1326
Symbol 244 MovieClip {LetterButton}Uses:237 135Used by:249 1326
Symbol 245 BitmapUsed by:246 1431
Symbol 246 GraphicUses:245Used by:249 255
Symbol 247 GraphicUsed by:248 323
Symbol 248 Button {com.nitrome.game.NitromeLink}Uses:247Used by:249 255 1326
Symbol 249 MovieClip {ScoreSubmitPanel}Uses:242 243 244 135 246 248Used by:1326
Symbol 250 GraphicUses:1Used by:251
Symbol 251 MovieClipUses:250Used by:252 1519
Symbol 252 MovieClip {ScoreLine}Uses:251 135Used by:255 1326
Symbol 253 MovieClip {NextArrow}Uses:231 135Used by:255 1326
Symbol 254 MovieClip {PrevArrow}Uses:231 135Used by:255 1326
Symbol 255 MovieClip {HighScoreBoard}Uses:252 253 254 135 246 248Used by:1326
Symbol 256 GraphicUsed by:257
Symbol 257 MovieClipUses:256Used by:258
Symbol 258 MovieClipUses:257Used by:269
Symbol 259 GraphicUsed by:269
Symbol 260 GraphicUsed by:269
Symbol 261 GraphicUsed by:269
Symbol 262 GraphicUsed by:269
Symbol 263 GraphicUsed by:269
Symbol 264 GraphicUsed by:269  Timeline
Symbol 265 GraphicUsed by:269
Symbol 266 GraphicUsed by:269
Symbol 267 GraphicUsed by:269
Symbol 268 GraphicUsed by:269
Symbol 269 MovieClip {com.nitrome.game.Transition}Uses:258 259 260 261 262 263 264 265 266 267 268Used by:1326  Timeline
Symbol 270 BitmapUsed by:271
Symbol 271 GraphicUses:270Used by:272
Symbol 272 MovieClipUses:271Used by:276
Symbol 273 BitmapUsed by:275
Symbol 274 BitmapUsed by:275 279
Symbol 275 GraphicUses:273 274Used by:276
Symbol 276 MovieClip {com.nitrome.game.PauseButton}Uses:272 275Used by:1326  Timeline
Symbol 277 BitmapUsed by:278
Symbol 278 GraphicUses:277Used by:284
Symbol 279 GraphicUses:274Used by:284
Symbol 280 FontUsed by:281
Symbol 281 TextUses:280Used by:284
Symbol 282 BitmapUsed by:283
Symbol 283 GraphicUses:282Used by:284
Symbol 284 MovieClip {com.nitrome.game.InGameHelpButton}Uses:278 279 281 283Used by:1326  Timeline
Symbol 285 BitmapUsed by:286
Symbol 286 GraphicUses:285Used by:287
Symbol 287 MovieClipUses:286Used by:293
Symbol 288 BitmapUsed by:290
Symbol 289 BitmapUsed by:290
Symbol 290 GraphicUses:288 289Used by:293
Symbol 291 BitmapUsed by:292
Symbol 292 GraphicUses:291Used by:293 300
Symbol 293 MovieClip {com.nitrome.game.MusicToggle}Uses:287 290 292Used by:1326  Timeline
Symbol 294 BitmapUsed by:295
Symbol 295 GraphicUses:294Used by:296
Symbol 296 MovieClipUses:295Used by:300
Symbol 297 BitmapUsed by:299
Symbol 298 BitmapUsed by:299
Symbol 299 GraphicUses:297 298Used by:300
Symbol 300 MovieClip {com.nitrome.game.FxToggle}Uses:296 299 292Used by:1326  Timeline
Symbol 301 MovieClip {com.nitrome.game.ContinueGameButton}Uses:231 135Used by:1326 1503
Symbol 302 MovieClip {com.nitrome.game.EndGameButton}Uses:231 135Used by:1326 1503
Symbol 303 BitmapUsed by:306
Symbol 304 BitmapUsed by:306
Symbol 305 BitmapUsed by:306
Symbol 306 GraphicUses:303 304 305Used by:311 312 313
Symbol 307 BitmapUsed by:308
Symbol 308 GraphicUses:307Used by:309
Symbol 309 MovieClip {Text_None_FORWARDSLASH}Uses:308Used by:310
Symbol 310 MovieClip {NumbskullFont}Uses:4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 51 54 57 60 63 66 69 72 75 78 81 84 87 90 93 96 99 102 105 108 111 114 117 120 123 126 129 132 134 309Used by:311 312 313
Symbol 311 MovieClip {PowerUp_fla.nextlevelbutton_76}Uses:306 310Used by:1326
Symbol 312 MovieClip {com.nitrome.game.RestartLevelButton}Uses:306 310Used by:1326
Symbol 313 MovieClip {com.nitrome.game.IngameSubmitScoreButton}Uses:306 310Used by:1326
Symbol 314 GraphicUsed by:318
Symbol 315 FontUsed by:316
Symbol 316 TextUses:315Used by:318
Symbol 317 GraphicUsed by:318
Symbol 318 MovieClip {com.nitrome.game.ExitToLevelSelectButton}Uses:314 316 317Used by:1326
Symbol 319 FontUsed by:320
Symbol 320 TextUses:319Used by:323
Symbol 321 BitmapUsed by:322
Symbol 322 GraphicUses:321Used by:323
Symbol 323 MovieClip {com.nitrome.util.Lock}Uses:247 320 322Used by:1326
Symbol 324 BitmapUsed by:325
Symbol 325 GraphicUses:324Used by:326
Symbol 326 MovieClipUses:325Used by:330
Symbol 327 BitmapUsed by:329
Symbol 328 BitmapUsed by:329
Symbol 329 GraphicUses:327 328Used by:330
Symbol 330 MovieClip {com.nitrome.game.ResetButton}Uses:326 329Used by:1326  Timeline
Symbol 331 GraphicUsed by:332 341
Symbol 332 MovieClip {CheckBox_upIcon}Uses:331Used by:351 1326
Symbol 333 GraphicUsed by:334 342
Symbol 334 MovieClip {CheckBox_overIcon}Uses:333Used by:351 1326
Symbol 335 GraphicUsed by:336 343
Symbol 336 MovieClip {CheckBox_downIcon}Uses:335Used by:351 1326
Symbol 337 GraphicUsed by:338
Symbol 338 MovieClip {CheckBox_disabledIcon}Uses:337Used by:351 1326
Symbol 339 GraphicUsed by:340
Symbol 340 MovieClipUses:339Used by:341 342 343 345
Symbol 341 MovieClip {CheckBox_selectedUpIcon}Uses:331 340Used by:351 1326
Symbol 342 MovieClip {CheckBox_selectedOverIcon}Uses:333 340Used by:351 1326
Symbol 343 MovieClip {CheckBox_selectedDownIcon}Uses:335 340Used by:351 1326
Symbol 344 GraphicUsed by:345
Symbol 345 MovieClip {CheckBox_selectedDisabledIcon}Uses:344 340Used by:351 1326
Symbol 346 GraphicUsed by:347
Symbol 347 MovieClip {focusRectSkin}Uses:346Used by:351 383 402 1326
Symbol 348 GraphicUsed by:349
Symbol 349 MovieClipUses:348Used by:351 383 402
Symbol 350 MovieClip {fl.core.ComponentShim}Used by:351 383 402
Symbol 351 MovieClip {fl.controls.CheckBox}Uses:349 350 332 334 336 338 341 342 343 345 347Used by:352 411 1326
Symbol 352 MovieClip {com.nitrome.balancer.BlockDrawer_game}Uses:351Used by:1326
Symbol 353 GraphicUsed by:354
Symbol 354 MovieClip {blockNode}Uses:353Used by:411 1326
Symbol 355 GraphicUsed by:356
Symbol 356 MovieClip {ScrollTrack_skin}Uses:355Used by:383 1326
Symbol 357 GraphicUsed by:360
Symbol 358 GraphicUsed by:359 362 366 376
Symbol 359 MovieClipUses:358Used by:360 370 372
Symbol 360 MovieClip {ScrollArrowUp_downSkin}Uses:357 359Used by:383 1326
Symbol 361 GraphicUsed by:362
Symbol 362 MovieClip {ScrollArrowDown_downSkin}Uses:361 358Used by:383 1326
Symbol 363 GraphicUsed by:364
Symbol 364 MovieClip {ScrollThumb_downSkin}Uses:363Used by:383 1326
Symbol 365 GraphicUsed by:366
Symbol 366 MovieClip {ScrollArrowDown_overSkin}Uses:365 358Used by:383 1326
Symbol 367 GraphicUsed by:368
Symbol 368 MovieClip {ScrollThumb_overSkin}Uses:367Used by:383 1326
Symbol 369 GraphicUsed by:370
Symbol 370 MovieClip {ScrollArrowUp_overSkin}Uses:369 359Used by:383 1326
Symbol 371 GraphicUsed by:372
Symbol 372 MovieClip {ScrollArrowUp_upSkin}Uses:371 359Used by:383 1326
Symbol 373 GraphicUsed by:374
Symbol 374 MovieClip {ScrollThumb_upSkin}Uses:373Used by:383 1326
Symbol 375 GraphicUsed by:376
Symbol 376 MovieClip {ScrollArrowDown_upSkin}Uses:375 358Used by:383 1326
Symbol 377 GraphicUsed by:378
Symbol 378 MovieClip {ScrollArrowDown_disabledSkin}Uses:377Used by:383 1326
Symbol 379 GraphicUsed by:380
Symbol 380 MovieClip {ScrollArrowUp_disabledSkin}Uses:379Used by:383 1326
Symbol 381 GraphicUsed by:382
Symbol 382 MovieClip {ScrollBar_thumbIcon}Uses:381Used by:383 1326
Symbol 383 MovieClip {fl.controls.UIScrollBar}Uses:349 350 347 356 360 362 364 366 368 370 372 374 376 378 380 382Used by:411 1326
Symbol 384 GraphicUsed by:385
Symbol 385 MovieClip {Button_disabledSkin}Uses:384Used by:402 1326
Symbol 386 GraphicUsed by:387
Symbol 387 MovieClip {Button_downSkin}Uses:386Used by:402 1326
Symbol 388 GraphicUsed by:389
Symbol 389 MovieClip {Button_emphasizedSkin}Uses:388Used by:402 1326
Symbol 390 GraphicUsed by:391
Symbol 391 MovieClip {Button_overSkin}Uses:390Used by:402 1326
Symbol 392 GraphicUsed by:393
Symbol 393 MovieClip {Button_selectedDisabledSkin}Uses:392Used by:402 1326
Symbol 394 GraphicUsed by:395
Symbol 395 MovieClip {Button_selectedDownSkin}Uses:394Used by:402 1326
Symbol 396 GraphicUsed by:397
Symbol 397 MovieClip {Button_selectedOverSkin}Uses:396Used by:402 1326
Symbol 398 GraphicUsed by:399
Symbol 399 MovieClip {Button_selectedUpSkin}Uses:398Used by:402 1326
Symbol 400 GraphicUsed by:401
Symbol 401 MovieClip {Button_upSkin}Uses:400Used by:402 1326
Symbol 402 MovieClip {fl.controls.Button}Uses:349 350 385 387 389 391 393 395 397 399 401 347Used by:411 1326
Symbol 403 GraphicUsed by:411
Symbol 404 GraphicUsed by:411
Symbol 405 FontUsed by:406 407
Symbol 406 TextUses:405Used by:411
Symbol 407 TextUses:405Used by:411
Symbol 408 GraphicUsed by:411
Symbol 409 MovieClipUsed by:411
Symbol 410 GraphicUsed by:411
Symbol 411 MovieClip {com.nitrome.balancer.BlockDrawer}Uses:403 354 404 406 407 383 408 409 402 351 410Used by:1326  Timeline
Symbol 412 GraphicUsed by:413
Symbol 413 MovieClip {DeleteBlock}Uses:412Used by:1326
Symbol 414 GraphicUsed by:415
Symbol 415 MovieClip {RotateBlock}Uses:414Used by:1326
Symbol 416 MovieClip {BGColour}Uses:139Used by:1326
Symbol 417 BitmapUsed by:418
Symbol 418 GraphicUses:417Used by:419
Symbol 419 MovieClip {Hills}Uses:418Used by:1326
Symbol 420 BitmapUsed by:421
Symbol 421 GraphicUses:420Used by:425
Symbol 422 BitmapUsed by:423
Symbol 423 GraphicUses:422Used by:424
Symbol 424 MovieClipUses:423Used by:425
Symbol 425 MovieClip {CannonBall}Uses:421 424Used by:1326
Symbol 426 BitmapUsed by:427
Symbol 427 GraphicUses:426Used by:441
Symbol 428 BitmapUsed by:429
Symbol 429 GraphicUses:428Used by:433
Symbol 430 GraphicUsed by:433 438
Symbol 431 BitmapUsed by:432
Symbol 432 GraphicUses:431Used by:433
Symbol 433 MovieClip {PowerUp_fla.chestArrow_131}Uses:429 430 432Used by:441
Symbol 434 BitmapUsed by:435
Symbol 435 GraphicUses:434Used by:438
Symbol 436 BitmapUsed by:437
Symbol 437 GraphicUses:436Used by:438
Symbol 438 MovieClip {PowerUp_fla.chestArrow_r_132}Uses:435 430 437Used by:441
Symbol 439 GraphicUsed by:441
Symbol 440 MovieClipUsed by:441  Timeline
Symbol 441 MovieClip {com.nitrome.balancer.ChestDisplay}Uses:427 433 438 439 440Used by:1326
Symbol 442 BitmapUsed by:443
Symbol 443 GraphicUses:442Used by:460
Symbol 444 BitmapUsed by:445
Symbol 445 GraphicUses:444Used by:460
Symbol 446 BitmapUsed by:447
Symbol 447 GraphicUses:446Used by:460
Symbol 448 BitmapUsed by:449
Symbol 449 GraphicUses:448Used by:460
Symbol 450 BitmapUsed by:451
Symbol 451 GraphicUses:450Used by:460
Symbol 452 BitmapUsed by:453
Symbol 453 GraphicUses:452Used by:460
Symbol 454 BitmapUsed by:455
Symbol 455 GraphicUses:454Used by:460
Symbol 456 BitmapUsed by:457
Symbol 457 GraphicUses:456Used by:460
Symbol 458 BitmapUsed by:459
Symbol 459 GraphicUses:458Used by:460
Symbol 460 MovieClip {DustClip}Uses:443 445 447 449 451 453 455 457 459Used by:1326
Symbol 461 BitmapUsed by:462 1404
Symbol 462 GraphicUses:461Used by:463
Symbol 463 MovieClip {Sea}Uses:462Used by:1326
Symbol 464 BitmapUsed by:465
Symbol 465 GraphicUses:464Used by:466
Symbol 466 MovieClip {Sky}Uses:465Used by:1326  Timeline
Symbol 467 BitmapUsed by:468
Symbol 468 GraphicUses:467Used by:481
Symbol 469 BitmapUsed by:470
Symbol 470 GraphicUses:469Used by:481
Symbol 471 BitmapUsed by:472
Symbol 472 GraphicUses:471Used by:481
Symbol 473 BitmapUsed by:474
Symbol 474 GraphicUses:473Used by:481
Symbol 475 BitmapUsed by:476
Symbol 476 GraphicUses:475Used by:481
Symbol 477 BitmapUsed by:478
Symbol 478 GraphicUses:477Used by:481
Symbol 479 BitmapUsed by:480
Symbol 480 GraphicUses:479Used by:481
Symbol 481 MovieClip {SmashClip}Uses:468 470 472 474 476 478 480Used by:1326
Symbol 482 BitmapUsed by:483
Symbol 483 GraphicUses:482Used by:488 1086 1394
Symbol 484 BitmapUsed by:485
Symbol 485 GraphicUses:484Used by:488 1086 1394
Symbol 486 BitmapUsed by:487
Symbol 487 GraphicUses:486Used by:488 1086 1394
Symbol 488 MovieClipUses:483 485 487Used by:489
Symbol 489 MovieClipUses:488Used by:490
Symbol 490 MovieClipUses:489Used by:491 1417
Symbol 491 MovieClip {com.nitrome.balancer.Spark}Uses:490Used by:1326
Symbol 492 BitmapUsed by:493
Symbol 493 GraphicUses:492Used by:510
Symbol 494 BitmapUsed by:495
Symbol 495 GraphicUses:494Used by:510
Symbol 496 BitmapUsed by:497
Symbol 497 GraphicUses:496Used by:510
Symbol 498 BitmapUsed by:499
Symbol 499 GraphicUses:498Used by:510
Symbol 500 BitmapUsed by:501
Symbol 501 GraphicUses:500Used by:510
Symbol 502 BitmapUsed by:503
Symbol 503 GraphicUses:502Used by:510
Symbol 504 BitmapUsed by:505
Symbol 505 GraphicUses:504Used by:510
Symbol 506 BitmapUsed by:507
Symbol 507 GraphicUses:506Used by:510
Symbol 508 BitmapUsed by:509
Symbol 509 GraphicUses:508Used by:510
Symbol 510 MovieClip {SplashClip}Uses:493 495 497 499 501 503 505 507 509Used by:1326
Symbol 511 GraphicUsed by:512
Symbol 512 MovieClip {com.nitrome.balancer.LevelBlocks_game}Uses:511Used by:1326  Timeline
Symbol 513 BitmapUsed by:514
Symbol 514 GraphicUses:513Used by:529
Symbol 515 BitmapUsed by:516
Symbol 516 GraphicUses:515Used by:529
Symbol 517 BitmapUsed by:518
Symbol 518 GraphicUses:517Used by:529
Symbol 519 BitmapUsed by:520
Symbol 520 GraphicUses:519Used by:529
Symbol 521 BitmapUsed by:522
Symbol 522 GraphicUses:521Used by:529
Symbol 523 BitmapUsed by:524
Symbol 524 GraphicUses:523Used by:529
Symbol 525 BitmapUsed by:526
Symbol 526 GraphicUses:525Used by:529
Symbol 527 BitmapUsed by:528
Symbol 528 GraphicUses:527Used by:529
Symbol 529 MovieClip {PowerUp_fla.cannon_fire_145}Uses:514 516 518 520 522 524 526 528Used by:530 1290
Symbol 530 MovieClip {GroundSmack}Uses:529Used by:1326
Symbol 531 GraphicUsed by:547 1310
Symbol 532 BitmapUsed by:533
Symbol 533 GraphicUses:532Used by:540
Symbol 534 BitmapUsed by:535
Symbol 535 GraphicUses:534Used by:540
Symbol 536 BitmapUsed by:537
Symbol 537 GraphicUses:536Used by:540
Symbol 538 BitmapUsed by:539
Symbol 539 GraphicUses:538Used by:540
Symbol 540 MovieClipUses:533 535 537 539Used by:546
Symbol 541 BitmapUsed by:542
Symbol 542 GraphicUses:541Used by:543
Symbol 543 MovieClipUses:542Used by:544
Symbol 544 MovieClipUses:543Used by:545
Symbol 545 MovieClipUses:544Used by:546
Symbol 546 MovieClip {PowerUp_fla.Fish_147}Uses:540 545Used by:547
Symbol 547 MovieClip {com.nitrome.balancer.Fishy}Uses:531 546Used by:809 1326
Symbol 548 GraphicUsed by:549
Symbol 549 MovieClipUses:548Used by:809
Symbol 550 BitmapUsed by:551
Symbol 551 GraphicUses:550Used by:552
Symbol 552 MovieClipUses:551Used by:809
Symbol 553 BitmapUsed by:554
Symbol 554 GraphicUses:553Used by:555
Symbol 555 MovieClipUses:554Used by:809
Symbol 556 BitmapUsed by:557
Symbol 557 GraphicUses:556Used by:558
Symbol 558 MovieClipUses:557Used by:809
Symbol 559 BitmapUsed by:560
Symbol 560 GraphicUses:559Used by:561
Symbol 561 MovieClipUses:560Used by:809
Symbol 562 BitmapUsed by:563
Symbol 563 GraphicUses:562Used by:564
Symbol 564 MovieClipUses:563Used by:809
Symbol 565 BitmapUsed by:566
Symbol 566 GraphicUses:565Used by:567
Symbol 567 MovieClipUses:566Used by:809
Symbol 568 BitmapUsed by:569
Symbol 569 GraphicUses:568Used by:570
Symbol 570 MovieClipUses:569Used by:809
Symbol 571 BitmapUsed by:572
Symbol 572 GraphicUses:571Used by:573
Symbol 573 MovieClipUses:572Used by:809
Symbol 574 BitmapUsed by:575
Symbol 575 GraphicUses:574Used by:576
Symbol 576 MovieClipUses:575Used by:809
Symbol 577 BitmapUsed by:578
Symbol 578 GraphicUses:577Used by:579
Symbol 579 MovieClipUses:578Used by:809
Symbol 580 BitmapUsed by:581
Symbol 581 GraphicUses:580Used by:582
Symbol 582 MovieClipUses:581Used by:809
Symbol 583 BitmapUsed by:584
Symbol 584 GraphicUses:583Used by:585
Symbol 585 MovieClipUses:584Used by:809
Symbol 586 BitmapUsed by:587
Symbol 587 GraphicUses:586Used by:588
Symbol 588 MovieClipUses:587Used by:809
Symbol 589 BitmapUsed by:590
Symbol 590 GraphicUses:589Used by:591
Symbol 591 MovieClipUses:590Used by:809
Symbol 592 BitmapUsed by:593
Symbol 593 GraphicUses:592Used by:594
Symbol 594 MovieClipUses:593Used by:809
Symbol 595 BitmapUsed by:596
Symbol 596 GraphicUses:595Used by:597
Symbol 597 MovieClipUses:596Used by:809
Symbol 598 BitmapUsed by:599
Symbol 599 GraphicUses:598Used by:600
Symbol 600 MovieClipUses:599Used by:809
Symbol 601 BitmapUsed by:602
Symbol 602 GraphicUses:601Used by:603
Symbol 603 MovieClipUses:602Used by:809
Symbol 604 BitmapUsed by:605
Symbol 605 GraphicUses:604Used by:606
Symbol 606 MovieClipUses:605Used by:809
Symbol 607 BitmapUsed by:608
Symbol 608 GraphicUses:607Used by:609
Symbol 609 MovieClipUses:608Used by:809
Symbol 610 BitmapUsed by:611
Symbol 611 GraphicUses:610Used by:612
Symbol 612 MovieClipUses:611Used by:809
Symbol 613 BitmapUsed by:614
Symbol 614 GraphicUses:613Used by:615
Symbol 615 MovieClipUses:614Used by:809
Symbol 616 BitmapUsed by:617
Symbol 617 GraphicUses:616Used by:618
Symbol 618 MovieClipUses:617Used by:809
Symbol 619 BitmapUsed by:620
Symbol 620 GraphicUses:619Used by:621
Symbol 621 MovieClipUses:620Used by:809
Symbol 622 BitmapUsed by:623
Symbol 623 GraphicUses:622Used by:624
Symbol 624 MovieClipUses:623Used by:809
Symbol 625 BitmapUsed by:626
Symbol 626 GraphicUses:625Used by:627
Symbol 627 MovieClipUses:626Used by:809
Symbol 628 BitmapUsed by:629
Symbol 629 GraphicUses:628Used by:630
Symbol 630 MovieClipUses:629Used by:809
Symbol 631 BitmapUsed by:632
Symbol 632 GraphicUses:631Used by:633
Symbol 633 MovieClipUses:632Used by:809
Symbol 634 BitmapUsed by:635
Symbol 635 GraphicUses:634Used by:636
Symbol 636 MovieClipUses:635Used by:809
Symbol 637 BitmapUsed by:638
Symbol 638 GraphicUses:637Used by:639
Symbol 639 MovieClipUses:638Used by:809
Symbol 640 BitmapUsed by:641
Symbol 641 GraphicUses:640Used by:642
Symbol 642 MovieClipUses:641Used by:809
Symbol 643 BitmapUsed by:644
Symbol 644 GraphicUses:643Used by:645
Symbol 645 MovieClipUses:644Used by:809
Symbol 646 BitmapUsed by:647
Symbol 647 GraphicUses:646Used by:648
Symbol 648 MovieClipUses:647Used by:809
Symbol 649 BitmapUsed by:650
Symbol 650 GraphicUses:649Used by:651
Symbol 651 MovieClipUses:650Used by:809
Symbol 652 BitmapUsed by:653
Symbol 653 GraphicUses:652Used by:654
Symbol 654 MovieClipUses:653Used by:809
Symbol 655 BitmapUsed by:656
Symbol 656 GraphicUses:655Used by:657
Symbol 657 MovieClipUses:656Used by:809
Symbol 658 BitmapUsed by:659
Symbol 659 GraphicUses:658Used by:670
Symbol 660 BitmapUsed by:661
Symbol 661 GraphicUses:660Used by:670
Symbol 662 BitmapUsed by:663
Symbol 663 GraphicUses:662Used by:670
Symbol 664 BitmapUsed by:665
Symbol 665 GraphicUses:664Used by:670
Symbol 666 BitmapUsed by:667
Symbol 667 GraphicUses:666Used by:670
Symbol 668 BitmapUsed by:669
Symbol 669 GraphicUses:668Used by:670
Symbol 670 MovieClipUses:659 661 663 665 667 669Used by:671
Symbol 671 MovieClipUses:670Used by:809
Symbol 672 BitmapUsed by:673
Symbol 673 GraphicUses:672Used by:674
Symbol 674 MovieClipUses:673Used by:809
Symbol 675 BitmapUsed by:676
Symbol 676 GraphicUses:675Used by:677
Symbol 677 MovieClipUses:676Used by:809
Symbol 678 BitmapUsed by:679
Symbol 679 GraphicUses:678Used by:680
Symbol 680 MovieClipUses:679Used by:809
Symbol 681 BitmapUsed by:682
Symbol 682 GraphicUses:681Used by:683
Symbol 683 MovieClipUses:682Used by:809
Symbol 684 BitmapUsed by:685
Symbol 685 GraphicUses:684Used by:686
Symbol 686 MovieClipUses:685Used by:809
Symbol 687 BitmapUsed by:688
Symbol 688 GraphicUses:687Used by:689
Symbol 689 MovieClipUses:688Used by:809
Symbol 690 BitmapUsed by:691
Symbol 691 GraphicUses:690Used by:692
Symbol 692 MovieClipUses:691Used by:809
Symbol 693 BitmapUsed by:694
Symbol 694 GraphicUses:693Used by:695
Symbol 695 MovieClipUses:694Used by:809
Symbol 696 BitmapUsed by:697
Symbol 697 GraphicUses:696Used by:698
Symbol 698 MovieClipUses:697Used by:809
Symbol 699 BitmapUsed by:700
Symbol 700 GraphicUses:699Used by:701
Symbol 701 MovieClipUses:700Used by:809
Symbol 702 BitmapUsed by:703
Symbol 703 GraphicUses:702Used by:704
Symbol 704 MovieClipUses:703Used by:809
Symbol 705 BitmapUsed by:706
Symbol 706 GraphicUses:705Used by:707
Symbol 707 MovieClipUses:706Used by:809
Symbol 708 BitmapUsed by:709
Symbol 709 GraphicUses:708Used by:710
Symbol 710 MovieClipUses:709Used by:809
Symbol 711 BitmapUsed by:712
Symbol 712 GraphicUses:711Used by:713
Symbol 713 MovieClipUses:712Used by:809
Symbol 714 BitmapUsed by:715
Symbol 715 GraphicUses:714Used by:716 747
Symbol 716 MovieClipUses:715Used by:809
Symbol 717 BitmapUsed by:718
Symbol 718 GraphicUses:717Used by:719 748
Symbol 719 MovieClipUses:718Used by:809
Symbol 720 BitmapUsed by:721
Symbol 721 GraphicUses:720Used by:722 749
Symbol 722 MovieClipUses:721Used by:809
Symbol 723 BitmapUsed by:724
Symbol 724 GraphicUses:723Used by:725 750
Symbol 725 MovieClipUses:724Used by:809
Symbol 726 BitmapUsed by:727
Symbol 727 GraphicUses:726Used by:728 751
Symbol 728 MovieClipUses:727Used by:809
Symbol 729 BitmapUsed by:730
Symbol 730 GraphicUses:729Used by:731 752
Symbol 731 MovieClipUses:730Used by:809
Symbol 732 BitmapUsed by:733
Symbol 733 GraphicUses:732Used by:734 753
Symbol 734 MovieClipUses:733Used by:809
Symbol 735 BitmapUsed by:736
Symbol 736 GraphicUses:735Used by:737 754
Symbol 737 MovieClipUses:736Used by:809
Symbol 738 BitmapUsed by:739
Symbol 739 GraphicUses:738Used by:740 755
Symbol 740 MovieClipUses:739Used by:809
Symbol 741 BitmapUsed by:742
Symbol 742 GraphicUses:741Used by:743 756
Symbol 743 MovieClipUses:742Used by:809
Symbol 744 BitmapUsed by:745
Symbol 745 GraphicUses:744Used by:746 757
Symbol 746 MovieClipUses:745Used by:809
Symbol 747 MovieClipUses:715Used by:809
Symbol 748 MovieClipUses:718Used by:809
Symbol 749 MovieClipUses:721Used by:809
Symbol 750 MovieClipUses:724Used by:809
Symbol 751 MovieClipUses:727Used by:809
Symbol 752 MovieClipUses:730Used by:809
Symbol 753 MovieClipUses:733Used by:809
Symbol 754 MovieClipUses:736Used by:809
Symbol 755 MovieClipUses:739Used by:809
Symbol 756 MovieClipUses:742Used by:809
Symbol 757 MovieClipUses:745Used by:809
Symbol 758 BitmapUsed by:759
Symbol 759 GraphicUses:758Used by:760
Symbol 760 MovieClipUses:759Used by:809
Symbol 761 BitmapUsed by:762
Symbol 762 GraphicUses:761Used by:763
Symbol 763 MovieClipUses:762Used by:809
Symbol 764 BitmapUsed by:765
Symbol 765 GraphicUses:764Used by:766
Symbol 766 MovieClipUses:765Used by:809
Symbol 767 BitmapUsed by:768
Symbol 768 GraphicUses:767Used by:769
Symbol 769 MovieClipUses:768Used by:809
Symbol 770 BitmapUsed by:771
Symbol 771 GraphicUses:770Used by:772
Symbol 772 MovieClipUses:771Used by:809
Symbol 773 BitmapUsed by:774
Symbol 774 GraphicUses:773Used by:775
Symbol 775 MovieClipUses:774Used by:809
Symbol 776 BitmapUsed by:777 785
Symbol 777 GraphicUses:776Used by:778
Symbol 778 MovieClipUses:777Used by:809
Symbol 779 BitmapUsed by:780
Symbol 780 GraphicUses:779Used by:781
Symbol 781 MovieClipUses:780Used by:809
Symbol 782 BitmapUsed by:783 790
Symbol 783 GraphicUses:782Used by:784
Symbol 784 MovieClipUses:783Used by:809
Symbol 785 GraphicUses:776Used by:786
Symbol 786 MovieClipUses:785Used by:809
Symbol 787 BitmapUsed by:788
Symbol 788 GraphicUses:787Used by:789
Symbol 789 MovieClipUses:788Used by:809
Symbol 790 GraphicUses:782Used by:791
Symbol 791 MovieClipUses:790Used by:809
Symbol 792 BitmapUsed by:793
Symbol 793 GraphicUses:792Used by:794
Symbol 794 MovieClipUses:793Used by:809
Symbol 795 BitmapUsed by:796
Symbol 796 GraphicUses:795Used by:797
Symbol 797 MovieClipUses:796Used by:809
Symbol 798 BitmapUsed by:799
Symbol 799 GraphicUses:798Used by:800
Symbol 800 MovieClipUses:799Used by:809
Symbol 801 BitmapUsed by:802
Symbol 802 GraphicUses:801Used by:803
Symbol 803 MovieClipUses:802Used by:809
Symbol 804 BitmapUsed by:805
Symbol 805 GraphicUses:804Used by:806
Symbol 806 MovieClipUses:805Used by:809
Symbol 807 GraphicUsed by:808
Symbol 808 MovieClipUses:807Used by:809
Symbol 809 MovieClip {AllStamps}Uses:549 552 555 558 561 564 567 570 573 576 579 582 585 588 591 594 597 600 603 606 609 612 615 618 621 624 627 630 633 636 639 642 645 648 651 654 657 671 547 674 677 680 683 686 689 692 695 698 701 704 707 710 713 716 719 722 725 728 731 734 737 740 743 746 747 748 749 750 751 752 753 754 755 756 757 760 763 766 769 772 775 778 781 784 786 789 791 794 797 800 803 806 808Used by:1326
Symbol 810 BitmapUsed by:811
Symbol 811 GraphicUses:810Used by:1075
Symbol 812 BitmapUsed by:813
Symbol 813 GraphicUses:812Used by:1075
Symbol 814 BitmapUsed by:815
Symbol 815 GraphicUses:814Used by:1075
Symbol 816 BitmapUsed by:817
Symbol 817 GraphicUses:816Used by:1075
Symbol 818 BitmapUsed by:819
Symbol 819 GraphicUses:818Used by:1075 1411
Symbol 820 BitmapUsed by:821
Symbol 821 GraphicUses:820Used by:1075
Symbol 822 BitmapUsed by:823
Symbol 823 GraphicUses:822Used by:1075
Symbol 824 BitmapUsed by:825 826
Symbol 825 GraphicUses:824Used by:1075
Symbol 826 GraphicUses:824Used by:1075
Symbol 827 BitmapUsed by:828
Symbol 828 GraphicUses:827Used by:1075
Symbol 829 BitmapUsed by:830
Symbol 830 GraphicUses:829Used by:1075
Symbol 831 BitmapUsed by:832
Symbol 832 GraphicUses:831Used by:1075
Symbol 833 BitmapUsed by:834
Symbol 834 GraphicUses:833Used by:1075
Symbol 835 BitmapUsed by:836
Symbol 836 GraphicUses:835Used by:1075
Symbol 837 BitmapUsed by:838
Symbol 838 GraphicUses:837Used by:1075
Symbol 839 BitmapUsed by:840
Symbol 840 GraphicUses:839Used by:847
Symbol 841 BitmapUsed by:842
Symbol 842 GraphicUses:841Used by:847
Symbol 843 BitmapUsed by:844
Symbol 844 GraphicUses:843Used by:847
Symbol 845 BitmapUsed by:846
Symbol 846 GraphicUses:845Used by:847
Symbol 847 MovieClipUses:840 842 844 846Used by:863
Symbol 848 BitmapUsed by:849
Symbol 849 GraphicUses:848Used by:863
Symbol 850 BitmapUsed by:852
Symbol 851 BitmapUsed by:852
Symbol 852 GraphicUses:850 851Used by:862
Symbol 853 BitmapUsed by:855
Symbol 854 BitmapUsed by:855
Symbol 855 GraphicUses:853 854Used by:862
Symbol 856 BitmapUsed by:858
Symbol 857 BitmapUsed by:858
Symbol 858 GraphicUses:856 857Used by:862
Symbol 859 BitmapUsed by:861
Symbol 860 BitmapUsed by:861
Symbol 861 GraphicUses:859 860Used by:862
Symbol 862 MovieClipUses:852 855 858 861Used by:863
Symbol 863 MovieClip {PowerUp_fla.moving_block_247}Uses:847 849 862Used by:1075
Symbol 864 BitmapUsed by:865
Symbol 865 GraphicUses:864Used by:866
Symbol 866 MovieClipUses:865Used by:1075
Symbol 867 BitmapUsed by:868
Symbol 868 GraphicUses:867Used by:1075
Symbol 869 BitmapUsed by:870
Symbol 870 GraphicUses:869Used by:905
Symbol 871 BitmapUsed by:872
Symbol 872 GraphicUses:871Used by:905
Symbol 873 BitmapUsed by:874
Symbol 874 GraphicUses:873Used by:905
Symbol 875 BitmapUsed by:876
Symbol 876 GraphicUses:875Used by:905
Symbol 877 BitmapUsed by:878
Symbol 878 GraphicUses:877Used by:905
Symbol 879 BitmapUsed by:880
Symbol 880 GraphicUses:879Used by:905
Symbol 881 BitmapUsed by:882
Symbol 882 GraphicUses:881Used by:905
Symbol 883 BitmapUsed by:884
Symbol 884 GraphicUses:883Used by:905
Symbol 885 BitmapUsed by:886
Symbol 886 GraphicUses:885Used by:905
Symbol 887 BitmapUsed by:888
Symbol 888 GraphicUses:887Used by:905
Symbol 889 BitmapUsed by:890
Symbol 890 GraphicUses:889Used by:905
Symbol 891 BitmapUsed by:892
Symbol 892 GraphicUses:891Used by:905
Symbol 893 BitmapUsed by:894
Symbol 894 GraphicUses:893Used by:905
Symbol 895 BitmapUsed by:896
Symbol 896 GraphicUses:895Used by:905
Symbol 897 BitmapUsed by:898
Symbol 898 GraphicUses:897Used by:905
Symbol 899 BitmapUsed by:900
Symbol 900 GraphicUses:899Used by:905
Symbol 901 BitmapUsed by:902
Symbol 902 GraphicUses:901Used by:905
Symbol 903 BitmapUsed by:904
Symbol 904 GraphicUses:903Used by:905
Symbol 905 MovieClipUses:870 872 874 876 878 880 882 884 886 888 890 892 894 896 898 900 902 904Used by:957
Symbol 906 BitmapUsed by:907
Symbol 907 GraphicUses:906Used by:916
Symbol 908 BitmapUsed by:909
Symbol 909 GraphicUses:908Used by:916
Symbol 910 BitmapUsed by:911
Symbol 911 GraphicUses:910Used by:916
Symbol 912 BitmapUsed by:913
Symbol 913 GraphicUses:912Used by:916
Symbol 914 BitmapUsed by:915
Symbol 915 GraphicUses:914Used by:916
Symbol 916 MovieClipUses:907 909 911 913 915Used by:957
Symbol 917 BitmapUsed by:919
Symbol 918 BitmapUsed by:919 924
Symbol 919 GraphicUses:917 918Used by:925
Symbol 920 BitmapUsed by:922
Symbol 921 BitmapUsed by:922
Symbol 922 GraphicUses:920 921Used by:925
Symbol 923 BitmapUsed by:924
Symbol 924 GraphicUses:923 918Used by:925
Symbol 925 MovieClipUses:919 922 924Used by:957
Symbol 926 BitmapUsed by:927
Symbol 927 GraphicUses:926Used by:956
Symbol 928 BitmapUsed by:929
Symbol 929 GraphicUses:928Used by:956
Symbol 930 BitmapUsed by:931
Symbol 931 GraphicUses:930Used by:956
Symbol 932 BitmapUsed by:933
Symbol 933 GraphicUses:932Used by:956
Symbol 934 BitmapUsed by:935
Symbol 935 GraphicUses:934Used by:956
Symbol 936 BitmapUsed by:937
Symbol 937 GraphicUses:936Used by:956
Symbol 938 BitmapUsed by:939
Symbol 939 GraphicUses:938Used by:956
Symbol 940 BitmapUsed by:941
Symbol 941 GraphicUses:940Used by:956
Symbol 942 BitmapUsed by:943
Symbol 943 GraphicUses:942Used by:956
Symbol 944 BitmapUsed by:945
Symbol 945 GraphicUses:944Used by:956
Symbol 946 BitmapUsed by:947
Symbol 947 GraphicUses:946Used by:956
Symbol 948 BitmapUsed by:949
Symbol 949 GraphicUses:948Used by:956
Symbol 950 BitmapUsed by:951
Symbol 951 GraphicUses:950Used by:956
Symbol 952 BitmapUsed by:953
Symbol 953 GraphicUses:952Used by:956
Symbol 954 BitmapUsed by:955
Symbol 955 GraphicUses:954Used by:956
Symbol 956 MovieClipUses:927 929 931 933 935 937 939 941 943 945 947 949 951 953 955Used by:957
Symbol 957 MovieClip {PowerUp_fla.monsterFrames_251}Uses:905 916 925 956Used by:1075
Symbol 958 GraphicUsed by:1075
Symbol 959 GraphicUsed by:1075
Symbol 960 BitmapUsed by:961
Symbol 961 GraphicUses:960Used by:1075
Symbol 962 BitmapUsed by:963
Symbol 963 GraphicUses:962Used by:1075
Symbol 964 BitmapUsed by:965
Symbol 965 GraphicUses:964Used by:966
Symbol 966 MovieClipUses:965Used by:972
Symbol 967 BitmapUsed by:968
Symbol 968 GraphicUses:967Used by:971
Symbol 969 BitmapUsed by:970
Symbol 970 GraphicUses:969Used by:971
Symbol 971 MovieClipUses:968 970Used by:972
Symbol 972 MovieClip {PowerUp_fla.tesla_256}Uses:966 971Used by:1075
Symbol 973 BitmapUsed by:974
Symbol 974 GraphicUses:973Used by:1075
Symbol 975 BitmapUsed by:976
Symbol 976 GraphicUses:975Used by:1075
Symbol 977 BitmapUsed by:978
Symbol 978 GraphicUses:977Used by:991
Symbol 979 BitmapUsed by:980
Symbol 980 GraphicUses:979Used by:991
Symbol 981 BitmapUsed by:982
Symbol 982 GraphicUses:981Used by:991
Symbol 983 BitmapUsed by:984
Symbol 984 GraphicUses:983Used by:991
Symbol 985 BitmapUsed by:986
Symbol 986 GraphicUses:985Used by:991
Symbol 987 BitmapUsed by:988
Symbol 988 GraphicUses:987Used by:991
Symbol 989 BitmapUsed by:990
Symbol 990 GraphicUses:989Used by:991
Symbol 991 MovieClip {PowerUp_fla.screw_259}Uses:978 980 982 984 986 988 990Used by:1075
Symbol 992 BitmapUsed by:993
Symbol 993 GraphicUses:992Used by:994
Symbol 994 MovieClipUses:993Used by:1075
Symbol 995 BitmapUsed by:996
Symbol 996 GraphicUses:995Used by:1075
Symbol 997 BitmapUsed by:998
Symbol 998 GraphicUses:997Used by:1075
Symbol 999 BitmapUsed by:1000
Symbol 1000 GraphicUses:999Used by:1075
Symbol 1001 BitmapUsed by:1002
Symbol 1002 GraphicUses:1001Used by:1075
Symbol 1003 BitmapUsed by:1004
Symbol 1004 GraphicUses:1003Used by:1075
Symbol 1005 BitmapUsed by:1006
Symbol 1006 GraphicUses:1005Used by:1075
Symbol 1007 BitmapUsed by:1008
Symbol 1008 GraphicUses:1007Used by:1075
Symbol 1009 BitmapUsed by:1010
Symbol 1010 GraphicUses:1009Used by:1075
Symbol 1011 BitmapUsed by:1012
Symbol 1012 GraphicUses:1011Used by:1075
Symbol 1013 BitmapUsed by:1014
Symbol 1014 GraphicUses:1013Used by:1075
Symbol 1015 BitmapUsed by:1016
Symbol 1016 GraphicUses:1015Used by:1075
Symbol 1017 BitmapUsed by:1018
Symbol 1018 GraphicUses:1017Used by:1075
Symbol 1019 BitmapUsed by:1020
Symbol 1020 GraphicUses:1019Used by:1075
Symbol 1021 BitmapUsed by:1022
Symbol 1022 GraphicUses:1021Used by:1075
Symbol 1023 BitmapUsed by:1024
Symbol 1024 GraphicUses:1023Used by:1075
Symbol 1025 BitmapUsed by:1026
Symbol 1026 GraphicUses:1025Used by:1075
Symbol 1027 BitmapUsed by:1028
Symbol 1028 GraphicUses:1027Used by:1075
Symbol 1029 BitmapUsed by:1030
Symbol 1030 GraphicUses:1029Used by:1075
Symbol 1031 BitmapUsed by:1032
Symbol 1032 GraphicUses:1031Used by:1075
Symbol 1033 BitmapUsed by:1034
Symbol 1034 GraphicUses:1033Used by:1075
Symbol 1035 BitmapUsed by:1036
Symbol 1036 GraphicUses:1035Used by:1075
Symbol 1037 BitmapUsed by:1038
Symbol 1038 GraphicUses:1037Used by:1075
Symbol 1039 BitmapUsed by:1040
Symbol 1040 GraphicUses:1039Used by:1075
Symbol 1041 BitmapUsed by:1042
Symbol 1042 GraphicUses:1041Used by:1075
Symbol 1043 BitmapUsed by:1044
Symbol 1044 GraphicUses:1043Used by:1075
Symbol 1045 BitmapUsed by:1046
Symbol 1046 GraphicUses:1045Used by:1075
Symbol 1047 BitmapUsed by:1048
Symbol 1048 GraphicUses:1047Used by:1075
Symbol 1049 BitmapUsed by:1050
Symbol 1050 GraphicUses:1049Used by:1075
Symbol 1051 BitmapUsed by:1052
Symbol 1052 GraphicUses:1051Used by:1075
Symbol 1053 BitmapUsed by:1054
Symbol 1054 GraphicUses:1053Used by:1055
Symbol 1055 MovieClipUses:1054Used by:1075
Symbol 1056 BitmapUsed by:1057
Symbol 1057 GraphicUses:1056Used by:1060
Symbol 1058 BitmapUsed by:1059
Symbol 1059 GraphicUses:1058Used by:1060
Symbol 1060 MovieClipUses:1057 1059Used by:1061 1062
Symbol 1061 MovieClipUses:1060Used by:1062
Symbol 1062 MovieClipUses:1060 1061Used by:1075
Symbol 1063 BitmapUsed by:1064
Symbol 1064 GraphicUses:1063Used by:1075
Symbol 1065 BitmapUsed by:1066
Symbol 1066 GraphicUses:1065Used by:1075
Symbol 1067 BitmapUsed by:1068
Symbol 1068 GraphicUses:1067Used by:1075
Symbol 1069 BitmapUsed by:1070
Symbol 1070 GraphicUses:1069Used by:1075
Symbol 1071 BitmapUsed by:1072
Symbol 1072 GraphicUses:1071Used by:1075
Symbol 1073 BitmapUsed by:1074
Symbol 1074 GraphicUses:1073Used by:1075
Symbol 1075 MovieClip {PreDefinedBlocks}Uses:811 813 815 817 819 821 823 825 826 828 830 832 834 836 838 863 866 868 957 958 959 961 963 972 974 976 991 994 996 998 1000 1002 1004 1006 1008 1010 1012 1014 1016 1018 1020 1022 1024 1026 1028 1030 1032 1034 1036 1038 1040 1042 1044 1046 1048 1050 1052 1055 1062 1064 1066 1068 1070 1072 1074Used by:1326
Symbol 1076 BitmapUsed by:1077
Symbol 1077 GraphicUses:1076Used by:1078
Symbol 1078 MovieClip {HelpSign}Uses:1077Used by:1312 1326
Symbol 1079 BitmapUsed by:1080 1180
Symbol 1080 GraphicUses:1079Used by:1085 1272
Symbol 1081 BitmapUsed by:1082
Symbol 1082 GraphicUses:1081Used by:1085
Symbol 1083 BitmapUsed by:1084
Symbol 1084 GraphicUses:1083Used by:1085
Symbol 1085 MovieClipUses:1080 1082 1084Used by:1175 1176 1177 1178
Symbol 1086 MovieClipUses:483 485 487Used by:1175 1176 1177 1178 1272
Symbol 1087 BitmapUsed by:1088
Symbol 1088 GraphicUses:1087Used by:1175 1176 1177 1178
Symbol 1089 BitmapUsed by:1090
Symbol 1090 GraphicUses:1089Used by:1107
Symbol 1091 BitmapUsed by:1092
Symbol 1092 GraphicUses:1091Used by:1107
Symbol 1093 BitmapUsed by:1094
Symbol 1094 GraphicUses:1093Used by:1107
Symbol 1095 BitmapUsed by:1096
Symbol 1096 GraphicUses:1095Used by:1107
Symbol 1097 BitmapUsed by:1098
Symbol 1098 GraphicUses:1097Used by:1107
Symbol 1099 BitmapUsed by:1100
Symbol 1100 GraphicUses:1099Used by:1107
Symbol 1101 BitmapUsed by:1102
Symbol 1102 GraphicUses:1101Used by:1107
Symbol 1103 BitmapUsed by:1104
Symbol 1104 GraphicUses:1103Used by:1107
Symbol 1105 BitmapUsed by:1106
Symbol 1106 GraphicUses:1105Used by:1107
Symbol 1107 MovieClipUses:1090 1092 1094 1096 1098 1100 1102 1104 1106Used by:1175 1176 1177 1178
Symbol 1108 BitmapUsed by:1109 1150
Symbol 1109 GraphicUses:1108Used by:1140
Symbol 1110 BitmapUsed by:1111 1151
Symbol 1111 GraphicUses:1110Used by:1140
Symbol 1112 BitmapUsed by:1113 1152
Symbol 1113 GraphicUses:1112Used by:1140
Symbol 1114 BitmapUsed by:1115 1153
Symbol 1115 GraphicUses:1114Used by:1140
Symbol 1116 BitmapUsed by:1117 1154
Symbol 1117 GraphicUses:1116Used by:1140
Symbol 1118 BitmapUsed by:1119 1155
Symbol 1119 GraphicUses:1118Used by:1140
Symbol 1120 BitmapUsed by:1121 1156
Symbol 1121 GraphicUses:1120Used by:1140
Symbol 1122 BitmapUsed by:1123 1141
Symbol 1123 GraphicUses:1122Used by:1140
Symbol 1124 BitmapUsed by:1125 1142
Symbol 1125 GraphicUses:1124Used by:1140
Symbol 1126 BitmapUsed by:1127 1143
Symbol 1127 GraphicUses:1126Used by:1140
Symbol 1128 BitmapUsed by:1129 1144
Symbol 1129 GraphicUses:1128Used by:1140
Symbol 1130 BitmapUsed by:1131 1145
Symbol 1131 GraphicUses:1130Used by:1140
Symbol 1132 BitmapUsed by:1133 1146
Symbol 1133 GraphicUses:1132Used by:1140
Symbol 1134 BitmapUsed by:1135 1147
Symbol 1135 GraphicUses:1134Used by:1140
Symbol 1136 BitmapUsed by:1137 1148
Symbol 1137 GraphicUses:1136Used by:1140
Symbol 1138 BitmapUsed by:1139 1149
Symbol 1139 GraphicUses:1138Used by:1140
Symbol 1140 MovieClipUses:1109 1111 1113 1115 1117 1119 1121 1123 1125 1127 1129 1131 1133 1135 1137 1139Used by:1170 1375 1396
Symbol 1141 GraphicUses:1122Used by:1157
Symbol 1142 GraphicUses:1124Used by:1157
Symbol 1143 GraphicUses:1126Used by:1157
Symbol 1144 GraphicUses:1128Used by:1157
Symbol 1145 GraphicUses:1130Used by:1157
Symbol 1146 GraphicUses:1132Used by:1157
Symbol 1147 GraphicUses:1134Used by:1157
Symbol 1148 GraphicUses:1136Used by:1157
Symbol 1149 GraphicUses:1138Used by:1157
Symbol 1150 GraphicUses:1108Used by:1157
Symbol 1151 GraphicUses:1110Used by:1157
Symbol 1152 GraphicUses:1112Used by:1157
Symbol 1153 GraphicUses:1114Used by:1157
Symbol 1154 GraphicUses:1116Used by:1157
Symbol 1155 GraphicUses:1118Used by:1157
Symbol 1156 GraphicUses:1120Used by:1157
Symbol 1157 MovieClipUses:1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156Used by:1170 1396
Symbol 1158 BitmapUsed by:1159
Symbol 1159 GraphicUses:1158Used by:1168 1169
Symbol 1160 BitmapUsed by:1161
Symbol 1161 GraphicUses:1160Used by:1168 1169
Symbol 1162 BitmapUsed by:1163
Symbol 1163 GraphicUses:1162Used by:1168 1169
Symbol 1164 BitmapUsed by:1165
Symbol 1165 GraphicUses:1164Used by:1168 1169
Symbol 1166 BitmapUsed by:1167
Symbol 1167 GraphicUses:1166Used by:1168 1169
Symbol 1168 MovieClipUses:1159 1161 1163 1165 1167Used by:1170
Symbol 1169 MovieClipUses:1159 1161 1163 1165 1167Used by:1170
Symbol 1170 MovieClipUses:1140 1157 1168 1169Used by:1175
Symbol 1171 BitmapUsed by:1172
Symbol 1172 GraphicUses:1171Used by:1175 1176 1177 1178
Symbol 1173 BitmapUsed by:1174
Symbol 1174 GraphicUses:1173Used by:1175 1176 1177 1178
Symbol 1175 MovieClipUses:1085 1086 1088 1107 1170 1172 1174Used by:1273 1274 1291 1420
Symbol 1176 MovieClipUses:1085 1086 1088 1107 1172 1174Used by:1291
Symbol 1177 MovieClipUses:1085 1086 1088 1107 1172 1174Used by:1291
Symbol 1178 MovieClipUses:1085 1086 1088 1107 1172 1174Used by:1291
Symbol 1179 BitmapUsed by:1180
Symbol 1180 GraphicUses:1079 1179Used by:1181
Symbol 1181 MovieClipUses:1180Used by:1273 1274 1420
Symbol 1182 BitmapUsed by:1183
Symbol 1183 GraphicUses:1182Used by:1184
Symbol 1184 MovieClipUses:1183Used by:1272
Symbol 1185 BitmapUsed by:1186
Symbol 1186 GraphicUses:1185Used by:1249
Symbol 1187 BitmapUsed by:1188
Symbol 1188 GraphicUses:1187Used by:1249
Symbol 1189 BitmapUsed by:1190
Symbol 1190 GraphicUses:1189Used by:1249
Symbol 1191 BitmapUsed by:1192
Symbol 1192 GraphicUses:1191Used by:1249
Symbol 1193 BitmapUsed by:1194
Symbol 1194 GraphicUses:1193Used by:1249
Symbol 1195 BitmapUsed by:1196
Symbol 1196 GraphicUses:1195Used by:1249
Symbol 1197 BitmapUsed by:1198
Symbol 1198 GraphicUses:1197Used by:1249
Symbol 1199 BitmapUsed by:1200
Symbol 1200 GraphicUses:1199Used by:1249
Symbol 1201 BitmapUsed by:1202
Symbol 1202 GraphicUses:1201Used by:1249
Symbol 1203 BitmapUsed by:1204
Symbol 1204 GraphicUses:1203Used by:1249
Symbol 1205 BitmapUsed by:1206
Symbol 1206 GraphicUses:1205Used by:1249
Symbol 1207 BitmapUsed by:1208
Symbol 1208 GraphicUses:1207Used by:1249
Symbol 1209 BitmapUsed by:1210
Symbol 1210 GraphicUses:1209Used by:1249
Symbol 1211 BitmapUsed by:1212
Symbol 1212 GraphicUses:1211Used by:1249
Symbol 1213 BitmapUsed by:1214
Symbol 1214 GraphicUses:1213Used by:1249
Symbol 1215 BitmapUsed by:1216
Symbol 1216 GraphicUses:1215Used by:1249
Symbol 1217 BitmapUsed by:1218
Symbol 1218 GraphicUses:1217Used by:1249
Symbol 1219 BitmapUsed by:1220
Symbol 1220 GraphicUses:1219Used by:1249
Symbol 1221 BitmapUsed by:1222
Symbol 1222 GraphicUses:1221Used by:1249
Symbol 1223 BitmapUsed by:1224
Symbol 1224 GraphicUses:1223Used by:1249
Symbol 1225 BitmapUsed by:1226
Symbol 1226 GraphicUses:1225Used by:1249
Symbol 1227 BitmapUsed by:1228
Symbol 1228 GraphicUses:1227Used by:1249
Symbol 1229 BitmapUsed by:1230
Symbol 1230 GraphicUses:1229Used by:1249
Symbol 1231 BitmapUsed by:1232
Symbol 1232 GraphicUses:1231Used by:1249
Symbol 1233 BitmapUsed by:1234
Symbol 1234 GraphicUses:1233Used by:1249
Symbol 1235 BitmapUsed by:1236
Symbol 1236 GraphicUses:1235Used by:1249
Symbol 1237 BitmapUsed by:1238
Symbol 1238 GraphicUses:1237Used by:1249
Symbol 1239 BitmapUsed by:1240
Symbol 1240 GraphicUses:1239Used by:1249
Symbol 1241 BitmapUsed by:1242
Symbol 1242 GraphicUses:1241Used by:1249
Symbol 1243 BitmapUsed by:1244
Symbol 1244 GraphicUses:1243Used by:1249
Symbol 1245 BitmapUsed by:1246
Symbol 1246 GraphicUses:1245Used by:1249
Symbol 1247 BitmapUsed by:1248
Symbol 1248 GraphicUses:1247Used by:1249
Symbol 1249 MovieClip {PowerUp_fla.robot_mouth_power_284}Uses:1186 1188 1190 1192 1194 1196 1198 1200 1202 1204 1206 1208 1210 1212 1214 1216 1218 1220 1222 1224 1226 1228 1230 1232 1234 1236 1238 1240 1242 1244 1246 1248Used by:1272
Symbol 1250 BitmapUsed by:1251
Symbol 1251 GraphicUses:1250Used by:1254
Symbol 1252 BitmapUsed by:1253
Symbol 1253 GraphicUses:1252Used by:1254
Symbol 1254 MovieClipUses:1251 1253Used by:1272
Symbol 1255 BitmapUsed by:1256
Symbol 1256 GraphicUses:1255Used by:1271
Symbol 1257 BitmapUsed by:1258
Symbol 1258 GraphicUses:1257Used by:1271
Symbol 1259 BitmapUsed by:1260
Symbol 1260 GraphicUses:1259Used by:1271
Symbol 1261 BitmapUsed by:1262
Symbol 1262 GraphicUses:1261Used by:1271
Symbol 1263 BitmapUsed by:1264
Symbol 1264 GraphicUses:1263Used by:1271
Symbol 1265 BitmapUsed by:1266
Symbol 1266 GraphicUses:1265Used by:1271
Symbol 1267 BitmapUsed by:1268
Symbol 1268 GraphicUses:1267Used by:1271
Symbol 1269 BitmapUsed by:1270
Symbol 1270 GraphicUses:1269Used by:1271
Symbol 1271 MovieClip {PowerUp_fla.robot_head_end_dial_286}Uses:1256 1258 1260 1262 1264 1266 1268 1270Used by:1272
Symbol 1272 MovieClip {PowerUp_fla.robot_head_end_fill_cjt_282}Uses:1080 1086 1184 1249 1254 1271Used by:1273 1274 1420
Symbol 1273 MovieClip {PowerUp_fla.endHead_frames_280}Uses:1181 1272 1175Used by:1291
Symbol 1274 MovieClip {PowerUp_fla.endHead_frames_2_287}Uses:1181 1272 1175Used by:1291
Symbol 1275 BitmapUsed by:1276
Symbol 1276 GraphicUses:1275Used by:1290
Symbol 1277 BitmapUsed by:1278
Symbol 1278 GraphicUses:1277Used by:1281
Symbol 1279 BitmapUsed by:1280
Symbol 1280 GraphicUses:1279Used by:1281
Symbol 1281 MovieClipUses:1278 1280Used by:1290
Symbol 1282 BitmapUsed by:1283
Symbol 1283 GraphicUses:1282Used by:1290
Symbol 1284 BitmapUsed by:1285
Symbol 1285 GraphicUses:1284Used by:1290
Symbol 1286 BitmapUsed by:1287
Symbol 1287 GraphicUses:1286Used by:1290
Symbol 1288 BitmapUsed by:1289
Symbol 1289 GraphicUses:1288Used by:1290
Symbol 1290 MovieClip {PowerUp_fla.cannon_jon_288}Uses:1276 1281 1283 1285 1287 1289 529Used by:1291 1311
Symbol 1291 MovieClip {PowerUp_fla.startHead_267}Uses:1175 1176 1177 1178 1273 1274 1290Used by:1312 1420
Symbol 1292 BitmapUsed by:1293 1294 1295 1296
Symbol 1293 GraphicUses:1292Used by:1297
Symbol 1294 GraphicUses:1292Used by:1297
Symbol 1295 GraphicUses:1292Used by:1297
Symbol 1296 GraphicUses:1292Used by:1297
Symbol 1297 MovieClip {PowerUp_fla.endHead_290}Uses:1293 1294 1295 1296Used by:1312
Symbol 1298 BitmapUsed by:1299
Symbol 1299 GraphicUses:1298Used by:1310
Symbol 1300 BitmapUsed by:1301
Symbol 1301 GraphicUses:1300Used by:1310
Symbol 1302 BitmapUsed by:1303
Symbol 1303 GraphicUses:1302Used by:1310
Symbol 1304 BitmapUsed by:1305
Symbol 1305 GraphicUses:1304Used by:1310
Symbol 1306 BitmapUsed by:1307
Symbol 1307 GraphicUses:1306Used by:1310
Symbol 1308 BitmapUsed by:1309
Symbol 1309 GraphicUses:1308Used by:1310
Symbol 1310 MovieClip {PowerUp_fla.chestClip_291}Uses:531 1299 1301 1303 1305 1307 1309Used by:1312
Symbol 1311 MovieClip {PowerUp_fla.cannon_292}Uses:1290Used by:1312
Symbol 1312 MovieClip {GamePieces}Uses:1291 1297 1310 1078 1311Used by:1326
Symbol 1313 GraphicUsed by:1314
Symbol 1314 MovieClipUses:1313Used by:1315
Symbol 1315 MovieClip {Shine}Uses:1314Used by:1326
Symbol 1316 Bitmap {DeadZoneTexture}Used by:1326
Symbol 1317 Bitmap {DeathTile}Used by:1326
Symbol 1318 Bitmap {FloorTile}Used by:1326
Symbol 1319 Bitmap {GlassTexture2}Used by:1326
Symbol 1320 Bitmap {GlassTexture}Used by:1326
Symbol 1321 Bitmap {MetalTexture}Used by:1326
Symbol 1322 Bitmap {WaterTexture}Used by:1326
Symbol 1323 Bitmap {WoodTexture}Used by:1326
Symbol 1324 Sound {MenuMusic}Used by:1326
Symbol 1325 Sound {GameMusic}Used by:1326
Symbol 1326 MovieClip {PowerUp_fla.instances_2}Uses:146 149 152 155 158 161 164 167 225 229 232 233 234 235 238 239 240 241 142 242 243 244 249 252 253 254 255 269 276 284 293 300 248 301 302 311 312 313 318 323 330 332 334 336 338 341 342 343 345 347 351 352 354 356 360 362 364 366 368 370 372 374 376 378 380 382 383 385 387 389 391 393 395 397 399 401 402 411 413 415 416 419 425 441 460 463 466 481 491 510 512 102 530 547 809 1075 1078 1312 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325Used by:Timeline
Symbol 1327 GraphicUsed by:Timeline
Symbol 1328 GraphicUsed by:1343
Symbol 1329 GraphicUsed by:1343
Symbol 1330 GraphicUsed by:1343
Symbol 1331 SoundUsed by:1343
Symbol 1332 SoundUsed by:1343
Symbol 1333 GraphicUsed by:1343
Symbol 1334 GraphicUsed by:1335
Symbol 1335 MovieClipUses:1334Used by:1343
Symbol 1336 SoundUsed by:1343
Symbol 1337 SoundUsed by:1343
Symbol 1338 SoundUsed by:1343
Symbol 1339 GraphicUsed by:1340
Symbol 1340 ButtonUses:1339Used by:1343
Symbol 1341 SoundUsed by:1343
Symbol 1342 SoundUsed by:1343
Symbol 1343 MovieClip {PowerUp_fla.ag_intro_mc_295}Uses:1328 1329 1330 1331 1332 1333 1335 1336 1337 1338 1340 1341 1342Used by:Timeline
Symbol 1344 GraphicUsed by:Timeline
Symbol 1345 BitmapUsed by:1346
Symbol 1346 GraphicUses:1345Used by:1375
Symbol 1347 BitmapUsed by:1348
Symbol 1348 GraphicUses:1347Used by:1375
Symbol 1349 BitmapUsed by:1350
Symbol 1350 GraphicUses:1349Used by:1375
Symbol 1351 BitmapUsed by:1352
Symbol 1352 GraphicUses:1351Used by:1375
Symbol 1353 BitmapUsed by:1354
Symbol 1354 GraphicUses:1353Used by:1375
Symbol 1355 BitmapUsed by:1356
Symbol 1356 GraphicUses:1355Used by:1375
Symbol 1357 BitmapUsed by:1358
Symbol 1358 GraphicUses:1357Used by:1375
Symbol 1359 BitmapUsed by:1360
Symbol 1360 GraphicUses:1359Used by:1375
Symbol 1361 BitmapUsed by:1362
Symbol 1362 GraphicUses:1361Used by:1375
Symbol 1363 BitmapUsed by:1364
Symbol 1364 GraphicUses:1363Used by:1371
Symbol 1365 BitmapUsed by:1366
Symbol 1366 GraphicUses:1365Used by:1371
Symbol 1367 BitmapUsed by:1368
Symbol 1368 GraphicUses:1367Used by:1371
Symbol 1369 BitmapUsed by:1370
Symbol 1370 GraphicUses:1369Used by:1371
Symbol 1371 MovieClipUses:1364 1366 1368 1370Used by:1375
Symbol 1372 GraphicUsed by:1373
Symbol 1373 MovieClipUses:1372Used by:1374
Symbol 1374 MovieClipUses:1373Used by:1375 1396
Symbol 1375 MovieClip {PowerUp_fla.e2_300}Uses:1346 1348 1350 1352 1354 1356 1358 1360 1362 1371 1374 1140Used by:1396
Symbol 1376 BitmapUsed by:1377
Symbol 1377 GraphicUses:1376Used by:1378
Symbol 1378 MovieClipUses:1377Used by:1396
Symbol 1379 BitmapUsed by:1380
Symbol 1380 GraphicUses:1379Used by:1381
Symbol 1381 MovieClipUses:1380Used by:1396
Symbol 1382 BitmapUsed by:1383
Symbol 1383 GraphicUses:1382Used by:1384
Symbol 1384 MovieClipUses:1383Used by:1396
Symbol 1385 BitmapUsed by:1386
Symbol 1386 GraphicUses:1385Used by:1387
Symbol 1387 MovieClipUses:1386Used by:1396
Symbol 1388 BitmapUsed by:1389
Symbol 1389 GraphicUses:1388Used by:1390
Symbol 1390 MovieClipUses:1389Used by:1396
Symbol 1391 BitmapUsed by:1392
Symbol 1392 GraphicUses:1391Used by:1393
Symbol 1393 MovieClipUses:1392Used by:1396
Symbol 1394 MovieClipUses:483 485 487Used by:1395
Symbol 1395 MovieClip {PowerUp_fla.sparks_310}Uses:1394Used by:1396
Symbol 1396 MovieClip {PowerUp_fla.nitrome_intro_299}Uses:1375 1378 1381 1384 1374 1157 1140 1387 1390 1393 1395Used by:Timeline
Symbol 1397 BitmapUsed by:1398
Symbol 1398 GraphicUses:1397Used by:1399
Symbol 1399 MovieClipUses:1398Used by:Timeline
Symbol 1400 GraphicUsed by:1401
Symbol 1401 MovieClipUses:1400Used by:Timeline
Symbol 1402 BitmapUsed by:1403 1408 1433
Symbol 1403 GraphicUses:1402Used by:Timeline
Symbol 1404 GraphicUses:461Used by:Timeline
Symbol 1405 BitmapUsed by:1406
Symbol 1406 GraphicUses:1405Used by:Timeline
Symbol 1407 BitmapUsed by:1408
Symbol 1408 GraphicUses:1402 1407Used by:Timeline
Symbol 1409 BitmapUsed by:1410
Symbol 1410 GraphicUses:1409Used by:1420
Symbol 1411 MovieClipUses:819Used by:1420
Symbol 1412 BitmapUsed by:1413
Symbol 1413 GraphicUses:1412Used by:1414
Symbol 1414 MovieClipUses:1413Used by:1420
Symbol 1415 BitmapUsed by:1416
Symbol 1416 GraphicUses:1415Used by:1420
Symbol 1417 MovieClip {PowerUp_fla.spark_help_318}Uses:490Used by:1418 1419
Symbol 1418 MovieClipUses:1417Used by:1420
Symbol 1419 MovieClipUses:1417Used by:1420
Symbol 1420 MovieClip {PowerUp_fla.helpscreen_314}Uses:1410 1411 1291 1181 1414 1416 1418 1272 1419 1175Used by:1508  Timeline
Symbol 1421 BitmapUsed by:1422 1446
Symbol 1422 GraphicUses:1421Used by:1508  Timeline
Symbol 1423 BitmapUsed by:1431
Symbol 1424 BitmapUsed by:1431
Symbol 1425 BitmapUsed by:1431
Symbol 1426 BitmapUsed by:1431
Symbol 1427 BitmapUsed by:1431
Symbol 1428 BitmapUsed by:1431
Symbol 1429 BitmapUsed by:1431
Symbol 1430 BitmapUsed by:1431
Symbol 1431 GraphicUses:1423 1424 1425 1426 1427 1428 245 1429 1430Used by:Timeline
Symbol 1432 BitmapUsed by:1433
Symbol 1433 GraphicUses:1402 1432Used by:Timeline
Symbol 1434 GraphicUsed by:1435
Symbol 1435 MovieClipUses:1434Used by:Timeline
Symbol 1436 GraphicUsed by:1452 1500 1504 1507 1510 1520
Symbol 1437 BitmapUsed by:1438
Symbol 1438 GraphicUses:1437Used by:1451 1452 1500 1504 1520
Symbol 1439 BitmapUsed by:1440
Symbol 1440 GraphicUses:1439Used by:1441
Symbol 1441 MovieClipUses:1440Used by:1452 1500 1504 1507 1510 1520
Symbol 1442 BitmapUsed by:1443
Symbol 1443 GraphicUses:1442Used by:1444
Symbol 1444 MovieClipUses:1443Used by:1452 1500 1504 1507 1510 1520
Symbol 1445 BitmapUsed by:1446 1497
Symbol 1446 GraphicUses:1445 1421Used by:1447
Symbol 1447 MovieClip {PowerUp_fla.helpText_324}Uses:135 1446Used by:1452
Symbol 1448 GraphicUsed by:1449
Symbol 1449 ButtonUses:1448Used by:1452 1500 1504 1511 1520
Symbol 1450 GraphicUsed by:1452 1500 1504 1507 1510 1520
Symbol 1451 MovieClipUses:1438Used by:1452 1500 1504 1520
Symbol 1452 MovieClip {PowerUp_fla.helpDisplay_321}Uses:1436 1438 1441 1444 1447 1449 1450 1451Used by:Timeline
Symbol 1453 BitmapUsed by:1455 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1484 1494
Symbol 1454 BitmapUsed by:1455 1457 1459 1461 1463 1465 1467 1469 1471 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495
Symbol 1455 GraphicUses:1453 1454Used by:1496
Symbol 1456 BitmapUsed by:1457 1475 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1495
Symbol 1457 GraphicUses:1456 1454Used by:1496
Symbol 1458 BitmapUsed by:1459 1476 1486 1493 1494 1495
Symbol 1459 GraphicUses:1458 1454Used by:1496
Symbol 1460 BitmapUsed by:1461 1477 1487
Symbol 1461 GraphicUses:1460 1454Used by:1496
Symbol 1462 BitmapUsed by:1463 1478 1488
Symbol 1463 GraphicUses:1462 1454Used by:1496
Symbol 1464 BitmapUsed by:1465 1479 1489
Symbol 1465 GraphicUses:1464 1454Used by:1496
Symbol 1466 BitmapUsed by:1467 1480 1490
Symbol 1467 GraphicUses:1466 1454Used by:1496
Symbol 1468 BitmapUsed by:1469 1481 1491
Symbol 1469 GraphicUses:1468 1454Used by:1496
Symbol 1470 BitmapUsed by:1471 1482 1492
Symbol 1471 GraphicUses:1470 1454Used by:1496
Symbol 1472 BitmapUsed by:1473 1483 1493
Symbol 1473 GraphicUses:1472 1453 1454Used by:1496
Symbol 1474 GraphicUses:1453 1454Used by:1496
Symbol 1475 GraphicUses:1456 1453 1454Used by:1496
Symbol 1476 GraphicUses:1458 1453 1454Used by:1496
Symbol 1477 GraphicUses:1460 1453 1454Used by:1496
Symbol 1478 GraphicUses:1462 1453 1454Used by:1496
Symbol 1479 GraphicUses:1464 1453 1454Used by:1496
Symbol 1480 GraphicUses:1466 1453 1454Used by:1496
Symbol 1481 GraphicUses:1468 1453 1454Used by:1496
Symbol 1482 GraphicUses:1470 1453 1454Used by:1496
Symbol 1483 GraphicUses:1472 1456 1454Used by:1496
Symbol 1484 GraphicUses:1453 1456 1454Used by:1496
Symbol 1485 GraphicUses:1456 1454Used by:1496
Symbol 1486 GraphicUses:1458 1456 1454Used by:1496
Symbol 1487 GraphicUses:1460 1456 1454Used by:1496
Symbol 1488 GraphicUses:1462 1456 1454Used by:1496
Symbol 1489 GraphicUses:1464 1456 1454Used by:1496
Symbol 1490 GraphicUses:1466 1456 1454Used by:1496
Symbol 1491 GraphicUses:1468 1456 1454Used by:1496
Symbol 1492 GraphicUses:1470 1456 1454Used by:1496
Symbol 1493 GraphicUses:1472 1458 1454Used by:1496
Symbol 1494 GraphicUses:1453 1458 1454Used by:1496
Symbol 1495 GraphicUses:1456 1458 1454Used by:1496
Symbol 1496 MovieClipUses:1455 1457 1459 1461 1463 1465 1467 1469 1471 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495Used by:1498
Symbol 1497 GraphicUses:1445Used by:1498 1503 1508 1519
Symbol 1498 MovieClip {PowerUp_fla.startText_328}Uses:1496 1497Used by:1500
Symbol 1499 MovieClip {com.nitrome.game.StartLevelButton}Uses:231 135Used by:1500
Symbol 1500 MovieClip {PowerUp_fla.startMessage_327}Uses:1436 1438 1441 1444 1498 1449 1450 1451 1499Used by:Timeline
Symbol 1501 BitmapUsed by:1502
Symbol 1502 GraphicUses:1501Used by:1503
Symbol 1503 MovieClip {PowerUp_fla.pausedText_332}Uses:1502 302 301 1497Used by:1504
Symbol 1504 MovieClip {PowerUp_fla.pauseMessage_331}Uses:1436 1438 1441 1444 1449 1503 1450 1451Used by:Timeline
Symbol 1505 BitmapUsed by:1506
Symbol 1506 GraphicUses:1505Used by:1507 1510
Symbol 1507 MovieClip {PowerUp_fla.help_tab_334}Uses:1436 1506 1441 1444 1450Used by:1511
Symbol 1508 MovieClip {PowerUp_fla.ingame_help_screen_335}Uses:1420 1422 135 1497Used by:1511
Symbol 1509 MovieClip {com.nitrome.game.CloseHelpButton}Uses:231 135Used by:1511
Symbol 1510 MovieClip {PowerUp_fla.help_tab_close_337}Uses:1450 1506 1441 1444 1436Used by:1511
Symbol 1511 MovieClip {PowerUp_fla.inGameHelp_333}Uses:1507 1449 1508 1509 1510Used by:Timeline
Symbol 1512 BitmapUsed by:1514
Symbol 1513 BitmapUsed by:1514
Symbol 1514 GraphicUses:1512 1513Used by:Timeline
Symbol 1515 BitmapUsed by:1516
Symbol 1516 GraphicUses:1515Used by:Timeline
Symbol 1517 BitmapUsed by:1518
Symbol 1518 GraphicUses:1517Used by:1519
Symbol 1519 MovieClip {PowerUp_fla.levelCompleteText_339}Uses:251 1518 135 1497Used by:1520
Symbol 1520 MovieClip {PowerUp_fla.levelCompleteMessage_338}Uses:1436 1438 1441 1444 1519 1449 1450 1451 136Used by:Timeline
Symbol 1521 MovieClipUsed by:1527
Symbol 1522 MovieClipUsed by:1527
Symbol 1523 MovieClipUsed by:1527
Symbol 1524 BitmapUsed by:1526
Symbol 1525 BitmapUsed by:1526
Symbol 1526 GraphicUses:1524 1525Used by:1527
Symbol 1527 MovieClip {PowerUp_fla.congratulationsclip_341}Uses:1521 1522 1523 233 135 1526Used by:Timeline

Instance Names

"preloader"Frame 2Symbol 142 MovieClip {com.nitrome.game.Preloader}
"blockDrawer"Frame 16Symbol 411 MovieClip {com.nitrome.balancer.BlockDrawer}
"levelBlocks"Frame 16Symbol 512 MovieClip {com.nitrome.balancer.LevelBlocks_game}
"game_container"Frame 26Symbol 440 MovieClip
"topScroll"Frame 26Symbol 1401 MovieClip
"bottomScroll"Frame 26Symbol 1401 MovieClip
"leftScroll"Frame 26Symbol 1401 MovieClip
"rightScroll"Frame 26Symbol 1401 MovieClip
"scoreDisplay"Frame 26Symbol 135 MovieClip {BalancerFont}
"totalScoreDisplay"Frame 26Symbol 135 MovieClip {BalancerFont}
"levelDisplay"Frame 26Symbol 135 MovieClip {BalancerFont}
"button3"Frame 36Symbol 238 MovieClip {com.nitrome.game.LevelStartButton}
"button2"Frame 36Symbol 238 MovieClip {com.nitrome.game.LevelStartButton}
"button1"Frame 36Symbol 238 MovieClip {com.nitrome.game.LevelStartButton}
"button4"Frame 36Symbol 238 MovieClip {com.nitrome.game.LevelStartButton}
"button5"Frame 36Symbol 238 MovieClip {com.nitrome.game.LevelStartButton}
"button11"Frame 36Symbol 238 MovieClip {com.nitrome.game.LevelStartButton}
"button10"Frame 36Symbol 238 MovieClip {com.nitrome.game.LevelStartButton}
"button9"Frame 36Symbol 238 MovieClip {com.nitrome.game.LevelStartButton}
"button12"Frame 36Symbol 238 MovieClip {com.nitrome.game.LevelStartButton}
"button13"Frame 36Symbol 238 MovieClip {com.nitrome.game.LevelStartButton}
"button19"Frame 36Symbol 238 MovieClip {com.nitrome.game.LevelStartButton}
"button18"Frame 36Symbol 238 MovieClip {com.nitrome.game.LevelStartButton}
"button17"Frame 36Symbol 238 MovieClip {com.nitrome.game.LevelStartButton}
"button20"Frame 36Symbol 238 MovieClip {com.nitrome.game.LevelStartButton}
"button21"Frame 36Symbol 238 MovieClip {com.nitrome.game.LevelStartButton}
"button27"Frame 36Symbol 238 MovieClip {com.nitrome.game.LevelStartButton}
"button26"Frame 36Symbol 238 MovieClip {com.nitrome.game.LevelStartButton}
"button25"Frame 36Symbol 238 MovieClip {com.nitrome.game.LevelStartButton}
"button28"Frame 36Symbol 238 MovieClip {com.nitrome.game.LevelStartButton}
"button29"Frame 36Symbol 238 MovieClip {com.nitrome.game.LevelStartButton}
"button6"Frame 36Symbol 238 MovieClip {com.nitrome.game.LevelStartButton}
"button7"Frame 36Symbol 238 MovieClip {com.nitrome.game.LevelStartButton}
"button8"Frame 36Symbol 238 MovieClip {com.nitrome.game.LevelStartButton}
"button14"Frame 36Symbol 238 MovieClip {com.nitrome.game.LevelStartButton}
"button15"Frame 36Symbol 238 MovieClip {com.nitrome.game.LevelStartButton}
"button16"Frame 36Symbol 238 MovieClip {com.nitrome.game.LevelStartButton}
"button22"Frame 36Symbol 238 MovieClip {com.nitrome.game.LevelStartButton}
"button23"Frame 36Symbol 238 MovieClip {com.nitrome.game.LevelStartButton}
"button24"Frame 36Symbol 238 MovieClip {com.nitrome.game.LevelStartButton}
"button30"Frame 36Symbol 238 MovieClip {com.nitrome.game.LevelStartButton}
"button31"Frame 36Symbol 238 MovieClip {com.nitrome.game.LevelStartButton}
"button32"Frame 36Symbol 238 MovieClip {com.nitrome.game.LevelStartButton}
"__id29_"Frame 46Symbol 135 MovieClip {BalancerFont}
"__id30_"Frame 66Symbol 135 MovieClip {BalancerFont}
"game_container"Frame 80Symbol 440 MovieClip
"topScroll"Frame 80Symbol 1401 MovieClip
"bottomScroll"Frame 80Symbol 1401 MovieClip
"leftScroll"Frame 80Symbol 1401 MovieClip
"rightScroll"Frame 80Symbol 1401 MovieClip
"pauseGame"Frame 80Symbol 276 MovieClip {com.nitrome.game.PauseButton}
"inGameHelp"Frame 80Symbol 284 MovieClip {com.nitrome.game.InGameHelpButton}
"helpDisplay"Frame 80Symbol 1452 MovieClip {PowerUp_fla.helpDisplay_321}
"startMessage"Frame 80Symbol 1500 MovieClip {PowerUp_fla.startMessage_327}
"pauseMessage"Frame 80Symbol 1504 MovieClip {PowerUp_fla.pauseMessage_331}
"inGameHelpMessage"Frame 80Symbol 1511 MovieClip {PowerUp_fla.inGameHelp_333}
"scoreDisplay"Frame 80Symbol 135 MovieClip {BalancerFont}
"totalScoreDisplay"Frame 80Symbol 135 MovieClip {BalancerFont}
"levelDisplay"Frame 80Symbol 135 MovieClip {BalancerFont}
"levelCompleteMessage"Frame 82Symbol 1520 MovieClip {PowerUp_fla.levelCompleteMessage_338}
"__id0_"Symbol 136 MovieClip {com.nitrome.game.NextLevelButton} Frame 1Symbol 135 MovieClip {BalancerFont}
"__id1_"Symbol 142 MovieClip {com.nitrome.game.Preloader} Frame 1Symbol 135 MovieClip {BalancerFont}
"progress"Symbol 142 MovieClip {com.nitrome.game.Preloader} Frame 1Symbol 141 EditableText
"nitrome"Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 169 MovieClip {PowerUp_fla.nitrome_12}
"wom"Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 171 MovieClip {PowerUp_fla.deepthud_13}
"splash"Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 173 MovieClip {PowerUp_fla.splash_14}
"metal_1"Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 175 MovieClip {PowerUp_fla.metal_1_15}
"metal_2"Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 177 MovieClip {PowerUp_fla.metal_2_16}
"slap"Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 179 MovieClip {PowerUp_fla.slap_17}
"sticky"Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 181 MovieClip {PowerUp_fla.sticky_18}
"cannon"Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 184 MovieClip {PowerUp_fla.cannon_19}
"creak"Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 186 MovieClip {PowerUp_fla.chest_creak_20}
"tesla"Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 188 MovieClip {PowerUp_fla.tesla_21}
"chargeup1"Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 190 MovieClip {PowerUp_fla.chargeup_22}
"charged"Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 192 MovieClip {PowerUp_fla.charged_23}
"balloon"Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 194 MovieClip {PowerUp_fla.balloon_24}
"metal_3"Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 195 MovieClip {PowerUp_fla.metal_3_25}
"metal_4"Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 197 MovieClip {PowerUp_fla.metal_4_26}
"glassTap"Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 199 MovieClip {PowerUp_fla.glasstap_27}
"deathground"Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 201 MovieClip {PowerUp_fla.death_ground_28}
"monster_angry"Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 203 MovieClip {PowerUp_fla.monster_angry_29}
"electric"Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 205 MovieClip {PowerUp_fla.electric_30}
"chargeup2"Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 207 MovieClip {PowerUp_fla.chargeup2_31}
"chargeup3"Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 209 MovieClip {PowerUp_fla.chargeup3_32}
"chargeup4"Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 211 MovieClip {PowerUp_fla.chargeup4_33}
"chargeup6"Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 213 MovieClip {PowerUp_fla.chargeup6_34}
"chargeup5"Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 215 MovieClip {PowerUp_fla.chargeup5_35}
"chargeup7"Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 217 MovieClip {PowerUp_fla.chargeup7_36}
"chargeup8"Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 219 MovieClip {PowerUp_fla.chargeup8_37}
"screw"Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 221 MovieClip {PowerUp_fla.screw_38}
"monster_happy"Symbol 225 MovieClip {com.nitrome.game.SoundManager} Frame 1Symbol 223 MovieClip {PowerUp_fla.monster_happy_39}
"__id2_"Symbol 232 MovieClip {com.nitrome.game.PlayButton} Frame 1Symbol 135 MovieClip {BalancerFont}
"__id3_"Symbol 233 MovieClip {com.nitrome.game.BackToTitleButton} Frame 1Symbol 135 MovieClip {BalancerFont}
"__id4_"Symbol 234 MovieClip {com.nitrome.game.CongratulationsSubmitScoreButton} Frame 1Symbol 135 MovieClip {BalancerFont}
"__id5_"Symbol 235 MovieClip {com.nitrome.game.PauseSubmitScoreButton} Frame 1Symbol 135 MovieClip {BalancerFont}
"numberField"Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} Frame 1Symbol 135 MovieClip {BalancerFont}
"__id6_"Symbol 239 MovieClip {com.nitrome.game.HelpButton} Frame 1Symbol 135 MovieClip {BalancerFont}
"__id7_"Symbol 240 MovieClip {com.nitrome.game.ScoresButton} Frame 1Symbol 135 MovieClip {BalancerFont}
"__id8_"Symbol 241 MovieClip {com.nitrome.game.CreditsButton} Frame 1Symbol 135 MovieClip {BalancerFont}
"__id9_"Symbol 242 MovieClip {SubmitButton} Frame 1Symbol 135 MovieClip {BalancerFont}
"__id10_"Symbol 243 MovieClip {ClearButton} Frame 1Symbol 135 MovieClip {BalancerFont}
"_letter"Symbol 244 MovieClip {LetterButton} Frame 1Symbol 135 MovieClip {BalancerFont}
"_submit_button"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1Symbol 242 MovieClip {SubmitButton}
"_clear_button"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1Symbol 243 MovieClip {ClearButton}
"A"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1Symbol 244 MovieClip {LetterButton}
"B"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1Symbol 244 MovieClip {LetterButton}
"C"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1Symbol 244 MovieClip {LetterButton}
"D"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1Symbol 244 MovieClip {LetterButton}
"E"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1Symbol 244 MovieClip {LetterButton}
"F"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1Symbol 244 MovieClip {LetterButton}
"G"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1Symbol 244 MovieClip {LetterButton}
"H"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1Symbol 244 MovieClip {LetterButton}
"I"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1Symbol 244 MovieClip {LetterButton}
"J"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1Symbol 244 MovieClip {LetterButton}
"K"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1Symbol 244 MovieClip {LetterButton}
"L"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1Symbol 244 MovieClip {LetterButton}
"M"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1Symbol 244 MovieClip {LetterButton}
"N"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1Symbol 244 MovieClip {LetterButton}
"O"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1Symbol 244 MovieClip {LetterButton}
"P"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1Symbol 244 MovieClip {LetterButton}
"Q"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1Symbol 244 MovieClip {LetterButton}
"R"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1Symbol 244 MovieClip {LetterButton}
"S"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1Symbol 244 MovieClip {LetterButton}
"T"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1Symbol 244 MovieClip {LetterButton}
"U"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1Symbol 244 MovieClip {LetterButton}
"V"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1Symbol 244 MovieClip {LetterButton}
"W"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1Symbol 244 MovieClip {LetterButton}
"X"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1Symbol 244 MovieClip {LetterButton}
"Y"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1Symbol 244 MovieClip {LetterButton}
"Z"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1Symbol 244 MovieClip {LetterButton}
"_score_text"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1Symbol 135 MovieClip {BalancerFont}
"_name_text"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1Symbol 135 MovieClip {BalancerFont}
"__id11_"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 10Symbol 135 MovieClip {BalancerFont}
"__id12_"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 10Symbol 135 MovieClip {BalancerFont}
"__id13_"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 10Symbol 135 MovieClip {BalancerFont}
"__id14_"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 10Symbol 135 MovieClip {BalancerFont}
"_rank_text"Symbol 252 MovieClip {ScoreLine} Frame 1Symbol 135 MovieClip {BalancerFont}
"_name_text"Symbol 252 MovieClip {ScoreLine} Frame 1Symbol 135 MovieClip {BalancerFont}
"_score_text"Symbol 252 MovieClip {ScoreLine} Frame 1Symbol 135 MovieClip {BalancerFont}
"__id15_"Symbol 253 MovieClip {NextArrow} Frame 1Symbol 135 MovieClip {BalancerFont}
"__id16_"Symbol 254 MovieClip {PrevArrow} Frame 1Symbol 135 MovieClip {BalancerFont}
"_score_line_1"Symbol 255 MovieClip {HighScoreBoard} Frame 1Symbol 252 MovieClip {ScoreLine}
"_score_line_2"Symbol 255 MovieClip {HighScoreBoard} Frame 1Symbol 252 MovieClip {ScoreLine}
"_score_line_3"Symbol 255 MovieClip {HighScoreBoard} Frame 1Symbol 252 MovieClip {ScoreLine}
"_score_line_4"Symbol 255 MovieClip {HighScoreBoard} Frame 1Symbol 252 MovieClip {ScoreLine}
"_score_line_5"Symbol 255 MovieClip {HighScoreBoard} Frame 1Symbol 252 MovieClip {ScoreLine}
"_score_line_6"Symbol 255 MovieClip {HighScoreBoard} Frame 1Symbol 252 MovieClip {ScoreLine}
"_score_line_7"Symbol 255 MovieClip {HighScoreBoard} Frame 1Symbol 252 MovieClip {ScoreLine}
"_score_line_8"Symbol 255 MovieClip {HighScoreBoard} Frame 1Symbol 252 MovieClip {ScoreLine}
"_score_line_9"Symbol 255 MovieClip {HighScoreBoard} Frame 1Symbol 252 MovieClip {ScoreLine}
"_score_line_10"Symbol 255 MovieClip {HighScoreBoard} Frame 1Symbol 252 MovieClip {ScoreLine}
"_next_arrow"Symbol 255 MovieClip {HighScoreBoard} Frame 1Symbol 253 MovieClip {NextArrow}
"_prev_arrow"Symbol 255 MovieClip {HighScoreBoard} Frame 1Symbol 254 MovieClip {PrevArrow}
"__id17_"Symbol 255 MovieClip {HighScoreBoard} Frame 10Symbol 135 MovieClip {BalancerFont}
"__id18_"Symbol 255 MovieClip {HighScoreBoard} Frame 10Symbol 135 MovieClip {BalancerFont}
"__id19_"Symbol 255 MovieClip {HighScoreBoard} Frame 10Symbol 135 MovieClip {BalancerFont}
"__id20_"Symbol 255 MovieClip {HighScoreBoard} Frame 10Symbol 135 MovieClip {BalancerFont}
"__id21_"Symbol 301 MovieClip {com.nitrome.game.ContinueGameButton} Frame 1Symbol 135 MovieClip {BalancerFont}
"__id22_"Symbol 302 MovieClip {com.nitrome.game.EndGameButton} Frame 1Symbol 135 MovieClip {BalancerFont}
"__id23_"Symbol 311 MovieClip {PowerUp_fla.nextlevelbutton_76} Frame 1Symbol 310 MovieClip {NumbskullFont}
"__id24_"Symbol 312 MovieClip {com.nitrome.game.RestartLevelButton} Frame 1Symbol 310 MovieClip {NumbskullFont}
"__id25_"Symbol 313 MovieClip {com.nitrome.game.IngameSubmitScoreButton} Frame 1Symbol 310 MovieClip {NumbskullFont}
"magCheck"Symbol 352 MovieClip {com.nitrome.balancer.BlockDrawer_game} Frame 1Symbol 351 MovieClip {fl.controls.CheckBox}
"metalCheck"Symbol 352 MovieClip {com.nitrome.balancer.BlockDrawer_game} Frame 1Symbol 351 MovieClip {fl.controls.CheckBox}
"heavyCheck"Symbol 352 MovieClip {com.nitrome.balancer.BlockDrawer_game} Frame 1Symbol 351 MovieClip {fl.controls.CheckBox}
"node"Symbol 411 MovieClip {com.nitrome.balancer.BlockDrawer} Frame 1Symbol 354 MovieClip {blockNode}
"blockScroller"Symbol 411 MovieClip {com.nitrome.balancer.BlockDrawer} Frame 1Symbol 383 MovieClip {fl.controls.UIScrollBar}
"shapeClip"Symbol 411 MovieClip {com.nitrome.balancer.BlockDrawer} Frame 1Symbol 409 MovieClip
"addToLibrary_button"Symbol 411 MovieClip {com.nitrome.balancer.BlockDrawer} Frame 1Symbol 402 MovieClip {fl.controls.Button}
"viewLibrary_button"Symbol 411 MovieClip {com.nitrome.balancer.BlockDrawer} Frame 1Symbol 402 MovieClip {fl.controls.Button}
"saveLibrary_button"Symbol 411 MovieClip {com.nitrome.balancer.BlockDrawer} Frame 1Symbol 402 MovieClip {fl.controls.Button}
"saveEditedBlock_button"Symbol 411 MovieClip {com.nitrome.balancer.BlockDrawer} Frame 1Symbol 402 MovieClip {fl.controls.Button}
"magCheck"Symbol 411 MovieClip {com.nitrome.balancer.BlockDrawer} Frame 1Symbol 351 MovieClip {fl.controls.CheckBox}
"editLevel_button"Symbol 411 MovieClip {com.nitrome.balancer.BlockDrawer} Frame 1Symbol 402 MovieClip {fl.controls.Button}
"metalCheck"Symbol 411 MovieClip {com.nitrome.balancer.BlockDrawer} Frame 1Symbol 351 MovieClip {fl.controls.CheckBox}
"heavyCheck"Symbol 411 MovieClip {com.nitrome.balancer.BlockDrawer} Frame 1Symbol 351 MovieClip {fl.controls.CheckBox}
"rememberLevel_button"Symbol 411 MovieClip {com.nitrome.balancer.BlockDrawer} Frame 1Symbol 402 MovieClip {fl.controls.Button}
"texture"Symbol 425 MovieClip {CannonBall} Frame 1Symbol 424 MovieClip
"arrowLeft"Symbol 441 MovieClip {com.nitrome.balancer.ChestDisplay} Frame 1Symbol 433 MovieClip {PowerUp_fla.chestArrow_131}
"arrowRight"Symbol 441 MovieClip {com.nitrome.balancer.ChestDisplay} Frame 1Symbol 438 MovieClip {PowerUp_fla.chestArrow_r_132}
"pieces"Symbol 441 MovieClip {com.nitrome.balancer.ChestDisplay} Frame 1Symbol 440 MovieClip
"deadFish"Symbol 546 MovieClip {PowerUp_fla.Fish_147} Frame 5Symbol 545 MovieClip
"fishClip"Symbol 547 MovieClip {com.nitrome.balancer.Fishy} Frame 1Symbol 546 MovieClip {PowerUp_fla.Fish_147}
"fish"Symbol 809 MovieClip {AllStamps} Frame 39Symbol 547 MovieClip {com.nitrome.balancer.Fishy}
"cogs"Symbol 863 MovieClip {PowerUp_fla.moving_block_247} Frame 1Symbol 847 MovieClip
"frontCogs"Symbol 863 MovieClip {PowerUp_fla.moving_block_247} Frame 1Symbol 862 MovieClip
"block"Symbol 1075 MovieClip {PreDefinedBlocks} Frame 16Symbol 863 MovieClip {PowerUp_fla.moving_block_247}
"monster"Symbol 1075 MovieClip {PreDefinedBlocks} Frame 19Symbol 957 MovieClip {PowerUp_fla.monsterFrames_251}
"tesla"Symbol 1075 MovieClip {PreDefinedBlocks} Frame 23Symbol 972 MovieClip {PowerUp_fla.tesla_256}
"screw"Symbol 1075 MovieClip {PreDefinedBlocks} Frame 26Symbol 991 MovieClip {PowerUp_fla.screw_259}
"bees"Symbol 1075 MovieClip {PreDefinedBlocks} Frame 57Symbol 1062 MovieClip
"mouth"Symbol 1272 MovieClip {PowerUp_fla.robot_head_end_fill_cjt_282} Frame 1Symbol 1249 MovieClip {PowerUp_fla.robot_mouth_power_284}
"endHead"Symbol 1273 MovieClip {PowerUp_fla.endHead_frames_280} Frame 1Symbol 1181 MovieClip
"endHead"Symbol 1273 MovieClip {PowerUp_fla.endHead_frames_280} Frame 2Symbol 1272 MovieClip {PowerUp_fla.robot_head_end_fill_cjt_282}
"endHead"Symbol 1273 MovieClip {PowerUp_fla.endHead_frames_280} Frame 3Symbol 1175 MovieClip
"endHead"Symbol 1274 MovieClip {PowerUp_fla.endHead_frames_2_287} Frame 1Symbol 1181 MovieClip
"endHead"Symbol 1274 MovieClip {PowerUp_fla.endHead_frames_2_287} Frame 2Symbol 1272 MovieClip {PowerUp_fla.robot_head_end_fill_cjt_282}
"endHead"Symbol 1274 MovieClip {PowerUp_fla.endHead_frames_2_287} Frame 3Symbol 1175 MovieClip
"endHead"Symbol 1291 MovieClip {PowerUp_fla.startHead_267} Frame 5Symbol 1273 MovieClip {PowerUp_fla.endHead_frames_280}
"endHead"Symbol 1291 MovieClip {PowerUp_fla.startHead_267} Frame 6Symbol 1274 MovieClip {PowerUp_fla.endHead_frames_2_287}
"endHead"Symbol 1291 MovieClip {PowerUp_fla.startHead_267} Frame 7Symbol 1273 MovieClip {PowerUp_fla.endHead_frames_280}
"cannon"Symbol 1291 MovieClip {PowerUp_fla.startHead_267} Frame 9Symbol 1290 MovieClip {PowerUp_fla.cannon_jon_288}
"cannon"Symbol 1311 MovieClip {PowerUp_fla.cannon_292} Frame 1Symbol 1290 MovieClip {PowerUp_fla.cannon_jon_288}
"head"Symbol 1312 MovieClip {GamePieces} Frame 1Symbol 1291 MovieClip {PowerUp_fla.startHead_267}
"head"Symbol 1312 MovieClip {GamePieces} Frame 2Symbol 1297 MovieClip {PowerUp_fla.endHead_290}
"chest"Symbol 1312 MovieClip {GamePieces} Frame 3Symbol 1310 MovieClip {PowerUp_fla.chestClip_291}
"head"Symbol 1312 MovieClip {GamePieces} Frame 5Symbol 1311 MovieClip {PowerUp_fla.cannon_292}
"InstanceName_0"Symbol 1326 MovieClip {PowerUp_fla.instances_2} Frame 2Symbol 382 MovieClip {ScrollBar_thumbIcon}
"__id27_"Symbol 1326 MovieClip {PowerUp_fla.instances_2} Frame 2Symbol 383 MovieClip {fl.controls.UIScrollBar}
"endHead"Symbol 1420 MovieClip {PowerUp_fla.helpscreen_314} Frame 1Symbol 1181 MovieClip
"endHead"Symbol 1420 MovieClip {PowerUp_fla.helpscreen_314} Frame 66Symbol 1272 MovieClip {PowerUp_fla.robot_head_end_fill_cjt_282}
"endHead"Symbol 1420 MovieClip {PowerUp_fla.helpscreen_314} Frame 91Symbol 1175 MovieClip
"helpText"Symbol 1447 MovieClip {PowerUp_fla.helpText_324} Frame 1Symbol 135 MovieClip {BalancerFont}
"helpText"Symbol 1452 MovieClip {PowerUp_fla.helpDisplay_321} Frame 2Symbol 1447 MovieClip {PowerUp_fla.helpText_324}
"buttonBlanker"Symbol 1452 MovieClip {PowerUp_fla.helpDisplay_321} Frame 2Symbol 1449 Button
"levelTitle"Symbol 1498 MovieClip {PowerUp_fla.startText_328} Frame 1Symbol 1496 MovieClip
"__id31_"Symbol 1499 MovieClip {com.nitrome.game.StartLevelButton} Frame 1Symbol 135 MovieClip {BalancerFont}
"startText"Symbol 1500 MovieClip {PowerUp_fla.startMessage_327} Frame 1Symbol 1498 MovieClip {PowerUp_fla.startText_328}
"buttonBlanker"Symbol 1500 MovieClip {PowerUp_fla.startMessage_327} Frame 1Symbol 1449 Button
"default_resume"Symbol 1503 MovieClip {PowerUp_fla.pausedText_332} Frame 1Symbol 301 MovieClip {com.nitrome.game.ContinueGameButton}
"buttonBlanker"Symbol 1504 MovieClip {PowerUp_fla.pauseMessage_331} Frame 2Symbol 1449 Button
"__id32_"Symbol 1508 MovieClip {PowerUp_fla.ingame_help_screen_335} Frame 1Symbol 135 MovieClip {BalancerFont}
"__id33_"Symbol 1509 MovieClip {com.nitrome.game.CloseHelpButton} Frame 1Symbol 135 MovieClip {BalancerFont}
"buttonBlanker"Symbol 1511 MovieClip {PowerUp_fla.inGameHelp_333} Frame 2Symbol 1449 Button
"__id34_"Symbol 1519 MovieClip {PowerUp_fla.levelCompleteText_339} Frame 1Symbol 135 MovieClip {BalancerFont}
"totalScore"Symbol 1519 MovieClip {PowerUp_fla.levelCompleteText_339} Frame 1Symbol 135 MovieClip {BalancerFont}
"__id35_"Symbol 1519 MovieClip {PowerUp_fla.levelCompleteText_339} Frame 1Symbol 135 MovieClip {BalancerFont}
"levelScore"Symbol 1519 MovieClip {PowerUp_fla.levelCompleteText_339} Frame 1Symbol 135 MovieClip {BalancerFont}
"__id36_"Symbol 1519 MovieClip {PowerUp_fla.levelCompleteText_339} Frame 1Symbol 135 MovieClip {BalancerFont}
"timeBonus"Symbol 1519 MovieClip {PowerUp_fla.levelCompleteText_339} Frame 1Symbol 135 MovieClip {BalancerFont}
"levelCompleteText"Symbol 1520 MovieClip {PowerUp_fla.levelCompleteMessage_338} Frame 1Symbol 1519 MovieClip {PowerUp_fla.levelCompleteText_339}
"buttonBlanker"Symbol 1520 MovieClip {PowerUp_fla.levelCompleteMessage_338} Frame 1Symbol 1449 Button
"captain"Symbol 1527 MovieClip {PowerUp_fla.congratulationsclip_341} Frame 1Symbol 1521 MovieClip
"guy1"Symbol 1527 MovieClip {PowerUp_fla.congratulationsclip_341} Frame 1Symbol 1522 MovieClip
"guy2"Symbol 1527 MovieClip {PowerUp_fla.congratulationsclip_341} Frame 1Symbol 1522 MovieClip
"guy3"Symbol 1527 MovieClip {PowerUp_fla.congratulationsclip_341} Frame 1Symbol 1522 MovieClip
"scoreField"Symbol 1527 MovieClip {PowerUp_fla.congratulationsclip_341} Frame 1Symbol 135 MovieClip {BalancerFont}
"__id37_"Symbol 1527 MovieClip {PowerUp_fla.congratulationsclip_341} Frame 1Symbol 135 MovieClip {BalancerFont}

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS3.
Protect (24)Timeline Frame 10 bytes ""
Tag 0x0FF (255)Timeline Frame 11 bytes " "

Labels

"preloader"Frame 2
"armor"Frame 6
"nitrome"Frame 16
"title_screen"Frame 26
"show_title"Frame 27
"level_select"Frame 36
"help"Frame 46
"credits"Frame 56
"game"Frame 66
"play_game"Frame 71
"the_game"Frame 80
"congrats"Frame 91
"_up"Symbol 136 MovieClip {com.nitrome.game.NextLevelButton} Frame 1
"_over"Symbol 136 MovieClip {com.nitrome.game.NextLevelButton} Frame 11
"loop"Symbol 229 MovieClip {com.nitrome.game.LoadIndicator} Frame 4
"outAnimation"Symbol 229 MovieClip {com.nitrome.game.LoadIndicator} Frame 8
"_up"Symbol 232 MovieClip {com.nitrome.game.PlayButton} Frame 1
"_over"Symbol 232 MovieClip {com.nitrome.game.PlayButton} Frame 11
"_up"Symbol 233 MovieClip {com.nitrome.game.BackToTitleButton} Frame 1
"_over"Symbol 233 MovieClip {com.nitrome.game.BackToTitleButton} Frame 11
"_up"Symbol 234 MovieClip {com.nitrome.game.CongratulationsSubmitScoreButton} Frame 1
"_over"Symbol 234 MovieClip {com.nitrome.game.CongratulationsSubmitScoreButton} Frame 11
"_up"Symbol 235 MovieClip {com.nitrome.game.PauseSubmitScoreButton} Frame 1
"_over"Symbol 235 MovieClip {com.nitrome.game.PauseSubmitScoreButton} Frame 11
"up"Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} Frame 1
"over"Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} Frame 11
"locked"Symbol 238 MovieClip {com.nitrome.game.LevelStartButton} Frame 21
"_up"Symbol 239 MovieClip {com.nitrome.game.HelpButton} Frame 1
"_over"Symbol 239 MovieClip {com.nitrome.game.HelpButton} Frame 11
"_up"Symbol 240 MovieClip {com.nitrome.game.ScoresButton} Frame 1
"_over"Symbol 240 MovieClip {com.nitrome.game.ScoresButton} Frame 11
"_up"Symbol 241 MovieClip {com.nitrome.game.CreditsButton} Frame 1
"_over"Symbol 241 MovieClip {com.nitrome.game.CreditsButton} Frame 11
"_up"Symbol 242 MovieClip {SubmitButton} Frame 1
"_over"Symbol 242 MovieClip {SubmitButton} Frame 11
"_up"Symbol 243 MovieClip {ClearButton} Frame 1
"_over"Symbol 243 MovieClip {ClearButton} Frame 11
"_up"Symbol 244 MovieClip {LetterButton} Frame 1
"_over"Symbol 244 MovieClip {LetterButton} Frame 10
"scores"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 1
"off"Symbol 249 MovieClip {ScoreSubmitPanel} Frame 10
"_up"Symbol 253 MovieClip {NextArrow} Frame 1
"_over"Symbol 253 MovieClip {NextArrow} Frame 11
"_up"Symbol 254 MovieClip {PrevArrow} Frame 1
"_over"Symbol 254 MovieClip {PrevArrow} Frame 11
"scores"Symbol 255 MovieClip {HighScoreBoard} Frame 1
"off"Symbol 255 MovieClip {HighScoreBoard} Frame 10
"_up"Symbol 276 MovieClip {com.nitrome.game.PauseButton} Frame 1
"_over"Symbol 276 MovieClip {com.nitrome.game.PauseButton} Frame 6
"_up"Symbol 284 MovieClip {com.nitrome.game.InGameHelpButton} Frame 1
"_over"Symbol 284 MovieClip {com.nitrome.game.InGameHelpButton} Frame 6
"_on_up"Symbol 293 MovieClip {com.nitrome.game.MusicToggle} Frame 1
"_on_over"Symbol 293 MovieClip {com.nitrome.game.MusicToggle} Frame 6
"_off_up"Symbol 293 MovieClip {com.nitrome.game.MusicToggle} Frame 11
"_off_over"Symbol 293 MovieClip {com.nitrome.game.MusicToggle} Frame 16
"_on_up"Symbol 300 MovieClip {com.nitrome.game.FxToggle} Frame 1
"_on_over"Symbol 300 MovieClip {com.nitrome.game.FxToggle} Frame 6
"_off_up"Symbol 300 MovieClip {com.nitrome.game.FxToggle} Frame 11
"_off_over"Symbol 300 MovieClip {com.nitrome.game.FxToggle} Frame 16
"_up"Symbol 301 MovieClip {com.nitrome.game.ContinueGameButton} Frame 1
"_over"Symbol 301 MovieClip {com.nitrome.game.ContinueGameButton} Frame 11
"_up"Symbol 302 MovieClip {com.nitrome.game.EndGameButton} Frame 1
"_over"Symbol 302 MovieClip {com.nitrome.game.EndGameButton} Frame 11
"_up"Symbol 311 MovieClip {PowerUp_fla.nextlevelbutton_76} Frame 1
"_over"Symbol 311 MovieClip {PowerUp_fla.nextlevelbutton_76} Frame 11
"_up"Symbol 312 MovieClip {com.nitrome.game.RestartLevelButton} Frame 1
"_over"Symbol 312 MovieClip {com.nitrome.game.RestartLevelButton} Frame 11
"_up"Symbol 313 MovieClip {com.nitrome.game.IngameSubmitScoreButton} Frame 1
"_over"Symbol 313 MovieClip {com.nitrome.game.IngameSubmitScoreButton} Frame 11
"_up"Symbol 318 MovieClip {com.nitrome.game.ExitToLevelSelectButton} Frame 1
"_over"Symbol 318 MovieClip {com.nitrome.game.ExitToLevelSelectButton} Frame 11
"_up"Symbol 330 MovieClip {com.nitrome.game.ResetButton} Frame 1
"_over"Symbol 330 MovieClip {com.nitrome.game.ResetButton} Frame 6
"alive"Symbol 546 MovieClip {PowerUp_fla.Fish_147} Frame 1
"dead"Symbol 546 MovieClip {PowerUp_fla.Fish_147} Frame 5
"normal"Symbol 957 MovieClip {PowerUp_fla.monsterFrames_251} Frame 1
"angry"Symbol 957 MovieClip {PowerUp_fla.monsterFrames_251} Frame 10
"shock"Symbol 957 MovieClip {PowerUp_fla.monsterFrames_251} Frame 20
"hungry"Symbol 957 MovieClip {PowerUp_fla.monsterFrames_251} Frame 30
"open"Symbol 1310 MovieClip {PowerUp_fla.chestClip_291} Frame 2
"close"Symbol 1310 MovieClip {PowerUp_fla.chestClip_291} Frame 12
"_up"Symbol 1499 MovieClip {com.nitrome.game.StartLevelButton} Frame 1
"_over"Symbol 1499 MovieClip {com.nitrome.game.StartLevelButton} Frame 11
"_up"Symbol 1509 MovieClip {com.nitrome.game.CloseHelpButton} Frame 1
"_over"Symbol 1509 MovieClip {com.nitrome.game.CloseHelpButton} Frame 11




https://swfchan.com/54/268130/info.shtml
Created: 13/6 -2026 10:32:32 Last modified: 13/6 -2026 10:32:32 Server time: 23/06 -2026 11:48:04